
:root{--ink:#22302a;--paper:#f6f1e7;--card:#fffdf7;--sage:#5f7263;--clay:#b4552d;--rule:#d8cfbc;--night:#2c3a33}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Georgia,'Iowan Old Style',serif}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.masthead{max-width:920px;margin:0 auto;padding:28px 20px 6px}
.brand{font-size:34px;font-weight:bold;color:var(--ink);text-decoration:none;letter-spacing:-.5px}
.brand .dot{color:var(--clay)}
.tagline{color:var(--sage);font-style:italic;margin:4px 0 12px;max-width:640px}
.journeynav{display:flex;flex-wrap:wrap;gap:6px 16px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:9px 0}
.journeynav a{color:var(--night);text-decoration:none;font-size:16px}
.journeynav a:hover{text-decoration:underline}
.notmedical,.crisis{max-width:920px;margin:14px auto 0;padding:13px 20px;font-size:15.5px}
.notmedical{background:#fdf6e3;border-left:5px solid var(--clay)}
.crisis{background:var(--night);color:#f2ede1;border-left:5px solid var(--clay)}
.crisis strong{color:#fff}
main{max-width:920px;margin:0 auto;padding:10px 20px 30px}
h1{font-size:32px;line-height:1.25;margin:22px 0 10px}
h2{font-size:23px;margin:26px 0 8px;color:var(--night)}
.lede{font-size:20px}
ul.plain,ol.plain,ol.ladder{padding-left:22px}
ul.plain li,ol li{margin:8px 0}
.journey{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:18px 0}
.journey article{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--sage);padding:14px 16px}
.journey h2{margin-top:2px;font-size:20px}
.src{font-size:14.5px;color:#5a665e;border-top:1px solid var(--rule);padding-top:8px}
.privacy-note{background:#eef2ea;border:1px solid var(--sage);padding:12px 16px}
fieldset.q{border:1px solid var(--rule);background:var(--card);margin:12px 0;padding:12px 16px}
fieldset.q legend{font-weight:bold;padding:0 6px}
.opt{display:inline-block;margin:4px 14px 4px 0;font-size:16px}
button{background:var(--clay);color:#fff;font:inherit;font-size:17px;padding:10px 22px;border:none;cursor:pointer;border-radius:3px}
form.waitlist{background:var(--card);border:1px solid var(--rule);padding:16px;max-width:520px;margin:14px 0}
form.waitlist label{display:block;margin:10px 0;font-weight:bold}
form.waitlist input{width:100%;padding:9px;font:inherit;border:1px solid var(--ink);margin-top:4px}
.fineprint{font-size:13.5px;color:#5a665e}
.wl-status{font-weight:bold;color:var(--sage)}
#reflection-result{background:#eef2ea;border:1px solid var(--sage);padding:14px 18px;margin:16px 0}
footer{max-width:920px;margin:0 auto;padding:16px 20px 34px;border-top:3px double var(--rule);font-size:15px}
footer .op{font-size:13.5px;color:#5a665e}
a{color:var(--clay)}
a:focus,button:focus,input:focus{outline:3px solid var(--clay);outline-offset:2px}
@media (max-width:640px){h1{font-size:27px}.brand{font-size:28px}}
