/* ============================================================
   HaloLogic.ai — Home ("Modern Halo", 0b③)
   Visual contract: design/home/index.html — approved as-is (D-008).
   Load order (functions.php): tokens.css -> base.css -> site.css ->
   this file, enqueued on the front page (and the page with slug
   "home", so draft previews render). Type scale + section vocabulary
   mirror the gated workshop/contact pages, page-scoped the same way.
   Contrast: BRAND.md §1.1 verified pairs only.
   Gate fixes: NEW-23 (clean re-extraction), NEW-24 (.a11y-strip/.ws-card
   gold focus), NEW-25 (reduced-motion scroll).
   ============================================================ */
/* ==== becomes home.css (page-scoped, slug "home"/front page) ==== */
*,*::before,*::after{box-sizing:border-box;}
html{font-size:100%;scroll-behavior:smooth;}
body{font-size:1.0625rem;line-height:1.65;}
h1,h2,h3{margin:0 0 .5em;}
h1{font-size:clamp(2.3rem,5vw + 1rem,3.8rem);font-weight:800;letter-spacing:-.01em;}
h2{font-size:clamp(1.7rem,2.6vw + 1rem,2.5rem);font-weight:700;letter-spacing:-.01em;}
h3{font-size:clamp(1.12rem,1vw + 1rem,1.35rem);font-weight:600;}
p{margin:0 0 1.1em;}
a{color:inherit;}

.section{padding:clamp(3.5rem,7vw,6rem) 0;}
.section--cream{background:var(--cream);}
.section--charcoal{background:var(--charcoal);color:var(--white);}
.lead{font-size:clamp(1.12rem,1.3vw + 1rem,1.4rem);color:var(--muted-ink);max-width:48ch;}
.section--charcoal .lead,.home-hero .lead{color:var(--muted-on-dark);}

.eyebrow{font-family:var(--ff-head);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--charcoal);display:inline-block;margin-bottom:1rem;}
.section--charcoal .eyebrow,.home-hero .eyebrow{color:var(--gold);}
.eyebrow::after{content:"";display:block;width:2.2rem;height:3px;background:var(--copper);border-radius:2px;margin-top:.5rem;}

.home-hero :focus,.section--charcoal :focus,.a11y-strip :focus,.ws-card :focus{outline-color:var(--gold);}
.home-hero :focus-visible,.section--charcoal :focus-visible,.a11y-strip :focus-visible,.ws-card :focus-visible{outline-color:var(--gold);}

/* Hero */
.home-hero{position:relative;overflow:hidden;background:var(--charcoal);color:var(--white);padding:clamp(4rem,9vw,7.5rem) 0 clamp(4rem,8vw,6.5rem);}
.home-hero .wrap{position:relative;z-index:1;max-width:52rem;}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem;}

/* Service cards */
.grid-4{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:2.5rem;}
@media (min-width:44rem){.grid-4{grid-template-columns:repeat(2,1fr);}}
.card{background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.6rem 1.5rem;}
.section--cream .card{box-shadow:0 10px 30px -22px rgba(16,31,38,.35);}
.card h3{margin-bottom:.4rem;}
.card p{margin:0;color:var(--muted-ink);}
.card .kicker{display:inline-block;font-family:var(--ff-head);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--charcoal);background:var(--sage-tint);border-radius:999px;padding:.25rem .7rem;margin-bottom:.8rem;}
.svc-note{margin-top:1.8rem;color:var(--muted-ink);}
.a11y-strip{margin-top:1.6rem;background:var(--charcoal);color:var(--white);border-radius:var(--radius);padding:1.2rem 1.5rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;}
.a11y-strip p{margin:0;}
.a11y-strip a{color:var(--gold);text-decoration:underline;}

/* Proof */
.proof-points{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1rem;max-width:46rem;}
.proof-points li{display:flex;gap:.85rem;align-items:flex-start;font-size:1.08rem;}
.proof-points svg{flex:none;width:1.4rem;height:1.4rem;color:var(--gold);margin-top:.15rem;}

/* Founder */
.founder{display:grid;gap:2rem;align-items:center;}
@media (min-width:44rem){.founder{grid-template-columns:.9fr 1.1fr;gap:3rem;}}
.founder-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--charcoal);}
.founder-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.founder-photo .ph{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted-on-dark);gap:1rem;padding:1.5rem;text-align:center;font-size:.95rem;}
.founder-photo .ph img{width:72px;height:auto;flex:none;}

/* Workshop callout */
.ws-card{background:var(--charcoal);color:var(--white);border-radius:var(--radius);padding:clamp(1.8rem,4vw,2.8rem);display:grid;gap:1.5rem;box-shadow:var(--shadow);}
@media (min-width:44rem){.ws-card{grid-template-columns:1.4fr auto;align-items:center;}}
.ws-card h2{color:var(--white);margin-bottom:.4rem;}
.ws-facts{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;color:var(--muted-on-dark);}
.ws-facts li{display:inline-flex;align-items:center;gap:.5rem;}
.ws-facts svg{flex:none;width:1.05rem;height:1.05rem;color:var(--gold);}
.ws-anchor{display:inline-block;background:var(--gold);color:var(--charcoal);font-weight:600;border-radius:999px;padding:.3rem .85rem;font-size:.9rem;margin-bottom:.9rem;}

/* Products */
.prod-list{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1rem;}
@media (min-width:44rem){.prod-list{grid-template-columns:repeat(2,1fr);gap:1.2rem 2.5rem;}}
.prod-list li{border-left:3px solid var(--gold);padding-left:1rem;}
.prod-list strong{font-family:var(--ff-head);}
.prod-list a{color:var(--charcoal);text-decoration:underline;}
.prod-list .muted,.prod-note{color:var(--muted-ink);}
.prod-note{margin-top:1.6rem;}

/* Newsletter band */
.nl-band{background:var(--cream);}
.nl-band .wrap{display:grid;gap:1rem;}
@media (min-width:44rem){.nl-band .wrap{grid-template-columns:1fr auto;align-items:center;}}
.nl-band h2{font-size:clamp(1.3rem,1.6vw + 1rem,1.7rem);margin:0 0 .3rem;}
.nl-band p{margin:0;color:var(--muted-ink);}

/* Final CTA */
.final-cta{text-align:center;}
.final-cta h2{color:var(--white);max-width:22ch;margin-inline:auto;}
.final-cta .lead{margin-inline:auto;}
.final-cta .btn{margin-top:1.6rem;}

/* Reduced motion: this file re-enables smooth scroll above, so it must
   also switch it off for users who asked (gate NEW-25 / BRAND §5). */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
}
