.page{min-height:100vh;display:flex;flex-direction:column}.page>main{flex:1;display:flex;align-items:center;padding:var(--s-8) 0}body.page{background:var(--paper-2)}body.page main{padding:var(--s-9) 0 var(--s-10)}.card{width:100%;max-width:480px;margin-inline:auto;padding:var(--s-7)}.card-h1{margin:0 0 var(--s-2);font-size:var(--t-2xl);font-weight:700;line-height:1.1;letter-spacing:-.025em}.card-sub{margin:0 0 var(--s-6);font-size:var(--t-base);color:var(--ink-soft);line-height:var(--lh-body)}.f-field{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-5)}.f-field label{font-size:var(--t-sm);font-weight:600;color:var(--ink)}.f-field .req{color:var(--danger);margin-left:2px}.f-field input,.f-field select,.f-field textarea{width:100%;min-height:48px;padding:var(--s-2) var(--s-4);font-family:var(--font-body);font-size:var(--t-base);color:var(--ink);background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-md);outline:none;transition:border-color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.f-field input::placeholder,.f-field textarea::placeholder{color:var(--ink-faint)}.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:var(--pine);box-shadow:0 0 0 4px color-mix(in oklab,var(--pine) 14%,transparent)}.f-field textarea{min-height:112px;padding:var(--s-3) var(--s-4);resize:vertical;line-height:var(--lh-body)}.f-field .hint{font-size:var(--t-xs);color:var(--ink-mute);line-height:1.5}.f-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 var(--s-5)}.f-pills{display:flex;flex-wrap:wrap;gap:var(--s-2)}.f-pill{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--s-4);border:1px solid var(--hair);border-radius:var(--r-pill);font-size:var(--t-sm);color:var(--ink-soft);background:var(--paper);cursor:pointer;user-select:none;transition:background-color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}.f-pill:hover{background:var(--paper-2);color:var(--ink)}.f-pill.on{background:var(--pine);border-color:var(--pine);color:#fff}.f-pill.on:before{content:"✓ ";white-space:pre}.f-pill.exclude.on{background:var(--danger);border-color:var(--danger)}.f-range{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}.f-range .v{font-size:var(--t-base);font-weight:600;color:var(--pine)}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;height:32px;padding:0;border:0}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--paper-3)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--lift-2);margin-top:-10px;cursor:pointer}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--paper-3)}input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--lift-2)}.f-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-6)}.f-actions .btn-solid{flex:1 1 auto}.f-actions .spacer{flex:1}.f-msg{margin-top:var(--s-4);font-size:var(--t-sm);line-height:var(--lh-body)}.f-msg:empty{display:none}.f-msg.err{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--danger-wash);color:var(--danger)}.f-msg.ok{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--pine-wash);color:var(--ok)}.f-alt{margin:var(--s-5) 0 0;font-size:var(--t-sm);color:var(--ink-mute);text-align:center}.f-alt a{color:var(--pine);font-weight:600}.f-alt a:hover{text-decoration:underline;text-underline-offset:3px}.intake{max-width:800px}.session-notice{max-width:480px;margin-inline:auto}body[data-page=intake] .session-notice{max-width:800px}.steps{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-6);flex-wrap:wrap}.step-dot{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-sm);font-weight:500;color:var(--ink-mute)}.step-dot .n{width:28px;height:28px;border-radius:50%;border:1px solid var(--hair);display:grid;place-items:center;font-size:var(--t-xs);font-weight:600}.step-dot.on{color:var(--ink)}.step-dot.on .n{background:var(--pine);border-color:var(--pine);color:#fff}.step-dot.done .n{background:var(--pine-wash);border-color:var(--pine-wash);color:var(--pine)}.steps .bar{flex:1;height:2px;border-radius:1px;background:var(--hair-2);min-width:12px}.panel{display:none}.panel.on{display:block}.panel h2{margin:0 0 var(--s-2);font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em}.panel .panel-sub{margin:0 0 var(--s-6);font-size:var(--t-base);color:var(--ink-soft);line-height:var(--lh-body)}.done-mark{width:56px;height:56px;color:var(--pine);margin-bottom:var(--s-4)}.done h2{margin:0 0 var(--s-3);font-size:var(--t-2xl);font-weight:700;letter-spacing:-.025em}.done p{margin:0 0 var(--s-4);max-width:54ch;color:var(--ink-soft);line-height:var(--lh-body)}@media(max-width:720px){.card{padding:var(--s-6) var(--s-5)}.f-range{grid-template-columns:1fr}.steps .bar{display:none}body.page main{padding:var(--s-6) 0 var(--s-8)}}.terms-consent{margin:var(--s-6) 0 0;padding-top:var(--s-4);border-top:1px solid var(--hair-2);font-size:var(--t-xs);color:var(--ink-mute);line-height:1.6;max-width:68ch}.terms-consent a{color:var(--pine);text-decoration:underline;text-underline-offset:2px}
