.survey-page { background: #0b100c; color: #e7eadf; }
.survey-main { padding-top: calc(var(--section-space, 120px) + var(--sticky-header-offset, 88px) + 44px); padding-bottom: 70px; max-width: 1160px; }
.survey-main--form { max-width: 900px; }
.survey-form { scroll-margin-top: calc(var(--sticky-header-offset, 88px) + 24px); overflow-anchor: none; }
.survey-form [hidden], .survey-spin-prompt[hidden] { display: none !important; }
.survey-step-nav { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 24px 0; }
.survey-step-back { background: transparent; border: 1px solid #596a49; border-radius: 4px; padding: 14px 20px; color: #d5e3c4; }
.survey-step-back:hover, .survey-step-back:focus-visible { color: #102118; background: #c9df9c; }
.survey-step-back:disabled { color: #aab69e; cursor: not-allowed; }
.survey-spin-prompt { background: #182219; border: 1px solid #647c46; padding: 24px; border-radius: 8px; margin: 24px 0; color: #edf1df; }
.survey-spin-prompt h3 { color: #edf1df; font-size: 24px; margin-bottom: 12px; }
.survey-spin-prompt p { color: #c1cdb5; }
.survey-spin-prompt a { display: inline-block; background: #c9df9c; color: #102118; padding: 12px 20px; border-radius: 4px; font-weight: 600; }
.survey-spin-prompt a:hover, .survey-spin-prompt a:focus-visible { background: #e3f2cc; color: #102118; }
.survey-spin-prompt button { margin-left: 14px; background: transparent; color: #d5e3c4; border: 0; text-decoration: underline; }
.survey-spin-prompt { margin: auto; width: min(540px, calc(100% - 32px)); padding: 38px 32px; text-align: center; box-shadow: 0 0 65px #8bb64c33; background: radial-gradient(circle at top, #304528, #111c14 65%); }
.survey-spin-prompt::backdrop { background: #020906d9; backdrop-filter: blur(6px); }
.survey-invite-icon { margin: 0 auto 18px; display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #9cba73; border-radius: 50%; color: #d5eaa8; font-size: 34px; background: #2c3f22; }
.survey-spin-prompt h3 { font-size: 32px; margin-top: 12px; }
.survey-heading { max-width: 780px; margin-bottom: 32px; }
.survey-eyebrow { font-family: 'Rajdhani', sans-serif; color: #c9df9c; letter-spacing: 2px; font-weight: 700; font-size: 14px; }
.survey-heading h1 { color: #f2f1e7; font-size: clamp(30px, 5vw, 52px); margin: 12px 0 18px; }
.survey-heading h1 span { color: #c9df9c; }
.survey-page p { color: #b9c1af; line-height: 1.7; }
.survey-reward-strip { display: flex; align-items: center; gap: 20px; background: #182219; border: 1px solid #364632; padding: 24px; border-radius: 8px; margin: 0 0 32px; }
.survey-reward-strip > i { font-size: 26px; color: #c9df9c; }
.survey-reward-strip strong { color: #f2f1e7; font-size: 18px; }
.survey-reward-strip p { margin: 5px 0 0; font-size: 14px; }
.survey-link { margin-left: auto; white-space: nowrap; color: #c9df9c; }
.survey-signin, .survey-footnote { font-size: 14px; }
.survey-signin a, .survey-back { color: #c9df9c; }
.survey-main a:not(.th-btn):hover, .survey-main a:not(.th-btn):focus-visible { color: #e3f2cc; }
.survey-page .header-notice a, .survey-page .copyright-wrap .copyright-text :is(.footer-copy-text,.footer-dev-note) a { color: #c9df9c; }
.survey-page footer .text-theme { color: #c9df9c !important; }
.survey-page .th-mobile-menu ul li.th-active > a, .survey-page .th-mobile-menu a:hover, .survey-page .th-mobile-menu a:focus-visible { color: #e3f2cc; }
.survey-page .header-notice a:hover, .survey-page .copyright-wrap .copyright-text :is(.footer-copy-text,.footer-dev-note) a:hover, .survey-page footer a:not(.th-btn):hover { color: #e3f2cc; }
.survey-back { display: inline-block; margin-bottom: 28px; }
.survey-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.survey-card { padding: 30px; border: 1px solid #34402e; border-radius: 8px; background: #141c13; margin-bottom: 22px; min-width: 0; }
.survey-grid .survey-card { display: flex; flex-direction: column; margin: 0; }
.survey-card__top { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.survey-tag { display: inline-block; padding: 5px 11px; background: #26351f; border: 1px solid #455739; border-radius: 4px; color: #d2e6b5; font-size: 12px; }
.survey-meta, .survey-card small { color: #aab69e; font-size: 13px; }
.survey-card h2 { color: #f0f1e5; font-size: 24px; }
.survey-card h1 { color: #f0f1e5; }
.survey-card__reward { display: flex; gap: 10px; align-items: center; color: #d7e8a9; font-weight: 600; margin: 16px 0 12px; }
.survey-card__action { align-self: flex-start; margin-top: 24px; }
.survey-grid .survey-card > p { flex-grow: 1; }
.survey-footnote { margin-top: 25px; max-width: 850px; }
.survey-main .th-btn, .survey-page footer .th-btn { background: #155b38; color: #f4f8ee; transition: none; }
.survey-main .th-btn { border-radius: 4px; white-space: normal; }
.survey-main .th-btn:hover, .survey-main .th-btn:focus-visible, .survey-page footer .th-btn:hover, .survey-page footer .th-btn:focus-visible { color: #102118; background: #c9df9c; }
.survey-main .th-btn:hover::before, .survey-main .th-btn:hover::after, .survey-main .th-btn:focus-visible::before, .survey-main .th-btn:focus-visible::after, .survey-page footer .th-btn:hover::before, .survey-page footer .th-btn:hover::after, .survey-page footer .th-btn:focus-visible::before, .survey-page footer .th-btn:focus-visible::after { background: #c9df9c; }
.survey-main .th-btn:disabled { opacity: 1; background: #26351f; color: #aab69e; cursor: not-allowed; }
.survey-main .th-btn:disabled::before, .survey-main .th-btn:disabled::after { background: #26351f; }
.survey-page a:focus-visible, .survey-page button:focus-visible, .survey-page input:focus-visible { outline: 2px solid #d1e7a2; outline-offset: 4px; }
.survey-notice { padding: 18px 22px; border-radius: 6px; border: 1px solid #826444; margin-bottom: 25px; background: #30251c; color: #f5dcc0; }
.survey-intro ul { padding-left: 20px; color: #b9c1af; line-height: 2; }
.survey-intro form { margin-top: 24px; }
.survey-progress { padding: 20px 24px; border: 1px solid #34402e; background: #10180f; border-radius: 8px; margin-bottom: 24px; font-size: 14px; color: #c3d2b5; }
.survey-progress__summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 12px; }
.survey-progress__summary strong { color: #edf1df; font-weight: 600; }
.survey-progress__track { height: 8px; border-radius: 8px; background: #2b3723; overflow: hidden; }
.survey-progress__track span { display: block; height: 100%; width: 0; background: #c9df9c; border-radius: inherit; transition: width .2s ease; }
.survey-progress p { font-size: 12px; margin: 10px 0 0; }
.survey-question__heading { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: start; gap: 12px; margin: 0 0 24px; }
.survey-question .survey-question__heading h2 { font: 600 18px/1.5 'Poppins',sans-serif; color: #f1f0e5; margin: 1px 0 0; text-transform: none; }
.survey-question__heading small { font-size: 11px; font-weight: 400; border: 1px solid #4a563d; padding: 3px 7px; border-radius: 4px; margin-top: 3px; }
.survey-number { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 5px; color: #d3e7ac; background: #2a3821; font: 700 16px 'Rajdhani',sans-serif; }
.survey-question textarea { width: 100%; border: 1px solid #4b573e; border-radius: 5px; background: #0c130d; color: #f0f1e7; padding: 16px; resize: vertical; font-size: 15px; }
.survey-question textarea:focus { border-color: #c9df9c; outline: 1px solid #c9df9c; }
.survey-question textarea::placeholder { color: #798672; }
.survey-input-hint { display: flex; justify-content: space-between; gap: 14px; font-size: 12px; color: #acb6a0; margin-top: 8px; }
.survey-options { display: grid; gap: 10px; }
.survey-options--rating { display: flex; gap: 10px; }
.survey-option { display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; border: 1px solid #3f4b34; border-radius: 5px; cursor: pointer; color: #e4e9d9; background: #10170f; }
.survey-option:has(input:checked) { border-color: #c9df9c; background: #26331d; }
.survey-option:hover, .survey-option:focus-within { border-color: #c9df9c; }
.survey-option input { width: 18px; height: 18px; margin: 0; accent-color: #c9df9c; flex-shrink: 0; }
.survey-option input[type="radio"], .survey-option input[type="checkbox"] { display: inline-block; visibility: visible; opacity: 1; position: static; appearance: auto; }
.survey-options--rating .survey-option { flex: 1; justify-content: center; }
.survey-clear { padding: 8px 0; border: 0; background: transparent; color: #c9df9c; font-size: 13px; text-decoration: underline; }
.survey-clear:hover, .survey-clear:focus-visible { color: #e3f2cc; }
.survey-local-notice { font-size: 13px; padding: 12px 16px; border: 1px dashed #455739; border-radius: 5px; margin-bottom: 24px; }
.survey-local-notice a { color: #c9df9c; text-decoration: underline; }
.survey-complete { text-align: center; padding: 40px 30px; }
.survey-complete__icon { width: 56px; height: 56px; border-radius: 50%; background: #2e4325; color: #d7ecb2; display: grid; place-items: center; margin: 0 auto 22px; font-size: 24px; }
.survey-complete .th-btn { margin-top: 12px; }
.survey-answer { padding: 18px 0; border-bottom: 1px solid #34402e; overflow-wrap: anywhere; }
.survey-answer:last-child { border: 0; }
.survey-answer p { margin: 8px 0 0; white-space: pre-wrap; }
.survey-empty { text-align: center; }
.survey-eligibility .survey-tag { margin-bottom: 20px; }
.survey-eligibility__hours { font-size: 36px; color: #edf1df !important; margin: 22px 0; }
.survey-eligibility__hours small { font-size: 15px; }
.survey-eligibility .survey-link { display: inline-block; margin: 18px; }
.survey-eligibility__verified { border-left: 3px solid #c9df9c; padding: 10px 16px; background: #26351f; }
.survey-spin-link { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 20px; margin: 20px 0; color: #b9c1af; }
.survey-spin-link a { color: #d2e6a7; text-decoration: underline; }
@media(max-width:767px) {
    .survey-main { padding-top: calc(var(--section-space-mobile, 60px) + var(--sticky-header-offset, 88px) + 24px); padding-bottom: 40px; }
    .survey-grid { grid-template-columns: 1fr; }
    .survey-card { padding: 22px 18px; }
    .survey-reward-strip { padding: 20px; flex-wrap: wrap; gap: 15px; }
    .survey-reward-strip > div { flex: 1; min-width: 220px; }
    .survey-link { margin-left: 0; }
    .survey-options--rating { gap: 6px; }
    .survey-options--rating .survey-option { padding: 12px 6px; gap: 6px; }
    .survey-question__heading { grid-template-columns: 28px minmax(0,1fr); gap: 10px; }
    .survey-question__heading small { grid-column: 2; justify-self: start; margin: 0; }
    .survey-question .survey-question__heading h2 { font-size: 16px; }
    .survey-progress { padding: 18px; }
    .survey-input-hint { flex-wrap: wrap; }
}
