/* Landing page only (index.html). Shared tokens/components live in styles.css. */
.home{background:#fff}
.h-muted{color:var(--muted)}
.h-center{text-align:center}

/* hero */
.h-hero{padding:clamp(3rem,7vw,6rem) 0 clamp(3rem,6vw,5rem);background:radial-gradient(900px 480px at 85% 0,#e7f4ef 0,rgba(231,244,239,0) 70%),radial-gradient(600px 380px at 0 100%,#fdf3e3 0,rgba(253,243,227,0) 70%)}
.h-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.h-pill{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.25rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.h-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}
.h-hero h1{font-size:clamp(2.3rem,5.4vw,4rem);line-height:1.05;letter-spacing:-.035em;margin-bottom:1.1rem;max-width:14ch}
.h-sub{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ink-2);max-width:34rem;margin-bottom:2rem}
.h-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem}
.h-btn-lg{padding:1rem 1.6rem;font-size:1.05rem;border-radius:12px;box-shadow:0 6px 18px rgba(11,110,79,.25)}
.h-link{font-weight:650;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}
.h-link:hover{color:var(--brand)}
.h-cta-note{margin:1rem 0 0;font-size:.875rem;color:var(--muted)}
.h-email-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.6rem 0 0;font-size:.95rem;color:var(--ink-2)}
.h-email{font-weight:650;overflow-wrap:anywhere}
.h-copy{min-height:32px}

/* hero visual: mock label */
.h-visual{position:relative;margin:0;padding:1.5rem 0}
.h-label{position:relative;overflow:hidden;background:linear-gradient(160deg,#fff8ec,#fde9c8);border:1px solid #f0d6a8;border-radius:22px;padding:1.6rem 1.6rem 1.4rem;box-shadow:0 30px 60px -20px rgba(15,27,45,.25),0 8px 20px rgba(15,27,45,.06);max-width:min(390px,calc(100% - 190px));transform:rotate(-2deg)}
.h-label-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}
.h-brand{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#7a4504}
.h-label-name{font-size:1.7rem;font-weight:800;letter-spacing:-.02em;margin:0;color:#5a2d02;line-height:1.1}
.h-label-sub{margin:.2rem 0 1rem;font-size:.85rem;color:#7a4504}
.h-label-ing{font-size:.82rem;line-height:1.6;color:#3d2a12;margin:0 0 1rem;background:rgba(255,255,255,.65);border-radius:12px;padding:.75rem .85rem}
.h-hl{background:transparent;color:inherit;border-radius:4px;padding:0 .15em;box-shadow:inset 0 0 0 2px var(--crit);background-color:#fde2df;font-weight:700}
.h-hl-2{box-shadow:inset 0 0 0 2px var(--high);background-color:#ffe6d5}
.h-label-foot{display:flex;justify-content:flex-start;gap:1rem;align-items:center;font-size:.78rem;font-weight:600;color:#5a2d02;font-family:var(--mono)}
.h-fop-missing{display:grid;place-items:center;width:44px;height:44px;border:2px dashed var(--high);border-radius:8px;color:var(--high);font-weight:800;font-family:var(--font)}
.h-scan{position:absolute;left:0;right:0;top:0;height:70px;background:linear-gradient(180deg,rgba(11,110,79,0),rgba(11,110,79,.16) 85%,rgba(11,110,79,.55));border-bottom:2px solid var(--brand);opacity:0;pointer-events:none}
.h-flags{list-style:none;margin:0;padding:0;position:absolute;right:0;top:58%;transform:translateY(-50%);display:grid;gap:.75rem;width:250px}
.h-flag{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.7rem .85rem;font-size:.86rem;font-weight:600;line-height:1.3;box-shadow:0 12px 28px -8px rgba(15,27,45,.22)}
.h-flag-2{margin-right:-.75rem;margin-left:.75rem}

@media (prefers-reduced-motion:no-preference){
  .h-scan{animation:h-scan 2.6s ease-in-out .3s 2 both}
  .h-flag{animation:h-pop .5s cubic-bezier(.2,.8,.2,1.2) both}
  .h-flag-1{animation-delay:.9s}.h-flag-2{animation-delay:1.5s}.h-flag-3{animation-delay:2.1s}
  .h-hl{animation:h-hl .6s ease-out both}.h-hl-1{animation-delay:.8s}.h-hl-2{animation-delay:1.4s}
  .h-demo{transition:transform .2s ease,box-shadow .2s ease}
  .h-demo:hover{transform:translateY(-3px)}
  .h-sticky-cta{transition:transform .2s ease,visibility .2s}
}
@keyframes h-scan{0%{opacity:0;transform:translateY(-70px)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(340px)}}
@keyframes h-pop{from{opacity:0;transform:translateX(16px) scale(.96)}to{opacity:1;transform:none}}
@keyframes h-hl{from{box-shadow:inset 0 0 0 0 transparent;background-color:transparent}}

/* sections */
.h-section{padding:clamp(3.5rem,7vw,6rem) 0}
.h-section-tint{background:var(--bg-2)}
.h-section h2{font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.025em}
.h-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--brand-tint);color:var(--brand);margin-bottom:1.1rem}
.h-icon svg{width:24px;height:24px}
.h-icon-lg{width:64px;height:64px;border-radius:20px;margin-inline:auto}
.h-icon-lg svg{width:30px;height:30px}

.h-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.h-tile{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem 1.75rem;box-shadow:var(--shadow)}
.h-tile h3{font-size:1.2rem;margin-bottom:.35rem}
.h-tile p{margin:0;color:var(--muted)}

/* demo preview */
.h-demo-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.h-demo{display:block;text-decoration:none;color:var(--ink);border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 50px -24px rgba(15,27,45,.3);overflow:hidden}
.h-demo:hover{box-shadow:0 30px 60px -24px rgba(15,27,45,.38);color:var(--ink)}
.h-demo:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.h-demo-win{display:block}
.h-demo-bar{display:flex;gap:6px;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--bg-2)}
.h-demo-bar i{width:10px;height:10px;border-radius:50%;background:#d0d5dd}
.h-demo-body{display:grid;grid-template-columns:.85fr 1.15fr;min-height:220px}
.h-demo-side{display:grid;align-content:start;gap:.5rem;padding:1rem;border-right:1px solid var(--line)}
.h-demo-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:12px;font-size:.8rem}
.h-demo-item.is-active{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-tint)}
.h-demo-main{display:grid;align-content:start;gap:.6rem;padding:1.1rem}
.h-demo-sev{display:flex;align-items:center;gap:.35rem;color:var(--ink-2);font-weight:600}
.h-demo-title{font-size:.85rem;font-weight:700;color:var(--ink)}
.h-demo-card{display:grid;gap:.55rem;justify-items:start;margin-top:.4rem;padding:.9rem;border:1px solid #fecdca;border-radius:14px;background:var(--crit-bg)}
.h-demo-issue{font-size:.95rem;font-weight:700;color:var(--ink)}
.h-demo-rule{font-size:.8rem;font-weight:600;color:var(--brand)}
.h-demo-fix{font-size:.82rem;color:var(--ink-2);background:#fff;border-radius:8px;padding:.45rem .6rem}
.h-demo-cta{display:flex;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid var(--line);font-weight:700;color:var(--brand)}

/* steps */
.h-steps{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;counter-reset:none}
.h-step{text-align:center;padding:1rem;position:relative}
.h-step p{margin:.5rem auto 0;max-width:24ch;color:var(--muted);font-size:.95rem}
.h-step h3{font-size:1.1rem;margin:0;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.h-num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:.8rem}
.h-step+.h-step::before{content:"";position:absolute;top:calc(1rem + 32px);left:calc(-50% + 3rem);width:calc(100% - 6rem);border-top:2px dashed #c9d0dc}

/* trust strip */
.h-trust{border-block:1px solid var(--line);background:var(--bg-2);padding:1.5rem 0}
.h-trust-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0;font-size:.9rem;font-weight:500;color:var(--ink-2)}
.h-trust-list li+li::before{content:"·";padding:0 .75rem;color:var(--muted)}
.h-sources{margin:.6rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;font-size:.9rem;font-weight:500;color:var(--muted)}
.h-sources a{font-weight:500}

/* closing band */
.h-close h2{margin-bottom:.5rem}
.h-close .h-muted{margin:0 0 1.75rem}
.h-close-email{margin:1rem 0 0;font-size:.95rem;color:var(--ink-2)}
.h-close-email a{overflow-wrap:anywhere}

/* mobile sticky CTA (shown <=640px only) */
.h-sticky-cta{display:none}

/* faq */
.h-faq{max-width:760px}
.h-faq details{padding:1.15rem 0}
.h-faq summary{font-size:1.05rem}

/* responsive */
@media (max-width:900px){
  .h-hero-grid,.h-demo-grid{grid-template-columns:1fr}
  .h-visual{padding:0;max-width:520px}
  .h-label{max-width:none}
  .h-flags{position:static;transform:none;width:auto;margin-top:-1.25rem;padding:0 .75rem}
  .h-flag-2{margin:0}
  .h-tiles{grid-template-columns:1fr;gap:1rem}
  .h-tile{display:grid;grid-template-columns:48px 1fr;column-gap:1rem;padding:1.25rem}
  .h-tile .h-icon{grid-row:span 2;margin:0}
}
@media (max-width:640px){
  .h-steps{grid-template-columns:1fr;gap:.5rem}
  .h-step+.h-step::before{display:none}
  .h-demo-body{grid-template-columns:1fr}
  .h-demo-side{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr}
  .h-demo-item:not(.is-active){display:none}
  .h-trust-list{flex-direction:column;align-items:flex-start;gap:.35rem}
  .h-trust-list li+li::before{content:none}
  .h-sources{justify-content:flex-start}
  .h-pill{border-radius:14px}
  html{scroll-padding-bottom:88px}
  .h-sticky-cta{display:block;position:sticky;bottom:0;z-index:40;padding:.75rem 1.25rem;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 16px rgba(15,27,45,.06)}
  .h-sticky-cta .btn{width:100%;min-height:48px}
  .h-sticky-cta.is-hidden{transform:translateY(100%);visibility:hidden}
}
@media (forced-colors:active){.h-hl{border:2px solid Mark}.h-tile,.h-flag,.h-demo{border:1px solid CanvasText}.h-sticky-cta{border-top:1px solid CanvasText}}
.h-copy[hidden]{display:none}
