/* pages.css: page-only styles. Sol do Deserto pass (2026-10-18) — same
   structure as the 2026-10-14 copy rewrite, re-skinned: sand ground,
   cream cards, ink type, azure as an icon-only accent, no glass/blur.
   Load after theme.css + components.css. */
.home-hero{position:relative;min-height:92vh;display:flex;align-items:center;padding:150px 0 90px;overflow:hidden;background:#171410}
.home-hero .hero-bg{position:absolute;inset:0;z-index:0}
.home-hero .hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-hero .hero-scrim{position:absolute;inset:0;z-index:1;background:var(--bg-hero-scrim)}
.home-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:10px}
.home-hero h1{font-size:clamp(50px,8.8vw,116px);text-transform:uppercase;max-width:15ch;color:var(--bg-card)}
.home-hero .sub{max-width:48ch;color:#E8E1D2;font-size:clamp(16px,2vw,19px);margin:20px 0 0;font-variation-settings:var(--fvs-body-bold);font-weight:500}
.home-hero .actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:32px}
.home-hero .subject{justify-self:start;height:min(62vh,640px);display:flex;align-items:flex-end}
.home-hero .subject img{height:100%;width:auto;display:block;filter:drop-shadow(0 25px 50px rgba(23,20,15,.5))}
@media(max-width:900px){.home-hero .wrap{grid-template-columns:1fr}.home-hero .subject{display:none}}

.free-strip{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;text-align:center;font-size:15px;color:var(--body-2)}
.free-strip b{color:var(--ink);font-variation-settings:var(--fvs-body-bold)}
.free-strip a.link{color:var(--ink);font-variation-settings:var(--fvs-body-bold);font-weight:800;text-decoration:underline;text-decoration-color:var(--line-strong);margin-left:8px}
.free-strip .sec{opacity:.75;margin-left:10px;font-size:13px}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
@media(max-width:860px){.pillars{grid-template-columns:1fr}}

/* two program cards — photo band, caption on cream below (DNA move #2) */
.prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px;max-width:640px}
@media(max-width:560px){.prog-grid{grid-template-columns:1fr}}
.prog-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;display:block;background:var(--bg-card);box-shadow:var(--shadow-card)}
.prog-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.prog-card:hover img{transform:scale(1.05)}
.prog-card .body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:18px 18px 20px;background:linear-gradient(0deg,rgba(23,20,15,.92),rgba(23,20,15,0) 80%)}
.prog-card .age{font-size:11px;letter-spacing:var(--ls-tag);text-transform:uppercase;color:var(--bg-card);font-variation-settings:var(--fvs-body-bold);font-weight:700;opacity:.85}
.prog-card.kids .age{opacity:1}
.prog-card h3{font-size:26px;margin:4px 0 0;color:var(--bg-card)}
.prog-card .body p{margin:6px 0 0;color:#E8E1D2;font-size:13px}

/* photo duo strip */
.photo-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:36px 0}
@media(max-width:760px){.photo-duo{grid-template-columns:1fr}}
.photo-duo img{width:100%;height:280px;object-fit:cover;border-radius:var(--radius)}

/* why-us credibility strip */
.why-strip{padding:36px 0}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.why-item{border-left:2px solid var(--azure);padding-left:14px}
.why-item b{display:block;font-size:16px;color:var(--ink)}
.why-item span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
@media(max-width:760px){.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.why-grid{grid-template-columns:1fr}}

/* visit/address block */
.visit-strip{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-card)}
.visit-strip b{display:block;font-size:15px}
.visit-strip span{display:block;font-size:13px;color:var(--muted)}

/* closing brand moment */
.closing-stripe{display:flex;height:var(--flag-h)}
.closing-stripe span{flex:1}
.closing-stripe .g{background:var(--green)}
.closing-stripe .y{background:var(--yellow)}
.closing-stripe .a{background:var(--azure)}

/* inner pages */
.faq-list{margin-top:30px;display:grid;gap:16px;max-width:760px}
.faq-item{border-bottom:1px solid var(--line);padding-bottom:16px}
.faq-item b{display:block;font-size:16px;margin-bottom:6px}
.faq-item p{margin:0;color:var(--body-2);font-size:14.5px}
.faq-item a,.lead a{color:var(--azure)}
.class-steps{margin-top:30px;display:grid;gap:14px;max-width:640px}
.class-step{display:flex;gap:16px;align-items:flex-start}
.class-step .n{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--bg-card);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-variation-settings:var(--fvs-display);font-weight:900;color:var(--ink);font-size:16px}
.class-step p{margin:0;color:var(--body-2);font-size:14.5px;padding-top:6px}
.class-step p b{color:var(--ink)}
.phero .actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:26px}
.note{color:var(--muted);font-size:14px;margin:12px 0 0}
.sched + .note{margin-top:22px}

/* proof: rating line + one real story, no empty testimonial boxes */
.proof{margin-top:30px;display:grid;gap:18px;max-width:760px}
.proof-rating{display:flex;align-items:center;gap:12px;font-size:17px}
.proof-rating .stars{color:var(--yellow-ink);letter-spacing:3px;font-size:18px}
.proof-story{margin:24px 0 0;padding:22px 26px;border-left:3px solid var(--azure);background:var(--bg-card);border-radius:0 var(--radius) var(--radius) 0;color:var(--body-2);font-size:17px;line-height:1.6;max-width:760px;box-shadow:var(--shadow-card)}

/* membership prices — one number per card, Archivo billboard treatment */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:860px){.price-grid{grid-template-columns:1fr}}
.price-card{background:var(--bg-card);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-card)}
.price-card .age{font-size:11px;letter-spacing:var(--ls-tag);text-transform:uppercase;color:var(--muted);font-variation-settings:var(--fvs-body-bold);font-weight:700}
.price-card h3{font-size:28px;margin:2px 0 0}
.price-card .amt{font-family:var(--font-display);font-variation-settings:var(--fvs-display);font-weight:900;font-size:52px;line-height:1;color:var(--ink);margin:8px 0 2px}
.price-card .amt.amt-sm{font-size:36px}
.price-card .amt small{font-family:var(--font-body);font-variation-settings:var(--fvs-body);text-transform:none;font-size:15px;color:var(--muted)}
.price-card p{color:var(--body-2);font-size:14px;margin:4px 0 14px;flex:1}
.price-card .btn{align-self:flex-start}

/* quote band (our school) */
.interlude-quote{padding:76px 0;text-align:center;background:var(--bg2)}
.interlude-quote blockquote{margin:0 auto;max-width:28ch;font-family:var(--font-display);font-variation-settings:var(--fvs-display);font-weight:900;font-size:clamp(28px,4.2vw,50px);line-height:1.05;letter-spacing:0;color:var(--ink)}
.interlude-quote .attrib{color:var(--muted);font-size:13px;margin-top:16px;letter-spacing:.12em;text-transform:uppercase}

/* events feature */
.ev-feature{border-radius:var(--radius);padding:34px 30px;background:var(--bg-card);box-shadow:var(--shadow-card)}
