/* =========================================================
   AMLEA Behavioral Healthcare | growth-layer additions
   Loaded only by: /start-here/, /refer/*, /resources/*, /privacy/,
   /accessibility/, /404.html. Extends css/styles.css; same tokens.
   ========================================================= */

/* ---------- Start Here: guided service matcher ---------- */
.matcher{scroll-margin-top:96px;max-width:760px;margin:0 auto;background:#fff;border:1px solid rgba(167,154,194,.22);
  border-radius:22px;box-shadow:var(--shadow);padding:34px 36px 30px;position:relative}
.matcher-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.matcher-progress .lbl{font-family:var(--font-head);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--violet);font-weight:500}
.matcher-progress .bar{flex:1;height:4px;border-radius:4px;background:var(--mist);overflow:hidden}
.matcher-progress .bar i{display:block;height:100%;width:0;border-radius:4px;transition:width .35s var(--ease);
  background:linear-gradient(90deg,var(--magenta),var(--violet),var(--skyblue))}
.mstep{display:none}
.mstep.active{display:block}
.mstep fieldset{border:0;padding:0;margin:0;min-width:0}
.mstep legend{font-family:var(--font-head);font-weight:400;color:var(--navy);font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.2;margin:0 0 .4em;padding:0}
.mstep .hint{color:var(--muted);font-size:.95rem;margin:0 0 18px}
.choices{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.choice{position:relative;display:block}
.choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.choice span{display:block;padding:15px 18px;border:1.5px solid var(--mist);border-radius:14px;background:#fff;
  font-family:var(--font-head);font-weight:500;font-size:.95rem;color:var(--navy);cursor:pointer;
  transition:border-color .2s,box-shadow .2s,background .2s,transform .2s var(--ease)}
.choice span small{display:block;font-weight:400;font-size:.82rem;color:var(--muted);margin-top:3px;line-height:1.4}
.choice:hover span{border-color:var(--lavender);transform:translateY(-1px)}
.choice input:checked+span{border-color:var(--violet);background:rgba(122,59,208,.06);box-shadow:0 0 0 3px rgba(122,59,208,.15)}
.choice input:focus-visible+span{outline:3px solid var(--skyblue);outline-offset:2px}
.matcher-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap}
.matcher-nav .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.matcher-nav .restart{background:none;border:0;color:var(--muted);font-family:var(--font-body);font-size:.88rem;cursor:pointer;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}
.matcher-nav .restart:hover{color:var(--violet)}
.merr{color:#a1233f;font-size:.9rem;margin:12px 0 0;display:none}
.merr.show{display:block}
.mresult{display:none}
.mresult.active{display:block}
.mresult .rtag{font-family:var(--font-head);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--violet);font-weight:500;margin:0 0 .6rem}
.mresult h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.4em}
.mresult .rwhy{color:var(--slate);font-size:1.05rem}
.mresult .ralt{margin-top:18px;padding:16px 18px;border-radius:14px;background:var(--cream);font-size:.93rem;color:var(--slate)}
.mresult .ralt a{color:var(--violet)}
.mresult .ractions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.mdisc{margin-top:22px;padding-top:18px;border-top:1px solid rgba(167,154,194,.25);font-size:.85rem;color:var(--muted);line-height:1.6}
.mdisc a{color:var(--violet)}
.matcher{display:none}
html.js .matcher{display:block}
.no-js-list{max-width:760px;margin:0 auto}
@media(max-width:680px){.matcher{padding:26px 20px 24px;border-radius:18px}.choices{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.matcher-progress .bar i,.choice span{transition:none}}

/* ---------- Refer a Patient ---------- */
.ref-steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.ref-step{background:#fff;border:1px solid rgba(167,154,194,.22);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow-sm)}
.ref-step .bead{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;margin-bottom:14px;
  font-family:var(--font-head);font-size:.9rem;color:#fff;
  background:linear-gradient(135deg,var(--magenta),var(--violet) 55%,var(--skyblue))}
.ref-step h3{font-size:1rem;margin-bottom:.4em}
.ref-step p{font-size:.9rem;color:var(--muted);margin:0;line-height:1.6}
.ref-ways{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.ref-way{background:#fff;border:1px solid rgba(167,154,194,.22);border-radius:20px;padding:30px 30px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.ref-way h3{margin-bottom:.4em}
.ref-way p{color:var(--muted);font-size:.96rem}
.ref-way .btn{align-self:flex-start;margin-top:auto}
.ref-way--primary{border-color:rgba(122,59,208,.35);background:linear-gradient(180deg,#fff 30%,rgba(203,187,220,.18))}
.phi-note{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:rgba(46,147,230,.07);
  border:1px solid rgba(46,147,230,.25);border-radius:16px;padding:20px 22px;margin-top:26px;font-size:.93rem;color:var(--slate)}
.phi-note .mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--violet),var(--skyblue))}
.phi-note .mark svg{width:20px;height:20px}
.phi-note p{margin:0}
.phi-note strong{color:var(--navy)}
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.two-up h3{font-size:1.1rem;margin-bottom:.5em}
.two-up ul{margin:0;padding-left:1.2em;color:var(--slate)}
.two-up li{margin-bottom:.45em}
@media(max-width:960px){.ref-steps{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.ref-steps,.ref-ways,.two-up{grid-template-columns:1fr}.phi-note{grid-template-columns:1fr}}

/* ---------- Resources ---------- */
.article{max-width:760px;margin:0 auto}
.article h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin-top:2.1em}
.article h3{font-size:1.12rem;margin-top:1.6em}
.article p,.article li{font-size:1.04rem;line-height:1.75;color:var(--ink)}
.article ul,.article ol{padding-left:1.3em;margin:0 0 1.2em}
.article li{margin-bottom:.5em}
.article .callout{background:#fff;border:1px solid rgba(167,154,194,.22);border-left:4px solid var(--violet);border-radius:0 14px 14px 0;
  padding:18px 22px;margin:1.6em 0;font-size:.98rem;color:var(--slate)}
.article .callout p{margin:0;font-size:.98rem}
.article .callout p+p{margin-top:.6em}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.84rem;color:var(--muted);margin-top:14px}
.article-meta span{display:inline-flex;align-items:center;gap:6px}
.next-step{max-width:760px;margin:3rem auto 0;background:linear-gradient(140deg,var(--violet),var(--navy) 70%);
  border-radius:24px;padding:40px 40px;color:#fff;box-shadow:var(--shadow)}
.next-step .eyebrow{color:var(--lilac);margin-bottom:.6rem}
.next-step h2{color:#fff;font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0 0 .4em}
.next-step p{color:#cdd4e4;margin:0 0 1em;font-size:1rem}
.next-step-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.next-step .btn--primary{background:#fff;color:var(--navy)}
.next-step .btn--primary:hover{background:var(--mist);color:var(--navy)}
.next-step .btn--ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.next-step .btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.related{max-width:760px;margin:2.6rem auto 0}
.related h2{font-size:1.15rem;letter-spacing:.02em;margin-bottom:.8em}
.related ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.related li a{display:block;padding:14px 18px;background:#fff;border:1px solid rgba(167,154,194,.22);border-radius:12px;
  color:var(--navy);font-family:var(--font-head);font-weight:500;font-size:.95rem;transition:border-color .2s,transform .2s var(--ease)}
.related li a:hover{border-color:var(--lavender);transform:translateX(3px);color:var(--violet)}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.res-card{background:#fff;border:1px solid rgba(167,154,194,.22);border-radius:var(--radius);padding:28px 26px;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;color:inherit;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.res-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);color:inherit}
.res-card .topic{font-family:var(--font-head);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--violet);font-weight:500;margin-bottom:10px}
.res-card h3{font-size:1.08rem;line-height:1.35;margin-bottom:.5em}
.res-card p{color:var(--muted);font-size:.93rem;margin:0;flex:1}
.res-card .more{margin-top:14px;font-family:var(--font-head);font-weight:500;font-size:.9rem;color:var(--violet)}
.res-topic{margin-top:44px}
.res-topic h2{font-size:1.35rem;margin-bottom:.2em}
.res-topic>p{color:var(--muted);margin-bottom:0}
@media(max-width:960px){.res-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.res-grid{grid-template-columns:1fr}.next-step{padding:30px 24px}}

/* ---------- Legal / utility pages ---------- */
.legal{max-width:760px;margin:0 auto}
.legal h2{font-size:1.35rem;margin-top:2em}
.legal p,.legal li{color:var(--slate);line-height:1.7}
.legal ul{padding-left:1.3em}
.legal .updated{font-size:.85rem;color:var(--muted)}
.notfound{text-align:center;max-width:640px;margin:0 auto;padding:60px 0 40px}
.notfound .code{font-family:var(--font-head);font-weight:300;font-size:clamp(4rem,12vw,7rem);line-height:1;color:var(--lavender)}
.notfound .links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}
