:root{--paper:#f7f5f0;--ink:#34382f;--muted:#74756b;--line:#b9b9ae;--accent:#555d46;--soft:#e9ebdf;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}
.site-header{max-width:1440px;margin:auto;padding:26px 58px 0;display:flex;justify-content:space-between;align-items:flex-start}.brand{text-decoration:none;font-size:40px;letter-spacing:-1.7px;line-height:1.05}.brand span{display:block;font:10px/2.7 Arial,sans-serif;letter-spacing:5px;text-transform:uppercase;margin-left:2px}.site-header>p{font-size:20px;margin:9px 0}
main{max-width:1440px;margin:56px auto 0;padding:0 58px;display:grid;grid-template-columns:1.03fr 1fr;gap:80px;align-items:start}.intro h1{font-size:clamp(46px,4.5vw,66px);font-weight:400;letter-spacing:-3px;line-height:1.04;margin:0 0 24px}.intro>p{font-size:25px;line-height:1.35;letter-spacing:-.6px;margin:0 0 24px;max-width:590px}figure{margin:0}figure img{display:block;width:100%;height:auto;aspect-ratio:1.19;object-fit:cover}figcaption{font-size:12px;color:var(--muted);margin-top:7px}.progress{list-style:none;display:flex;justify-content:space-between;padding:0 8px;margin:0 0 42px;font-size:14px;position:relative}.progress:before{content:'';position:absolute;bottom:9px;left:34px;right:34px;height:1px;background:var(--line)}.progress li{display:flex;align-items:center;flex-direction:column;gap:6px;position:relative;min-width:60px}.progress span{font-size:14px}.progress i{display:block;background:var(--paper);border:1px solid var(--accent);width:19px;height:19px;border-radius:50%;margin-top:3px}.progress [aria-current] i,.progress .done i{background:var(--accent)}.progress [aria-current]{color:var(--ink)}
h2{font-size:45px;font-weight:400;line-height:1.1;letter-spacing:-1.8px;margin:0 0 10px}.subtitle{color:var(--muted);font-size:21px;line-height:1.4;margin:0 0 28px}.field{margin-bottom:24px}label,.field-label,legend{font-size:17px;line-height:1.4;display:block;margin-bottom:7px}input:not([type=radio]):not([type=checkbox]),textarea{width:100%;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);padding:11px 14px;min-height:44px;font-size:16px;line-height:1.3}input::placeholder,textarea::placeholder{color:#8b8d82}textarea{resize:vertical;min-height:108px}fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}legend{padding:0;margin-bottom:9px}.choices{display:flex;flex-wrap:wrap;gap:10px}.choice{position:relative;flex:1 1 120px;margin:0;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:flex;justify-content:center;align-items:center;text-align:center;border:1px solid var(--line);border-radius:3px;padding:11px 10px;min-height:43px;font-size:15px;line-height:1.35;height:100%}.choice input:checked+span{background:var(--soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.choice:hover span{border-color:var(--accent)}.small-choices .choice{flex:1 1 90px}.hint{font:12px/1.5 Arial,sans-serif;color:var(--muted);margin:8px 0 0}.form-bottom{border-top:1px solid #d1d0c6;margin-top:34px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.form-bottom>span{color:var(--muted);font-size:14px;white-space:nowrap}.actions{display:flex;gap:18px;align-items:center}.primary{display:flex;gap:18px;align-items:center;justify-content:center;background:var(--accent);border:1px solid var(--accent);border-radius:3px;color:var(--paper);font-size:18px;padding:14px 30px;text-decoration:none;min-height:48px}.primary:hover{background:#414b35}.primary svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.3;fill:none}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:var(--accent);padding:8px 0;font-size:15px}footer{text-align:center;font-size:12px;color:var(--muted);padding:34px 20px 24px}.required-note{font:11px/1.5 Arial,sans-serif;color:var(--muted);margin-top:18px}.review-group{border-bottom:1px solid #d1d0c6;padding:0 0 18px;margin-bottom:18px}.review-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-heading h3{font-weight:400;font-size:22px;margin:0}.review-group dl{margin:0;display:grid;gap:7px}.review-group dt{color:var(--muted);font-size:13px}.review-group dd{margin:0 0 7px;font-size:16px;overflow-wrap:anywhere;white-space:pre-line}.consent{display:flex;gap:10px;align-items:flex-start;font:14px/1.6 Arial,sans-serif}.consent input{margin-top:5px;accent-color:var(--accent)}.notice{font:14px/1.6 Arial,sans-serif;border-left:2px solid var(--accent);padding-left:16px;margin:24px 0}.handoff-link{margin-top:20px}.copy-status{font:13px/1.5 Arial,sans-serif;min-height:20px}.error{color:#943d2c;font:13px/1.5 Arial,sans-serif;margin:10px 0}.form-section h2:focus{outline:none}
@media(min-width:1600px){main{margin-top:72px}}
@media(max-width:1100px){.site-header{padding:24px 32px 0}main{padding:0 32px;gap:42px}.intro h1{font-size:53px}.intro>p{font-size:21px}h2{font-size:36px}.subtitle{font-size:18px}.primary{padding:13px 20px}.brand{font-size:35px}}
@media(max-width:760px){.site-header{padding:24px 24px 0}.brand{font-size:32px}.brand span{font-size:8px;letter-spacing:4px}.site-header>p{display:none}main{display:block;padding:0 24px;margin-top:32px}.intro h1{font-size:43px;letter-spacing:-2px;line-height:1.07;margin-bottom:15px}.intro>p{font-size:19px;line-height:1.4;margin-bottom:20px}.intro figure img{aspect-ratio:1.85;max-height:260px}.intro figcaption{font-size:10px}.form-section{margin-top:38px}.progress{margin-bottom:30px;font-size:12px;padding:0}.progress li{min-width:54px}.progress span{font-size:12px}h2{font-size:34px;letter-spacing:-1px}.subtitle{font-size:18px;margin-bottom:24px}.field{margin-bottom:22px}.primary{font-size:16px;padding:13px 18px;gap:12px}.actions{gap:14px}.form-bottom{margin-top:26px}.form-bottom>span{font-size:12px}.choice{flex-basis:130px}.small-choices .choice{flex-basis:40%}footer{padding:32px 20px}.review-group dd{font-size:15px}body[data-step]:not([data-step="0"]) .intro{display:none}body[data-step]:not([data-step="0"]) .form-section{margin-top:0}}
@media(prefers-reduced-motion:no-preference){button,.choice span{transition:background .18s,border-color .18s}#step-content{animation:appear .25s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
/* Static HTML works without JavaScript; JS progressively adds the step flow. */
body:not(.enhanced) .progress{display:none}body:not(.enhanced) .form-step{margin-bottom:48px}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.primary:disabled{opacity:.65;cursor:wait}.result-page{display:block;max-width:760px;margin:80px auto}.result-page h1{font-weight:400;font-size:44px}.result-page p{font-size:20px;line-height:1.6}
.form-step h2:focus,#success:focus{outline:none}

/* Organic paper edge: only the photo alpha is changed; the center stays clear. */
.intro figure img {
  --photo-edge-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20800%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22edge%22%20x%3D%22-10%25%22%20y%3D%22-10%25%22%20width%3D%22120%25%22%20height%3D%22120%25%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeGaussianBlur%20in%3D%22SourceGraphic%22%20stdDeviation%3D%227%22%20result%3D%22soft%22%2F%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.025%200.24%22%20numOctaves%3D%223%22%20seed%3D%2212%22%20result%3D%22grain%22%2F%3E%3CfeDisplacementMap%20in%3D%22soft%22%20in2%3D%22grain%22%20scale%3D%2248%22%20xChannelSelector%3D%22R%22%20yChannelSelector%3D%22G%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20x%3D%2224%22%20y%3D%2224%22%20width%3D%22952%22%20height%3D%22752%22%20rx%3D%224%22%20fill%3D%22white%22%20filter%3D%22url%28%23edge%29%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--photo-edge-mask);
  mask-image: var(--photo-edge-mask);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-mode: alpha;
}

.draft-controls{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid #d1d0c6}.draft-controls .hint{margin:0}.draft-controls .text-button{font-size:13px;padding:8px 0 0}
/* Mobile filling: comfortable touch targets and navigation that fits narrow screens. */
@media(max-width:760px){
  .site-header{padding-top:max(24px,env(safe-area-inset-top))}
  main{margin-top:26px}
  .intro h1{font-size:38px}
  .intro figure img{aspect-ratio:2.2;max-height:180px}
  .form-section{scroll-margin-top:20px;min-width:0}
  input:not([type=radio]):not([type=checkbox]){min-height:48px;font-size:16px}
  textarea{font-size:16px}
  .choice span{min-height:48px}
  .text-button,.draft-controls .text-button{min-height:44px;padding:10px 0;display:inline-flex;align-items:center}
  .form-bottom{display:block;padding-bottom:env(safe-area-inset-bottom)}
  .form-bottom>span{display:block;margin-bottom:10px}
  .actions{width:100%;gap:16px}
  .actions .primary{flex:1;min-width:0;min-height:50px}
  .actions .text-button{min-width:50px}
  .consent input{width:22px;height:22px;flex:0 0 22px;margin:2px 0 0}
  .review-group dd,#receipt{overflow-wrap:anywhere}
}
@media(max-width:360px){
  .site-header{padding-left:20px;padding-right:20px}
  main{padding-left:20px;padding-right:20px}
  .brand{font-size:29px}
  .intro h1{font-size:34px}
  h2{font-size:30px}
  .choice{flex-basis:110px}
}
