.hero{position:relative;background:var(--sky);padding:56px 0 110px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.hero h1{font-size:clamp(3rem,8vw,5.6rem);font-weight:800;margin:10px 0 12px}
.hero h1 em{font-style:normal;background:var(--sun);padding:0 .2em;border-radius:.3em;display:inline-block;transform:rotate(-3deg)}
.hero p{font-size:1.15rem;max-width:32em}
.chips{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.chip{background:#fff;font-weight:800;padding:8px 18px;border-radius:999px;border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);font-size:.92rem}
.art{position:relative;height:240px;max-width:320px;margin-inline:auto;width:100%}
.art span{position:absolute;display:grid;place-items:center;border:3px solid var(--ink);box-shadow:0 7px 0 var(--ink);font-size:3.2rem;animation:float 5s ease-in-out infinite;border-radius:26px}
.art .a1{inset:0 46% 48% 0;background:var(--sun)}
.art .a2{inset:8% 0 38% 56%;background:#fff;animation-delay:-1.4s}
.art .a3{inset:56% 50% 0 6%;background:var(--coral);animation-delay:-2.8s}
.art .a4{inset:50% 2% 2% 54%;background:var(--mint);animation-delay:-4s;border-radius:50%}
@keyframes float{50%{transform:translateY(-12px) rotate(4deg)}}
.wave{position:absolute;bottom:-1px;left:0;width:100%;height:70px}

section{padding:64px 0 0}
.sec-head{margin-bottom:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.sec-head .n{width:60px;height:60px;border-radius:20px;border:3px solid var(--ink);display:grid;place-items:center;font-size:1.9rem;box-shadow:0 4px 0 var(--ink)}
.sec-head h2{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800}
.sec-head p{color:var(--muted);font-weight:700;font-size:.95rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;counter-reset:s}
.step{position:relative;background:#fff;border:3px solid var(--ink);border-radius:28px;padding:26px 22px 22px;box-shadow:0 8px 0 var(--ink);display:flex;flex-direction:column;gap:12px;transition:.18s}
.step:hover{transform:translateY(4px) rotate(-.5deg);box-shadow:0 4px 0 var(--ink)}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-22px;left:20px;font-family:var(--font-display);font-weight:800;font-size:1.7rem;width:48px;height:48px;border-radius:16px;border:3px solid var(--ink);display:grid;place-items:center;background:var(--sun)}
.step:nth-child(2)::before{background:var(--mint)}.step:nth-child(3)::before{background:var(--coral);color:#fff}
.step small{font-weight:800;letter-spacing:.1em;color:var(--grape);font-size:.74rem;margin-top:12px}
.step h3{font-size:1.4rem;font-weight:800;flex:1}
.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;font-weight:800;border:2px solid var(--ink);background:var(--sun);box-shadow:0 5px 0 var(--ink);transition:.15s;font-size:.92rem;align-self:flex-start}
.btn:hover{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
.btn.w{background:#fff}.btn.m{background:var(--mint)}

/* QA + songbook */
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:22px}
.card{background:#fff;border:3px solid var(--ink);border-radius:28px;padding:24px;box-shadow:0 8px 0 var(--ink);display:flex;gap:18px;align-items:flex-start}
.card .ic{flex:0 0 auto;width:70px;height:70px;border-radius:22px;border:3px solid var(--ink);display:grid;place-items:center;font-size:2.2rem;transform:rotate(-5deg)}
.card h3{font-size:1.4rem;font-weight:800;margin-bottom:4px}
.card p{color:var(--muted);font-size:.95rem;margin-bottom:12px}
.card .row{display:flex;gap:10px;flex-wrap:wrap}

/* audio */
.audio{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:22px}
.rec{background:#fff;border:3px solid var(--ink);border-radius:28px;padding:22px;box-shadow:0 8px 0 var(--ink);display:flex;flex-direction:column;gap:12px}
.rec .top{display:flex;align-items:center;gap:14px}
.rec .date{flex:0 0 auto;background:var(--peach);border:3px solid var(--ink);border-radius:18px;padding:4px 14px;text-align:center;line-height:1.05;transform:rotate(-3deg)}
.rec .date small{display:block;font-weight:800;letter-spacing:.12em;font-size:.7rem}
.rec .date b{font-family:var(--font-display);font-size:2rem}
.rec h3{font-size:1.2rem;font-weight:800;line-height:1.2}
.rec audio{width:100%;height:44px}
.rec .meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;font-size:.85rem;color:var(--muted);flex-wrap:wrap}
.rec .meta a{font-weight:800;color:var(--ink);padding:5px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--sun)}
.rec .meta a:hover{background:var(--mint)}
.note{margin:22px 0 0;background:#fff3d6;border:2px dashed var(--ink);border-radius:20px;padding:12px 18px;font-weight:700;font-size:.9rem;color:var(--muted)}

footer{background:var(--ink);color:#d9d4ff;padding:36px 0;text-align:center;font-size:.9rem;margin-top:80px}
@media(max-width:760px){.hero .wrap{grid-template-columns:1fr}.art{display:none}.back span{display:none}.card{flex-direction:column}}

/* Formerly inline styles */
.hero.hero-tight{padding-top:56px}
#guidelines.sec-tight{padding-top:36px}
.sec-head .n.bg-sun{background:var(--sun)}
.sec-head .n.bg-mint{background:var(--mint)}
.sec-head .n.bg-peach{background:var(--peach)}
.card .ic.bg-rose{background:#ffd6d6}
.card .ic.bg-cream{background:#fff1b8}

[hidden]{display:none!important}
.step p{color:var(--muted);font-size:.95rem;margin-top:-4px}

/* Lord's Day schedule: one card per level */
.sec-head .n.bg-coral{background:var(--coral)}
.scheds{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;align-items:start}
.sched{background:#fff;border:3px solid var(--ink);border-radius:28px;box-shadow:0 8px 0 var(--ink);overflow:hidden}
.sched h3{font-size:1.45rem;font-weight:800;padding:14px 22px;border-bottom:3px solid var(--ink)}
.sched.elem h3{background:var(--sun)}
.sched.inter h3{background:#e5484d;color:#fff}
.sched.adv h3{background:var(--grape);color:#fff}
.sched ol{list-style:none;padding:8px 0}
.sched li{display:grid;grid-template-columns:7.2em minmax(0,1fr);gap:12px;padding:9px 22px;line-height:1.35}
.sched li+li{border-top:2px dashed #e6e1f5}
.sched time{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.sched span{font-weight:700}
.sched small{display:block;color:var(--muted);font-weight:700;font-size:.82rem;margin-top:2px}
/* "Save offline" (css/site.css) beside each Open / Download, the same size as the button next to it */
.gacts button.offl,.card .row button.offl{padding:11px 20px;font-size:.92rem;box-shadow:0 5px 0 var(--ink)}
.gacts button.offl:hover,.card .row button.offl:hover{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
.rec .meta button.offl{padding:5px 14px;font-size:.85rem;box-shadow:none}
.rec .meta button.offl:hover{transform:none;box-shadow:none}
.gacts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.card .row{align-items:center}
.rec .meta .macts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
