:root{--paper:#F4F0E6;--ink:#303D32;--muted:#626B5D;--line:#d6d8ca;--white:#fffef9;--clay:#A34F39;--sage:#C6CCBA}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--clay)}.preview{background:var(--ink);color:var(--paper);text-align:center;font-size:11px;letter-spacing:.05em;padding:7px}.skip{position:absolute;top:-100px;left:16px;padding:10px;background:var(--paper);z-index:2}.skip:focus{top:40px}header,main,footer{max-width:1180px;margin:auto;padding:0 48px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between}.brand{font:39px Georgia,serif;letter-spacing:-2px;text-decoration:none}.languages{display:flex;border:1px solid var(--line);border-radius:30px;padding:3px}.languages button{border:0;background:transparent;color:var(--ink);border-radius:20px;font-size:12px;padding:6px 12px}.languages button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.intro{max-width:770px;margin:38px 0 46px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}h1{font:clamp(38px,4.7vw,59px)/1.12 Georgia,serif;letter-spacing:-1.8px;margin:19px 0 22px}h1 em{font-weight:normal;color:var(--clay)}.intro>p:not(.eyebrow){max-width:650px}.intro .review-note{font-size:12px;color:var(--muted);border-left:2px solid var(--sage);padding-left:14px;margin-top:22px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:70px;align-items:start}.workspace{background:var(--white);border:1px solid var(--line);padding:35px 38px;min-height:380px;border-radius:4px;box-shadow:0 12px 35px #303d3206}.step-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.progress{display:flex;gap:6px;width:130px}.progress span{height:3px;flex:1;background:#e8e9df}.progress .filled{background:var(--clay)}h2{font:30px/1.2 Georgia,serif;letter-spacing:-.5px;margin:26px 0 15px}.hint{font-size:14px;color:var(--muted);margin-bottom:23px}label{display:block;font-size:13px;font-weight:bold;margin:16px 0 7px}textarea,input{width:100%;background:var(--paper);border:1px solid #bfc5b6;border-radius:2px;padding:13px;color:var(--ink)}textarea{min-height:145px;resize:vertical}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:27px}.primary{background:var(--clay);color:white;border:1px solid var(--clay);padding:12px 21px;border-radius:3px;font-weight:bold;font-size:13px}.link{border:0;background:none;color:var(--ink);padding:0;font-size:13px;text-decoration:underline;text-underline-offset:4px}.error{font-size:13px;color:var(--clay);margin:12px 0 0}.character{font-size:11px;text-align:right;color:var(--muted);margin:5px 0}.optional{color:var(--muted);font-weight:normal;font-size:11px}aside{padding-top:22px}aside h2{font-size:27px;margin:18px 0}aside>p:not(.eyebrow){font-size:14px;color:var(--muted)}.calendar{display:block;font-size:13px;font-weight:bold;margin:25px 0 18px}.aside-small{border-top:1px solid var(--line);padding-top:22px;margin-top:30px;font-size:11px!important}.summary-item{border-top:1px solid var(--line);padding:15px 0}.summary-title{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:bold}.summary-item p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:9px 0 0}.consent{display:flex;gap:10px;font-weight:normal;font-size:12px;align-items:flex-start}.consent input{width:17px;height:17px;flex:none;margin-top:3px;accent-color:var(--clay)}.receipt{border-left:3px solid var(--clay);background:var(--paper);padding:16px 19px;margin:20px 0;font-size:14px}.receipt p{margin:0}.receipt p+p{margin-top:10px}.small{font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;padding-top:50px;padding-bottom:30px;font-size:11px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){header,main,footer{padding-left:24px;padding-right:24px}.layout{grid-template-columns:minmax(0,1fr);gap:28px}.intro{margin-top:20px}.workspace{padding:26px 23px}aside{grid-row:1;padding-top:0;border-top:1px solid var(--line);padding-bottom:10px}aside h2{font-size:25px}.calendar{display:inline-block;margin:10px 22px 12px 0}.aside-small{margin-top:20px}.intro h1 br{display:none}footer{padding-top:30px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Keep the first question and lighter paths close to the invitation. */
header{min-height:76px}.intro{margin:20px 0 25px}h1{font-size:clamp(32px,3.6vw,46px);margin:12px 0 16px}.intro .review-note{margin-top:12px}.workspace{padding:25px 30px}.workspace h2{margin-top:18px}.hint{margin-bottom:15px}textarea{min-height:110px}
@media(max-width:850px){header{min-height:70px}.intro{margin:12px 0 20px}.intro h1{font-size:34px}.layout{gap:16px}aside{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}aside>.eyebrow,aside>h2,aside>p{display:none}.calendar{margin:0}.workspace{padding:20px}.workspace h2{font-size:26px}.actions{margin-top:18px}}

button:disabled,input:disabled,textarea:disabled{opacity:.65;cursor:wait}
