:root{
  --bg:#f8f5ef;--surface:#fffdf8;--soft:#f0ebe2;--ink:#142039;--muted:#565d65;--line:#18294226;--navy:#101c35;--gold:#957032;--on-navy:#fcf9f1;
  --font-display:"Cormorant Garamond",Georgia,serif;--font-body:"Source Sans 3",Arial,sans-serif;
  --text-xs:clamp(.78rem,.75rem + .1vw,.875rem);--text-sm:clamp(.94rem,.9rem + .12vw,1rem);--text-base:clamp(1.05rem,1rem + .18vw,1.15rem);--text-lg:clamp(1.15rem,1.08rem + .3vw,1.3rem);--text-xl:clamp(2rem,1.4rem + 1.7vw,3rem);--text-hero:clamp(3.35rem,2.55rem + 2.3vw,5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
}
[data-theme="dark"]{--bg:#111c2d;--surface:#1b293d;--soft:#233247;--ink:#f8f3e9;--muted:#c3c8cc;--line:#ffffff30;--gold:#d6b16d}
body{background:var(--bg);color:var(--ink);font:400 var(--text-base)/1.6 var(--font-body)}
.survey-layout>*,.introduction>*,.share-layout>*,.choices>*,.field-row>*{min-width:0}
h1,h2,h3,legend,.choice,.text-link{overflow-wrap:anywhere}
.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.brand img,.footer-main img{width:205px;height:auto;border-radius:3px}
.nav-actions{display:flex;align-items:center;gap:var(--space-5)}
.theme-toggle{border:0;background:transparent;color:var(--ink);width:44px;height:44px;font-size:24px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);min-height:54px;background:var(--navy);border:1px solid var(--navy);color:var(--on-navy);font-size:var(--text-sm);font-weight:600;letter-spacing:.03em;text-decoration:none;transition:background .18s,transform .18s}
.button:hover{background:#263958;transform:translateY(-1px)}
.button span{font-size:20px;font-weight:400}
.button.small{padding:var(--space-3) var(--space-5);min-height:48px}
.hero{position:relative;background:#485a53;isolation:isolate;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0c1e315c,transparent 50%)}
.hero-layout{display:grid;grid-template-columns:1fr 525px;gap:var(--space-16);align-items:end;padding-block:var(--space-12)}
.photo-caption{color:white;text-shadow:0 2px 12px #07131e;line-height:1.5;padding-bottom:var(--space-3);font-size:var(--text-base)}
.photo-caption span{display:block}
.invitation{background:var(--surface);padding:var(--space-10) var(--space-12);box-shadow:0 12px 40px #12233520;border:1px solid #ffffff5c}
p{margin:0 0 var(--space-5)}
h1,h2,h3,h4{margin:0;font-weight:500}
.eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.19em;font-weight:600;color:var(--gold);margin-bottom:var(--space-4)}
.gold-rule{width:64px;height:1px;background:var(--gold);margin-bottom:var(--space-6)}
h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:.98;letter-spacing:-.045em;margin-bottom:var(--space-6)}
h1 span{color:var(--gold)}
.hero-subtitle{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + .6vw,1.9rem);line-height:1.25;margin-bottom:var(--space-4)}
.invitation>p:not(.eyebrow):not(.hero-subtitle):not(.hero-note){color:var(--muted);font-size:var(--text-base);margin-bottom:var(--space-6)}
.hero-note{font-size:var(--text-sm);line-height:1.5;margin:var(--space-4) 0 0;color:var(--muted)}
.hero-note strong{color:var(--ink);font-weight:600}
.welcome-band{background:var(--navy);color:var(--on-navy);font-size:var(--text-sm)}
.welcome-band .wrap{display:flex;justify-content:center;align-items:center;gap:var(--space-8);padding-block:var(--space-4)}
.band-divider{height:20px;border-left:1px solid #ffffff40}
.introduction{display:grid;grid-template-columns:1fr 1.12fr;gap:var(--space-20);padding-block:var(--space-20)}
h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.12;letter-spacing:-.025em}
.intro-copy{color:var(--muted)}
.intro-copy strong{color:var(--ink);font-weight:600}
.signature{font-size:var(--text-lg);font-weight:600;color:var(--ink);margin-top:var(--space-6);margin-bottom:0}
.signature span{display:block;font-size:var(--text-sm);font-weight:400;color:var(--muted)}
.survey-section{background:var(--soft);padding-block:var(--space-20);scroll-margin-top:var(--space-4)}
.survey-layout{display:grid;grid-template-columns:.8fr 1.25fr;gap:var(--space-20);align-items:start}
.survey-aside>h2{margin-bottom:var(--space-6)}
.survey-aside>p:not(.eyebrow),.aside-topic p{color:var(--muted)}
.aside-topic{padding-top:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--line)}
.aside-topic h3{font-size:var(--text-lg);font-weight:600;line-height:1.35;margin-bottom:var(--space-3)}
.aside-topic p{font-size:var(--text-base);margin-bottom:0}
.text-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-sm);text-underline-offset:5px;text-decoration:underline;background:none;border:0;padding:0}
.survey-aside>.text-link{margin-top:var(--space-6)}
.form-panel{background:var(--surface);padding:var(--space-10);border:1px solid var(--line);box-shadow:0 8px 30px #14203905}
.form-heading{display:flex;gap:var(--space-4);align-items:baseline;justify-content:space-between}
.form-heading h3{font-family:var(--font-display);font-size:clamp(1.7rem,1.4rem + .6vw,2rem);line-height:1.2}
.form-heading>span{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}
.form-help{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-3);margin-bottom:var(--space-8)}
fieldset{padding:0;border:0;margin:0 0 var(--space-8);min-width:0}
legend{width:100%;font-size:var(--text-lg);font-weight:600;padding:0;margin-bottom:var(--space-5);line-height:1.35}
.step{color:var(--gold);font-size:var(--text-xs);letter-spacing:.12em;display:inline-block;margin-right:var(--space-3);vertical-align:middle}
.field{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-4)}
.field input,.field textarea,#share-url{display:block;width:100%;margin-top:var(--space-2);border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--ink);font-size:var(--text-base);font-weight:400;padding:var(--space-3);min-height:49px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}
.field textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-4)}
.optional{font-weight:400;color:var(--muted)}
.party-field{margin-bottom:var(--space-1)}
.party-field input{max-width:115px}
.helper{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-3);margin-top:calc(-1 * var(--space-2))}
#party-help{margin-top:var(--space-1);margin-bottom:var(--space-6)}
.nested{margin:0}
.nested legend{font-size:var(--text-sm);margin-bottom:var(--space-3)}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.solo-choices{grid-template-columns:.75fr .75fr 1.3fr;gap:var(--space-2)}
.choice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);min-height:50px;font-size:var(--text-base);cursor:pointer;transition:background .18s,border-color .18s}
.choice:hover{background:var(--soft)}
.choice:has(input:checked){background:var(--soft);border-color:var(--gold)}
.choice input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--gold)}
.solo-choices .choice{font-size:var(--text-sm);gap:var(--space-2)}
.other-field{margin-top:var(--space-4);margin-bottom:0}
.privacy{font-size:var(--text-sm);color:var(--muted);line-height:1.5;margin:var(--space-5) 0}
.submit{width:100%;min-height:58px}
.submit-note{font-size:var(--text-sm);text-align:center;color:var(--muted);margin:var(--space-3) 0 0}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.preview-notice{font-size:var(--text-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);color:var(--ink);background:var(--soft);border:1px dashed var(--gold)}
.form-error{padding:var(--space-4);margin-bottom:var(--space-4);background:#fff0eb;color:#942915;font-size:var(--text-sm)}
.confirmation{padding-block:var(--space-10)}
.confirmation h3{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.1;margin-bottom:var(--space-6)}
.confirmation p{color:var(--muted)}
.confirmation-share{padding-top:var(--space-6);border-top:1px solid var(--line);margin-top:var(--space-8)}
.confirmation-share h4{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-3)}
#back-to-form{margin-top:var(--space-6)}
.share-section{background:var(--navy);color:var(--on-navy);padding-block:var(--space-16)}
.share-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:var(--space-20)}
.share-section .eyebrow{color:#d8bc85}
.share-layout>div>p:not(.eyebrow){color:#dce0e6}
.share-actions{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}
.button.light{background:#f9f4e9;color:var(--navy);border-color:#f9f4e9}
.button.light:hover{background:#e7dcc5}
.share-feedback:has(#share-status:not(:empty)),.share-feedback:has(#copy-fallback:not([hidden])){margin-top:var(--space-5)}
#share-status{margin:0;font-size:var(--text-sm)}
#copy-fallback{display:block;font-size:var(--text-sm)}
#share-url{max-width:560px;background:white;color:var(--navy)}
.footer{padding-block:var(--space-12) var(--space-8)}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-8)}
.footer-main p{margin:0;font-weight:600}
.footer-main a{display:block;font-size:var(--text-sm);line-height:1.8;text-underline-offset:3px}
.fine-print{border-top:1px solid var(--line);padding-top:var(--space-6);color:var(--muted);font-size:var(--text-xs)}
.fine-print p{margin-bottom:var(--space-3)}
.fine-print a{text-underline-offset:3px}
[data-theme="dark"] .button:not(.light){border-color:#bfab80}
@media(min-width:1500px){.hero-layout{padding-block:var(--space-16)}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.hero-layout{grid-template-columns:1fr 480px;gap:var(--space-8)}.invitation{padding:var(--space-8)}.survey-layout{gap:var(--space-10);grid-template-columns:.8fr 1.3fr}.form-panel{padding:var(--space-6)}.introduction,.share-layout{gap:var(--space-12)}}
@media(max-width:800px){.nav{height:76px}.brand img{width:175px}.nav-actions{gap:var(--space-2)}.hero-layout{grid-template-columns:1fr 440px}.photo-caption{display:none}.invitation{grid-column:2}.hero-photo{object-position:33% center}.survey-layout{grid-template-columns:1fr;gap:var(--space-10)}.survey-aside{max-width:680px}.survey-aside h2 br{display:none}.aside-topic{padding-top:var(--space-4);margin-top:var(--space-4)}.introduction,.share-layout{grid-template-columns:1fr;gap:var(--space-8)}.introduction{padding-block:var(--space-12)}.welcome-band .wrap{gap:var(--space-4);text-align:center}.survey-section{padding-block:var(--space-12)}.form-panel{padding:var(--space-8)}}
@media(max-width:560px){.wrap{width:calc(100% - 40px)}.nav{height:74px}.brand img{width:140px}.nav-actions{gap:0}.nav .button{padding:var(--space-2) var(--space-3);font-size:.8rem;gap:var(--space-2);min-height:44px}.nav .button span{display:none}.theme-toggle{width:36px}.hero{padding-top:205px;background:var(--bg)}.hero-photo{height:330px;object-position:25% center}.hero::after{display:none}.hero-layout{display:block;padding:0 0 var(--space-6)}.invitation{padding:var(--space-8) var(--space-6);position:relative}.eyebrow{font-size:.75rem}h1{font-size:3.65rem}.hero-subtitle{font-size:1.5rem}.invitation>.button{width:100%}.welcome-band .wrap{flex-direction:column;gap:var(--space-1);padding-block:var(--space-4);font-size:.83rem}.band-divider{display:none}.form-panel{padding:var(--space-6) var(--space-5)}.form-heading{display:block}.form-heading>span{display:block;margin-top:var(--space-2)}.field-row{grid-template-columns:1fr;gap:0}.solo-choices{grid-template-columns:1fr}.solo-choices .choice{font-size:var(--text-base)}.choices{gap:var(--space-2)}.choice{padding:var(--space-3) var(--space-2);gap:var(--space-2)}.survey-layout{width:calc(100% - 24px)}.survey-aside{padding-inline:var(--space-2)}.share-section{padding-block:var(--space-12)}.footer-main{align-items:flex-start;flex-direction:column}.footer-main img{width:180px}.footer-main a{overflow-wrap:anywhere}.share-actions{gap:var(--space-3)}.submit-note{font-size:.875rem}legend{font-size:1.12rem}}
@media(max-width:560px){h1{font-size:3.1rem}.invitation{padding-inline:min(var(--space-6),24px)}.form-panel{padding-inline:min(var(--space-5),20px)}.choice span{min-width:0}.survey-aside h2 br{display:initial}}

/* Neighborhood-focused revision: distinct benefits and a focused survey. */
.introduction{padding-bottom:var(--space-12)}
.benefits-section{padding-bottom:var(--space-20)}
.benefits-heading{border-top:1px solid var(--line);padding-top:var(--space-12);margin-bottom:var(--space-8);max-width:100%}
.benefits-heading>p:last-child{color:var(--muted);max-width:680px;margin-top:var(--space-4);margin-bottom:0}
.benefits-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:var(--space-12);align-items:start}
.solo-benefit{background:var(--navy);color:var(--on-navy);padding:var(--space-8)}
.solo-benefit .eyebrow{color:#d8bc85}
.solo-benefit h3{font-family:var(--font-display);font-size:clamp(1.7rem,1.4rem + .6vw,2rem);line-height:1.2;margin-bottom:var(--space-5)}
.solo-benefit p:not(.eyebrow){color:#e2e5e9}
.solo-benefit .benefit-note{font-size:var(--text-sm);margin-bottom:0;color:#bdc6d4}
.benefit-detail h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-3)}
.benefit-detail p{color:var(--muted)}
.benefit-detail+.benefit-detail{border-top:1px solid var(--line);padding-top:var(--space-5);margin-top:var(--space-5)}
.survey-layout{display:block;max-width:780px}
.survey-heading{margin-bottom:var(--space-8)}
.survey-heading h2{margin-bottom:var(--space-4)}
.survey-heading>p:last-child{max-width:640px;color:var(--muted);margin-bottom:0}
.presentation-note{font-size:var(--text-sm);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line)}
.presentation-note strong{color:var(--ink);font-weight:600}
.solo-count-field{margin-top:var(--space-5)}
#solo-count-help{margin-top:var(--space-2);margin-bottom:0}
.survey-layout .form-panel{padding:var(--space-10)}
.hero-subtitle{font-size:clamp(1.5rem,1.1rem + .6vw,1.8rem)}
@media(max-width:560px){.hero{padding-top:290px}.hero-photo{height:320px;object-position:35% 65%}}
@media(max-width:800px){.benefits-layout{grid-template-columns:1fr 1fr;gap:var(--space-6)}.benefits-section{padding-bottom:var(--space-12)}.solo-benefit{padding:var(--space-6)}}
@media(max-width:600px){.benefits-layout{grid-template-columns:1fr}.survey-layout .form-panel{padding:min(var(--space-6),24px) min(var(--space-5),20px)}.survey-heading{padding-inline:var(--space-2)}.hero-subtitle{font-size:1.5rem}.invitation h1{font-size:2.8rem;line-height:1.04}.form-heading{display:block}.form-heading>span{display:block;margin-top:var(--space-2)}.benefits-heading{padding-top:var(--space-8)}}
