:root{color-scheme:light;--ink:#11120f;--ink-soft:#252621;--paper:#f6f5f1;--paper-strong:#ebe8e1;--surface:#fff;--line:#ddd9d1;--line-strong:#b8b3a8;--muted:#64665e;--lime:#d2f65a;--lime-strong:#bde836;--danger:#9f2f20;--danger-soft:#fff0ed;--success:#126347;--focus:#7ca400;--space-1:.375rem;--space-2:.75rem;--space-3:1.125rem;--space-4:1.875rem;--space-5:3rem;--radius:12px;--body:"Segoe UI",Inter,system-ui,-apple-system,sans-serif;--display:"Avenir Next Condensed","Arial Narrow",var(--body)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:100%;line-height:1.55;scroll-behavior:smooth}
body{margin:0;min-width:20rem;min-height:100vh;background:var(--paper);overflow-wrap:anywhere}
button,input,select,textarea{font:inherit;color:inherit}
button,input,select,textarea,a,summary{touch-action:manipulation}
a{color:inherit}
.skip-link{position:fixed;z-index:20;inset-block-start:.75rem;inset-inline-start:.75rem;padding:.75rem 1rem;background:var(--lime);color:var(--ink);border:2px solid var(--ink);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.public-masthead{min-height:7.75rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:1.25rem clamp(1rem,4vw,4rem);background:var(--ink);color:var(--surface);border-block-end:1px solid var(--ink-soft)}
.brand-lockup{display:flex;align-items:center;gap:1.25rem;text-decoration:none;min-height:2.75rem}
.brand-name{font-family:var(--display);font-size:clamp(1.65rem,3vw,2.25rem);font-stretch:condensed;font-weight:800;line-height:1;letter-spacing:-.02em}
.brand-rule{width:1px;height:2rem;background:var(--line-strong)}
.brand-task{font-size:.9rem;font-weight:700;color:var(--lime)}
.measurement-nav{background:var(--surface);border-block-end:1px solid var(--line-strong);padding:1.25rem clamp(1rem,4vw,4rem)}
.measurement-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));max-width:80rem;margin:0 auto;padding:0;list-style:none;counter-reset:measure-step}
.measurement-progress li{position:relative;display:grid;justify-items:center;gap:.5rem;min-width:0;text-align:center;color:var(--muted);font-size:.75rem;line-height:1.25}
.measurement-progress li::before{counter-increment:measure-step;content:counter(measure-step);position:relative;z-index:1;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--ink);font-weight:700}
.measurement-progress li::after{content:"";position:absolute;inset-block-start:.98rem;inset-inline-start:calc(-50% + 1rem);width:calc(100% - 2rem);height:1px;background:var(--line-strong)}
.measurement-progress li:first-child::after{display:none}
.measurement-progress li[data-state="complete"]::before{content:"✓";background:var(--lime);border-color:var(--ink)}
.measurement-progress li[aria-current="step"]{color:var(--ink);font-weight:700}
.measurement-progress li[aria-current="step"]::before{background:var(--lime);border-color:var(--ink);box-shadow:0 0 0 3px var(--paper)}
.intake-layout{display:grid;grid-template-columns:minmax(14rem,19rem) minmax(0,1fr);max-width:90rem;min-height:calc(100vh - 13rem);margin:0 auto;background:var(--surface)}
.answer-rail{min-width:0;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,3vw,2.25rem);background:var(--paper);border-inline-end:1px solid var(--line-strong)}
.answer-rail details{position:sticky;inset-block-start:1rem}
.answer-rail summary{min-height:2.75rem;display:flex;align-items:center;font-weight:800;cursor:pointer}
.answer-rail summary::marker{color:var(--lime-strong)}
.answer-summary{display:grid;gap:0;margin:1rem 0 0}
.answer-summary>div{padding:.8rem 0;border-block-end:1px solid var(--line)}
.answer-summary dt{font-size:.75rem;font-weight:700;color:var(--muted)}
.answer-summary dd{margin:.25rem 0 0;font-size:.9rem}
.summary-empty{margin:1rem 0 0;color:var(--muted);font-size:.9rem;max-width:30ch}
.question-canvas{min-width:0;display:flex;flex-direction:column;padding:1.25rem clamp(1rem,6vw,6rem) max(1.25rem,env(safe-area-inset-bottom))}
.canvas-intro{max-width:66ch;margin-block-end:1.25rem}
.canvas-intro h1{max-width:18ch;margin:0 0 .8rem;font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);font-stretch:condensed;line-height:.98;letter-spacing:-.03em}
.canvas-intro p{max-width:65ch;margin:0;color:var(--muted)}
.intake-form{display:flex;flex:1;min-width:0;flex-direction:column;max-width:64rem}
.status-board{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;min-height:2.75rem;margin-block-end:1.25rem;padding:.65rem 0;border-block:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.status-board span:not(:empty)::before{content:"";display:inline-block;width:.5rem;height:.5rem;margin-inline-end:.45rem;border:1px solid currentColor;background:var(--surface)}
.status-board [data-save-state]:not(:empty)::before{background:var(--lime)}
.error-summary{max-width:48rem;margin:0 0 1.5rem;padding:1rem 1.1rem;background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius);color:var(--ink)}
.error-summary h2{margin:0 0 .25rem;font-size:1rem}
.error-summary p{margin:0}
.question-stage{min-width:0;margin:0;padding:0;border:0;animation:question-in 180ms cubic-bezier(.2,.8,.2,1) both}
.question-stage[hidden]{display:none}
.question-kicker{display:block;margin:0 0 .55rem;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.question-kicker:empty{display:none}
.question-heading{display:block;max-width:18ch;margin:0 0 .75rem;font-family:var(--display);font-size:clamp(2.35rem,5vw,4.4rem);font-stretch:condensed;font-weight:800;line-height:.98;letter-spacing:-.03em;text-wrap:balance}
.question-hint{max-width:65ch;margin:0 0 2rem;color:var(--muted)}
.optional-label{font-size:.78rem;font-weight:600;color:var(--muted)}
.field-label{display:grid;gap:.5rem;max-width:46rem;font-weight:700}
.field-label input:not([type="checkbox"]):not([type="radio"]),.field-label select,.field-label textarea{width:100%;min-height:3.25rem;padding:.8rem .9rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);font-weight:400}
.field-label textarea{min-height:9rem;resize:vertical}
.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:var(--ink);outline:3px solid var(--lime);outline-offset:1px}
.field-label input[aria-invalid="true"],.field-label select[aria-invalid="true"],.field-label textarea[aria-invalid="true"]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}
.choice-list{display:grid;max-width:48rem;margin:0;padding:0;border-block-start:1px solid var(--line-strong)}
.choice-row{position:relative;display:grid;grid-template-columns:1.75rem minmax(0,1fr);align-items:center;gap:.9rem;min-height:3.75rem;padding:.75rem .15rem;border-block-end:1px solid var(--line);cursor:pointer}
.choice-row:hover{background:var(--paper)}
.choice-row input{appearance:none;width:1.35rem;height:1.35rem;margin:0;border:1px solid var(--ink);border-radius:2px;background:var(--surface)}
.choice-row input[type="radio"]{border-radius:50%}
.choice-row input:checked{background:var(--lime);box-shadow:inset 0 0 0 3px var(--surface)}
.choice-row input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.privacy-choice{max-width:48rem;border-block-start:1px solid var(--line-strong)}
.field-error{margin:.6rem 0 0;color:var(--danger);font-size:.9rem;font-weight:700}
.file-drop{max-width:48rem;padding:1.25rem;background:var(--paper);border:1px dashed var(--line-strong);border-radius:var(--radius)}
.file-drop input{display:block;width:100%;min-height:3rem;margin-block-end:.75rem}
.file-drop p{margin:0;color:var(--muted);font-size:.9rem}
.form-actions{display:flex;justify-content:space-between;gap:1rem;margin-block-start:auto;padding-block-start:1.5rem}
.button{min-height:2.75rem;min-width:8rem;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.1rem;border:1px solid var(--ink);border-radius:10px;background:var(--surface);font-weight:800;cursor:pointer}
.button:hover:not(:disabled){background:var(--paper-strong)}
.button-primary{background:var(--lime)}
.button-primary:hover:not(:disabled){background:var(--lime-strong)}
.button:disabled{cursor:not-allowed;opacity:.58}
.retry-button{margin-block-start:1rem}
.status-message{min-height:1.5rem;margin:.8rem 0 0;font-weight:700}
.confirmation{max-width:48rem;padding:clamp(1.5rem,4vw,3rem) 0;border-block:1px solid var(--line-strong)}
.confirmation h2{max-width:18ch;margin:0 0 .75rem;font-family:var(--display);font-size:clamp(2.4rem,6vw,4.75rem);line-height:1;letter-spacing:-.03em}
.confirmation p{max-width:65ch;margin:0;color:var(--muted)}
.noscript{margin:1rem;padding:1rem;background:var(--danger-soft);border:1px solid var(--danger)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes question-in{from{opacity:.75;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){
  .public-masthead{min-height:5.5rem;padding:1rem}.brand-rule,.brand-task{display:none}
  .measurement-nav{padding:.85rem .75rem}.measurement-progress li{font-size:.7rem}.progress-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.measurement-progress li::after{inset-inline-start:calc(-50% + .75rem);width:calc(100% - 1.5rem)}
  .intake-layout{grid-template-columns:1fr;min-height:auto}.answer-rail{padding:1rem;border-inline-end:0;border-block-end:1px solid var(--line-strong)}.answer-rail details{position:static}.answer-rail details:not([open]){padding:0}.answer-summary{grid-template-columns:1fr 1fr;column-gap:1rem}
  .question-canvas{min-height:calc(100vh - 12rem);padding:1.5rem 1rem max(1rem,env(safe-area-inset-bottom))}.canvas-intro{margin-block-end:2rem}.canvas-intro h1{font-size:2rem}.question-heading{font-size:clamp(2.25rem,12vw,3.6rem)}
  .form-actions{position:static;margin-block-start:1.5rem;margin-inline:0;padding:1rem 0 max(1rem,env(safe-area-inset-bottom));background:var(--surface);border-block-start:1px solid var(--line-strong)}.button{min-width:0;flex:1}
}
@media(max-width:390px){.answer-summary{grid-template-columns:1fr}.status-board{display:grid}.choice-row{min-height:3.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.question-stage{animation:none}.skip-link{transition:none}}
@media(forced-colors:active){.choice-row input:checked{forced-color-adjust:none;background:Highlight}.button-primary{forced-color-adjust:none;background:Highlight;color:HighlightText}}