:root{--ink:#171512;--ink-soft:#5d574f;--paper:#f7f3ed;--paper-deep:#eee6dc;--white:#fffdf9;--accent:#b47d5d;--accent-dark:#8f5f45;--accent-soft:#ead8ca;--line:#ded5ca;--success:#367153;--danger:#a34242;--shadow:0 24px 70px #2a21191c;--radius-xl:28px;--radius-lg:20px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 12%, #b47d5d1c, transparent 28%), radial-gradient(circle at 88% 72%, #b47d5d14, transparent 30%), var(--paper);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,textarea{font:inherit}button{color:inherit}.hidden{display:none!important}.page-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:24px clamp(18px,4vw,64px) 48px}.site-header{justify-content:space-between;align-items:center;gap:24px;min-height:72px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);width:44px;height:44px;color:var(--white);letter-spacing:-.04em;border-radius:50%;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:18px;display:grid}.brand-copy{display:grid}.brand-copy strong{letter-spacing:-.01em;font-size:14px}.brand-copy small{color:var(--ink-soft);font-size:12px}.save-indicator{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.save-dot{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3671531a}.intro-screen{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:center;gap:clamp(44px,8vw,120px);min-height:calc(100vh - 150px);padding:48px 3vw 72px;display:grid}.intro-copy{max-width:710px}.eyebrow{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-size:12px;font-weight:800;display:inline-block}h1,h2{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.02}h1{font-size:clamp(46px,6.2vw,88px)}.intro-lead{max-width:640px;color:var(--ink-soft);margin:28px 0 0;font-size:clamp(17px,1.45vw,21px);line-height:1.7}.intro-meta{flex-wrap:wrap;gap:12px;margin:36px 0;display:flex}.intro-meta div{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf9ad;min-width:115px;padding:14px 18px;display:grid}.intro-meta strong{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.intro-meta span{color:var(--ink-soft);font-size:12px}.intro-actions,.success-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-size:14px;font-weight:750;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:focus-visible,.text-button:focus-visible,.dialog-close:focus-visible,.step-button:focus-visible{outline-offset:3px;outline:3px solid #b47d5d47}.button-primary{background:var(--ink);color:var(--white);box-shadow:0 12px 24px #17151224}.button-primary:hover{background:#2a2723}.button-secondary{border-color:var(--line);color:var(--ink);background:#fffdf9ad}.button-secondary:hover{background:var(--white);border-color:#cbbdad}.button[disabled]{opacity:.48;cursor:not-allowed;transform:none}.privacy-note{max-width:540px;color:var(--ink-soft);margin-top:18px;font-size:12px}.intro-art{place-items:center;min-height:530px;display:grid;position:relative}.art-card{aspect-ratio:.78;border-radius:30px;width:min(390px,76vw);position:absolute}.art-card-back{background:var(--accent-soft);box-shadow:var(--shadow);transform:rotate(8deg)translate(26px,8px)}.art-card-main{background:var(--ink);color:var(--white);padding:38px;overflow:hidden;transform:rotate(-4deg);box-shadow:0 38px 90px #17151238}.art-card-main:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-70px;right:-64px;box-shadow:0 0 0 32px #ffffff09,0 0 0 64px #ffffff06}.art-step{color:var(--accent-soft);font-family:Georgia,Times New Roman,serif;font-size:92px;line-height:1;display:block}.art-lines{gap:14px;margin:60px 0 42px;display:grid}.art-lines span{background:#ffffffd6;border-radius:999px;height:8px}.art-lines span:nth-child(2){width:82%}.art-lines span:nth-child(3){width:66%}.art-lines span:nth-child(4){width:90%}.art-checks{gap:16px;display:flex}.art-checks i{border:1px solid #ffffff47;border-radius:50%;width:44px;height:44px}.art-orbit{border:1px solid #b47d5d59;border-radius:50%;position:absolute}.orbit-one{width:470px;height:470px}.orbit-two{opacity:.55;border-style:dashed;width:560px;height:560px}.form-screen{grid-template-columns:290px minmax(0,820px);justify-content:center;align-items:start;gap:clamp(30px,5vw,76px);padding:44px 0 80px;display:grid}.progress-panel{border:1px solid var(--line);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9b8;padding:24px;position:sticky;top:24px;box-shadow:0 18px 45px #2a21190f}.progress-topline{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.progress-topline strong{color:var(--ink);font-size:13px}.progress-track{background:var(--paper-deep);border-radius:999px;height:8px;margin:12px 0 26px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--accent);width:14%;height:100%;transition:width .28s}.step-nav{gap:7px;display:grid}.step-button{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px 1fr;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.step-button:hover{background:var(--paper)}.step-button[aria-current=step]{background:var(--ink);color:var(--white)}.step-button:disabled{cursor:default;opacity:.58}.step-number{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.step-button[aria-current=step] .step-number{border-color:#ffffff52}.step-label{font-size:12px;font-weight:700;line-height:1.25}.progress-help{border-top:1px solid var(--line);gap:5px;margin-top:26px;padding-top:20px;display:grid}.progress-help strong{font-size:12px}.progress-help span{color:var(--ink-soft);font-size:11px;line-height:1.5}.form-panel{min-width:0}.step-heading{margin-bottom:32px}.step-heading h2{font-size:clamp(38px,5vw,60px)}.step-heading p{max-width:650px;color:var(--ink-soft);margin:16px 0 0;font-size:16px}#questionsContainer{gap:18px;display:grid}.question-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf9e0;padding:clamp(22px,3vw,32px);scroll-margin-top:24px;box-shadow:0 14px 35px #2a21190d}.question-card.has-error{border-color:#a34242b3;box-shadow:0 0 0 4px #a3424212}.question-title-row{align-items:flex-start;gap:14px;display:flex}.question-number{background:var(--paper-deep);width:34px;height:34px;color:var(--accent-dark);border-radius:50%;flex:none;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:15px;display:grid}.question-title{letter-spacing:-.012em;margin:3px 0 0;font-size:16px;font-weight:750;line-height:1.45}.required-mark{color:var(--accent-dark);margin-left:4px}.question-help{color:var(--ink-soft);margin:9px 0 0 48px;font-size:12px}.field-wrap{margin:20px 0 0 48px}.text-input,.text-area,.other-input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);width:100%;color:var(--ink);outline:none;padding:15px 16px;transition:border-color .16s,box-shadow .16s,background .16s}.text-input{min-height:52px}.text-area{resize:vertical;min-height:124px}.text-input:focus,.text-area:focus,.other-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px #b47d5d1a}.text-input::placeholder,.text-area::placeholder,.other-input::placeholder{color:#aaa095}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.option-label{cursor:pointer;display:block;position:relative}.option-control{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.option-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-height:54px;color:var(--ink-soft);align-items:center;gap:12px;padding:12px 14px;font-size:13px;font-weight:650;line-height:1.35;transition:border-color .16s,background .16s,color .16s,transform .16s;display:flex}.option-card:hover{border-color:#cbbdad;transform:translateY(-1px)}.option-icon{background:var(--white);border:1.5px solid #c7bbae;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:grid}.option-control[type=radio]+.option-card .option-icon{border-radius:50%}.option-control:focus-visible+.option-card{outline-offset:2px;outline:3px solid #b47d5d38}.option-control:checked+.option-card{border-color:var(--ink);background:var(--ink);color:var(--white)}.option-control:checked+.option-card .option-icon{border-color:var(--accent-soft);background:var(--accent-soft)}.option-control:checked+.option-card .option-icon:after{content:"✓";color:var(--ink);font-size:12px;font-weight:900}.option-control[type=radio]:checked+.option-card .option-icon:after{content:"";background:var(--ink);border-radius:50%;width:8px;height:8px}.other-input{min-height:48px;margin-top:10px}.error-message{color:var(--danger);margin:10px 0 0 48px;font-size:12px;font-weight:650;display:none}.question-card.has-error .error-message{display:block}.form-navigation{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:28px;padding-top:24px;display:flex}.form-navigation .button-primary{margin-left:auto}.review-dialog{border-radius:var(--radius-xl);background:var(--white);width:min(900px,100% - 30px);max-height:min(88vh,860px);color:var(--ink);border:0;padding:0;box-shadow:0 45px 120px #17151252}.review-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1715129e}.dialog-header{z-index:2;background:var(--white);border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:28px 30px 18px;display:flex;position:sticky;top:0}.dialog-header .eyebrow{margin-bottom:8px}.dialog-header h2{font-size:36px}.dialog-close{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:50%;width:42px;height:42px;font-size:26px}.dialog-intro{color:var(--ink-soft);margin:0;padding:20px 30px 6px;font-size:13px}.review-summary{gap:16px;padding:18px 30px 28px;display:grid}.review-section{border-radius:var(--radius-lg);background:var(--paper);padding:20px}.review-section h3{margin:0 0 14px;font-size:15px}.review-item{border-top:1px solid var(--line);gap:5px;padding:12px 0;display:grid}.review-item:first-of-type{border-top:0;padding-top:0}.review-question{color:var(--ink-soft);font-size:11px;font-weight:700}.review-answer{white-space:pre-wrap;word-break:break-word;font-size:13px}.review-empty{color:#92887e;font-style:italic}.dialog-actions{border-top:1px solid var(--line);background:var(--white);justify-content:flex-end;gap:10px;padding:18px 30px;display:flex;position:sticky;bottom:0}.submit-status{min-height:24px;color:var(--ink-soft);text-align:right;margin:0;padding:0 30px 20px;font-size:12px}.submit-status.error{color:var(--danger)}.success-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:750px;min-height:calc(100vh - 120px);margin:0 auto;padding:60px 20px;display:flex}.success-icon{background:var(--ink);width:78px;height:78px;color:var(--white);border-radius:50%;place-items:center;margin-bottom:24px;font-size:34px;display:grid}.success-screen h1{font-size:clamp(42px,6vw,72px)}.success-screen p{max-width:610px;color:var(--ink-soft);margin:24px 0 30px;font-size:17px}.text-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;text-decoration:underline}.noscript-message{color:var(--danger);background:#fff0f0;border-radius:12px;margin:30px;padding:20px}@media (max-width:1000px){.intro-screen{grid-template-columns:1fr;padding-top:70px}.intro-art{display:none}.intro-copy{max-width:820px}.form-screen{grid-template-columns:1fr;max-width:850px;margin:0 auto}.progress-panel{position:static}.step-nav{grid-template-columns:repeat(7,minmax(32px,1fr));gap:6px}.step-button{grid-template-columns:1fr;justify-items:center;padding:5px;display:grid}.step-label,.progress-help{display:none}}@media (max-width:680px){.page-shell{padding:14px 14px 36px}.site-header{min-height:60px}.brand-copy{display:none}.save-indicator{text-align:right;justify-content:flex-end;max-width:190px}.intro-screen{align-items:start;min-height:calc(100vh - 90px);padding:38px 5px 60px}h1{font-size:46px}.intro-meta{gap:8px}.intro-meta div{flex:1;min-width:98px;padding:12px}.intro-actions .button{width:100%}.form-screen{padding:24px 0 60px}.progress-panel{border-radius:18px;padding:15px}.progress-track{margin-bottom:15px}.step-nav{gap:3px}.step-button{padding:2px}.step-number{width:27px;height:27px}.step-heading{margin:28px 4px 24px}.step-heading h2{font-size:39px}.question-card{border-radius:17px;padding:20px 16px}.question-title-row{gap:10px}.question-help,.field-wrap,.error-message{margin-left:0}.question-help{margin-top:10px}.option-grid{grid-template-columns:1fr}.form-navigation{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f3edeb;border-radius:999px;padding:10px;position:sticky;bottom:8px;box-shadow:0 12px 30px #1715121f}.form-navigation .button{min-height:46px;padding:0 17px}.dialog-header,.dialog-actions{padding-left:18px;padding-right:18px}.dialog-header h2{font-size:30px}.dialog-intro,.review-summary{padding-left:18px;padding-right:18px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}.submit-status{text-align:center;padding:0 18px 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
