:root { color-scheme: dark; --signup-ink: #020f1f; --signup-panel: #0d2030; --signup-line: #365368; --signup-text: #f0efe9; --signup-muted: #aabcc8; --signup-accent: #faa230; }
* { box-sizing: border-box; letter-spacing: 0; }
html, body { margin: 0; min-height: 100%; background: var(--signup-ink); color: var(--signup-text); font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; }
body.wanderland-signup-v2 { overflow-y: auto; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
a:hover { color: #ffc575; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #ffc575; outline-offset: 4px; }
[hidden] { display: none !important; }
.signup-shell { position: relative; isolation: isolate; min-height: 100svh; display: flex; flex-direction: column; padding: 0 40px; }
.signup-header, .signup-main, .signup-footer { width: 100%; max-width: 1240px; margin: 0 auto; }
.signup-header { min-height: 108px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.signup-brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.signup-brand img { object-fit: contain; }
.signup-brand span { display: grid; gap: 2px; }
.signup-brand strong { font-size: 18px; line-height: 1.2; font-weight: 800; }
.signup-brand small { color: #aabcc8; font-size: 9px; font-weight: 600; }
.signup-header p { font-size: 13px; color: var(--signup-muted); margin: 0; }
.signup-header p a { color: #ffc575; font-weight: 600; margin-left: 9px; white-space: nowrap; }
.signup-main { flex: 1; display: grid; grid-template-columns: minmax(280px, 1fr) minmax(0, 600px); gap: 76px; align-items: start; padding: 24px 0 40px; }
.signup-journey { padding: 36px 0 0; }
.signup-eyebrow { font-size: 10px; font-weight: 750; text-transform: uppercase; color: #ffc575; line-height: 1.5; }
.signup-journey h1 { font-size: 52px; line-height: 1.08; font-weight: 750; margin: 20px 0 16px; }
.signup-journey h1 em { font-style: normal; color: var(--signup-accent); }
.signup-intro { font-size: 15px; max-width: 290px; color: var(--signup-muted); margin: 0; }
.signup-steps { padding: 0; margin: 36px 0; list-style: none; display: grid; gap: 0; }
.signup-steps li { position: relative; display: flex; align-items: center; gap: 16px; min-height: 74px; color: #9eafbd; }
.signup-steps li > span { flex: 0 0 36px; display: grid; place-items: center; height: 36px; border: 1px solid #496071; border-radius: 50%; font-size: 12px; background: #081a2a; }
.signup-steps li:not(:last-child)::after { content: ""; height: 22px; width: 1px; background: #385163; position: absolute; left: 18px; bottom: -11px; }
.signup-steps strong { display: block; font-size: 14px; font-weight: 650; }
.signup-steps small { display: block; font-size: 12px; margin-top: 3px; color: #9eafbd; }
.signup-steps li.is-current { color: #fff7e9; }
.signup-steps li.is-current > span { color: #102032; background: var(--signup-accent); border-color: var(--signup-accent); font-weight: 800; }
.signup-signature { display: flex; align-items: center; gap: 12px; margin-top: 32px; }
.signup-signature img { object-fit: contain; }
.signup-signature p { font-size: 12px; color: #aabcc8; margin: 0; }
.signup-signature strong { color: #f0efe9; font-weight: 600; }
.signup-panel { min-width: 0; border: 1px solid #344b5c; border-radius: 8px; background: rgba(13,32,48,.95); padding: 32px; box-shadow: 0 18px 60px #0003; }
.signup-panel-heading { margin-bottom: 24px; }
.signup-panel h2 { font-size: 29px; font-weight: 750; line-height: 1.18; margin: 12px 0 10px; color: var(--signup-text); overflow-wrap: anywhere; }
.signup-panel-heading p { color: var(--signup-muted); font-size: 14px; margin: 0; }
.signup-plan { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 0 0 20px; margin-bottom: 20px; border-bottom: 1px solid #344b5c; }
.signup-plan > span:first-child { grid-column: 1 / -1; font-size: 11px; text-transform: uppercase; color: #aabcc8; }
.signup-plan strong { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.signup-plan-price { font-size: 14px; font-weight: 650; color: #ffc575; }
.signup-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.signup-field { min-width: 0; margin: 0 0 18px; }
.signup-field > label { display: block; font-size: 13px; font-weight: 600; margin: 0 0 7px; color: #e2e9eb; }
.signup-field > label small, .signup-optional { color: var(--signup-muted); font-size: 12px; font-weight: 400; margin-left: 6px; }
.signup-field input, .signup-field select, .signup-field textarea { width: 100%; min-width: 0; display: block; border: 1px solid #466275; border-radius: 6px; background: #061725; color: #f4f5f1; min-height: 46px; padding: 10px 12px; font-size: 16px; transition: border-color .15s; }
.signup-field input::placeholder, .signup-field textarea::placeholder { color: #95a8b5; opacity: 1; }
.signup-field input:focus, .signup-field select:focus, .signup-field textarea:focus { border-color: #faa230; }
.signup-field textarea { resize: vertical; min-height: 115px; max-height: 320px; }
#operating-countries { border: 0; padding: 0; margin: 24px 0 18px; min-inline-size: 0; }
#operating-countries legend { width: 100%; padding: 0; margin: 0; border: 0; color: #e2e9eb; font-size: 13px; font-weight: 600; line-height: 1.5; }
#operating-countries .signup-help { margin: 6px 0 12px; }
#operating-countries > label { display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 0; padding: 10px 12px; border-bottom: 1px solid #344b5c; color: #e2e9eb; font-size: 14px; font-weight: 400; cursor: pointer; }
#operating-countries > label:hover { background: #142c3e; }
#operating-countries > label:has(:checked) { background: #183447; color: #fff7e9; box-shadow: inset 3px 0 var(--signup-accent); }
#operating-countries input[type="checkbox"] { appearance: auto; display: block; flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: var(--signup-accent); }
#operating-countries input:focus-visible { outline: 2px solid #ffc575; outline-offset: 4px; }
.signup-password { position: relative; }
.signup-password input { padding-right: 48px; }
.signup-password button { position: absolute; display: grid; place-items: center; right: 2px; top: 2px; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 4px; color: #bac9d0; background: transparent; }
.signup-password svg { width: 19px; height: 19px; }
.signup-password button:hover { background: #203548; }
.signup-help { display: block; font-size: 12px; color: var(--signup-muted); line-height: 1.6; margin: 8px 0 0; }
.signup-actions { display: flex; align-items: center; gap: 20px; margin-top: 26px; }
.signup-primary { display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%; min-height: 48px; border: 0; border-radius: 6px; padding: 12px 18px; background: #faa230; color: #071725; font-weight: 750; font-size: 14px; text-align: center; }
.signup-primary:hover { background: #ffb54b; color: #071725; text-decoration: none; }
.signup-primary:disabled { cursor: wait; opacity: .6; }
.signup-back { background: transparent; color: #c7d4dc; border: 0; min-height: 44px; padding: 8px 0; flex-shrink: 0; font-size: 13px; }
.signup-back span { margin-right: 6px; }
.signup-markets { border: 0; margin: 24px 0 18px; padding: 0; }
.signup-markets legend { display: block; width: auto; color: #e2e9eb; font-size: 13px; font-weight: 600; border: 0; margin-bottom: 8px; }
.signup-markets label { display: flex; align-items: center; gap: 12px; min-height: 50px; padding: 10px 12px; border-bottom: 1px solid #344b5c; font-size: 14px; font-weight: 400; cursor: pointer; }
.signup-markets label:has(:checked) { background: #183447; }
.signup-markets input, .signup-agreement input { accent-color: #faa230; width: 18px; height: 18px; flex-shrink: 0; margin: 0; }
.signup-wander-prompt { display: flex; align-items: center; gap: 12px; padding: 4px 0 24px; }
.signup-wander-prompt img { object-fit: contain; flex-shrink: 0; }
.signup-wander-prompt strong { font-size: 16px; font-weight: 700; }
.signup-wander-prompt p { margin: 4px 0 0; font-size: 14px; color: #c3d1d9; }
.signup-brand-details { border-top: 1px solid #344b5c; border-bottom: 1px solid #344b5c; margin: 24px 0 0; padding: 16px 0; }
.signup-brand-details summary { cursor: pointer; font-size: 13px; font-weight: 600; color: #e2e9eb; }
.signup-brand-details[open] summary { margin-bottom: 20px; }
.signup-ai-handoff { margin-top: 18px; }
.signup-skip { display: block; margin: 14px auto 0; min-height: 44px; padding: 8px 14px; background: transparent; border: 0; color: #bdcdd7; text-decoration: underline; font-size: 13px; }
.signup-totals { width: 100%; border-collapse: collapse; margin: 4px 0 24px; font-size: 13px; table-layout: fixed; }
.signup-section-title { font-size: 16px; color: #f0efe9; margin: 24px 0 18px; padding-bottom: 10px; border-bottom: 1px solid #344b5c; }
.brand-review-results { margin-top: 28px; border-top: 1px solid #476174; padding-top: 20px; overflow-wrap: anywhere; }
.brand-review-results h3 { font-size: 20px; }
.brand-review-results p { color: #c3d1d9; font-size: 14px; }
.brand-review-results small { display: block; font-size: 12px; color: #aabcc8; margin: 10px 0; }
.brand-review-results a { color: #ffc575; font-size: 13px; text-decoration: underline; }
.brand-proposal { border-top: 1px solid #344b5c; margin-top: 20px; padding-top: 16px; }
.brand-proposal h4 { font-size: 16px; color: #ffc575; }
.brand-proposal blockquote { border-left: 2px solid #faa230; padding-left: 14px; margin: 16px 0; font-size: 13px; color: #b5c6d1; }
.signup-totals th { font-weight: 400; color: #c3d1d9; text-align: left; width: 70%; overflow-wrap: anywhere; }
.signup-totals th, .signup-totals td { padding: 8px 0; }
.signup-totals td { text-align: right; font-variant-numeric: tabular-nums; }
.signup-totals .signup-total { border-top: 1px solid #496071; font-size: 17px; }
.signup-total th, .signup-total td { font-weight: 700; color: var(--signup-text); padding-top: 16px; }
.signup-card { min-height: 50px; border: 1px solid #476174; border-radius: 6px; padding: 12px; background: #fff; color-scheme: light; color: #172434; }
.signup-agreement { display: flex; gap: 10px; align-items: center; font-size: 13px; color: #c2d0d9; margin: 20px 0; }
.signup-agreement button { padding: 0; border: 0; background: transparent; color: #ffc575; text-decoration: underline; font: inherit; }
.signup-security { border-top: 1px solid #344b5c; margin: 24px 0 0; padding-top: 16px; font-size: 11px; color: #aabcc8; }
.signup-alert { border: 1px solid #ae8051; border-radius: 6px; background: #312a21; color: #ffe1ba; padding: 12px; margin: 0 0 20px; font-size: 13px; overflow-wrap: anywhere; }
#email-feedback { font-size: 12px; min-height: 0; margin-top: 6px; }
#email-feedback[data-state="error"] { color: #ffb2ae; }
#email-feedback[data-state="success"] { color: #9ddcc2; }
.signup-success { padding: 18px 0; }
.signup-success-mark { display: grid; place-items: center; height: 48px; width: 48px; border-radius: 50%; background: #15413c; color: #94ddc1; font-size: 24px; margin-bottom: 24px; }
.signup-success p { color: #b5c6d1; font-size: 15px; line-height: 1.7; margin-bottom: 24px; }
.signup-footer { min-height: 66px; display: flex; justify-content: space-between; align-items: center; gap: 16px; color: #9eafbd; font-size: 11px; }
.signup-footer nav { display: flex; gap: 20px; }
.signup-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.tw-modal-overlay { position: fixed; z-index: 100; inset: 0; background: #000a; display: none; align-items: center; justify-content: center; padding: 24px; }
.tw-modal-overlay.show { display: flex; }
.tw-modal-content { display: flex; flex-direction: column; background: #0d2030; border: 1px solid #476174; border-radius: 8px; width: 680px; max-width: 100%; max-height: calc(100svh - 48px); }
.tw-modal-header, .tw-modal-footer { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; flex-shrink: 0; }
.tw-modal-header { border-bottom: 1px solid #476174; gap: 16px; }
.tw-modal-header h2 { font-size: 20px; margin: 0; }
.tw-modal-close { background: transparent; border: 0; color: #d2e1e8; font-size: 28px; min-width: 44px; min-height: 44px; }
.tw-modal-body { overflow-y: auto; padding: 4px 24px 20px; color: #c3d1d9; font-size: 14px; }
.tw-modal-body h3 { font-size: 18px; color: #f0efe9; }
.tw-modal-body h4 { font-size: 15px; color: #f0efe9; }
.tw-modal-body a { color: #ffc575; text-decoration: underline; }
.tw-modal-footer { border-top: 1px solid #476174; justify-content: flex-end; }
.tw-modal-footer .tw-btn { color: #071725; background: #faa230; border: 0; border-radius: 6px; font-size: 14px; font-weight: 650; min-height: 44px; }
@media (max-width: 1100px) {
 .signup-shell { padding: 0 28px; }
 .signup-main { grid-template-columns: minmax(230px, 1fr) minmax(0, 560px); gap: 36px; }
 .signup-journey h1 { font-size: 44px; }
 .signup-steps small { max-width: 180px; }
 .signup-panel { padding: 28px; }
}
@media (max-width: 800px) {
 .signup-shell { padding: 0 24px; }
 .signup-header { min-height: 88px; }
 .signup-header p { font-size: 0; }
 .signup-header p a { font-size: 13px; }
 .signup-main { display: block; max-width: 600px; padding: 8px 0 28px; }
 .signup-journey { padding: 0; }
 .signup-journey > .signup-eyebrow, .signup-journey h1, .signup-intro, .signup-signature { display: none; }
 .signup-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0 0 24px; }
 .signup-steps li { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 74px; }
 .signup-steps li > span { width: 30px; height: 30px; flex: 0 0 30px; font-size: 11px; }
 .signup-steps li::after, .signup-steps small { display: none; }
 .signup-steps strong { font-size: 11px; line-height: 1.3; }
 .signup-panel { padding: 24px; }
 .signup-footer { max-width: 600px; flex-wrap: wrap; padding: 16px 0; }
}
@media (max-width: 420px) {
 .signup-shell { padding: 0 16px; }
 .signup-brand strong { font-size: 16px; }
 .signup-brand img { width: 27px; height: 34px; }
 .signup-panel { padding: 22px 18px; }
 .signup-panel h2 { font-size: 26px; }
 .signup-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
 .signup-actions { gap: 12px; }
 .signup-primary { font-size: 13px; padding: 12px; gap: 8px; }
 .signup-plan { grid-template-columns: minmax(0, 1fr); }
 .signup-header { gap: 12px; }
 .signup-header p a { margin: 0; }
 .tw-modal-overlay { padding: 12px; }
 .tw-modal-content { max-height: calc(100svh - 24px); }
 .tw-modal-header, .tw-modal-footer { padding: 16px; }
 .tw-modal-body { padding: 0 16px 16px; }
}
.brand-assumption { border: 0; border-top: 1px solid #476174; margin: 16px 0; padding: 16px 0 0; min-width: 0; }
.brand-assumption textarea, .brand-assumption select { width: 100%; box-sizing: border-box; font: inherit; color: #f0efe9; background: #0b1c2b; border: 1px solid #476174; border-radius: 6px; padding: 12px; }
.brand-assumption textarea { min-height: 88px; resize: vertical; }
.brand-assumption select { min-height: 44px; }
.brand-assumption label { display: block; margin: 8px 0; }
.brand-review-results [hidden] { display: none !important; }
.brand-story-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; margin: 24px 0; border-bottom: 1px solid #476174; }
.brand-story-tabs button { min-height: 52px; padding: 8px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #c2ced7; font: inherit; font-size: 13px; line-height: 1.3; white-space: normal; }
.brand-story-tabs button[aria-selected=true] { border-bottom-color: #faa230; color: #ffc575; }
.brand-story-stage { min-width: 0; }
.brand-story-field { min-width: 0; margin: 16px 0; }
.brand-story-field label, .brand-story-stage article > label { display: block; margin: 8px 0; font-size: 13px; }
.brand-story-stage input:not([type=checkbox]), .brand-story-stage textarea, .brand-story-stage select { width: 100%; min-width: 0; box-sizing: border-box; min-height: 44px; padding: 10px; color: #f0efe9; background: #0b1c2b; border: 1px solid #476174; border-radius: 6px; font: inherit; font-size: 14px; }
.brand-story-stage textarea { resize: vertical; }
.brand-story-stage select[multiple] { min-height: 108px; }
.brand-story-sizes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.brand-story-sizes input { padding: 8px !important; }
.brand-story-check { display: flex !important; align-items: center; gap: 10px; margin: 18px 0; }
.brand-story-check input { flex: 0 0 18px; width: 18px; height: 18px; accent-color: #faa230; }
@media (max-width:380px) {
 .brand-story-sizes { grid-template-columns: minmax(0,1fr); }
 .brand-story-sizes .brand-story-field { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 12px; align-items: center; margin: 8px 0; }
}
@media (prefers-reduced-motion: reduce) { .signup-signature img { display: none; } }
