/* =========================================================================
   Haven of Peace Home Care — Design System v2
   Direction: "Slack for non-medical home care" — fresh, clean, professional,
   modern product feel. True emerald + navy + gold on bright white.
   Centered, airy, organic photo shapes. No boxy cards.
   Type: Hanken Grotesk (one family, weight contrast). Clean sans.
   ========================================================================= */

/* ---------- Tokens ---------- */
:root {
  /* Brand — true emerald (matches logo), navy, gold */
  --emerald:       oklch(0.55 0.135 160);   /* true, vivid emerald */
  --emerald-600:   oklch(0.49 0.130 161);
  --emerald-700:   oklch(0.43 0.115 162);
  --emerald-ink:   oklch(0.34 0.085 164);   /* green text on light (AA) */
  --navy:          oklch(0.34 0.075 249);
  --navy-800:      oklch(0.27 0.065 251);
  --navy-900:      oklch(0.20 0.045 252);
  --gold:          oklch(0.82 0.105 84);
  --gold-600:      oklch(0.66 0.105 76);     /* gold accent text/lines */

  /* Neutrals — bright & clean, a whisper of green */
  --bg:            oklch(0.992 0.005 160);
  --surface:       oklch(1 0 0);
  --mint:          oklch(0.965 0.022 165);   /* soft tint section */
  --mint-deep:     oklch(0.94 0.030 165);
  --line:          oklch(0.905 0.012 170);
  --line-soft:     oklch(0.94 0.008 170);

  /* Ink */
  --ink:           oklch(0.25 0.02 220);     /* ~13:1 on white */
  --ink-soft:      oklch(0.45 0.018 220);    /* ~5:1 */
  --on-emerald:    oklch(0.99 0.01 160);

  --focus:         oklch(0.55 0.135 160);

  /* Type — one family, big weight range */
  --font: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Fluid scale — confident, product-marketing contrast */
  --step--1: clamp(0.84rem, 0.81rem + 0.14vw, 0.93rem);
  --step-0:  clamp(1rem, 0.97rem + 0.18vw, 1.12rem);
  --step-1:  clamp(1.2rem, 1.12rem + 0.4vw, 1.45rem);
  --step-2:  clamp(1.5rem, 1.35rem + 0.75vw, 2.05rem);
  --step-3:  clamp(1.9rem, 1.6rem + 1.5vw, 2.9rem);
  --step-4:  clamp(2.35rem, 1.9rem + 2.3vw, 3.9rem);
  --step-5:  clamp(2.9rem, 2.2rem + 3.6vw, 5.2rem);

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem; --sp-7:3rem; --sp-8:4rem; --sp-9:clamp(4.5rem,3.2rem + 5vw,7.5rem);

  --wrap: 1200px;
  --wrap-narrow: 720px;

  --r-sm: 10px; --r-md: 16px; --r-lg: 26px; --r-pill: 999px;

  --shadow-sm: 0 1px 2px oklch(0.3 0.05 220/.05), 0 4px 14px oklch(0.3 0.05 220/.06);
  --shadow-md: 0 10px 34px oklch(0.3 0.06 200/.10), 0 3px 10px oklch(0.3 0.06 200/.06);
  --shadow-lg: 0 30px 70px oklch(0.28 0.07 190/.18);
  --shadow-emerald: 0 16px 40px oklch(0.55 0.135 160/.30);

  --ease: cubic-bezier(0.16, 1, 0.3, 1);

  --z-header:100; --z-menu:200; --z-modal:400;

  /* Photo shape — clean rounded rect (arch removed per client) */
  --arch: var(--r-lg);
  --blob-a: var(--r-lg);
  --blob-b: var(--r-lg);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--font);font-size:var(--step-0);line-height:1.6;
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
img{font-style:italic;color:var(--ink-soft)}
a{color:var(--emerald-700);text-decoration:none;text-underline-offset:3px}
a:hover{color:var(--emerald-600)}
button,input,select,textarea{font:inherit;color:inherit}
ul,ol{padding-left:1.15em}
:target{scroll-margin-top:6rem}
.prose a,.faq__body a,.notice a,.form-note a,.consent a,.footer__disclaimer a,.quote a,.lead a{text-decoration:underline}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ---------- Type ---------- */
h1,h2,h3,h4{font-family:var(--font);font-weight:800;line-height:1.05;color:var(--navy-900);letter-spacing:-0.03em}
h1{font-size:var(--step-4);text-wrap:balance}
h2{font-size:var(--step-3);text-wrap:balance}
h3{font-size:var(--step-2);letter-spacing:-0.02em}
h4{font-size:var(--step-1);letter-spacing:-0.01em}
p{text-wrap:pretty}
.lead{font-size:var(--step-1);line-height:1.5;color:var(--ink-soft);font-weight:400}
strong{font-weight:700;color:var(--navy-900)}
.prose{max-width:68ch}
.prose>*+*{margin-top:1em}
.prose h2{margin-top:1.8em}.prose h3{margin-top:1.5em}
.prose ul,.prose ol{display:grid;gap:.4em}

/* Eyebrow — plain label, gold dot, no pill */
.kicker{
  display:inline-flex;align-items:center;gap:.55em;
  font-weight:700;font-size:var(--step--1);letter-spacing:.01em;
  color:var(--emerald-ink);
}
.kicker::before{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--gold);flex:none}
.kicker svg{width:1em;height:1em}

/* ---------- Layout ---------- */
.wrap{width:min(100% - 2.5rem, var(--wrap));margin-inline:auto}
.wrap-narrow{width:min(100% - 2.5rem, var(--wrap-narrow));margin-inline:auto}
.section{padding-block:var(--sp-9)}
.section--mint{background:var(--mint)}
.section--emerald{background:
  radial-gradient(120% 130% at 100% 0%, var(--emerald-600), transparent 60%),
  var(--emerald-700);color:var(--on-emerald)}
.section--emerald h1,.section--emerald h2,.section--emerald h3{color:#fff}
.section--navy{background:var(--navy-900);color:var(--on-emerald)}

.stack>*+*{margin-top:var(--sp-5)}
.center{text-align:center}
/* Centered section header */
.section-head{max-width:760px;margin-inline:auto;text-align:center}
.section-head .lead{margin-top:var(--sp-4)}
.section-head .kicker{margin-bottom:var(--sp-4)}

.grid{display:grid;gap:var(--sp-6)}
.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}

/* ---------- a11y ---------- */
.skip-link{position:absolute;left:var(--sp-4);top:-100px;z-index:var(--z-modal);background:var(--navy-900);color:#fff;padding:.7rem 1.1rem;border-radius:var(--r-sm);font-weight:700;transition:top .2s var(--ease)}
.skip-link:focus{top:var(--sp-4);color:#fff}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-weight:700;font-size:var(--step-0);line-height:1;cursor:pointer;
  padding:.95rem 1.6rem;border-radius:var(--r-pill);border:2px solid transparent;
  transition:transform .25s var(--ease),background-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);
}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:var(--emerald);color:#fff;box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--emerald-600);color:#fff;box-shadow:var(--shadow-emerald)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--navy-800);color:#fff;box-shadow:var(--shadow-md)}
.btn--gold{background:var(--gold);color:var(--navy-900)}
.btn--gold:hover{background:oklch(0.78 0.11 82);color:var(--navy-900);box-shadow:var(--shadow-md)}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--line)}
.btn--ghost:hover{background:#fff;color:var(--navy-900);border-color:var(--navy)}
.btn--on-dark{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
.btn--on-dark:hover{background:#fff;color:var(--navy-900)}
.btn--light{background:#fff;color:var(--emerald-700)}
.btn--light:hover{background:#fff;color:var(--emerald-600);box-shadow:var(--shadow-md)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.center .btn-row,.section-head .btn-row{justify-content:center}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;list-style:none;padding:0;margin:0}
.chips li{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.95rem;color:var(--ink-soft)}
.chips svg{width:18px;height:18px;color:var(--emerald);flex:none}
.chips--light li{color:oklch(0.95 0.02 160)}
.chips--light svg{color:var(--gold)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:oklch(1 0 0/.82);backdrop-filter:saturate(1.5) blur(12px);border-bottom:1px solid var(--line-soft)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:76px}
.brand{display:inline-flex;align-items:center;gap:.6rem}
.brand__mark{width:auto;height:42px;flex:none}
.brand__text{display:flex;flex-direction:column;line-height:1.02}
.brand__name{font-weight:800;font-size:1.14rem;color:var(--navy-900);letter-spacing:-0.02em}
.brand__tag{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald-ink);font-weight:700}
.nav__links{display:flex;align-items:center;gap:.2rem;list-style:none;margin:0;padding:0}
.nav__links a{display:inline-block;padding:.55rem .85rem;border-radius:var(--r-pill);color:var(--ink);font-weight:600;font-size:.98rem;transition:background-color .2s,color .2s}
.nav__links a:hover{background:var(--mint);color:var(--navy-900)}
.nav__links a[aria-current="page"]{color:var(--emerald-700);background:var(--mint)}
.nav__cta{margin-left:.4rem}
.menu-btn{display:none;align-items:center;gap:.5rem;background:transparent;border:2px solid var(--line);border-radius:var(--r-pill);padding:.5rem .9rem;font-weight:700;cursor:pointer;color:var(--navy-900)}
.menu-btn svg{width:20px;height:20px}
@media (max-width:980px){
  .menu-btn{display:inline-flex}
  .nav__links{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:stretch;gap:.1rem;background:var(--surface);padding:var(--sp-4);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);max-height:calc(100dvh - 76px);overflow-y:auto}
  .nav__links[data-open="true"]{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav__links a{padding:.85rem 1rem;font-size:1.05rem}
  .nav__cta{margin:.5rem 0 0}.nav__cta .btn{width:100%}
}

/* ---------- HERO (full-bleed image at top, neutral scrim, centered text) ---------- */
.hero{
  position:relative;min-height:min(92vh,820px);display:grid;place-items:center;
  text-align:center;isolation:isolate;overflow:clip;padding-block:clamp(4rem,3rem + 4vw,7rem);
}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:22% 30%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:oklch(0.16 0.015 220/.52)}
.hero__inner{max-width:880px;margin-inline:auto}
.hero .kicker{color:#fff}
.hero h1{font-size:var(--step-5);letter-spacing:-0.035em;margin-top:var(--sp-5);color:#fff}
.hero h1 em{font-style:normal;color:oklch(0.80 0.145 160)}
.hero .lead{max-width:54ch;margin:var(--sp-5) auto var(--sp-6);font-size:var(--step-1);color:oklch(0.95 0.008 160)}
.hero .btn-row{justify-content:center}
.hero__proof{justify-content:center;margin-top:var(--sp-6)}
@media (max-width:720px){
  .hero{min-height:min(88svh,700px);padding-block:3.5rem}
  /* keep the caregiver and client in frame when the sides crop on narrow screens */
  .hero__img{object-position:62% 30%}
  .hero .btn-row{flex-direction:column;align-items:stretch;max-width:340px;margin-inline:auto}
}

/* ---------- Organic media ---------- */
.media-arch{border-radius:var(--arch);overflow:hidden;box-shadow:var(--shadow-lg)}
.media-blob{border-radius:var(--blob-a);overflow:hidden;box-shadow:var(--shadow-lg)}
.media-blob--b{border-radius:var(--blob-b)}
/* dramatic rounded-vector squircle photos — clean, centered, no backdrop */
.media-circle{
  border-radius:34%;aspect-ratio:1;overflow:hidden;box-shadow:var(--shadow-md);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.feature:hover .media-circle{transform:scale(1.05);box-shadow:var(--shadow-lg)}
.media-arch img,.media-blob img,.media-circle img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.media-frame{position:relative}
.media-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px oklch(0.3 0.05 200/.06);pointer-events:none}

/* Decorative blobs / accents */
.accent-dot{width:.55em;height:.55em;border-radius:50%;background:var(--gold);display:inline-block}

/* ---------- Split (editorial, centered headings) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:var(--sp-7)}}
.split__media{position:relative}
.split__media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%;border-radius:var(--arch);box-shadow:var(--shadow-lg);max-height:600px}
.split--reverse .split__media{order:-1}
@media (max-width:860px){.split--reverse .split__media{order:0}}

/* check list */
.checks{list-style:none;padding:0;display:grid;gap:var(--sp-4);margin:0}
.checks li{display:grid;grid-template-columns:1.7rem 1fr;gap:.7rem;align-items:start}
.checks svg{width:24px;height:24px;color:var(--emerald);margin-top:1px}
.checks--center{max-width:520px;margin-inline:auto;text-align:left}

/* ---------- Feature trio (open, no boxes) ---------- */
.feature{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}
.feature__media{width:clamp(175px,52%,235px);aspect-ratio:1;margin-bottom:var(--sp-3)}
.feature__media img{width:100%;height:100%;object-fit:cover}
.feature__icon{width:60px;height:60px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--mint);color:var(--emerald-700);margin-bottom:var(--sp-2)}
.feature__icon svg{width:30px;height:30px}
.feature h3{font-size:var(--step-1)}
.feature p{color:var(--ink-soft);max-width:34ch}
.feature__more{margin-top:auto;font-weight:700;color:var(--emerald-700);display:inline-flex;gap:.4em;align-items:center;padding-top:var(--sp-2)}
.feature__more svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.feature a.feature__more:hover svg,.feature:hover .feature__more svg{transform:translateX(4px)}

/* ---------- Cards (kept for compatibility, de-boxed & airy) ---------- */
.card{background:transparent;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}
.card--link{text-decoration:none;color:inherit}
.card__icon{width:60px;height:60px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--mint);color:var(--emerald-700);margin-bottom:var(--sp-2)}
.card__icon svg{width:30px;height:30px}
.card__icon--blue{background:oklch(0.94 0.03 250);color:var(--navy)}
.card__icon--sage{background:var(--mint);color:var(--emerald-700)}
.card__icon--gold{background:oklch(0.93 0.05 84);color:var(--gold-600)}
.card h3{font-size:var(--step-1)}
.card p{color:var(--ink-soft);max-width:36ch}
.card__more{margin-top:var(--sp-2);font-weight:700;color:var(--emerald-700);display:inline-flex;gap:.4em;align-items:center}
.card__more svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.card--link:hover .card__more svg{transform:translateX(4px)}

/* trust strip */
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-6);text-align:center}
.trust__num{font-weight:800;font-size:var(--step-3);color:var(--emerald);letter-spacing:-0.03em}
.trust__label{color:var(--ink-soft);font-size:var(--step--1);font-weight:600}

/* ---------- Steps (centered timeline) ---------- */
.steps{counter-reset:step;display:grid;gap:var(--sp-6);max-width:780px;margin-inline:auto}
.step{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-4);align-items:start;text-align:left}
.step__num{counter-increment:step;width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--emerald);color:#fff;font-weight:800;font-size:1.2rem}
.step__num::before{content:counter(step)}

/* ---------- Testimonials ---------- */
.quote{background:var(--surface);border-radius:var(--r-lg);padding:clamp(1.6rem,1.2rem + 2vw,2.6rem);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--sp-4);text-align:center;align-items:center}
.quote__mark{font-weight:800;font-size:3rem;line-height:.5;color:var(--gold)}
.quote blockquote{font-size:var(--step-2);color:var(--navy-900);font-weight:600;line-height:1.35;letter-spacing:-0.02em}
.quote figcaption{color:var(--ink-soft);font-size:var(--step--1)}
.quote figcaption b{color:var(--navy-900)}
.stars{color:var(--gold-600);letter-spacing:2px}

/* ---------- CTA band (flat emerald, no photo/gradient wash) ---------- */
.cta-band{background:var(--emerald-700);border-radius:var(--r-lg);padding:clamp(2.5rem,1.8rem + 3.5vw,4.5rem);text-align:center;color:#fff}
.cta-band h2{color:#fff}
.cta-band p{color:oklch(0.95 0.02 160);max-width:52ch;margin:var(--sp-4) auto 0}
.cta-band .btn-row{justify-content:center;margin-top:var(--sp-6)}

/* ---------- Forms ---------- */
.form{display:grid;gap:var(--sp-5)}
.field{display:grid;gap:.4rem}
.field label{font-weight:700;color:var(--navy-900);font-size:.96rem}
.field .req{color:oklch(0.55 0.17 25)}
.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border:2px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--emerald);box-shadow:0 0 0 4px oklch(0.55 0.135 160/.16)}
.field input:user-invalid,.field textarea:user-invalid{border-color:oklch(0.55 0.17 25)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
@media (max-width:620px){.form-row{grid-template-columns:1fr}}
.consent{display:grid;grid-template-columns:1.4rem 1fr;gap:.7rem;align-items:start;font-size:.9rem;color:var(--ink-soft)}
.consent input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--emerald)}
.form-note{background:var(--mint);border-radius:var(--r-md);padding:var(--sp-4);font-size:.9rem;color:var(--emerald-ink);display:flex;gap:.7rem}
.form-note svg{width:22px;height:22px;color:var(--emerald-700);flex:none}
.form-status{padding:var(--sp-4);border-radius:var(--r-sm);font-weight:600}
.form-status[data-state="ok"]{background:var(--mint);color:var(--emerald-700)}
.form-status[data-state="err"]{background:oklch(0.96 0.03 25);color:oklch(0.5 0.17 25)}
.form-card{background:var(--surface);border-radius:var(--r-lg);padding:clamp(1.5rem,1rem + 2vw,2.5rem);box-shadow:var(--shadow-md)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:var(--sp-3);max-width:760px;margin-inline:auto}
.faq details{background:var(--surface);border-radius:var(--r-md);padding:0 var(--sp-5);box-shadow:var(--shadow-sm)}
.faq summary{list-style:none;cursor:pointer;padding:var(--sp-5) 0;font-weight:700;font-size:var(--step-1);color:var(--navy-900);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{flex:none;width:26px;height:26px;position:relative;transition:transform .3s var(--ease);color:var(--emerald)}
.faq summary .plus::before,.faq summary .plus::after{content:"";position:absolute;inset:50% 0 auto 0;height:2.5px;background:currentColor;border-radius:2px;transform:translateY(-50%)}
.faq summary .plus::after{transform:translateY(-50%) rotate(90deg)}
.faq details[open] summary .plus{transform:rotate(45deg)}
.faq details>.faq__body{padding-bottom:var(--sp-5);color:var(--ink-soft)}
.faq details>.faq__body>*+*{margin-top:.8em}

/* ---------- Blog ---------- */
.post-card{display:flex;flex-direction:column;gap:var(--sp-3);text-align:left}
.post-card .media-arch,.post-card img{width:100%}
.post-card>img,.post-card .media-arch{aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;object-fit:cover;box-shadow:var(--shadow-md)}
.post-card__meta{font-size:var(--step--1);color:var(--emerald-ink);font-weight:700}
.post-card h3{font-size:var(--step-1)}
.post-card__body{display:flex;flex-direction:column;gap:var(--sp-2)}

/* ---------- Notices ---------- */
.notice{display:flex;gap:.9rem;align-items:flex-start;padding:var(--sp-5);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}
.notice--hipaa{background:var(--mint)}
.notice svg{width:26px;height:26px;flex:none;color:var(--emerald-700)}
.notice h3{font-size:var(--step-1);margin-bottom:.3rem}

/* ---------- Page head ---------- */
.page-head{background:
  radial-gradient(90% 120% at 100% 0%, var(--mint), transparent 60%),
  var(--bg);padding-block:clamp(3rem,2rem + 3vw,5rem);text-align:center;border-bottom:1px solid var(--line-soft)}
.page-head .lead{max-width:60ch;margin:var(--sp-4) auto 0}
.page-head .kicker{margin-bottom:var(--sp-4)}
.breadcrumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:var(--sp-4)}
.breadcrumbs a{color:var(--emerald-ink);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-900);color:oklch(0.86 0.02 220);padding-block:var(--sp-8) var(--sp-6);margin-top:0}
.footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:var(--sp-6)}
@media (max-width:820px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer__grid{grid-template-columns:1fr}}
.site-footer h4{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--sp-4)}
.site-footer a{color:oklch(0.86 0.02 220);text-decoration:none}
.site-footer a:hover{color:var(--gold)}
.footer__links{list-style:none;padding:0;display:grid;gap:.6rem}
.footer__brand .brand__name{color:#fff}
.footer__brand .brand__tag{color:var(--gold)}
.footer__brand p{color:oklch(0.8 0.02 220);max-width:34ch;margin-top:var(--sp-3);font-size:.94rem}
.footer__contact{display:grid;gap:.5rem;margin-top:var(--sp-4);font-size:.94rem}
.footer__contact a{display:inline-flex;gap:.5rem;align-items:center}
.footer__contact svg{width:18px;height:18px;color:var(--emerald);flex:none}
.footer__bottom{margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid oklch(1 0 0/.12);display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;align-items:center;font-size:.84rem;color:oklch(0.74 0.02 220)}
.footer__legal{display:flex;flex-wrap:wrap;gap:var(--sp-4)}
.footer__disclaimer{font-size:.78rem;color:oklch(0.66 0.02 220);max-width:75ch;margin-top:var(--sp-4)}

/* ---------- Reveal ---------- */
.reveal{opacity:1}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* ---------- Utilities ---------- */
.two-col{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:start}
@media (max-width:860px){.two-col{grid-template-columns:1fr;gap:var(--sp-7)}}
.text-soft{color:var(--ink-soft)}
.divider{height:1px;background:var(--line);border:0;margin-block:var(--sp-7)}
.mt-6{margin-top:var(--sp-6)}.mt-7{margin-top:var(--sp-7)}
