:root{--brand-main:#7d1828;--brand-dark:#610f1c;--canvas:#f7f4ec;--header:#faf8f2;--feature:#eae5d9;--soft:#f2ece2;--ink:#2b2320;--muted:#685d52;--line:#d3cfbf;--border:#e4dfd2}html[data-theme="blue"]{--brand-main:#1f4e8c;--brand-dark:#15243b;--canvas:#f4f7fb;--header:#fff;--feature:#e8eff9;--soft:#eef3fa;--ink:#172338;--muted:#3b5a85;--line:#c5d5ee;--border:#d9e1eb}@font-face{font-family:Inter;src:url('theme-font-3.ttf')}@font-face{font-family:Cormorant;src:url('theme-font-2.ttf')}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.6 Inter,Arial,sans-serif}header{min-height:100px;padding:24px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--brand-main);gap:20px;background:var(--header)}.brand{font-size:25px;letter-spacing:.03em;font-weight:bold;color:var(--brand-main);text-decoration:none}.brand span{display:block;font-size:9px;letter-spacing:.14em;color:var(--muted)}.pill{display:inline-block;font-size:10px;letter-spacing:.12em;padding:5px 10px;border:1px solid var(--line);border-radius:20px;color:var(--brand-main);white-space:nowrap}.demo{font-size:12px;text-align:center;background:var(--feature);padding:8px 16px;color:#51463d}nav{display:flex;gap:8px;max-width:1120px;margin:18px auto 0;padding:0 20px;overflow:auto}nav a{white-space:nowrap;text-decoration:none;color:var(--muted);padding:10px 15px;border-radius:8px}nav a[aria-current]{background:var(--brand-main);color:#fff}main{max-width:1120px;margin:0 auto;padding:24px 24px 60px}.hero{padding:36px 0 40px;max-width:820px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:bold;color:var(--brand-main);margin:0 0 12px}h1,h2{font-family:Cormorant,Georgia,serif;font-weight:600;line-height:1.1}h1{font-size:64px;letter-spacing:-.025em;color:var(--brand-dark);margin:0 0 20px}h2{font-size:33px;margin:10px 0 16px}p{margin:12px 0}.hero>p:not(.eyebrow){font-size:20px;color:var(--muted);max-width:670px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px;margin:0 0 24px;border-top:3px solid var(--line);min-width:0}.grid .panel{margin:0}.narrow{max-width:580px}.big{font-size:30px;color:var(--brand-main)}.big span{display:block;font-size:16px;color:var(--muted)}a{color:var(--brand-main);text-underline-offset:4px}.button,button{display:inline-flex;justify-content:space-between;gap:30px;background:var(--brand-main);color:#fff;border:0;border-radius:9px;padding:13px 20px;font:inherit;font-weight:bold;text-decoration:none;cursor:pointer;max-width:100%;align-items:center}.button:hover,button:hover{background:var(--brand-dark)}.feature{display:flex;align-items:center;gap:32px;background:var(--feature);padding:36px;border-radius:20px;margin-top:30px}.feature>div{flex:1}.small{font-size:13px;color:var(--muted)}label{display:block;font-weight:bold;margin:20px 0 8px}input:not([type=hidden]):not([type=checkbox]){display:block;width:100%;padding:13px;border:1px solid #cfc6b7;border-radius:8px;font:inherit;background:#fff;margin:6px 0}.check{display:flex;align-items:flex-start;gap:12px;line-height:1.5}.check input{margin-top:5px;width:20px;height:20px;flex-shrink:0;accent-color:var(--brand-main)}button{margin:15px 0 0}.secondary{background:var(--soft);color:var(--brand-main);border:1px solid var(--line)}.secondary:hover{color:white}.error{color:#8a2230;background:#fff1f0;padding:15px;border-radius:8px}.video{height:160px;background:var(--soft);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--brand-main);margin:0 0 20px}.video span{font-size:28px}.video p{font-size:12px;margin:4px}.empty{padding:35px 20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}footer{padding:30px 24px;border-top:1px solid var(--line);text-align:center;font-size:12px;color:var(--muted)}:focus-visible{outline:3px solid var(--brand-main);outline-offset:4px}form{margin:0}nav::-webkit-scrollbar{height:3px}@media(max-width:650px){header{padding:20px;min-height:86px}.brand{font-size:21px}.brand span{font-size:7px}.pill{font-size:9px}main{padding:12px 20px 40px}nav{padding:0 20px;gap:0}nav a{padding:10px 12px;font-size:14px}.hero{padding:30px 0}h1{font-size:44px}h2{font-size:30px}.hero>p:not(.eyebrow){font-size:18px}.grid{grid-template-columns:1fr;gap:18px}.panel{padding:22px;border-radius:16px}.feature{display:block;padding:25px}.feature .button{margin-top:10px}.demo{font-size:10px}.button,button{font-size:14px}.big{font-size:28px}}
@media(max-width:650px){nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible}nav a{text-align:center;padding:9px 4px;font-size:13px}header{flex-wrap:wrap;gap:10px}.brand span{font-size:7px}.feature .button{width:100%}}
select{display:block;width:100%;padding:13px;background:#fff;color:var(--ink);border:1px solid #cfc6b7;border-radius:8px;font:inherit;margin-top:6px}.secret{overflow-wrap:anywhere}article+article{border-top:1px solid var(--border);margin-top:25px;padding-top:20px}h3{font-size:20px}

.grid{margin-bottom:24px}

button:disabled{background:#eae5d9;color:#685d52;cursor:not-allowed;box-shadow:none}button:disabled:hover{background:#eae5d9;color:#685d52}

/* Released plan: preserve therapist line breaks, including on narrow screens. */
.plan-copy{white-space:pre-line;overflow-wrap:anywhere}.plan-details{margin:20px 0 0}.plan-details>div{border-top:1px solid var(--line);padding:12px 0}.plan-details dt{font-weight:700;color:var(--brand-main)}.plan-details dd{margin:5px 0 0;overflow-wrap:anywhere}

/* Keyboard access and long authored content, no external assets. */
.skip-link{position:absolute;top:8px;left:12px;z-index:10;padding:12px 18px;background:var(--header);border:2px solid var(--brand-main);border-radius:8px;transform:translateY(-180%)}.skip-link:focus{transform:none}h1,h2,h3,.brand,.button,button{overflow-wrap:anywhere}html{scroll-padding-top:20px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Comfortable mobile navigation, same six destinations. */
@media(max-width:650px){nav a{min-height:44px;display:flex;align-items:center;justify-content:center}}
