:root{
  --g1:#2d5a3d; --g2:#3d6b52; --g3:#5a8c6e; --g4:#a8c9b5; --g5:#ddeee5; --g6:#f0f7f3;
  --cream:#faf7f2; --warm:#f2ece0;
  --gold:#b8843a; --gold2:#d4a555; --gold3:#f5e4c3;
  --char:#1a1f1c; --text:#2a3128; --muted:#5c6a5f; --white:#fff;
  --r:.75rem; --r2:1.25rem; --r3:2rem;
  --shadow:0 4px 20px rgba(45,90,61,.08);
  --shadow-lg:0 10px 40px rgba(45,90,61,.13);
  --maxw:1140px; --fs:1rem;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:Heebo,"Segoe UI",Arial,sans-serif;font-size:var(--fs);line-height:1.75;color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--g1);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--gold)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip{position:absolute;right:1rem;top:-100px;z-index:9999;background:var(--g1);color:#fff;padding:.8rem 1.4rem;border-radius:0 0 var(--r) var(--r);text-decoration:none;font-weight:700;transition:top .2s}
.skip:focus{top:0;color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav{position:sticky;top:0;z-index:900;background:rgba(250,247,242,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--g5)}
.nav-in{display:flex;align-items:center;gap:1rem;padding:.7rem 1.25rem;max-width:var(--maxw);margin:0 auto}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--g1);font-weight:800;font-size:1.1rem}
.logo .mark{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--g1),var(--g3));color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700;flex:none}
.nav-links{display:flex;gap:.25rem;margin-inline-start:auto;flex-wrap:wrap}
.nav-links a{padding:.45rem .8rem;border-radius:var(--r);text-decoration:none;color:var(--text);font-weight:500;font-size:.95rem}
.nav-links a:hover,.nav-links a[aria-current=page]{background:var(--g6);color:var(--g1)}
.nav-cta{display:flex;gap:.5rem;flex:none}
.nav-toggle{display:none;background:var(--g6);border:1px solid var(--g4);border-radius:var(--r);padding:.5rem .8rem;font-size:1.2rem;cursor:pointer;color:var(--g1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem 1.3rem;border-radius:999px;text-decoration:none;font-weight:700;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s;line-height:1.3}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-p{background:var(--g1);color:#fff}
.btn-p:hover{color:#fff;background:var(--g2)}
.btn-w{background:#25d366;color:#0b2f19}
.btn-w:hover{color:#0b2f19}
.btn-o{background:transparent;color:var(--g1);border-color:var(--g3)}
.btn-g{background:var(--gold);color:#fff}
.btn-lg{padding:.95rem 1.9rem;font-size:1.05rem}
section{padding:4.5rem 0}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;margin-bottom:.6rem}
h1,h2,h3,h4{line-height:1.25;color:var(--char);font-weight:800}
h1{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
h2{font-size:clamp(1.5rem,3.2vw,2.2rem);margin-bottom:1rem}
h3{font-size:1.2rem;margin-bottom:.5rem}
.lead{font-size:1.1rem;color:var(--muted);max-width:65ch}
.center{text-align:center}
.center .lead{margin-inline:auto}
.grid{display:grid;gap:1.4rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.card{background:var(--white);border:1px solid var(--g5);border-radius:var(--r2);padding:1.6rem;box-shadow:var(--shadow)}
.card h3{color:var(--g1)}
a.card{text-decoration:none;color:var(--text);display:block;transition:transform .15s,box-shadow .15s}
a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--g4)}
.card .ico{font-size:1.9rem;margin-bottom:.6rem;display:block}
.pill{display:inline-block;background:var(--g6);color:var(--g1);padding:.25rem .8rem;border-radius:999px;font-size:.8rem;font-weight:700;margin-top:.9rem}
.hero{background:linear-gradient(160deg,var(--g6) 0%,var(--cream) 55%);padding:3.5rem 0 4rem}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.badge-line{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}
.badge{background:var(--white);border:1px solid var(--g4);color:var(--g1);padding:.3rem .85rem;border-radius:999px;font-size:.82rem;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.hero-note{margin-top:1rem;font-size:.9rem;color:var(--muted)}
.portrait{position:relative}
.portrait img{border-radius:var(--r3);box-shadow:var(--shadow-lg);width:100%;object-fit:cover;aspect-ratio:4/5}
.yrs{position:absolute;bottom:-14px;inset-inline-start:-14px;background:var(--gold);color:#fff;border-radius:var(--r2);padding:.8rem 1.1rem;text-align:center;box-shadow:var(--shadow-lg);line-height:1.15}
.yrs b{display:block;font-size:1.7rem}
.yrs span{font-size:.75rem;font-weight:600}
.trust{background:var(--g1);color:#fff;padding:1.6rem 0}
.trust ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2rem;font-size:.92rem}
.trust li{display:flex;align-items:center;gap:.45rem;color:#e6f2ea}
.trust b{color:#fff}
.creds{list-style:none;display:grid;gap:.7rem}
.creds li{display:flex;gap:.8rem;align-items:flex-start;background:var(--white);border:1px solid var(--g5);border-radius:var(--r);padding:.85rem 1rem}
.creds .ci{font-size:1.3rem;flex:none;line-height:1.4}
.creds b{display:block;color:var(--g1)}
.creds small{color:var(--muted);font-size:.87rem}
.steps{counter-reset:s;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.step{background:var(--white);border:1px solid var(--g5);border-radius:var(--r2);padding:1.6rem 1.4rem;position:relative}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:-16px;inset-inline-start:1.3rem;background:var(--gold);color:#fff;font-weight:800;font-size:.85rem;padding:.3rem .7rem;border-radius:999px}
.faq details{background:var(--white);border:1px solid var(--g5);border-radius:var(--r);margin-bottom:.7rem;overflow:hidden}
.faq summary{padding:1.05rem 1.2rem;cursor:pointer;font-weight:700;color:var(--g1);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.45rem;color:var(--gold);flex:none;font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 1.2rem 1.2rem;color:var(--muted)}
.contact{background:linear-gradient(160deg,var(--g6),var(--cream))}
.form{background:var(--white);border:1px solid var(--g5);border-radius:var(--r2);padding:1.8rem;box-shadow:var(--shadow)}
.field{margin-bottom:1.05rem}
.field label{display:block;font-weight:700;margin-bottom:.35rem;font-size:.93rem;color:var(--char)}
.field .req{color:#b3261e}
.field input,.field select,.field textarea{width:100%;padding:.75rem .9rem;border:1.5px solid var(--g4);border-radius:var(--r);font-family:inherit;font-size:1rem;background:var(--cream);color:var(--text)}
.field textarea{min-height:96px;resize:vertical}
.hint{font-size:.82rem;color:var(--muted);margin-top:.3rem}
.err{color:#b3261e;font-size:.85rem;font-weight:600;margin-top:.35rem;display:none}
.field.bad input,.field.bad select{border-color:#b3261e}
.field.bad .err{display:block}
.privacy-note{font-size:.85rem;color:var(--muted);margin-top:.9rem;text-align:center}
.crisis{background:#fff8f0;border:1.5px solid var(--gold3);border-inline-start:5px solid var(--gold);border-radius:var(--r);padding:1.1rem 1.3rem;margin:1.5rem 0;font-size:.95rem}
.crisis b{color:#8a5f1f;display:block;margin-bottom:.25rem}
.crisis a{font-weight:700}
.hl{background:var(--g6);border-inline-start:5px solid var(--g1);border-radius:var(--r);padding:1rem 1.3rem;margin:1.3rem 0}
.float{position:fixed;inset-inline-start:1rem;bottom:1rem;z-index:850;display:flex;flex-direction:column;gap:.65rem}
.float a{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;box-shadow:var(--shadow-lg);text-decoration:none;color:#fff}
.float .wa{background:#25d366;color:#0b2f19}
.float .tel{background:var(--g1)}
.footer{background:var(--char);color:#c9d4cc;padding:3rem 0 1.5rem;font-size:.93rem}
.footer h4{color:#fff;font-size:1rem;margin-bottom:.8rem}
.footer a{color:#c9d4cc;text-decoration:none}
.footer a:hover{color:var(--gold2);text-decoration:underline}
.footer ul{list-style:none;display:grid;gap:.4rem}
.foot-bottom{border-top:1px solid #333c35;margin-top:2rem;padding-top:1.2rem;font-size:.83rem;color:#8a978e;text-align:center}
.a11y-btn{position:fixed;inset-inline-end:1rem;bottom:1rem;z-index:950;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:var(--g1);color:#fff;font-size:1.6rem;box-shadow:var(--shadow-lg)}
.a11y-panel{position:fixed;inset-inline-end:1rem;bottom:5.3rem;z-index:951;width:min(310px,calc(100vw - 2rem));background:#fff;color:var(--text);border:2px solid var(--g1);border-radius:var(--r2);padding:1.1rem;box-shadow:var(--shadow-lg);display:none}
.a11y-panel[data-open="1"]{display:block}
.a11y-panel h2{font-size:1.05rem;margin-bottom:.7rem;color:var(--g1)}
.a11y-panel button{width:100%;text-align:start;background:var(--g6);border:1px solid var(--g4);border-radius:var(--r);padding:.6rem .8rem;margin-bottom:.45rem;font-family:inherit;font-size:.93rem;cursor:pointer;color:var(--text)}
.a11y-panel button:hover{background:var(--g5)}
.a11y-panel button[aria-pressed="true"]{background:var(--g1);color:#fff;border-color:var(--g1)}
.a11y-panel .close{background:transparent;border:none;color:var(--muted);text-align:center;margin-top:.3rem}
body.a11y-contrast,body.a11y-contrast *:not(svg):not(path){background-color:#000!important;color:#fff!important;border-color:#ff0!important;box-shadow:none!important;text-shadow:none!important}
body.a11y-contrast a,body.a11y-contrast a *{color:#ff0!important}
body.a11y-contrast .err,body.a11y-contrast .req{color:#ff6b6b!important}
body.a11y-contrast .eyebrow,body.a11y-contrast .yrs,body.a11y-contrast .crisis b{color:#ffd24d!important}
body.a11y-contrast .field input,body.a11y-contrast .field select,body.a11y-contrast .field textarea{background:#000!important;color:#fff!important;border:2px solid #ff0!important}
body.a11y-contrast .field input::placeholder,body.a11y-contrast .field textarea::placeholder{color:#bbb!important}
body.a11y-contrast .btn,body.a11y-contrast button[type="submit"]{background:#ff0!important;color:#000!important;border-color:#ff0!important}
body.a11y-contrast .btn *,body.a11y-contrast button[type="submit"] *{color:#000!important}
body.a11y-contrast .a11y-panel button[aria-pressed="true"]{background:#ff0!important;color:#000!important}
body.a11y-contrast .skip{background:#ff0!important;color:#000!important}
body.a11y-contrast img{filter:grayscale(1) contrast(1.2)}
body.a11y-links a{text-decoration:underline!important;font-weight:700!important;background:#ffff8d;color:#000!important;padding:0 2px}
body.a11y-readable,body.a11y-readable *{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
body.a11y-nomotion *{animation:none!important;transition:none!important}
body.a11y-nomotion{scroll-behavior:auto}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:2rem}
  .portrait{max-width:340px;margin-inline:auto}
  .nav-toggle{display:block;margin-inline-start:auto;order:2}
  .nav-links{display:none;width:100%;order:3;flex-direction:column;gap:0;border-top:1px solid var(--g5);margin-top:.6rem;padding-top:.6rem}
  .nav-links[data-open="1"]{display:flex}
  .nav-links a{padding:.7rem .5rem;border-radius:0}
  .nav-cta{order:1;margin-inline-start:auto}
  .nav-cta .btn{padding:.55rem 1rem;font-size:.88rem}
  section{padding:3.2rem 0}
  .float a{width:52px;height:52px;font-size:1.35rem}
  .a11y-btn{width:50px;height:50px;font-size:1.4rem}
}
@media(max-width:520px){
  .nav-cta .hide-xs{display:none}
  .trust ul{flex-direction:column;align-items:flex-start;gap:.45rem}
}
@media print{.nav,.float,.a11y-btn,.a11y-panel,.skip{display:none!important}body{background:#fff}}
