:root{--nebula-top: #0d1b3e;--nebula-mid: #1a1040;--nebula-deep: #08081f;--gold: #c9a84c;--gold-soft: #e0c479;--orange: #ff6b2b;--orange-hot: #ff8a4d;--neon: #ffffff;--neon-soft: rgba(255, 255, 255, .65);--neon-faint: rgba(255, 255, 255, .15);--text: #f4f1ea;--text-dim: rgba(244, 241, 234, .7);--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-body);color:var(--text);background:var(--nebula-deep);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100vh;min-height:100dvh}body{background:radial-gradient(ellipse at 30% 20%,rgba(120,60,180,.35),transparent 55%),radial-gradient(ellipse at 80% 70%,rgba(40,60,180,.25),transparent 60%),linear-gradient(180deg,var(--nebula-top) 0%,var(--nebula-mid) 60%,var(--nebula-deep) 100%);background-attachment:fixed;overflow-x:hidden}button{font-family:inherit;font-size:1rem;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;margin:0}p{margin:0}a{color:var(--gold);text-decoration:none}.deco-divider{display:flex;align-items:center;gap:.75rem;color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.3em}.deco-divider:before,.deco-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent)}.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-hot) 100%);color:#fff;font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.04em;border-radius:999px;box-shadow:0 8px 24px #ff6b2b59,0 0 0 1px #ffffff14 inset;transition:transform .15s ease,box-shadow .15s ease}.cta-button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #ff6b2b73,0 0 0 1px #ffffff1f inset}.cta-button:active{transform:translateY(0)}.cta-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.star{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 4px #fffc;animation:twinkle ease-in-out infinite}.star--gold{background:var(--gold-soft);box-shadow:0 0 6px #e0c479b3}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.fireworks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.skyline{position:relative;width:100%;max-width:800px;margin:0 auto;animation:skyline-rise 1.2s cubic-bezier(.2,.7,.2,1) both}.skyline-svg{display:block;width:100%;height:auto;position:relative;z-index:2;pointer-events:none}.scene{animation:neon-pulse 6s ease-in-out infinite}@keyframes skyline-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes neon-pulse{0%,to{filter:drop-shadow(0 0 6px rgba(255,255,255,.4))}50%{filter:drop-shadow(0 0 14px rgba(255,255,255,.7))}}.window{fill:#ffd782d9;stroke:none;animation:window-twinkle var(--twinkle-dur, 3.5s) ease-in-out infinite;animation-delay:var(--twinkle-delay, 0s)}@keyframes window-twinkle{0%,to{opacity:.18}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.scene,.skyline,.window{animation:none}.window{opacity:.7}}.landing{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.landing__content{position:relative;z-index:2;flex:1;padding:4rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:720px;width:100%;margin:0 auto}.landing__brand{font-family:var(--font-display);font-size:.75rem;margin-bottom:2.5rem;width:100%;max-width:280px}.landing__headline{font-size:2.25rem;line-height:1.15;margin-bottom:1.25rem;text-shadow:0 2px 30px rgba(0,0,0,.4)}.landing__headline-accent{font-style:italic;font-weight:700;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.landing__subtext{font-size:1rem;line-height:1.6;color:var(--text-dim);max-width:440px;margin-bottom:2.5rem}.landing__cta{margin-bottom:2rem}.landing__skyline-wrap{position:relative;z-index:1;width:100%;margin-top:auto;padding-bottom:env(safe-area-inset-bottom,0)}@media (min-width: 640px){.landing__headline{font-size:3.25rem}.landing__content{padding-top:6rem}}@media (min-width: 900px){.landing__headline{font-size:3.75rem}}.question-card{width:100%;max-width:520px;padding:1.5rem;background:#ffffff0a;border:1px solid var(--neon-faint);border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 40px #0006}.question-card__step{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}.question-card__text{font-family:var(--font-display);font-size:1.25rem;line-height:1.35;color:var(--text)}.question-card__options{list-style:none;padding:1rem 0 0;margin:0;display:flex;flex-direction:column;gap:.5rem}.question-card__options li{list-style:none}.question-card__option-btn{display:block;width:100%;min-height:44px;text-align:left;padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--neon-faint);border-radius:12px;font-size:.95rem;color:var(--text);font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.question-card__option-btn:hover{background:#c9a84c1f;border-color:var(--gold)}.question-card__option-btn:active{transform:scale(.99)}.question-card__option-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.question-card--enter{animation:card-enter .45s cubic-bezier(.2,.7,.2,1) both}.question-card--exit{animation:card-exit .35s cubic-bezier(.5,0,.7,.2) both}@keyframes card-enter{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes card-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}@media (min-width: 640px){.question-card__text{font-size:1.625rem}}.chat-input{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0));background:#0d1b3ed9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--neon-faint)}.chat-input__textarea{flex:1;background:#ffffff0d;border:1px solid var(--neon-faint);border-radius:18px;padding:.75rem 1rem;color:var(--text);resize:none;outline:none;max-height:120px;line-height:1.4;transition:border-color .15s ease,background .15s ease}.chat-input__textarea:focus{border-color:var(--gold);background:#ffffff14}.chat-input__textarea::placeholder{color:var(--text-dim)}.chat-input__voice,.chat-input__send{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--text);flex-shrink:0;transition:background .15s ease,transform .1s ease,opacity .15s ease}.chat-input__voice{background:#c9a84c1f;border:1px solid var(--gold);color:var(--gold)}.chat-input__voice:hover:not(:disabled){background:#c9a84c33}.chat-input__send{background:linear-gradient(135deg,var(--orange) 0%,var(--orange-hot) 100%);color:#fff;box-shadow:0 4px 14px #ff6b2b59}.chat-input__send:hover:not(:disabled){transform:translateY(-1px)}.chat-input__send:disabled,.chat-input__voice:disabled{opacity:.4;cursor:not-allowed}.qualify{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.qualify__header{position:relative;z-index:2;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;padding-top:calc(1rem + env(safe-area-inset-top,0))}.qualify__back{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#ffffff0d;border:1px solid var(--neon-faint);color:var(--text);transition:background .15s ease}.qualify__back:hover{background:#ffffff1a}.qualify__brand{font-family:var(--font-display);font-size:.85rem;color:var(--gold);letter-spacing:.3em;text-transform:uppercase}.qualify__stage{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden}.qualify__stage .question-card{position:absolute}.qualify__thinking{display:flex;align-items:center;gap:.5rem;color:var(--text-dim)}.qualify__thinking p{font-family:var(--font-display);font-style:italic;font-size:1.1rem}.qualify__thinking-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:bounce 1.2s ease-in-out infinite}.qualify__thinking-dot:nth-child(2){animation-delay:.15s}.qualify__thinking-dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.qualify__error{max-width:460px;padding:1.5rem;background:#ff46461a;border:1px solid rgba(255,70,70,.4);border-radius:16px;text-align:center;color:var(--text);display:flex;flex-direction:column;gap:1rem;align-items:center}.space-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow-y:auto;background:#1a1535;color:var(--text, #f5ecd6);font-family:inherit}.space-loader__content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;min-height:100%;padding:2rem 1.25rem;max-width:720px;margin:0 auto;text-align:center}.space-loader__wordmark{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.85rem,5.5vw,3rem);font-weight:700;letter-spacing:.02em;background:linear-gradient(135deg,var(--gold, #c9a84c) 0%,#f4d77a 50%,var(--gold, #c9a84c) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(201,168,76,.3)}.space-loader__constellation{width:100%;max-width:480px;height:auto;aspect-ratio:480 / 260}.space-loader__line{stroke:var(--gold, #c9a84c);stroke-width:1;stroke-opacity:.45;fill:none;stroke-dasharray:600;stroke-dashoffset:600;animation-name:constellation-draw;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes constellation-draw{to{stroke-dashoffset:0}}.space-loader__node-glow{fill:var(--gold, #c9a84c);opacity:.12;animation:node-glow 3.5s ease-in-out infinite}@keyframes node-glow{0%,to{opacity:.08}50%{opacity:.4}}.space-loader__node-dot{fill:var(--gold, #c9a84c);stroke:#fff9;stroke-width:.5}.space-loader__node-label{fill:var(--gold, #c9a84c);font-size:10px;font-family:inherit;font-weight:500;letter-spacing:.04em;opacity:0;animation:label-fade .6s ease-out forwards}@keyframes label-fade{to{opacity:.88}}.space-loader__steps{list-style:none;padding:1.25rem 1.5rem;margin:0;width:100%;max-width:440px;background:#ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(201,168,76,.25);border-radius:14px;display:flex;flex-direction:column;gap:.65rem;text-align:left}.space-loader__step{display:flex;align-items:center;gap:.75rem;font-size:.92rem;line-height:1.35;transition:opacity .4s ease,color .4s ease}.space-loader__step.is-upcoming{opacity:.45;color:var(--text-dim, #b9b1a3)}.space-loader__step.is-current{opacity:1;color:var(--text, #f5ecd6);animation:step-appear .5s ease-out}.space-loader__step.is-done{opacity:.85;color:var(--text, #f5ecd6)}@keyframes step-appear{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.space-loader__step-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex-shrink:0;font-size:.85rem;font-weight:700}.space-loader__step.is-done .space-loader__step-icon{background:#c9a84c26;border:1px solid var(--gold, #c9a84c);color:var(--gold, #c9a84c);animation:check-pop .35s ease-out}.space-loader__step.is-current .space-loader__step-icon{background:#c9a84c1a;border:1px solid rgba(201,168,76,.5)}.space-loader__step.is-upcoming .space-loader__step-icon{background:transparent;border:1px solid rgba(201,168,76,.2)}@keyframes check-pop{0%{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}.space-loader__step-dots{display:inline-flex;gap:2px}.space-loader__step-dots span{display:block;width:3px;height:3px;border-radius:50%;background:var(--gold, #c9a84c);animation:dot-pulse 1.4s ease-in-out infinite}.space-loader__step-dots span:nth-child(2){animation-delay:.2s}.space-loader__step-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.space-loader__fact{width:100%;max-width:480px;min-height:110px;padding:1rem 1.25rem;background:#c9a84c0f;border:1px solid rgba(201,168,76,.25);border-radius:12px;overflow:hidden;position:relative}.space-loader__fact-inner{animation:fact-slide .65s ease-out}@keyframes fact-slide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.space-loader__fact-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold, #c9a84c);margin-bottom:.35rem;font-weight:600}.space-loader__fact-text{font-size:.95rem;line-height:1.45;color:var(--text, #f5ecd6)}.space-loader__reassure{font-size:.78rem;color:var(--text-dim, #b9b1a3);max-width:360px;line-height:1.45;margin:0;opacity:.85}@media (max-width: 480px){.space-loader__content{gap:1.1rem;padding:1.5rem 1rem}.space-loader__constellation{max-width:100%}.space-loader__node-label{font-size:9px}.space-loader__steps{padding:1rem 1.1rem;gap:.55rem}.space-loader__step{font-size:.85rem}.space-loader__fact{min-height:100px;padding:.85rem 1rem}.space-loader__fact-text{font-size:.88rem}}@media (prefers-reduced-motion: reduce){.space-loader__line,.space-loader__node-glow,.space-loader__node-label,.space-loader__step,.space-loader__step-dots span,.space-loader__fact-inner{animation:none!important}.space-loader__line{stroke-dashoffset:0}.space-loader__node-glow{opacity:.25}.space-loader__node-label{opacity:.88}}.building{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:2rem 1.5rem}.building__content{position:relative;z-index:2;max-width:480px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.building__deco{font-size:.7rem;width:100%;max-width:220px}.building__headline{font-size:1.625rem;line-height:1.2;background:linear-gradient(135deg,#ffffff 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.building__summary{color:var(--text-dim);font-size:.875rem;line-height:1.5;max-width:340px}.building__actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:.5rem}.building__link{color:var(--text-dim);font-size:.875rem;text-decoration:underline;text-underline-offset:4px;padding:.5rem}.building__link:hover{color:var(--text)}@media (min-width: 640px){.building__headline{font-size:2.5rem}}.pretrip-card{position:relative;margin:0 0 1.5rem;padding:1.5rem 1.25rem;background:radial-gradient(ellipse at top left,rgba(201,168,76,.08) 0%,transparent 60%),linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(201,168,76,.3);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #00000059,inset 0 1px #ffffff0a}.pretrip-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:1px;background:linear-gradient(to left,var(--gold),transparent)}.pretrip-card__brand{font-size:.7rem;margin-bottom:.875rem;max-width:240px}.pretrip-card__intro{color:var(--text-dim);font-size:.9rem;line-height:1.55;margin:0 0 1.25rem}.pretrip-section{border-top:1px solid var(--neon-faint)}.pretrip-section:last-child{border-bottom:1px solid var(--neon-faint)}.pretrip-section__summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.75rem 0;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}.pretrip-section__summary::-webkit-details-marker{display:none}.pretrip-section__summary::marker{content:""}.pretrip-section__title{font-size:.95rem;color:var(--text);line-height:1.35}.pretrip-section__chevron{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.35rem;font-weight:300;font-family:var(--font-display);line-height:1;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.pretrip-section[open] .pretrip-section__chevron{transform:rotate(45deg)}.pretrip-section[open] .pretrip-section__title{color:var(--gold-soft)}.pretrip-section__list{list-style:none;padding:0 0 1rem;margin:0;animation:pretrip-fade-in .25s ease-out}.pretrip-section__list li{position:relative;padding:.35rem 0 .35rem 1rem;color:var(--text-dim);font-size:.875rem;line-height:1.55}.pretrip-section__list li:before{content:"";position:absolute;left:0;top:.85rem;width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.7}@keyframes pretrip-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.pretrip-section__chevron,.pretrip-section__list{transition:none;animation:none}}@media (min-width: 640px){.pretrip-card{padding:1.75rem 1.5rem}}.timeline-card{position:relative;margin:0 0 1.5rem;padding:1.5rem 1.25rem;background:radial-gradient(ellipse at bottom right,rgba(201,168,76,.06) 0%,transparent 60%),#ffffff08;border:1px solid var(--neon-faint);border-radius:18px;box-shadow:0 10px 30px #00000059,inset 0 1px #ffffff0a}.timeline-card__brand{font-size:.7rem;margin-bottom:1rem;max-width:260px}.timeline{list-style:none;padding:0;margin:0;position:relative}.timeline:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:1px;background:linear-gradient(180deg,var(--gold) 0%,var(--gold) 60%,rgba(201,168,76,.2) 100%)}.timeline__item{position:relative;padding:0 0 1.5rem 1.75rem}.timeline__item:last-child{padding-bottom:0}.timeline__dot{position:absolute;left:0;top:2px;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px #c9a84c99,inset 0 0 0 2px #08081fe6}.timeline__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem;margin-bottom:.25rem}.timeline__label{color:var(--gold);font-weight:500;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.timeline__audience{font-size:.72rem;letter-spacing:.05em;color:var(--text-dim);font-style:italic;text-transform:lowercase}.timeline__date{color:var(--text);font-size:.85rem;font-variant-numeric:tabular-nums}.timeline__action{color:var(--text-dim);font-size:.92rem;line-height:1.5}@media (min-width: 640px){.timeline-card{padding:1.75rem 1.75rem 1.5rem}.timeline__action{font-size:.95rem}}.finalize-card{position:sticky;bottom:0;left:0;right:0;z-index:10;padding:.875rem 1rem calc(.875rem + env(safe-area-inset-bottom,0));background:linear-gradient(180deg,#0d1b3ed9,#0d1b3ef2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgba(201,168,76,.35);box-shadow:0 -8px 30px #0006}.finalize-card:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:1px;background:linear-gradient(to right,transparent,var(--gold) 50%,transparent)}.finalize-card__body{display:flex;align-items:center;gap:1rem;max-width:720px;margin:0 auto}.finalize-card__copy{flex:1;min-width:0}.finalize-card__title{font-family:var(--font-display);font-size:1rem;color:var(--text);margin-bottom:.15rem;letter-spacing:.01em}.finalize-card__sub{font-size:.78rem;color:var(--text-dim);line-height:1.4}.finalize-card__cta{flex-shrink:0;padding:.75rem 1.25rem;font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;gap:.4rem}.finalize-card__cta:disabled{opacity:.7;cursor:not-allowed}.finalize-card__spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:finalize-spin .8s linear infinite}@keyframes finalize-spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.finalize-card__body{flex-direction:column;align-items:stretch;gap:.625rem}.finalize-card__cta{justify-content:center}}.paywall-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#08081fc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:paywall-fade-in .2s ease-out}@keyframes paywall-fade-in{0%{opacity:0}to{opacity:1}}.paywall-modal{position:relative;width:100%;max-width:420px;background:radial-gradient(ellipse at top right,rgba(201,168,76,.1) 0%,transparent 60%),linear-gradient(160deg,#0d1b3efa,#1a1040fa);border:1px solid rgba(201,168,76,.45);border-radius:24px;padding:1.75rem 1.5rem 1.5rem;color:var(--text);box-shadow:0 24px 60px #0009,inset 0 1px #ffffff0a;outline:none;animation:paywall-rise .28s cubic-bezier(.2,.7,.2,1)}@keyframes paywall-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.paywall-modal:before{content:"";position:absolute;top:0;left:0;width:80px;height:1px;background:linear-gradient(to right,var(--gold),transparent)}.paywall-modal__close{position:absolute;top:.5rem;right:.5rem;width:36px;height:36px;border-radius:50%;background:transparent;color:var(--text-dim);font-size:1.5rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease}.paywall-modal__close:hover{background:#ffffff0f;color:var(--text)}.paywall-modal__deco{font-size:.7rem;margin-bottom:1rem;max-width:220px}.paywall-modal__title{font-family:var(--font-display);font-size:1.5rem;line-height:1.2;margin:0 0 1.25rem;background:linear-gradient(135deg,#ffffff 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.paywall-modal__bullets{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.625rem}.paywall-modal__bullets li{display:flex;align-items:flex-start;gap:.625rem;font-size:.92rem;line-height:1.45;color:var(--text)}.paywall-modal__check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#c9a84c29;border:1px solid var(--gold);color:var(--gold);font-size:.7rem;font-weight:700;margin-top:.05rem}.paywall-modal__cta{width:100%;padding:.875rem 1rem;font-size:1rem;justify-content:center}.paywall-modal__finePrint{margin:.75rem 0 0;text-align:center;font-size:.72rem;color:var(--text-dim);opacity:.75}.paywall-modal__form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.paywall-modal__field{display:flex;flex-direction:column;gap:.3rem;text-align:left}.paywall-modal__field-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.paywall-modal__optional{text-transform:none;letter-spacing:0;opacity:.7;font-size:.7rem}.paywall-modal__input{width:100%;box-sizing:border-box;padding:.6rem .75rem;background:#ffffff0a;border:1px solid rgba(201,168,76,.3);border-radius:8px;color:var(--text);font-size:.95rem;font-family:inherit;transition:border-color .15s ease,background .15s ease}.paywall-modal__input:focus{outline:none;border-color:var(--gold);background:#ffffff0f}.paywall-modal__input:disabled{opacity:.5;cursor:not-allowed}.paywall-modal__input::placeholder{color:var(--text-dim);opacity:.5}.paywall-modal__error{margin:0;font-size:.8rem;color:#ff8e8e;text-align:left}.paywall-modal__cta:disabled{opacity:.6;cursor:not-allowed}@media (min-width: 640px){.paywall-modal{padding:2rem 2rem 1.75rem}.paywall-modal__title{font-size:1.75rem}}.finalize-actions{position:sticky;bottom:0;left:0;right:0;z-index:10;padding:.875rem 1rem calc(.875rem + env(safe-area-inset-bottom,0));background:linear-gradient(180deg,#0d1b3ed9,#0d1b3ef2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgba(201,168,76,.5);box-shadow:0 -8px 30px #0006}.finalize-actions:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:1px;background:linear-gradient(to right,transparent,var(--gold) 50%,transparent)}.finalize-actions__verified{font-size:.65rem;max-width:240px;margin:0 auto .5rem}.finalize-actions__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-width:720px;margin:0 auto}.finalize-actions__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:56px;padding:.5rem .25rem;background:#ffffff0a;border:1px solid var(--neon-faint);border-radius:12px;color:var(--text);font-size:.72rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.finalize-actions__btn:hover{background:#c9a84c1a;border-color:var(--gold);transform:translateY(-1px)}.finalize-actions__btn:active{transform:translateY(0)}.finalize-actions__btn svg{color:var(--gold)}@media print{.finalize-actions,.finalize-card,.results__header,.stars{display:none!important}}@media (max-width: 380px){.finalize-actions__grid{grid-template-columns:repeat(2,1fr)}}.results{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden}.results__header{position:relative;z-index:2;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;padding-top:calc(1rem + env(safe-area-inset-top,0))}.results__back{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#ffffff0d;border:1px solid var(--neon-faint);color:var(--text);font-size:1.25rem;line-height:1}.results__brand{font-family:var(--font-display);font-size:.85rem;color:var(--gold);letter-spacing:.3em;text-transform:uppercase}.results__content{position:relative;z-index:2;flex:1;padding:1rem 1rem 4rem;max-width:720px;width:100%;margin:0 auto}@media (min-width: 640px){.results__content{padding:1rem 1.5rem 4rem}}.results__finalize-error{margin:1rem 0 0;padding:.75rem 1rem;background:#ff46461a;border:1px solid rgba(255,70,70,.4);border-radius:12px;color:var(--text);font-size:.85rem;line-height:1.45}.results__empty{text-align:center;color:var(--text-dim);padding:4rem 0}.itinerary__intro{margin-bottom:2rem}.itinerary__title{font-size:1.875rem;margin-bottom:.75rem;background:linear-gradient(135deg,#ffffff 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.itinerary__summary{color:var(--text-dim);line-height:1.6}.itinerary__cost{margin-top:.75rem;font-size:.95rem;color:var(--text)}.itinerary__cost-notes{color:var(--text-dim);font-size:.85rem}.day-carousel{margin-bottom:2rem}.day-indicator{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.875rem}.day-indicator__label{font-family:var(--font-display);font-size:1rem;color:var(--text);letter-spacing:.02em}.day-indicator__label span{color:var(--text-dim);font-size:.85rem;font-style:italic}.day-indicator__dots{display:flex;align-items:center;gap:.4rem}.day-indicator__dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#fff3;cursor:pointer;transition:width .22s ease,background .22s ease,box-shadow .22s ease,border-radius .22s ease}.day-indicator__dot:hover{background:#fff6}.day-indicator__dot.is-active{width:22px;background:var(--gold);border-radius:4px;box-shadow:0 0 6px #c9a84c99}.day-carousel__stage{position:relative}.day-carousel__viewport{overflow:hidden;border-radius:18px;touch-action:pan-y;outline:none;cursor:grab}.day-carousel__viewport:focus-visible{box-shadow:0 0 0 2px var(--gold)}.day-carousel__track{display:flex;transition:transform .35s cubic-bezier(.2,.7,.2,1);will-change:transform}.day-carousel__track--dragging{transition:none;cursor:grabbing}.day-carousel__slide{flex:0 0 100%;min-width:0}.day-carousel__slide .day-card{margin-bottom:0}.day-carousel__arrow{position:absolute;top:50%;z-index:2;display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#0d1b3ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gold);color:var(--gold);font-size:1.6rem;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .15s ease,transform .15s ease}.day-carousel__arrow:hover{background:#0d1b3ef2;transform:translateY(-50%) scale(1.05)}.day-carousel__arrow--prev{left:.75rem}.day-carousel__arrow--next{right:.75rem}@media (min-width: 768px){.day-carousel__arrow{display:inline-flex}}@media (prefers-reduced-motion: reduce){.day-carousel__track,.day-indicator__dot{transition:none}}.hotel-card{position:relative;margin:0 0 2rem;padding:1.5rem 1.25rem;background:radial-gradient(ellipse at top right,rgba(201,168,76,.08) 0%,transparent 60%),linear-gradient(135deg,#ffffff0f,#ffffff08);border:1px solid rgba(201,168,76,.35);border-radius:22px;overflow:hidden;box-shadow:0 12px 36px #0006,inset 0 1px #ffffff0d;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s ease,box-shadow .2s ease}.hotel-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 18px 44px #00000080,0 0 0 1px #c9a84c40,inset 0 1px #ffffff14}.hotel-card:before{content:"";position:absolute;top:0;left:0;width:80px;height:1px;background:linear-gradient(to right,var(--gold),transparent)}.hotel-card__deco{font-size:.7rem;margin-bottom:.875rem;max-width:240px}.hotel-card__name{font-family:var(--font-display);font-size:1.75rem;line-height:1.15;margin:0 0 .5rem;background:linear-gradient(135deg,#ffffff 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hotel-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.875rem;font-size:.9rem;color:var(--text-dim)}.hotel-card__area{font-weight:500;color:var(--text)}.hotel-card__sep{color:var(--neon-faint)}.hotel-card__stars{display:inline-flex;gap:.1rem;line-height:1}.hotel-card__star{color:#fff3;font-size:1.05rem}.hotel-card__star--filled{color:var(--gold);text-shadow:0 0 6px rgba(201,168,76,.5)}.hotel-card__price{font-family:var(--font-display);font-size:1.5rem;color:var(--text);margin:.25rem 0 1rem;line-height:1}.hotel-card__per{font-family:var(--font-body);font-size:.85rem;color:var(--text-dim);font-weight:400;margin-left:.25rem}.hotel-card__why{color:var(--text-dim);font-size:.95rem;line-height:1.6;margin:0 0 1.25rem}.hotel-card__map-link{display:inline-flex;align-items:center;min-height:44px;gap:.45rem;padding:.625rem 1.1rem;background:#c9a84c1f;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:.875rem;font-weight:500;letter-spacing:.02em;text-decoration:none;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.hotel-card__map-link:hover{background:#c9a84c38;transform:translateY(-1px);box-shadow:0 6px 18px #c9a84c33}.hotel-card__map-link:active{transform:translateY(0)}@media (min-width: 640px){.hotel-card{padding:2rem 2rem 1.75rem}.hotel-card__name{font-size:2.125rem}}.day-card{background:#ffffff0a;border:1px solid var(--neon-faint);border-radius:18px;padding:1.125rem 1rem;margin-bottom:1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media (min-width: 640px){.day-card{padding:1.25rem 1.5rem;margin-bottom:1.5rem}}.day-card__header{margin-bottom:1rem;border-bottom:1px solid var(--neon-faint);padding-bottom:.75rem}.day-card__num{font-size:.7rem;text-transform:uppercase;letter-spacing:.3em;color:var(--gold);margin-bottom:.25rem}.day-card__date{color:var(--text-dim);font-size:.85rem;margin-bottom:.25rem}.day-card__theme{font-size:1.35rem;font-family:var(--font-display)}.day-card__slot{margin-top:1rem}.day-card__slot h3{font-family:var(--font-display);font-size:.95rem;color:var(--gold);font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.day-card__slot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.day-card__slot .time{display:inline-block;font-variant-numeric:tabular-nums;color:var(--gold-soft);margin-right:.5rem;font-size:.85rem}.day-card__slot .activity{font-weight:500}.day-card__slot .activity--link{color:inherit;text-decoration:underline;text-decoration-color:#c9a84c59;text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s ease,color .15s ease}.day-card__slot .activity--link:hover{color:var(--gold-soft);text-decoration-color:var(--gold)}.day-card__slot .location{color:var(--text-dim);font-size:.9rem}.day-card__slot .why{color:var(--text-dim);font-size:.875rem;margin-top:.25rem;line-height:1.45}.day-card__slot .tip{font-size:.8rem;color:var(--gold-soft);margin-top:.25rem;line-height:1.4}.day-card__slot li .meal-card{margin-top:.5rem}.meal-card-list{display:flex;flex-direction:column;gap:.5rem}.meal-card{display:block;padding:.625rem .75rem;background:#ffffff0a;border:1px solid var(--neon-faint);border-radius:12px;text-decoration:none;color:inherit;transition:background .15s ease,border-color .15s ease,transform .1s ease}.meal-card--link{cursor:pointer}.meal-card--link:hover{background:#ffffff0f;border-color:#c9a84c73;transform:translateY(-1px)}.meal-card--link:active{transform:translateY(0)}.meal-card--link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.meal-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.meal-card__type{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-weight:500}.meal-card__reservation{flex-shrink:0;display:inline-block;padding:.08rem .5rem;background:#c9a84c1f;border:1px solid rgba(201,168,76,.55);border-radius:999px;font-size:.62rem;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;line-height:1.4}.meal-card__name{font-size:.95rem;color:var(--text);font-weight:500;line-height:1.3}.meal-card__location{font-size:.8rem;color:var(--text-dim);margin-top:.15rem;line-height:1.4}.day-card__lodging,.day-card__logistics{margin-top:.75rem;color:var(--text-dim);font-size:.9rem}.itinerary__warnings,.itinerary__sources{margin-top:2rem;padding:1rem 1.25rem;background:#ffffff08;border:1px solid var(--neon-faint);border-radius:14px}.itinerary__warnings h3,.itinerary__sources h3{font-family:var(--font-display);font-size:1rem;margin-bottom:.5rem;color:var(--gold)}.itinerary__warnings ul,.itinerary__sources ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;color:var(--text-dim);font-size:.875rem;line-height:1.5}.itinerary__sources a{color:var(--gold-soft);text-decoration:underline}.results__fallback{margin-top:2rem}.results__fallback-note{color:var(--text-dim);font-size:.875rem;margin-bottom:1rem}.results__raw{background:#0006;border:1px solid var(--neon-faint);border-radius:12px;padding:1rem;color:var(--text-dim);font-size:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-x:auto}
