:root{
  --forest:#1e3a28;--moss:#2e5c3e;--sage:#4a7c5a;--mist:#e6f0e8;
  --cream:#f8f5ef;--warm:#fdfcfa;--ink:#18241a;
  --amber:#c07820;--amber-lt:#f5e8d0;--red:#a83228;--red-lt:#f5e6e4;
  --blue:#1e4a72;--blue-lt:#deeaf4;--gold:#9a7c18;--gold-lt:#f2ecce;
  --border:#d0dbd2;--nav:64px;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.6;min-height:100vh;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:999;height:var(--nav);background:var(--forest);display:flex;align-items:center;box-shadow:0 2px 24px rgba(0,0,0,.3);}
.nav-inner{width:100%;max-width:1200px;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:6px;}
.nav-brand{font-family:var(--serif);font-size:1.45rem;color:#c8e0b0;cursor:pointer;flex-shrink:0;letter-spacing:.02em;}
.nav-brand small{display:block;font-family:var(--sans);font-size:.65rem;font-weight:400;color:rgba(255,255,255,.4);letter-spacing:.06em;line-height:1;}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto;}
.nb{padding:8px 13px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;background:none;border:none;color:rgba(255,255,255,.7);font-family:var(--sans);transition:.15s;white-space:nowrap;}
.nb:hover,.nb.on{background:rgba(255,255,255,.12);color:#fff;}
.nb.cta{background:var(--amber);color:#fff;font-weight:600;margin-left:6px;}
.nb.cta:hover{background:#a06010;}
.crisis-btn{background:var(--red);color:#fff;font-weight:700;font-size:.75rem;padding:6px 13px;border-radius:5px;border:none;cursor:pointer;font-family:var(--sans);white-space:nowrap;margin-left:4px;}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;margin-left:auto;border:none;background:none;}
.ham span{display:block;width:22px;height:2px;background:rgba(255,255,255,.8);border-radius:2px;}
.mob-menu{display:none;position:fixed;top:var(--nav);left:0;right:0;background:var(--forest);z-index:998;padding:12px;flex-direction:column;gap:4px;box-shadow:0 8px 32px rgba(0,0,0,.3);}
.mob-menu.open{display:flex;}
.mob-menu .nb{text-align:left;padding:11px 16px;font-size:.88rem;}

/* PAGE SYSTEM */
.page{display:none;min-height:calc(100vh - var(--nav));padding-top:var(--nav);}
.page.on{display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
.wrap-md{max-width:860px;margin:0 auto;padding:0 28px;}
.wrap-sm{max-width:700px;margin:0 auto;padding:0 28px;}

/* HOME */
.hero{background:linear-gradient(135deg,var(--forest) 0%,#0e2218 100%);padding:80px 28px 72px;position:relative;overflow:hidden;}
.hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.018'%3E%3Cpath d='M0 0h40v40H0V0zm40 40h40v40H40V40z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none;}
.hero-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:64px;align-items:center;position:relative;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(168,212,138,.15);border:1px solid rgba(168,212,138,.3);border-radius:20px;padding:6px 16px;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#a8d48a;margin-bottom:20px;}
.hero h1{font-family:var(--serif);font-size:3rem;color:#fff;line-height:1.15;margin-bottom:18px;}
.hero h1 em{font-style:italic;color:#a8d48a;}
.hero-sub{font-size:1.02rem;color:rgba(255,255,255,.68);line-height:1.78;margin-bottom:30px;max-width:500px;}
.hero-stats{display:flex;gap:16px;margin-bottom:34px;flex-wrap:wrap;}
.stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:14px 18px;text-align:center;min-width:110px;}
.stat .n{font-family:var(--serif);font-size:1.9rem;color:var(--amber);font-weight:700;display:block;line-height:1;}
.stat .l{font-size:.7rem;color:rgba(255,255,255,.5);letter-spacing:.04em;margin-top:4px;line-height:1.4;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-hero{padding:13px 28px;border-radius:8px;font-size:.93rem;font-weight:600;cursor:pointer;border:none;font-family:var(--sans);transition:.2s;letter-spacing:.01em;}
.btn-hero-p{background:var(--amber);color:#fff;}
.btn-hero-p:hover{background:#a06010;transform:translateY(-1px);box-shadow:0 6px 20px rgba(192,120,32,.4);}
.btn-hero-o{background:transparent;border:1.5px solid rgba(255,255,255,.35);color:#fff;}
.btn-hero-o:hover{border-color:rgba(255,255,255,.92);background:rgba(255,255,255,.06);}
.hero-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:28px;backdrop-filter:blur(8px);}
.hero-card h3{font-family:var(--serif);color:#fff;font-size:1.05rem;margin-bottom:14px;}
.check-list{list-style:none;}
.check-list li{color:rgba(255,255,255,.75);font-size:.88rem;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);display:flex;gap:10px;line-height:1.45;}
.check-list li:last-child{border:none;}
.check-list li::before{content:'✓';color:#a8d48a;font-weight:700;flex-shrink:0;}

.crit-strip{background:var(--red);padding:12px 28px;}
.crit-strip-in{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.crit-strip p{color:#fff;font-size:.88rem;}
.crit-strip a{color:#fff;font-weight:700;background:rgba(255,255,255,.2);padding:4px 12px;border-radius:4px;margin-left:6px;transition:.15s;}
.crit-strip a:hover{background:rgba(255,255,255,.35);}

.why{padding:76px 28px;}
.sec-label{font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:8px;}
.sec-h{font-family:var(--serif);font-size:2rem;color:var(--forest);margin-bottom:14px;}
.sec-sub{color:#5a6a5c;font-size:.97rem;line-height:1.75;max-width:580px;margin-bottom:48px;}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.feat{background:var(--warm);border:1px solid var(--border);border-radius:12px;padding:26px;border-top:3px solid var(--sage);transition:.2s;}
.feat:hover{box-shadow:0 4px 20px rgba(30,58,40,.08);transform:translateY(-2px);}
.feat .ico{font-size:1.8rem;margin-bottom:12px;}
.feat h3{font-family:var(--serif);font-size:1.05rem;color:var(--forest);margin-bottom:8px;}
.feat p{font-size:.87rem;color:#5a6a5c;line-height:1.7;}
.share-sec{background:var(--forest);padding:64px 28px;text-align:center;}
.share-sec h2{font-family:var(--serif);font-size:1.9rem;color:#fff;margin-bottom:10px;}
.share-sec p{color:rgba(255,255,255,.65);font-size:.97rem;max-width:540px;margin:0 auto 30px;line-height:1.75;}
.share-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.sh-btn{padding:11px 22px;border-radius:7px;font-size:.86rem;font-weight:600;cursor:pointer;border:none;font-family:var(--sans);transition:.2s;}
#copy-ok{color:#a8d48a;font-size:.85rem;margin-top:12px;display:none;}
.cta-strip{background:var(--warm);padding:60px 28px;text-align:center;border-top:1px solid var(--border);}
.cta-strip h2{font-family:var(--serif);font-size:1.8rem;color:var(--forest);margin-bottom:10px;}
.cta-strip p{color:#5a6a5c;font-size:.97rem;margin-bottom:26px;}

/* SURVEY */
.surv-prog{background:var(--forest);padding:10px 28px 8px;}
.surv-prog-in{max-width:820px;margin:0 auto;}
.prog-meta{display:flex;justify-content:space-between;font-size:.7rem;color:rgba(255,255,255,.45);font-weight:600;letter-spacing:.08em;margin-bottom:5px;}
.prog-track{height:3px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden;}
.prog-fill{height:100%;background:#a8d48a;border-radius:2px;transition:width .5s ease;width:0%;}
.surv-wrap{max-width:820px;margin:0 auto;padding:36px 28px 80px;}
.s-sec{display:none;animation:fadeUp .3s ease;}
.s-sec.on{display:block;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.s-eye{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:3px;}
.s-ttl{font-family:var(--serif);font-size:1.42rem;color:var(--forest);margin-bottom:5px;}
.s-dsc{font-size:.92rem;color:#5a6a5c;margin-bottom:26px;line-height:1.65;}
.welcome-card{background:var(--warm);border:1px solid var(--border);border-radius:12px;padding:30px 34px;margin-bottom:22px;border-top:4px solid var(--moss);}
.welcome-card h1{font-family:var(--serif);font-size:1.78rem;color:var(--forest);margin-bottom:12px;line-height:1.28;}
.welcome-card p{font-size:.95rem;color:#3a4a3c;margin-bottom:10px;line-height:1.75;}
.anon-badge{display:inline-flex;align-items:center;gap:8px;background:var(--blue-lt);border:1px solid #b4cde0;border-radius:6px;padding:7px 14px;font-size:.82rem;color:var(--blue);font-weight:600;margin:14px 0;}
.norm-note{background:var(--gold-lt);border-left:3px solid var(--gold);border-radius:0 7px 7px 0;padding:12px 15px;font-size:.86rem;color:#4a3a10;margin-top:12px;line-height:1.6;}
.co{border-radius:8px;padding:13px 17px;margin-bottom:16px;font-size:.87rem;line-height:1.65;}
.co-amber{background:var(--amber-lt);border-left:3px solid var(--amber);color:#4a3010;}
.co-forest{background:var(--mist);border-left:3px solid var(--sage);color:#2a3a2c;}
.co-blue{background:var(--blue-lt);border-left:3px solid var(--blue);color:#1a3050;}
.co-red{background:var(--red-lt);border-left:3px solid var(--red);color:#4a1010;}
.co strong{font-weight:600;}
.qc{background:var(--warm);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:15px;transition:.2s;}
.qc:focus-within{border-color:var(--moss);box-shadow:0 0 0 3px rgba(46,92,62,.07);}
.ql{font-size:.95rem;font-weight:600;color:var(--ink);margin-bottom:5px;line-height:1.5;}
.qs{font-size:.82rem;color:#6a7a6c;margin-bottom:12px;font-style:italic;line-height:1.5;}
.qn{font-size:.8rem;color:var(--sage);background:var(--mist);border-radius:5px;padding:7px 11px;margin-bottom:11px;line-height:1.55;}
.opts{display:flex;flex-direction:column;gap:7px;}
.opt{display:flex;align-items:flex-start;gap:11px;padding:11px 15px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:.15s;background:var(--warm);font-size:.9rem;color:#3a4a3c;line-height:1.45;user-select:none;}
.opt:hover{border-color:var(--sage);background:var(--mist);}
.opt.on{border-color:var(--moss);background:var(--mist);color:var(--ink);}
.opt-m{width:18px;height:18px;min-width:18px;border:2px solid #c0cdc1;border-radius:50%;margin-top:1px;transition:.15s;display:flex;align-items:center;justify-content:center;background:#fff;flex-shrink:0;}
.opt.on .opt-m{background:var(--moss);border-color:var(--moss);}
.opt-dot{width:6px;height:6px;border-radius:50%;background:#fff;opacity:0;transition:.15s;}
.opt.on .opt-dot{opacity:1;}
.opt-txt .sub{font-size:.78rem;color:#8a9a8c;margin-top:1px;}
.pill-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.pill{display:flex;align-items:center;gap:7px;padding:9px 15px;border:1.5px solid var(--border);border-radius:22px;cursor:pointer;font-size:.85rem;color:#4a5a4c;transition:.15s;background:var(--warm);user-select:none;line-height:1.3;}
.pill:hover{border-color:var(--sage);background:var(--mist);}
.pill.on{border-color:var(--moss);background:var(--mist);color:var(--ink);font-weight:500;}
.chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.chip{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;font-size:.86rem;color:#4a5a4c;transition:.15s;background:var(--warm);user-select:none;line-height:1.35;}
.chip:hover{border-color:#b09050;background:#faf4e8;}
.chip.on{border-color:var(--amber);background:var(--amber-lt);color:#3a2a10;font-weight:500;}
.chip.chip-none:hover{border-color:var(--sage);background:var(--mist);}
.chip.chip-none.on{border-color:var(--moss);background:var(--mist);color:var(--ink);}
.chip-box{width:16px;height:16px;min-width:16px;border:2px solid #c0cdc1;border-radius:3px;background:#fff;display:flex;align-items:center;justify-content:center;transition:.15s;margin-top:1px;}
.chip.on .chip-box{background:var(--moss);border-color:var(--moss);}
.chip-ck{font-size:.65rem;color:#fff;display:none;}
.chip.on .chip-ck{display:block;}
.sl-wrap{margin-top:8px;}
.sl-ends{display:flex;justify-content:space-between;font-size:.76rem;color:#8a9a8c;margin-bottom:5px;}
input[type=range]{width:100%;accent-color:var(--moss);cursor:pointer;height:6px;}
.sl-val{text-align:center;font-family:var(--serif);font-size:1.45rem;font-weight:700;color:var(--forest);margin-top:7px;}
.sl-desc{text-align:center;font-size:.8rem;color:var(--sage);margin-top:2px;}
.lik-row{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap;}
.lik-btn{flex:1;min-width:32px;padding:9px 2px;border:1.5px solid var(--border);border-radius:6px;background:var(--warm);cursor:pointer;font-size:.83rem;font-weight:600;color:#8a9a8c;transition:.15s;text-align:center;font-family:var(--sans);}
.lik-btn:hover{border-color:var(--sage);background:var(--mist);}
.lik-btn.on{border-color:var(--moss);background:var(--moss);color:#fff;}
.lik-ends{display:flex;justify-content:space-between;font-size:.72rem;color:#9a9a9a;margin-top:5px;}
.btn-row{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;}
.btn{padding:12px 26px;border-radius:8px;font-family:var(--sans);font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:.2s;}
.btn-p{background:var(--moss);color:#fff;}
.btn-p:hover{background:var(--forest);transform:translateY(-1px);box-shadow:0 4px 14px rgba(30,58,40,.28);}
.btn-bk{background:transparent;border:1.5px solid var(--border);color:#6a7a6c;}
.btn-bk:hover{border-color:var(--sage);color:var(--ink);}
.btn-out{padding:10px 22px;border-radius:7px;font-family:var(--sans);font-size:.86rem;font-weight:600;cursor:pointer;border:1.5px solid var(--moss);color:var(--moss);background:transparent;transition:.2s;}
.btn-out:hover{background:var(--mist);}

/* RESULTS */
.score-panel{background:var(--forest);border-radius:14px;padding:36px;text-align:center;margin-bottom:14px;position:relative;overflow:hidden;}
.score-panel::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.03);}
.score-eye{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:600;margin-bottom:5px;}
.score-num{font-family:var(--serif);font-size:5rem;line-height:1;color:#fff;margin-bottom:7px;}
.tier-badge{display:inline-block;padding:5px 17px;border-radius:20px;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;}
.t-low{background:rgba(168,212,138,.22);color:#a8d48a;border:1px solid rgba(168,212,138,.32);}
.t-mod{background:rgba(192,120,32,.22);color:#e8a840;border:1px solid rgba(192,120,32,.32);}
.t-high{background:rgba(200,100,30,.22);color:#f09040;border:1px solid rgba(200,100,30,.32);}
.t-crit{background:rgba(168,50,40,.22);color:#ff9090;border:1px solid rgba(168,50,40,.32);}
.score-ctx{color:rgba(255,255,255,.6);font-size:.89rem;max-width:460px;margin:0 auto;line-height:1.65;}
.gauge-track{height:8px;border-radius:4px;background:rgba(255,255,255,.1);margin:16px auto 4px;max-width:360px;overflow:hidden;}
.gauge-fill{height:100%;border-radius:4px;transition:width 1.2s ease;width:0%;background:linear-gradient(90deg,#a8d48a,#e8c050,#f08040,#e04040);}
.gauge-ends{display:flex;justify-content:space-between;max-width:360px;margin:0 auto;font-size:.67rem;color:rgba(255,255,255,.28);}
.score-sub-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;}
.score-sub-card{background:var(--warm);border:1px solid var(--border);border-radius:10px;padding:14px 18px;text-align:center;}
.sc-lbl{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:4px;}
.sc-val{font-family:var(--serif);font-size:1.6rem;color:var(--forest);font-weight:700;line-height:1;}
.sc-max{font-size:.75rem;color:#9a9a9a;}
.mult-bar-wrap{margin-top:7px;}
.mult-bar-track{height:6px;background:#e8ede8;border-radius:3px;overflow:hidden;}
.mult-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#4a9d5a,#c07820,#a83228);transition:width 1s ease;}
.mult-label{font-size:.73rem;color:#7a8a7c;margin-top:3px;}
.dom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;}
.dom-card{background:var(--warm);border:1px solid var(--border);border-radius:9px;padding:15px 17px;}
.dom-lbl{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:6px;}
.dom-track{height:6px;background:#e8ede8;border-radius:3px;overflow:hidden;margin-bottom:4px;}
.dom-bar{height:100%;border-radius:3px;transition:width 1s ease;}
.dom-score{font-size:.82rem;font-weight:600;color:var(--ink);}
.mi-box{background:var(--mist);border-left:3px solid var(--sage);border-radius:0 7px 7px 0;padding:14px 17px;margin-bottom:22px;font-size:.89rem;color:#2a3a2c;line-height:1.75;}
.lik-result{background:var(--gold-lt);border:1px solid #ceb050;border-radius:9px;padding:17px 21px;margin-bottom:20px;}
.lik-result h3{font-family:var(--serif);color:#5a3a0a;font-size:.98rem;margin-bottom:6px;}
.trusted-box{background:var(--gold-lt);border:1px solid #ceb050;border-radius:9px;padding:18px 22px;margin-bottom:22px;}
.trusted-box h3{font-family:var(--serif);color:#5a3a0a;font-size:.98rem;margin-bottom:7px;}
.trusted-box p{font-size:.87rem;color:#5a4a20;line-height:1.7;margin-bottom:8px;}
.trusted-inp{width:100%;padding:9px 12px;border:1.5px solid #c8a030;border-radius:6px;font-family:var(--sans);font-size:.9rem;color:var(--ink);background:#fff;margin-top:6px;}
.rec-h2{font-family:var(--serif);font-size:1.22rem;color:var(--forest);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.rec-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:26px;}
.rec-card{background:var(--warm);border:1px solid var(--border);border-radius:10px;padding:17px 21px;border-left:4px solid var(--sage);}
.rc-urgent{border-left-color:var(--red);}
.rc-high{border-left-color:var(--amber);}
.rc-moderate{border-left-color:var(--blue);}
.rc-low{border-left-color:var(--sage);}
.rec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px;}
.rec-title{font-weight:600;font-size:.92rem;color:var(--ink);}
.rb{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:3px;white-space:nowrap;margin-top:2px;}
.rb-urgent{background:#f5e4e2;color:var(--red);}
.rb-high{background:var(--amber-lt);color:#7a4010;}
.rb-moderate{background:var(--blue-lt);color:var(--blue);}
.rb-low{background:var(--mist);color:var(--sage);}
.rec-body{font-size:.86rem;color:#4a5a4c;line-height:1.7;}
.rec-body a{color:var(--moss);font-weight:600;text-decoration:underline;}
.rec-body a:hover{color:var(--forest);}
.mi-q{font-style:italic;color:var(--forest);margin-top:7px;padding-left:11px;border-left:2px solid var(--sage);}
.score-impact{font-size:.82rem;background:var(--mist);border-radius:5px;padding:8px 12px;margin-top:10px;color:var(--forest);border-left:3px solid var(--moss);}
.score-impact strong{color:var(--moss);}
.potential-box{background:linear-gradient(135deg,var(--forest),#0e2218);border-radius:12px;padding:22px 26px;margin:26px 0;color:#fff;}
.potential-box h3{font-family:var(--serif);font-size:1.08rem;color:#a8d48a;margin-bottom:8px;}
.potential-box p{font-size:.9rem;color:rgba(255,255,255,.75);line-height:1.7;}
.potential-box .proj{font-family:var(--serif);font-size:2rem;color:#a8d48a;font-weight:700;}
.res-cat{margin-bottom:18px;}
.res-cat h3{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:8px;}
.res-list{display:flex;flex-direction:column;gap:7px;}
.res-item{display:flex;justify-content:space-between;align-items:center;background:var(--warm);border:1px solid var(--border);border-radius:7px;padding:10px 14px;gap:10px;}
.r-name{font-size:.87rem;font-weight:600;color:var(--ink);}
.r-desc{font-size:.76rem;color:#7a8a7c;margin-top:1px;}
.r-contact{font-size:.86rem;font-weight:700;color:var(--moss);white-space:nowrap;}
.r-contact a{color:var(--moss);}
.r-contact a:hover{text-decoration:underline;}
.disclaimer{background:var(--mist);border:1px solid var(--border);border-radius:7px;padding:13px 17px;font-size:.77rem;color:#6a7a6c;line-height:1.65;margin-top:26px;}
.attribution{font-size:.69rem;color:#a0a8a2;text-align:right;margin-top:7px;font-style:italic;}
.act-row{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}

/* PAGE HERO */
.pg-hero{background:linear-gradient(135deg,var(--forest),#0e2218);padding:64px 28px 52px;}
.pg-hero .eye{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(168,212,138,.8);margin-bottom:10px;}
.pg-hero h1{font-family:var(--serif);font-size:2.4rem;color:#fff;margin-bottom:10px;}
.pg-hero p{color:rgba(255,255,255,.65);font-size:1rem;max-width:580px;line-height:1.75;}

/* RESOURCES PAGE */
.res-page{padding:60px 28px;}
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px;}
.res-block{background:var(--warm);border:1px solid var(--border);border-radius:12px;padding:26px;border-top:3px solid var(--moss);}
.res-block h2{font-family:var(--serif);font-size:1.12rem;color:var(--forest);margin-bottom:14px;}
.rr{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border);gap:12px;}
.rr:last-child{border:none;}
.rr-name{font-size:.88rem;font-weight:600;color:var(--ink);}
.rr-desc{font-size:.78rem;color:#7a8a7c;margin-top:2px;line-height:1.45;}
.rr-link{font-size:.86rem;font-weight:700;color:var(--moss);white-space:nowrap;transition:.15s;}
.rr-link:hover{color:var(--forest);text-decoration:underline;}

/* THEORY */
.theory-body{padding:60px 28px;}
.th-sec{margin-bottom:50px;}
.th-sec h2{font-family:var(--serif);font-size:1.65rem;color:var(--forest);margin-bottom:14px;padding-bottom:9px;border-bottom:2px solid var(--amber);}
.th-sec h3{font-family:var(--serif);font-size:1.08rem;color:var(--moss);margin-bottom:8px;margin-top:22px;}
.th-sec p{font-size:.95rem;color:#3a4a3c;line-height:1.8;margin-bottom:12px;}
.th-sec ul{margin-left:22px;margin-bottom:12px;}
.th-sec ul li{font-size:.93rem;color:#3a4a3c;line-height:1.72;margin-bottom:6px;}
.cite{font-size:.78rem;color:#8a9a8c;font-style:italic;}
.wt-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:.87rem;}
.wt-table th{background:var(--forest);color:#fff;padding:9px 13px;text-align:left;font-weight:600;font-size:.8rem;}
.wt-table td{padding:9px 13px;border-bottom:1px solid var(--border);color:var(--ink);}
.wt-table tr:nth-child(even) td{background:var(--mist);}

/* ABOUT */
.about-body{padding:60px 28px;}
.about-grid{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start;max-width:940px;margin:0 auto;}
.about-card{background:var(--warm);border:1px solid var(--border);border-radius:12px;padding:26px;text-align:center;position:sticky;top:80px;}
.about-av{width:96px;height:96px;border-radius:50%;background:var(--forest);margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#fff;font-family:var(--serif);}
.about-name{font-family:var(--serif);font-size:1.1rem;color:var(--forest);margin-bottom:4px;}
.about-ttl{font-size:.8rem;color:var(--sage);line-height:1.55;margin-bottom:10px;}
.about-aff{font-size:.76rem;color:#7a8a7c;font-style:italic;border-top:1px solid var(--border);padding-top:10px;line-height:1.55;}
.about-content h2{font-family:var(--serif);font-size:1.55rem;color:var(--forest);margin-bottom:12px;}
.about-content h3{font-family:var(--serif);font-size:1.08rem;color:var(--moss);margin-bottom:7px;margin-top:26px;}
.about-content p{font-size:.95rem;color:#3a4a3c;line-height:1.8;margin-bottom:12px;}
.contact-box{background:var(--mist);border-radius:8px;padding:16px 20px;margin-top:8px;font-size:.88rem;color:#3a4a3c;line-height:1.7;}

/* STAFF */
.login-wrap{max-width:400px;margin:72px auto;padding:0 28px;}
.login-card{background:var(--warm);border:1px solid var(--border);border-radius:12px;padding:34px;border-top:4px solid var(--forest);}
.login-card h2{font-family:var(--serif);color:var(--forest);font-size:1.35rem;margin-bottom:5px;}
.login-card p{font-size:.86rem;color:#6a7a6c;margin-bottom:22px;line-height:1.6;}
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:5px;}
.fg input{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:7px;font-family:var(--sans);font-size:.92rem;color:var(--ink);background:#fff;transition:.15s;}
.fg input:focus{outline:none;border-color:var(--moss);}
.login-err{background:var(--red-lt);color:var(--red);border:1px solid #e0b0a8;border-radius:6px;padding:9px 13px;font-size:.84rem;margin-bottom:12px;display:none;}
.btn-login{width:100%;padding:12px;background:var(--moss);color:#fff;border:none;border-radius:8px;font-size:.92rem;font-weight:600;cursor:pointer;font-family:var(--sans);transition:.2s;}
.btn-login:hover{background:var(--forest);}
#dashboard{display:none;padding:36px 28px 80px;max-width:1160px;margin:0 auto;}
.dash-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:14px;}
.dash-hdr h1{font-family:var(--serif);font-size:1.75rem;color:var(--forest);}
.dash-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.btn-dl{padding:10px 20px;background:var(--forest);color:#fff;border:none;border-radius:7px;font-size:.86rem;font-weight:600;cursor:pointer;font-family:var(--sans);transition:.2s;}
.btn-dl:hover{background:var(--moss);}
.btn-logout{padding:8px 16px;border:1.5px solid var(--border);background:transparent;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;color:#6a7a6c;font-family:var(--sans);transition:.15s;}
.btn-logout:hover{border-color:var(--red);color:var(--red);}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;}
.kpi{background:var(--warm);border:1px solid var(--border);border-radius:10px;padding:18px;text-align:center;border-top:3px solid var(--moss);}
.kpi .kn{font-family:var(--serif);font-size:2.1rem;color:var(--forest);font-weight:700;display:block;line-height:1;}
.kpi .kl{font-size:.72rem;color:var(--sage);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;}
.ch-card{background:var(--warm);border:1px solid var(--border);border-radius:10px;padding:20px;}
.ch-card h3{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:14px;}
.bar-chart{display:flex;flex-direction:column;gap:7px;}
.bar-row{display:flex;align-items:center;gap:9px;font-size:.8rem;}
.bar-lbl{width:110px;color:var(--ink);text-align:right;flex-shrink:0;font-size:.78rem;}
.bar-track-d{flex:1;background:#e8ede8;border-radius:3px;height:20px;overflow:hidden;}
.bar-fill-d{height:100%;border-radius:3px;display:flex;align-items:center;padding-left:7px;color:#fff;font-size:.73rem;font-weight:600;transition:width 1s ease;min-width:24px;width:0%;}
.bf-low{background:#4a9d5a;}.bf-mod{background:#c07820;}.bf-high{background:#d05820;}.bf-crit{background:var(--red);}.bf-def{background:var(--moss);}
.tbl-wrap{overflow-x:auto;}
.data-tbl{width:100%;border-collapse:collapse;font-size:.79rem;}
.data-tbl th{background:var(--forest);color:#fff;padding:8px 11px;text-align:left;font-weight:600;font-size:.74rem;white-space:nowrap;}
.data-tbl td{padding:7px 11px;border-bottom:1px solid var(--border);color:var(--ink);white-space:nowrap;}
.data-tbl tr:nth-child(even) td{background:var(--mist);}
.no-data{text-align:center;padding:48px;color:#8a9a8c;}
.no-data .big{font-size:2.4rem;display:block;margin-bottom:10px;}
.server-status{font-size:.75rem;padding:6px 12px;border-radius:4px;display:inline-block;margin-bottom:14px;}
.ss-live{background:#e6f0e8;color:var(--moss);border:1px solid var(--border);}
.ss-local{background:var(--amber-lt);color:#7a4010;border:1px solid #d0a060;}

/* FOOTER */
footer{background:var(--ink);padding:48px 28px 28px;}
.foot-in{max-width:1160px;margin:0 auto;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:44px;margin-bottom:32px;}
footer h4{font-family:var(--serif);color:#fff;font-size:.98rem;margin-bottom:12px;}
footer p,footer li{font-size:.82rem;color:rgba(255,255,255,.45);line-height:1.7;}
footer ul{list-style:none;}
footer a{color:rgba(255,255,255,.45);transition:.15s;}
footer a:hover{color:rgba(255,255,255,.8);}
footer li{margin-bottom:5px;}
.foot-bot{border-top:1px solid rgba(255,255,255,.08);padding-top:18px;font-size:.73rem;color:rgba(255,255,255,.25);display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;}

@media(max-width:960px){
.hero-inner,.about-grid,.res-grid,.feat-grid,.chart-grid,.kpi-grid,.foot-grid,.score-sub-row,.dom-grid{grid-template-columns:1fr;}
.hero-card{display:none;}
.nav-links{display:none;}
.ham{display:flex;}
}
@media(max-width:600px){
.hero h1{font-size:2rem;}.pg-hero h1{font-size:1.75rem;}.kpi-grid{grid-template-columns:1fr 1fr;}
}
@media print{
#nav,.ham,.mob-menu,.crit-strip,.share-sec,footer,.btn-row,.act-row,.surv-prog{display:none!important;}
}

/* ─── Accessibility & motion preferences ─── */
*:focus-visible{outline:2px solid var(--moss);outline-offset:2px;border-radius:4px;}
.btn:focus-visible,.btn-hero:focus-visible,.nb:focus-visible,
.crisis-btn:focus-visible,.sh-btn:focus-visible{outline-color:var(--amber);}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;
  padding:10px 16px;background:var(--forest);color:#fff;z-index:1000;
  border-radius:6px;font-weight:600;font-size:.85rem;}

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

.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;}

/* ─── Main element baseline (replaces .page wrapper) ─── */
main{display:block;min-height:calc(100vh - var(--nav));padding-top:var(--nav);}
/* Development & Theory gate */
.gate{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;}
.gate-card{background:var(--warm);border:1px solid var(--border);border-radius:14px;max-width:520px;width:100%;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.gate-card h2{font-family:var(--serif);font-size:1.35rem;margin-bottom:8px;color:var(--ink);}
.gate-card p{color:#44524a;font-size:.95rem;line-height:1.5;margin-bottom:14px;}
.gate-row{display:flex;gap:10px;align-items:center;margin-top:10px;}
.gate-row input{flex:1;padding:12px 12px;border:1px solid var(--border);border-radius:10px;font-family:var(--sans);font-size:1rem;}
.gate-row button{padding:12px 14px;border-radius:10px;border:none;background:var(--forest);color:#fff;font-weight:700;cursor:pointer;}
.gate-err{display:none;margin-top:10px;color:#b42318;background:#fde7e7;border:1px solid #f5c1c1;border-radius:10px;padding:10px;font-size:.92rem;}


/* ─── Safety Plan (shown on results when suicidal ideation is endorsed) ─── */
.safety-plan{background:var(--warm);border:1px solid var(--border);border-left:5px solid var(--moss);border-radius:14px;padding:24px 26px;margin:18px 0 22px;box-shadow:0 6px 22px rgba(30,58,40,.09);}
.safety-plan h2{font-family:var(--serif);font-size:1.4rem;color:var(--forest);margin-bottom:8px;line-height:1.25;}
.safety-plan .sp-intro{font-size:.92rem;color:#3a4a3c;line-height:1.7;margin-bottom:14px;}
.safety-plan .sp-crisis{background:var(--mist);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:16px;font-size:.9rem;color:#2a3a2c;}
.safety-plan .sp-crisis strong{color:var(--forest);}
.safety-plan .sp-pro{margin-top:7px;font-size:.9rem;line-height:1.5;}
.safety-plan .sp-pro a{color:var(--moss);font-weight:600;text-decoration:none;}
.safety-plan .sp-pro a:hover{text-decoration:underline;}
.sp-step{margin:14px 0;padding-top:12px;border-top:1px dashed var(--border);}
.sp-step:first-of-type{border-top:none;}
.sp-step .sp-h{font-weight:600;color:var(--forest);font-size:.98rem;display:flex;align-items:center;gap:9px;line-height:1.4;}
.sp-num{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--moss);color:#fff;font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;}
.sp-step .sp-sub{font-size:.84rem;color:#5a6a5c;line-height:1.55;margin:5px 0 8px 33px;}
.sp-step textarea{width:100%;border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-family:var(--sans);font-size:.9rem;color:var(--ink);background:#fff;resize:vertical;line-height:1.5;}
.sp-step textarea:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px rgba(46,92,62,.1);}
.sp-means{background:var(--amber-lt);border:1px solid #e7d3ad;border-top:1px solid #e7d3ad;border-radius:10px;padding:14px 16px;}
.sp-means .sp-h{color:#5a3010;}
.sp-means .sp-num{background:var(--amber);}
.sp-means .sp-sub{color:#5a4322;margin-left:33px;}
.sp-means-list{margin:4px 0 10px 33px;}
.sp-means-list li{font-size:.88rem;color:#3a3322;line-height:1.6;margin-bottom:7px;}
.sp-means-list a{color:#9a5a10;font-weight:600;}
.sp-actions{margin-top:16px;}
.safety-plan .sp-foot{margin-top:12px;font-size:.8rem;color:#6a7a6c;line-height:1.6;}

/* ─── Score interpretation / limitations note on results ─── */
.score-note{background:var(--warm);border:1px solid var(--border);border-left:4px solid var(--sage);border-radius:10px;padding:18px 22px;margin-top:26px;}
.score-note h3{font-family:var(--serif);font-size:1.08rem;color:var(--forest);margin-bottom:9px;}
.score-note p{font-size:.87rem;color:#3a4a3c;line-height:1.72;margin-bottom:9px;}
.score-note p:last-child{margin-bottom:0;}

/* Print: keep the safety plan and its content clean on paper */
@media print{
  .crisis-btn,.ham,.mob-menu,.act-row,.sp-actions{display:none !important;}
  .safety-plan{box-shadow:none;border:1px solid #999;}
  .sp-step textarea{border:1px solid #999;}
}
