@font-face{font-family:TimesVersos;src:url('../assets/fonts/times-newer-roman-regular.otf');font-weight:400;font-display:swap}
@font-face{font-family:TimesVersos;src:url('../assets/fonts/times-newer-roman-italic.otf');font-style:italic;font-display:swap}
@font-face{font-family:Alexandria;src:url('../assets/fonts/alexandria-variable.ttf');font-weight:100 900;font-display:swap}
:root{--paper:#f1f0ed;--side:#e8e7e3;--ink:#11100f;--muted:#625d58;--line:#c7c3be;--accent:#82715b}
*{box-sizing:border-box}html{background:#e6e4df;color:var(--ink);scrollbar-color:#817a73 var(--paper)}body{margin:0;font:400 14px/1.6 Alexandria,sans-serif}::selection{background:var(--ink);color:var(--paper)}[hidden]{display:none!important}.preview{text-align:center;padding:10px 16px;font-size:11px;background:var(--ink);color:var(--paper)}.sheet{max-width:1320px;margin:32px auto;display:grid;grid-template-columns:39% 61%;background:var(--paper);box-shadow:0 18px 65px #1714111c;min-height:850px}.intro{padding:40px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{width:112px;height:38px;object-fit:cover}header span{max-width:115px;text-align:right;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}.invitation{margin:70px 0 36px}h1,h2{font:400 clamp(42px,4.8vw,65px)/.98 TimesVersos,serif;letter-spacing:-.035em;margin:0}h1 em,h2 em{font-weight:400}.invitation p{max-width:320px;color:var(--muted);margin-top:24px;font-size:13px;line-height:1.8}nav ol{list-style:none;padding:0;margin:0}nav li{border-top:1px solid var(--line);padding:13px 0;color:var(--muted);font-size:12px;display:flex;gap:20px}nav li:last-child{border-bottom:1px solid var(--line)}nav li[aria-current]{color:var(--ink);font-weight:600}nav li[aria-current] span{color:var(--accent)}nav span{font-variant-numeric:tabular-nums;font-weight:400}.aside-note{font-size:11px;color:var(--muted);margin:26px 0}footer{margin-top:auto;padding-top:24px;font-size:10px;color:var(--muted)}main{padding:44px 56px;min-width:0}.progress-row{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}progress{appearance:none;border:0;height:2px;width:100%;display:block;margin:14px 0 38px;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--ink)}progress::-moz-progress-bar{background:var(--ink)}h2{font-size:52px}.lead{color:var(--muted);font-size:13px;margin:20px 0 30px;max-width:420px}.required-note,.hint{font-size:11px;color:var(--muted);margin:0 0 18px}label{display:block;font-size:12px;font-weight:500;margin-bottom:24px}input,textarea{display:block;width:100%;font:400 13px/1.6 Alexandria,sans-serif;color:var(--ink);padding:13px 14px;background:#f9f8f5;border:1px solid var(--line);border-radius:0;margin-top:9px;caret-color:var(--accent)}input{min-height:49px}textarea{min-height:110px;resize:vertical}input::placeholder,textarea::placeholder{color:#746e68;font-size:11px}input:hover,textarea:hover{border-color:#817a73}input:focus,textarea:focus{background:#fff}input:user-invalid,textarea:user-invalid{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}legend{font-size:12px;font-weight:500;margin-bottom:13px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choices label{display:flex;align-items:center;gap:10px;margin:0;padding:12px;border:1px solid var(--line);font-size:11px;font-weight:400;cursor:pointer;min-height:48px}.choices input{width:15px;height:15px;min-height:0;margin:0;accent-color:var(--ink);flex-shrink:0}.choices label:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper)}.choices input:disabled{opacity:.45}.choices label:has(input:disabled){opacity:.65;cursor:default}.actions{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:16px;margin-top:16px}button{font:500 12px Alexandria,sans-serif;padding:15px 24px;min-height:48px;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink)}button:hover{background:#dedbd5}.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);margin-left:auto;display:flex;align-items:center;justify-content:space-between;gap:45px}.primary:hover{background:#37312d}.primary:disabled{opacity:.5;cursor:not-allowed}#error{color:var(--accent);font-size:12px;min-height:20px}details{border-block:1px solid var(--line);padding:18px 0;margin:15px 0}summary{cursor:pointer;font-size:13px}dl{font-size:12px;overflow-wrap:anywhere}dt{font-weight:600;margin-top:18px}dd{margin:4px 0;color:var(--muted);white-space:pre-wrap}.privacy{font-size:11px;line-height:1.8;color:var(--muted)}#done{padding-top:45px}#done .primary{margin:30px 0 0}.step{animation:arrive .2s ease-out}@keyframes arrive{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.sheet{margin:18px}.intro{padding:28px}main{padding:32px}.invitation{margin-top:55px}h1{font-size:49px}}
@media(max-width:720px){.sheet{display:block;margin:10px}.intro{padding:24px;border-right:0;border-bottom:1px solid var(--line)}header span{max-width:none}.invitation{margin:35px 0 22px}h1{font-size:43px}h1 br:first-child{display:none}.invitation p{max-width:100%;margin-bottom:0}nav,.aside-note,.intro footer{display:none}main{padding:26px 24px}.progress-row{font-size:9px}h2{font-size:43px}.pair{grid-template-columns:1fr;gap:0}.preview{font-size:10px}.choices{gap:8px}.choices label{padding:10px 8px}progress{margin-bottom:28px}.lead{margin-bottom:24px}.primary{gap:20px}}
.choices label{transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out}
.choices label:active:not(:has(input:disabled)){transform:scale(.985)}
.choices input{appearance:none;padding:0;border:1px solid currentColor;background:transparent;display:grid;place-content:center}
.choices input[type=radio]{border-radius:50%}
.choices input:checked{border-color:#fff;background:#fff}
.choices input[type=checkbox]:checked::after{content:"";width:7px;height:4px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg) translateY(-1px)}
.choices input:checked{animation:select-choice .18s ease-out}
@keyframes select-choice{from{transform:scale(.85)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
