.survey-page [hidden]{display:none!important}
.survey-document,.survey-page{overflow-anchor:none;scroll-behavior:auto!important}
.survey-page{--gutter:clamp(18px,4vw,48px)}
.survey-main{padding:40px var(--gutter) 72px;min-height:75vh}
.survey-shell{max-width:740px;margin:0 auto}
.survey-intro{margin:0 0 18px}
.survey-intro .eyebrow{margin:0 0 10px}
.site-elegant .survey-intro h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 14px}
.survey-intro p{margin:0;font-size:1rem;max-width:640px}
.survey-intro .survey-call{margin-top:10px;font-size:.95rem}
.survey-call a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:underline}
.survey-card{background:#fff;border:1px solid #d7dbd2;border-top:3px solid #ad8c56;border-radius:6px;padding:clamp(20px,4vw,36px);box-shadow:0 8px 30px #19372c06;min-width:0}
.survey-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;font-weight:600;color:#46604f}
#survey-save-status{font-weight:400}
#survey-progress{display:block;width:100%;height:4px;appearance:none;border:0;border-radius:3px;background:#e9ebe5;margin:12px 0 20px;color:#234d3c}
#survey-progress::-webkit-progress-bar{background:#e9ebe5;border-radius:3px}
#survey-progress::-webkit-progress-value{background:#234d3c;border-radius:3px;transition:width .15s}
#survey-progress::-moz-progress-bar{background:#234d3c}
.survey-disclosure{font-size:.875rem!important;line-height:1.55!important;color:#59665c;margin:0 0 24px}
.survey-disclosure a{text-decoration:underline;white-space:nowrap}
.survey-step{animation:survey-in .15s ease-out;min-width:0;scroll-margin-top:20px}
.site-elegant .survey-step h2,.site-elegant #survey-success h2{font-size:clamp(1.65rem,4vw,2.2rem);margin:0 0 20px;line-height:1.18;letter-spacing:-.025em;text-wrap:pretty}
.survey-step h2 label{font:inherit;color:inherit;letter-spacing:inherit;margin:0}
.survey-step h2,#survey-success{scroll-margin-top:120px}
.survey-step input:not([type=radio]):not([type=checkbox]),.survey-step textarea{display:block;width:100%;min-width:0;box-sizing:border-box;background:#fff;color:#183a30;border:1px solid #a7b4a7;border-radius:4px;font:400 1.125rem/1.5 Figtree,system-ui,sans-serif;padding:14px 16px;min-height:58px;box-shadow:none}
.survey-step textarea{resize:vertical;min-height:140px}
.survey-page input:focus-visible,.survey-page textarea:focus-visible,.survey-page button:focus-visible,.survey-page a:focus-visible{outline:3px solid #98733d;outline-offset:3px}
.survey-step [aria-invalid=true]{border-color:#a43926!important}
.survey-page .survey-hint{font-size:.875rem;line-height:1.6;color:#5a665d;margin:12px 0}
.survey-choices{display:grid;gap:10px;border:0;padding:0;margin:0;min-width:0}
.survey-choice{display:flex;align-items:center;gap:12px;border:1px solid #c7d0c3;border-radius:4px;padding:14px 16px;min-height:58px;cursor:pointer;font-size:1rem;line-height:1.4;font-weight:400;color:#234335;transition:background .12s,border-color .12s}
.survey-choice-popular{border-color:#ad8c56}
.survey-step:not([hidden]) .survey-choices:not(:has(input:checked)) .survey-choice-popular{animation:survey-popular-pulse 2.4s ease-in-out infinite}
@keyframes survey-popular-pulse{0%,100%{box-shadow:0 0 0 0 #ad8c5600}50%{box-shadow:0 0 0 4px #ad8c5640}}
.survey-choice input{position:absolute;opacity:0;width:1px;height:1px}
.survey-choice:has(input:checked){background:#edf3e9;border-color:#285342;box-shadow:inset 3px 0 #285342}
.survey-choice:has(input:focus-visible){outline:3px solid #98733d;outline-offset:3px}
.choice-check{margin-left:auto;opacity:0;font-weight:700;color:#285342}
.survey-choice:has(input:checked) .choice-check{opacity:1}
.survey-swatch{width:25px;height:25px;border-radius:50%;border:1px solid #aeac9e;flex-shrink:0}
.swatch-0{background:#f5dfae}.swatch-1{background:#f1f8ff}.swatch-2{background:conic-gradient(#b33733 0 25%,#e8bd3f 25% 50%,#2851a3 50% 75%,#3b8155 75%)}.swatch-3{background:#e2e5df}
.survey-actions{display:flex;justify-content:space-between;gap:14px;margin-top:24px;padding-bottom:env(safe-area-inset-bottom,0px)}
.survey-actions .btn{font-size:1rem;min-height:52px}
#survey-next{margin-left:auto;min-width:145px}
.survey-page button:disabled{opacity:.6;cursor:wait}
.survey-error{padding:12px 14px;margin:16px 0 0;background:#fff1eb;color:#8a301b;border-left:3px solid #a43926;font-size:.95rem}
.survey-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;border-top:1px solid #e2e5dc;padding-top:14px;font-size:.8125rem;line-height:1.5;color:#687467}
.survey-text-button{background:transparent;border:0;padding:10px 0;color:#214b38;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;font:inherit;font-size:.9rem}
.survey-property-images{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.survey-property-images img{display:block;max-width:100%;height:auto;border-radius:4px}
.survey-confirm{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 0;font-size:1rem}
.survey-confirm input{width:22px;height:22px;flex-shrink:0;accent-color:#285342}
#survey-calendar{display:block;width:100%;height:780px;border:0;margin:12px 0;background:white;min-width:0}
#survey-calendar-panel>.btn{width:100%;white-space:normal}
.calendar-unavailable{padding:16px;background:#f5f1e8;border-left:3px solid #ad8c56}
.survey-honeypot,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes survey-in{from{opacity:.6}to{opacity:1}}
@media(max-width:600px){.survey-main{padding-top:24px}.survey-page .site-header{position:relative}.survey-page .nav{min-height:72px}.survey-intro .eyebrow{font-size:.75rem}.survey-card{padding:20px 18px}.survey-foot{align-items:flex-start}.survey-foot>span{max-width:200px}#survey-next{flex:1;min-width:0}.survey-actions{gap:10px}.survey-actions .btn{padding:14px 18px}.survey-property-images{grid-template-columns:1fr}.survey-step h2,#survey-success{scroll-margin-top:20px}}
@media(prefers-reduced-motion:reduce){.survey-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
