.survey-page { background: radial-gradient(circle at 84% 2%, rgba(255, 47, 146, .22), transparent 28%), radial-gradient(circle at 5% 46%, rgba(32, 199, 216, .11), transparent 24%), #09070a; }
.survey-hero { border-bottom: 1px solid rgba(255,255,255,.1); padding: 148px 20px 74px; position: relative; overflow: hidden; }
.survey-hero::after { border: 1px solid rgba(255,204,77,.16); border-radius: 50%; content: ''; height: min(46vw, 540px); position: absolute; right: -10vw; top: -22vw; width: min(46vw, 540px); }
.survey-hero-inner, .survey-content { margin: 0 auto; max-width: 940px; position: relative; }
.survey-hero-inner { z-index: 1; }
.survey-hero h1 { font-size: clamp(3.2rem, 8vw, 6.4rem); letter-spacing: -.045em; margin: 0; text-shadow: 0 18px 48px rgba(0,0,0,.5); }
.survey-hero p:not(.section-eyebrow) { color: #fff4fb; font-size: clamp(1.05rem, 2.2vw, 1.24rem); line-height: 1.65; margin: 24px 0 0; max-width: 620px; }
.survey-content { padding: 64px 20px 86px; }
.survey-intro { margin-bottom: 32px; max-width: 650px; }
.survey-intro h2, .survey-thanks h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 12px; }
.survey-intro > p:not(.section-eyebrow), .survey-thanks > p:not(.section-eyebrow) { color: var(--color-muted); line-height: 1.65; }
.survey-form { display: grid; gap: 20px; }
.survey-step, .survey-thanks { background: rgba(255,255,255,.065); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; box-shadow: var(--shadow-strong); padding: clamp(24px, 4vw, 42px); }
.survey-step { display: grid; gap: 30px; }
.survey-step-final { background: linear-gradient(135deg, rgba(255,47,146,.14), rgba(255,204,77,.08)), rgba(255,255,255,.065); }
.survey-step-heading { align-items: center; display: flex; gap: 18px; }
.survey-step-heading > span { align-items: center; background: rgba(255,204,77,.12); border: 1px solid rgba(255,204,77,.32); border-radius: 50%; color: var(--color-sun); display: inline-flex; flex: 0 0 auto; font-size: .9rem; font-weight: 900; height: 48px; justify-content: center; width: 48px; }
.survey-step-heading .section-eyebrow { margin-bottom: 6px; }
.survey-step-heading h2 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
.survey-fieldset, .survey-ratings { border: 0; min-width: 0; padding: 0; }
.survey-fieldset legend, .survey-ratings > legend, .survey-rating legend { color: #fff; font-size: 1.08rem; font-weight: 900; line-height: 1.4; margin-bottom: 14px; padding: 0; }
.survey-options { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.survey-option { align-items: flex-start; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: var(--color-muted); cursor: pointer; display: flex; font-size: .98rem; font-weight: 700; gap: 10px; line-height: 1.4; min-height: 54px; padding: 15px; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.survey-option:hover { background: rgba(255,255,255,.11); border-color: rgba(255,204,77,.5); color: #fff; }
.survey-option input { accent-color: var(--color-sun); flex: 0 0 auto; height: 18px; margin: 1px 0 0; width: 18px; }
.survey-option:has(input:checked) { background: rgba(255,204,77,.13); border-color: var(--color-sun); color: #fff; }
.survey-ratings { border-top: 1px solid rgba(255,255,255,.12); padding-top: 28px; }
.survey-legend-note { color: var(--color-soft); font-size: .9rem; font-weight: 700; }
.survey-ratings-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.survey-rating { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; min-width: 0; padding: 16px; }
.survey-rating legend { font-size: .98rem; margin-bottom: 12px; }
.survey-stars { display: flex; gap: 5px; }
.survey-stars input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.survey-stars label { align-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; color: rgba(255,255,255,.45); cursor: pointer; display: inline-flex; font-size: 1.2rem; height: 38px; justify-content: center; transition: background-color .18s ease, border-color .18s ease, color .18s ease; width: 38px; }
.survey-stars label:hover, .survey-stars input:focus-visible + label { border-color: var(--color-sun); color: var(--color-sun); }
.survey-stars input:checked + label { background: rgba(255,204,77,.16); border-color: var(--color-sun); color: var(--color-sun); }
.survey-star-number { font-size: .68rem; font-weight: 900; margin-left: 2px; }
.survey-textarea { color: #fff; display: block; font-size: 1.08rem; font-weight: 900; }
.survey-textarea small { color: var(--color-soft); font-size: .85rem; font-weight: 700; }
.survey-textarea textarea { background: rgba(4,3,5,.52); border: 1px solid rgba(255,255,255,.16); border-radius: 9px; color: #fff; display: block; font: inherit; font-size: 1rem; font-weight: 500; line-height: 1.5; margin-top: 11px; padding: 13px; resize: vertical; width: 100%; }
.survey-textarea textarea::placeholder { color: #aa9aaa; }
.survey-textarea textarea:focus { border-color: var(--color-sun); outline: none; }
.survey-privacy { align-items: flex-start; color: var(--color-muted); display: flex; font-size: .95rem; font-weight: 700; gap: 10px; line-height: 1.5; }
.survey-privacy input { accent-color: var(--color-sun); flex: 0 0 auto; height: 18px; margin-top: 3px; width: 18px; }
.survey-privacy a { color: var(--color-sun); text-underline-offset: 3px; }
.survey-submit { align-items: center; background: var(--color-sun); border: 1px solid rgba(255,255,255,.34); border-radius: 9px; box-shadow: 0 16px 36px rgba(255,204,77,.16); color: #140910; cursor: pointer; display: inline-flex; font: inherit; font-size: 1.08rem; font-weight: 900; gap: 10px; justify-content: center; min-height: 52px; padding: 13px 20px; transition: background-color .18s ease, transform .18s ease; width: fit-content; }
.survey-submit:hover { background: #fff; transform: translateY(-2px); }
.survey-error, .survey-alert { color: #ffd4dd; font-size: .92rem; font-weight: 800; line-height: 1.45; margin: 10px 0 0; }
.has-error .survey-option, .survey-rating.has-error, .survey-privacy.has-error { border-color: rgba(255,75,110,.7); }
.survey-alert { background: rgba(255,75,110,.13); border: 1px solid rgba(255,75,110,.4); border-radius: 9px; padding: 13px 15px; margin: 0; }
.survey-thanks { background: linear-gradient(135deg, rgba(0,200,132,.16), rgba(255,204,77,.1)), rgba(255,255,255,.06); border-color: rgba(101,255,208,.34); max-width: 680px; }
.survey-thanks .hero-button { margin-top: 24px; }
.survey-honeypot { height: 1px; overflow: hidden; position: absolute; width: 1px; }
.sr-only { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); }
@media (max-width: 700px) { .survey-hero { padding: 108px 16px 54px; } .survey-content { padding: 46px 14px 60px; } .survey-step, .survey-thanks { border-radius: 10px; } .survey-options, .survey-ratings-grid { grid-template-columns: 1fr; } .survey-option { min-height: 50px; } .survey-stars { gap: 4px; } .survey-stars label { height: 36px; width: 36px; } .survey-submit { width: 100%; } }
@media (max-width: 360px) { .survey-stars label { height: 32px; width: 32px; } }
