
:root{--ink:#0b0b0c;--paper:#f7f6f2;--white:#fff;--muted:#6f716e;--line:#dadbd5;--acid:#d7ff35;--experience:#97eee1;--experienceSoft:#e2faf6;--soft:#ecece6;--shadow:0 24px 70px rgba(0,0,0,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{max-width:1480px;margin:0 auto;background:var(--paper);min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);position:sticky;top:0;z-index:30;background:rgba(247,246,242,.88);backdrop-filter:blur(24px);border-bottom:1px solid rgba(20,20,20,.07)}.brand{font-weight:900;letter-spacing:.13em;font-size:18px}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:14px;font-weight:650}.nav .prime{background:var(--acid);padding:11px 18px;border-radius:999px}.hero{padding:26px clamp(18px,4vw,58px) 60px}.heroMedia{min-height:min(760px,76vh);border-radius:34px;overflow:hidden;position:relative;background:#1a1a1a center/cover no-repeat;box-shadow:var(--shadow);display:flex;align-items:flex-end}.heroMedia:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.07) 35%,rgba(0,0,0,.66))}.heroCopy{position:relative;z-index:2;color:white;padding:clamp(26px,5vw,68px);max-width:930px}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800}.eyebrow{color:var(--muted);margin-bottom:10px}.hero h1{font-size:clamp(54px,8.2vw,122px);line-height:.85;letter-spacing:-.075em;margin:16px 0 20px;font-weight:800}.hero p{font-size:clamp(18px,2vw,26px);line-height:1.3;max-width:760px;margin:0 0 28px}.ctaRow{display:flex;gap:10px;flex-wrap:wrap}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border-radius:999px;border:1px solid transparent;background:var(--acid);color:#11120c;font-size:16px;font-weight:850;cursor:pointer}.cta.dark{background:#111;color:#fff}.cta.ghost{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45);color:white;backdrop-filter:blur(12px)}.cta.soft{background:var(--soft);color:var(--ink)}.section{padding:74px clamp(18px,4vw,58px)}.section.tight{padding-top:34px}.sectionHead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.sectionHead h2{font-size:clamp(38px,5vw,72px);line-height:.94;letter-spacing:-.055em;margin:0}.sectionHead p{max-width:550px;color:var(--muted);font-size:17px;line-height:1.5;margin:0}.categoryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.categoryCard{min-height:330px;border-radius:28px;overflow:hidden;position:relative;background:#ddd center/cover no-repeat;display:flex;align-items:flex-end;padding:24px;transition:.3s transform}.categoryCard:hover{transform:translateY(-4px)}.categoryCard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,rgba(0,0,0,.72))}.categoryCard>*{position:relative;z-index:2;color:#fff}.categoryCard h3{font-size:34px;letter-spacing:-.04em;margin:0}.categoryCard p{font-size:15px;margin:4px 0 0;opacity:.85}.destRow{display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.destCard{min-width:min(390px,82vw);height:480px;scroll-snap-align:start;border-radius:28px;overflow:hidden;background:#ccc center/cover no-repeat;position:relative;display:flex;align-items:flex-end;padding:24px}.destCard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.64))}.destCard div{position:relative;z-index:2;color:#fff}.destCard h3{font-size:40px;line-height:.92;letter-spacing:-.045em;margin:0 0 7px}.destCard span{font-size:14px;opacity:.86}.manifesto{background:#111;color:white;border-radius:34px;margin:0 clamp(18px,4vw,58px);padding:clamp(34px,6vw,84px)}.manifesto h2{font-size:clamp(44px,7vw,98px);line-height:.88;letter-spacing:-.065em;margin:0 0 26px;max-width:1100px}.manifesto p{font-size:clamp(18px,2vw,25px);color:#bbb;max-width:760px}.manifesto .acid{color:var(--acid)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pick{background:white;border-radius:28px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;min-height:100%}.pickImg{height:330px;background:#ddd center/cover no-repeat;position:relative}.badge{position:absolute;left:16px;top:16px;background:#fff;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.pickBody{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.pickBody h3{font-size:30px;letter-spacing:-.035em;line-height:1;margin:0}.pickBody p{font-size:16px;color:var(--muted);line-height:1.45;margin:0}.tags{display:flex;gap:7px;flex-wrap:wrap}.tag{font-size:12px;background:#f0f0eb;padding:7px 9px;border-radius:999px}.money{margin-top:auto;padding-top:12px}.money .cta{width:100%;border-radius:16px;min-height:56px;font-size:17px}.subtle{font-size:12px;color:#8a8a87;margin-top:8px}.completeGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.addon{background:white;border:1px solid var(--line);border-radius:22px;padding:22px;min-height:180px;display:flex;flex-direction:column}.addon .icon{font-size:29px}.addon h3{font-size:24px;letter-spacing:-.03em;margin:auto 0 4px}.addon p{color:var(--muted);margin:0 0 14px}.addon a{font-weight:850}.addon a span{background:var(--acid);padding:5px 8px;border-radius:999px}.footer{margin-top:70px;background:#111;color:#fff;padding:52px clamp(18px,4vw,58px)}.footerGrid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:30px}.footer h4{font-size:13px;margin:0 0 12px}.footer a,.footer p{color:#aaa;font-size:14px;line-height:1.8}.footer .brand{font-size:24px;color:white}.pageHero{padding:80px clamp(18px,4vw,58px) 34px}.pageHero h1{font-size:clamp(58px,9vw,126px);line-height:.84;letter-spacing:-.075em;margin:0;max-width:1150px}.pageHero p{font-size:clamp(18px,2vw,25px);color:var(--muted);max-width:700px;line-height:1.4}.dnaLaunch{background:#111;color:white;border-radius:32px;padding:clamp(28px,5vw,62px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}.dnaLaunch h2{font-size:clamp(42px,6vw,82px);line-height:.9;letter-spacing:-.06em;margin:0}.dnaLaunch p{color:#bbb;font-size:18px;max-width:620px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(14px);z-index:100;display:none;place-items:center;padding:14px}.overlay.on{display:grid}.modal{width:min(860px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:32px;padding:clamp(24px,5vw,48px);position:relative}.close{position:absolute;right:20px;top:20px;border:0;background:#e8e8e1;width:42px;height:42px;border-radius:50%;font-size:20px}.progress{font-size:12px;color:var(--muted);margin-bottom:24px}.step{display:none}.step.on{display:block}.step h2{font-size:clamp(40px,6vw,70px);letter-spacing:-.055em;line-height:.94;margin:0 0 12px}.step p{color:var(--muted);font-size:17px}.field{margin:22px 0}.field label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.field select,.field input{width:100%;border:1px solid var(--line);border-radius:17px;background:white;padding:17px;font-size:18px;outline:none}.choices{display:flex;gap:9px;flex-wrap:wrap}.choice{border:1px solid var(--line);background:white;padding:12px 15px;border-radius:999px;font-size:16px}.choice.on{background:#111;color:white;border-color:#111}.modalActions{display:flex;justify-content:space-between;gap:10px;margin-top:28px}.modalActions button{border:0;border-radius:999px;padding:14px 20px;font-weight:850}.modalActions .next{background:var(--acid)}.modalActions .back{background:#e8e8e1}.matchShell{padding:32px clamp(18px,4vw,58px) 80px}.matchTitle{font-size:clamp(48px,7vw,92px);line-height:.88;letter-spacing:-.065em;margin:0 0 12px}.matchMeta{font-size:17px;color:var(--muted);margin-bottom:34px}.heroPick{display:grid;grid-template-columns:1.25fr .75fr;min-height:590px;background:#111;color:white;border-radius:32px;overflow:hidden;margin-bottom:20px}.heroPick .media{background:center/cover no-repeat;min-height:520px}.heroPick .copy{padding:clamp(26px,4vw,48px);display:flex;flex-direction:column}.heroPick h2{font-size:clamp(42px,5vw,70px);line-height:.9;letter-spacing:-.055em;margin:10px 0}.heroPick p{color:#bbb;font-size:18px;line-height:1.5}.heroPick .money{margin-top:auto}.heroPick .cta{width:100%;border-radius:16px}.priveFlag{display:inline-flex;width:max-content;background:#fff;color:#111;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:850}.priveBlock{background:#0f0f10;color:#fff;border-radius:32px;padding:clamp(28px,5vw,62px);margin:26px 0}.priveBlock h2{font-size:clamp(46px,6vw,84px);line-height:.9;letter-spacing:-.06em;margin:10px 0 18px}.priveBlock p{color:#aaa;font-size:18px;max-width:720px}.leadForm{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}.leadForm input,.leadForm select{border:1px solid #333;background:#181818;color:white;border-radius:15px;padding:15px;font-size:16px}.leadForm .wide{grid-column:1/-1}.leadForm button{grid-column:1/-1;border:0;border-radius:15px;padding:16px;background:var(--acid);font-weight:900;font-size:17px}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#111;color:#fff;padding:12px 16px;border-radius:999px;z-index:200;display:none}.toast.on{display:block}
@media(max-width:980px){.categoryGrid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.completeGrid{grid-template-columns:1fr 1fr}.heroPick{grid-template-columns:1fr}.footerGrid{grid-template-columns:1fr 1fr}.dnaLaunch{grid-template-columns:1fr}.nav a:not(.prime){display:none}.heroMedia{min-height:68vh}}
@media(max-width:640px){.topbar{height:68px;padding:0 14px}.nav{gap:8px}.nav .prime{padding:10px 13px;font-size:13px}.hero{padding:14px 12px 42px}.heroMedia{min-height:72vh;border-radius:24px}.heroCopy{padding:24px}.hero h1{font-size:58px}.hero p{font-size:19px}.section{padding:54px 14px}.sectionHead{display:block}.sectionHead p{margin-top:14px}.categoryGrid,.cards,.completeGrid{grid-template-columns:1fr}.categoryCard{min-height:360px}.pickImg{height:360px}.destCard{height:440px}.manifesto{margin:0 12px;border-radius:24px}.manifesto h2{font-size:49px}.pageHero{padding:60px 14px 28px}.pageHero h1{font-size:61px}.dnaLaunch{border-radius:24px}.modal{border-radius:24px;padding:26px 18px}.modalActions button{flex:1}.matchShell{padding:24px 12px 62px}.heroPick{border-radius:24px}.heroPick .media{min-height:430px}.leadForm{grid-template-columns:1fr}.leadForm .wide,.leadForm button{grid-column:1}.footerGrid{grid-template-columns:1fr}.footer{padding:44px 18px}.cta{min-height:56px;font-size:17px}}


/* v11 text-first match results */
.fitIntro{padding:10px 0 8px;max-width:880px}.fitIntro h2{font-size:clamp(42px,6vw,78px);line-height:.9;letter-spacing:-.06em;margin:8px 0 10px}.fitIntro p{font-size:18px;color:var(--muted);max-width:700px}
.rankList{border-top:1px solid #cfcfc8;margin-top:18px}.rankItem{display:grid;grid-template-columns:96px minmax(0,1fr) 230px;gap:26px;align-items:center;padding:28px 0;border-bottom:1px solid #cfcfc8}.rankNo{font-size:clamp(44px,6vw,82px);font-weight:850;letter-spacing:-.07em;color:#b7b7b0}.rankItem:first-child .rankNo{color:var(--ink)}.rankMain .eyebrow{margin-bottom:8px}.rankMain h3{font-size:clamp(28px,3vw,45px);line-height:1;letter-spacing:-.045em;margin:0 0 9px}.rankMain p{font-size:16px;color:var(--muted);margin:0 0 10px;max-width:760px}.rankTags{display:flex;flex-wrap:wrap;gap:6px}.rankTags span{font-size:12px;padding:6px 9px;background:#ecece6;border-radius:999px}.rankAction{display:flex;justify-content:flex-end}.rankAction .cta{width:100%;text-align:center;border-radius:15px}.rankItem:first-child{padding:36px 0;background:linear-gradient(90deg,rgba(215,255,53,.15),transparent 75%)}.rankItem:first-child .rankMain h3{font-size:clamp(36px,4vw,58px)}.moneyCta{display:inline-flex;justify-content:center;align-items:center}.tinyNote{font-size:12px;color:#888;margin-top:11px}.textPrive{margin-top:38px}.catalogNote{margin:16px 0 0;font-size:12px;color:#8a8a84}
@media(max-width:760px){.rankItem{grid-template-columns:54px 1fr;gap:12px;padding:22px 0}.rankAction{grid-column:1/-1}.rankAction .cta{min-height:56px}.rankNo{font-size:44px}.rankMain h3{font-size:29px}.rankItem:first-child .rankMain h3{font-size:35px}.fitIntro h2{font-size:47px}}


/* v12.2 richer mobile match page */
.resultMood{height:clamp(280px,42vw,520px);border-radius:30px;margin:22px 0 48px;background:#ddd center/cover no-repeat;position:relative;overflow:hidden;display:flex;align-items:flex-end;box-shadow:var(--shadow)}
.resultMoodCopy{position:relative;z-index:2;color:#fff;padding:clamp(24px,5vw,52px);max-width:760px}.resultMoodCopy .eyebrow{color:rgba(255,255,255,.72)}.resultMoodCopy h2{font-size:clamp(38px,5.6vw,76px);line-height:.9;letter-spacing:-.055em;margin:8px 0 10px}.resultMoodCopy p{font-size:17px;line-height:1.4;color:rgba(255,255,255,.86);margin:0}.photoCredit{position:absolute;right:16px;bottom:13px;z-index:2;color:rgba(255,255,255,.62);font-size:10px;letter-spacing:.04em}
.stayZone{position:relative}.experienceZone{margin-top:72px}.experienceBreak{min-height:270px;border-radius:30px;background:var(--experience) center/cover no-repeat;padding:clamp(28px,5vw,56px);display:flex;align-items:flex-end;margin-bottom:34px;overflow:hidden}.experienceBreak>div{max-width:820px}.experienceBreak .eyebrow{color:#315850}.experienceBreak h2{font-size:clamp(46px,6.5vw,88px);line-height:.88;letter-spacing:-.065em;margin:6px 0 12px}.experienceBreak p{font-size:18px;max-width:650px;margin:0;color:#315850}.experienceIntro .eyebrow{color:#34776d}
.experienceRanks .rankItem:first-child{background:linear-gradient(90deg,rgba(151,238,225,.30),transparent 76%)}.experienceRanks .rankItem:first-child .rankNo{color:#0c4b43}.experienceRanks .eyebrow{color:#34776d}.experienceZone .moneyCta{background:var(--experience);color:#082d29}.experienceZone .moneyCta:hover{filter:brightness(.96)}
@media(max-width:760px){.resultMood{height:330px;border-radius:22px;margin:16px 0 38px}.resultMoodCopy{padding:24px 20px}.resultMoodCopy h2{font-size:42px}.photoCredit{right:12px;bottom:9px}.experienceZone{margin-top:52px}.experienceBreak{min-height:245px;border-radius:22px;margin:0 0 30px;padding:26px 20px}.experienceBreak h2{font-size:48px}.experienceBreak p{font-size:16px}.experienceZone .rankAction .cta{background:var(--experience)}}


/* v12.3 budget-aware Traveler DNA */
.budgetField{margin-top:28px}.budgetChoices .choice{font-weight:720}.budgetHint{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.45;max-width:620px}.budgetStretch{opacity:.82}.budgetStretch .rankNo{color:#c1a970}.budgetStretchTag{background:#fff1bf!important;color:#6b5600!important;font-weight:800}.step#step4 h2{max-width:760px}
@media(max-width:640px){.step#step4 .choices{gap:8px}.step#step4 .choice{font-size:15px;padding:11px 13px}.budgetHint{font-size:11px}.modal{padding-bottom:34px}}


/* v12.4 Complete Your Trip */
.completeTripZone{margin-top:72px;padding:clamp(28px,4vw,54px);border-radius:30px;background:#111;color:#fff}.completeTripHead{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:end;margin-bottom:28px}.completeTripHead .eyebrow{color:#9fa19b}.completeTripHead h2{font-size:clamp(42px,5.5vw,76px);line-height:.9;letter-spacing:-.06em;margin:5px 0}.completeTripHead p{color:#a8aaa5;font-size:17px;line-height:1.45;max-width:560px;margin:0}.completeTripZone .completeGrid{grid-template-columns:repeat(4,1fr)}.smartAddon{background:#1b1b1c;border-color:#303033;color:#fff;min-height:250px}.addonTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.serviceIcon{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:32px;border:1px solid #4a4a4d;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.08em}.serviceBrand{font-size:11px;color:#8f918c}.smartAddon h3{font-size:27px}.smartAddon p{color:#a8aaa5;line-height:1.42}.serviceCta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border-radius:14px;background:var(--acid);color:#11120c;font-weight:900;text-align:center}.completeTripZone .catalogNote{color:#797b77;margin-top:16px}.completeTripZone .catalogNote:before{content:'Affiliate-ready · ';color:#aeb0ab;font-weight:700}
@media(max-width:980px){.completeTripHead{grid-template-columns:1fr}.completeTripZone .completeGrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.completeTripZone{margin-top:52px;padding:28px 18px;border-radius:22px}.completeTripHead{display:block}.completeTripHead h2{font-size:45px}.completeTripHead p{font-size:15px;margin-top:14px}.completeTripZone .completeGrid{grid-template-columns:1fr 1fr;gap:9px}.smartAddon{min-height:225px;padding:16px}.smartAddon h3{font-size:23px}.smartAddon p{font-size:13px}.serviceCta{font-size:13px;min-height:46px;padding:0 12px}.serviceBrand{font-size:9px}}
