:root{
  --ink:#0b0c0e;
  --paper:#f2efe7;
  --paper-2:#e7e1d5;
  --acid:#c8ff3d;
  --orange:#ff6b2c;
  --blue:#4e7dff;
  --purple:#8f6bff;
  --muted:#73706a;
  --line:rgba(11,12,14,.16);
  --white:#fff;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"Manrope",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --header-h:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);overflow-x:hidden}
body.drawer-open,body.menu-open{overflow:hidden}
a{color:inherit}
button,input{font:inherit}
button{color:inherit}
::selection{background:var(--acid);color:var(--ink)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.page-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:120;background:rgba(255,255,255,.12)}
.page-progress span{display:block;width:100%;height:100%;background:var(--acid);transform:scaleX(0);transform-origin:left}
.page-progress i{position:absolute;top:-5px;left:0;color:var(--acid);font-style:normal;font-size:13px;transform:translateX(-50%)}
.site-header{position:fixed;z-index:110;left:0;right:0;top:3px;height:var(--header-h);padding:0 3.5vw;display:flex;align-items:center;gap:34px;color:#fff;mix-blend-mode:difference;transition:background .3s,color .3s,mix-blend-mode .3s}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;white-space:nowrap}
.brand strong{font-size:.83rem;letter-spacing:.09em}
.brand small{font-family:var(--mono);font-size:.64rem;opacity:.58}
.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--acid);box-shadow:0 0 22px rgba(200,255,61,.6)}
.desktop-nav{display:flex;gap:26px;margin-left:auto}
.desktop-nav a{font-size:.75rem;font-weight:700;text-decoration:none;opacity:.72;transition:opacity .2s}
.desktop-nav a:hover{opacity:1}
.shortlist-trigger,.menu-trigger{border:1px solid rgba(255,255,255,.45);background:transparent;border-radius:999px;padding:10px 14px;font-size:.72rem;font-weight:800;cursor:pointer}
.shortlist-trigger span{display:inline-grid;place-items:center;margin-left:6px;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#fff;color:#000}
.menu-trigger{display:none}
.section-pad{padding:130px 6vw}
.kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.65);margin:0 0 18px}
.kicker.dark{color:rgba(11,12,14,.58)}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
.hero{position:relative;min-height:100svh;background:#08090c;color:#fff;overflow:hidden;display:flex;align-items:center;padding:120px 6vw 230px}
.hero-sky{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 65% 35%,#273d75 0,#11182c 30%,#08090c 70%)}
.hero-glow{position:absolute;width:70vw;height:70vw;border-radius:50%;right:-26vw;top:-28vw;background:radial-gradient(circle,rgba(78,125,255,.36),transparent 67%);filter:blur(30px)}
.hero-moon{position:absolute;width:22vw;height:22vw;border-radius:50%;right:8vw;top:13vh;background:linear-gradient(135deg,#f5f3df,#afb5c8);box-shadow:0 0 90px rgba(255,255,255,.16);opacity:.68}
.hero-stars{position:absolute;inset:0}
.hero-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:white;opacity:.55;animation:twinkle var(--speed,4s) ease-in-out infinite alternate}
@keyframes twinkle{to{opacity:.12;transform:scale(.6)}}
.hero-copy{position:relative;z-index:3;width:min(1050px,88vw)}
.hero h1{font-size:clamp(5rem,13.7vw,13.5rem);line-height:.77;letter-spacing:-.085em;margin:0;font-weight:800;text-transform:uppercase}
.hero h1 span{display:block}
.hero h1 span:last-child{margin-left:10vw;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.78)}
.hero-meta{margin:48px 0 0 39vw;display:flex;align-items:flex-end;gap:46px;max-width:620px}
.hero-meta p{margin:0;line-height:1.7;font-size:.98rem;color:rgba(255,255,255,.72)}
.text-link{white-space:nowrap;color:#fff;text-decoration:none;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:6px}
.text-link span{color:var(--acid)}
.windshield{position:absolute;z-index:2;left:0;right:0;bottom:0;height:42vh;overflow:hidden;perspective:520px}
.road-horizon{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}
.road{position:absolute;width:92vw;height:105vh;left:4vw;top:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.02) 16%,#15171a 18%,#202225 50%,#15171a 82%,rgba(255,255,255,.02) 84%,transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform-origin:top;transform:rotateX(67deg)}
.lane{position:absolute;left:49.5%;top:4%;width:1%;height:16%;background:#f5f3df;box-shadow:0 260px 0 #f5f3df,0 520px 0 #f5f3df,0 780px 0 #f5f3df;animation:laneMove 1.25s linear infinite}
.lane-2{animation-delay:-.32s}.lane-3{animation-delay:-.64s}.lane-4{animation-delay:-.96s}
@keyframes laneMove{from{transform:translateY(-180px) scaleY(.35);opacity:0}40%{opacity:1}to{transform:translateY(390px) scaleY(2.1);opacity:0}}
.dashboard{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(680px,86vw);height:92px;border-radius:60px 60px 0 0;background:linear-gradient(180deg,#16181d,#08090b);border-top:1px solid rgba(255,255,255,.13);display:grid;grid-template-columns:repeat(3,1fr);padding:24px 58px;gap:24px;box-shadow:0 -15px 60px rgba(0,0,0,.5)}
.dashboard div{text-align:center}.dashboard small{display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;color:#737984}.dashboard strong{display:block;margin-top:4px;color:var(--acid);font-size:.78rem;letter-spacing:.16em}
.scroll-cue{position:absolute;z-index:3;right:4vw;bottom:32px;font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;color:rgba(255,255,255,.55);writing-mode:vertical-rl}
.scroll-cue span{color:var(--acid);margin-top:8px}
.marquee{height:74px;background:var(--acid);display:flex;align-items:center;overflow:hidden;font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.13em;white-space:nowrap}
.marquee div{animation:marquee 36s linear infinite}
@keyframes marquee{to{transform:translateX(-100%)}}
.route-picker{background:var(--paper)}
.trip-sequence{display:grid;grid-template-columns:1fr minmax(180px,.45fr) 1fr;align-items:center;gap:22px;margin:-12px 0 44px}
.sequence-trip{min-height:118px;border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.sequence-trip:after{content:"";position:absolute;right:-25px;top:-34px;width:120px;height:120px;border-radius:50%;opacity:.62}
.sequence-trip-a:after{background:#ff7c3f}.sequence-trip-b:after{background:#6c8dff}
.sequence-trip span,.sequence-reset b,.sequence-reset small{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em}
.sequence-trip strong{font-size:1.35rem;letter-spacing:-.035em;margin:5px 0}.sequence-trip small{color:#706b63}
.sequence-reset{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center}
.sequence-reset i{height:1px;background:var(--line)}.sequence-reset small{grid-column:2;color:#777169;margin-top:-4px}
.section-head{max-width:1080px;margin-bottom:72px}
.section-head h2{font-size:clamp(3.25rem,7vw,7.2rem);letter-spacing:-.07em;line-height:.93;margin:0;font-weight:700}
.section-head .lede,.section-head>p:not(.kicker){max-width:680px;font-size:1.05rem;line-height:1.75;color:#66625b;margin:30px 0 0}
.section-head.split{display:grid;grid-template-columns:1.45fr .65fr;align-items:end;gap:60px;max-width:none}
.section-head.split>p{margin:0 0 8px;line-height:1.7;color:#66625b}
.route-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.route-card{min-height:570px;border-radius:34px;padding:34px;display:flex;flex-direction:column;text-decoration:none;overflow:hidden;position:relative;isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.route-card:hover{transform:translateY(-10px);box-shadow:0 24px 80px rgba(12,13,15,.18)}
.route-card:before,.route-card:after{content:"";position:absolute;border-radius:50%;z-index:-1;transition:transform .7s var(--ease)}
.route-card:hover:before{transform:scale(1.08) translate(-3%,-3%)}
.route-card-a{background:#ff7640;color:#190d08}.route-card-a:before{width:430px;height:430px;right:-90px;bottom:-120px;background:radial-gradient(circle at 30% 30%,#ffe2a3,#ff9a46 46%,#ff6b2c 70%)}
.route-card-a:after{width:260px;height:80px;left:11%;bottom:55px;background:#31150d;clip-path:polygon(0 80%,100% 0,100% 100%,0 100%);border-radius:0}
.route-card-b{background:#627fff;color:#070d26}.route-card-b:before{width:440px;height:440px;right:-60px;bottom:-130px;background:radial-gradient(circle at 30% 30%,#c3d2ff,#7968ff 47%,#344bb7 76%)}
.route-card-b:after{width:330px;height:130px;left:4%;bottom:35px;background:#0b1842;clip-path:polygon(0 100%,22% 28%,40% 68%,58% 8%,75% 62%,100% 20%,100% 100%);border-radius:0}
.route-card-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em}
.route-card h3{font-size:clamp(3rem,5vw,5.4rem);line-height:.9;letter-spacing:-.07em;margin:90px 0 20px}
.route-card>p{max-width:470px;font-size:1rem;line-height:1.65;margin:0}
.route-card dl{margin:36px 0 0;border-top:1px solid rgba(0,0,0,.2)}
.route-card dl div{display:grid;grid-template-columns:120px 1fr;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.16);font-size:.8rem}
.route-card dt{font-family:var(--mono);opacity:.62}.route-card dd{margin:0;font-weight:700}
.route-go{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.route-go b{font-size:2rem}
.route-block{position:relative}
.route-a{background:#e9ddca;--trip-accent:#ff6b2c}.route-b{background:#dbe4f5;--trip-accent:#4e7dff}
.route-title{min-height:88vh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;border-top:14px solid var(--trip-accent)}
.route-title:before{content:"";position:absolute;width:46vw;height:46vw;border-radius:50%;right:-15vw;top:8vh;background:radial-gradient(circle,var(--trip-accent),transparent 68%);opacity:.28;filter:blur(8px)}
.route-title>*{position:relative;z-index:1}
.route-title h2{font-size:clamp(4rem,9.3vw,10rem);line-height:.86;letter-spacing:-.08em;margin:0;max-width:1250px}
.route-title h2 em{font-weight:400;color:transparent;-webkit-text-stroke:1.5px rgba(11,12,14,.6)}
.route-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:48px}
.route-stats span{border:1px solid rgba(11,12,14,.2);border-radius:999px;padding:10px 15px;font-family:var(--mono);font-size:.67rem;letter-spacing:.06em}.route-stats b{font-size:.85rem}
.route-story{display:grid;grid-template-columns:minmax(330px,42vw) 1fr;gap:0;align-items:start;border-top:1px solid var(--line)}
.route-map-panel{position:sticky;top:0;height:100vh;padding:calc(var(--header-h) + 22px) 5vw 28px;display:flex;flex-direction:column;border-right:1px solid var(--line);overflow:hidden}
.map-panel-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.65rem;letter-spacing:.12em}.map-panel-head strong{font-family:var(--sans);font-size:1.25rem;letter-spacing:-.03em}
.route-svg{width:100%;height:calc(100vh - 180px);overflow:visible}
.route-track{fill:none;stroke:rgba(11,12,14,.15);stroke-width:3;stroke-linecap:round}
.route-track-progress{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round}
.route-dots circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.route-marker circle:first-child{fill:var(--acid);stroke:var(--ink);stroke-width:3;filter:drop-shadow(0 10px 13px rgba(0,0,0,.22))}.route-marker .marker-core{fill:var(--ink);stroke:none}
.map-legend{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em}.map-legend i{height:1px;flex:1;background:rgba(11,12,14,.3)}
.stop-list{padding:0 5vw}
.stop-card{min-height:100vh;display:grid;align-content:center;border-bottom:1px solid var(--line);padding:120px 0;position:relative}
.stop-topline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.stop-index{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid rgba(19,18,16,.16);border-radius:999px;background:rgba(255,255,255,.38);backdrop-filter:blur(8px);font-family:var(--mono);font-size:.88rem;font-weight:600;letter-spacing:.12em;color:#2f2b24;text-transform:uppercase}
.stop-meta-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:1rem;letter-spacing:.1em;color:#5d584f;text-transform:uppercase}
.stop-meta-sep{opacity:.35}
.stop-card h3{font-size:clamp(4rem,8vw,8.6rem);letter-spacing:-.08em;line-height:.88;margin:0 0 26px;text-transform:uppercase}
.stop-card .stop-summary{max-width:650px;font-size:1.05rem;line-height:1.75;color:#514e48;margin:0}
.stop-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:38px;max-width:720px}
.stop-pick{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.stop-pick small{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;color:#75716b;margin-bottom:7px}.stop-pick strong{font-size:.92rem}.stop-note{margin-top:25px;font-family:var(--mono);font-size:.67rem;color:#69655f}
.itinerary{border-top:1px solid var(--line)}
.itinerary-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.itinerary-head h3{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.06em;line-height:1;margin:0}.itinerary-head>p{max-width:430px;line-height:1.65;color:#625e57;margin:0}
.day-card{display:grid;grid-template-columns:84px 140px 210px 1fr;gap:22px;padding:25px 0;border-top:1px solid var(--line);align-items:start}
.day-card:last-child{border-bottom:1px solid var(--line)}
.day-number{font-size:2.4rem;font-weight:800;letter-spacing:-.06em}
.day-date{font-family:var(--mono);font-size:.72rem;line-height:1.5;padding-top:10px}.day-base{font-weight:800;padding-top:7px}.day-plan{display:flex;flex-wrap:wrap;gap:8px}.day-plan span{font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.2)}
.day-note{grid-column:4;font-family:var(--mono);font-size:.64rem;color:#6f6b64;margin-top:-8px}
.intermission{height:100svh;background:#08090c;color:#fff;padding:12vh 6vw;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.intermission>p{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--acid)}
.intermission h2 span{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.76)}
.intermission-meta{position:relative;z-index:2;display:grid;grid-template-columns:auto auto minmax(50px,180px) auto auto;align-items:center;gap:14px;margin-top:46px;width:min(820px,100%);font-family:var(--mono)}
.intermission-meta strong{color:var(--acid);font-size:.8rem}.intermission-meta small{color:rgba(255,255,255,.55);font-size:.62rem}.intermission-meta i{height:1px;background:rgba(255,255,255,.25)}
.intermission h2{font-size:clamp(4rem,10vw,11rem);line-height:.84;letter-spacing:-.08em;margin:0;max-width:1200px}
.intermission-road{position:absolute;right:-12vw;bottom:-28vh;width:72vw;height:72vw;border-radius:50%;border:1px solid rgba(255,255,255,.14);transform:rotate(-18deg)}
.intermission-road span{position:absolute;inset:14%;border:1px solid rgba(255,255,255,.11);border-radius:50%}.intermission-road span:nth-child(2){inset:29%}.intermission-road span:nth-child(3){inset:44%;background:radial-gradient(circle,var(--acid),transparent 58%);opacity:.45}
.explore{background:var(--paper)}
.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:32px}
.filter-button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 14px;font-size:.72rem;font-weight:800;cursor:pointer;transition:background .2s,color .2s}.filter-button.active,.filter-button:hover{background:var(--ink);color:#fff}
.suggestion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.suggestion-card{min-height:360px;border:1px solid var(--line);border-radius:24px;padding:24px;background:#ece8df;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .38s var(--ease),box-shadow .38s var(--ease);transform-style:preserve-3d}
.suggestion-card:hover{box-shadow:0 20px 50px rgba(14,15,17,.12)}
.suggestion-card:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;top:-75px;background:var(--card-glow,#ff8854);filter:blur(2px);opacity:.78}
.suggestion-card.route-b-card:before{--card-glow:#7997ff}.suggestion-card.nature-card:before{--card-glow:#95c972}
.suggestion-card>*{position:relative;z-index:1}
.suggestion-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}
.suggestion-card h3{font-size:2rem;line-height:1.02;letter-spacing:-.055em;margin:58px 0 15px}.suggestion-card p{font-size:.82rem;line-height:1.65;color:#5c5852;margin:0}.suggestion-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.suggestion-tags span{font-family:var(--mono);font-size:.55rem;border:1px solid rgba(0,0,0,.16);border-radius:999px;padding:6px 8px}
.suggestion-actions{margin-top:auto;display:flex;gap:8px;padding-top:22px}.suggestion-actions button,.suggestion-actions a{flex:1;border:1px solid var(--ink);border-radius:999px;padding:10px 12px;background:transparent;text-decoration:none;text-align:center;font-size:.67rem;font-weight:800;cursor:pointer}.suggestion-actions button.added{background:var(--ink);color:#fff}.suggestion-actions a{flex:0 0 auto;width:42px;padding-left:0;padding-right:0}
.reality{background:#090a0c;color:#fff}
.reality .section-head{margin-bottom:60px}.reality-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}
.reality-card{min-height:330px;padding:30px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.reality-card span{font-family:var(--mono);font-size:.65rem;color:var(--acid)}.reality-card h3{font-size:2rem;line-height:1.05;letter-spacing:-.055em;margin:70px 0 16px}.reality-card p{font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.62)}
.official-note{margin-top:80px;padding:35px;border:1px solid rgba(255,255,255,.17);border-radius:24px;display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:34px;align-items:center}.official-note h3{font-size:2rem;letter-spacing:-.05em;margin:0}.official-note>p{font-size:.84rem;line-height:1.7;color:rgba(255,255,255,.65);margin:0}.official-links{display:flex;flex-direction:column;gap:8px}.official-links a{font-family:var(--mono);font-size:.65rem;text-decoration:none;color:var(--acid)}
.compare{background:var(--paper-2)}
.compare-table{border-top:1px solid var(--line)}
.compare-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-bottom:1px solid var(--line);min-height:82px;align-items:center;gap:20px}.compare-row span{font-family:var(--mono);font-size:.68rem;color:#6d6962}.compare-row b,.compare-row strong{font-size:.92rem}.compare-head{min-height:50px}.compare-head strong{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em}
.vote{min-height:92vh;background:var(--acid);padding:12vh 6vw;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:80px}
.vote-copy,.vote-actions{position:relative;z-index:2}.vote h2{font-size:clamp(5rem,12vw,13rem);line-height:.75;letter-spacing:-.09em;margin:0}.vote-copy>p:not(.kicker){max-width:430px;line-height:1.7;margin-top:28px}
.vote-actions{display:flex;flex-direction:column;gap:12px}.plan-copy-button,.whatsapp-button{width:100%;border:2px solid var(--ink);border-radius:18px;background:transparent;padding:22px 24px;text-align:left;display:flex;justify-content:space-between;text-decoration:none;font-size:.92rem;font-weight:800;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s}.plan-copy-button:hover,.whatsapp-button:hover{transform:translateX(8px);background:var(--ink);color:#fff}.vote-actions>p{font-family:var(--mono);font-size:.65rem}.vote-word{position:absolute;font-size:38vw;font-weight:800;letter-spacing:-.1em;right:-6vw;bottom:-14vw;color:rgba(0,0,0,.08);line-height:1}
footer{background:#090a0c;color:#fff;min-height:180px;padding:42px 6vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:40px}footer div{display:flex;flex-direction:column;gap:6px}footer strong{font-size:.82rem;letter-spacing:.1em}footer span,footer p,footer a{font-family:var(--mono);font-size:.62rem;color:rgba(255,255,255,.55);text-decoration:none;line-height:1.6}
.shortlist-drawer{position:fixed;z-index:150;right:0;top:0;height:100vh;width:min(480px,94vw);background:var(--paper);padding:28px;transform:translateX(105%);transition:transform .45s var(--ease);display:flex;flex-direction:column;box-shadow:-20px 0 80px rgba(0,0,0,.22)}
.shortlist-drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:22px}.drawer-head small{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em}.drawer-head h2{font-size:3rem;letter-spacing:-.06em;margin:4px 0 0}.drawer-close{border:1px solid var(--line);border-radius:999px;background:transparent;padding:9px 12px;font-size:.68rem;cursor:pointer}.drawer-list{overflow:auto;flex:1}.drawer-item{display:grid;grid-template-columns:1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.drawer-item small{font-family:var(--mono);font-size:.55rem;color:#6d6962}.drawer-item strong{display:block;margin-top:4px}.drawer-item button{border:0;background:transparent;cursor:pointer;font-size:1.2rem}.drawer-empty{margin:auto;text-align:center;color:#77726b;font-size:.84rem}.drawer-actions{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:18px;border-top:1px solid var(--line)}.drawer-actions button{border:1px solid var(--ink);border-radius:999px;background:transparent;padding:12px 16px;font-size:.72rem;font-weight:800;cursor:pointer}.drawer-actions button:first-child{background:var(--ink);color:#fff}
.drawer-backdrop{position:fixed;inset:0;z-index:140;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s}.drawer-backdrop.open{opacity:1;pointer-events:auto}
@media(max-width:1100px){
  .desktop-nav{display:none}.menu-trigger{display:block}.site-header.menu-open{height:100vh;align-items:flex-start;padding-top:24px;background:#090a0c;mix-blend-mode:normal}.site-header.menu-open .desktop-nav{display:flex;position:absolute;left:5vw;top:110px;flex-direction:column;font-size:2.3rem;gap:18px}.site-header.menu-open .desktop-nav a{font-size:2.1rem;letter-spacing:-.04em}.site-header.menu-open .shortlist-trigger{margin-left:auto}.hero-meta{margin-left:25vw}.route-story{grid-template-columns:38vw 1fr}.suggestion-grid{grid-template-columns:repeat(3,1fr)}.reality-grid{grid-template-columns:repeat(2,1fr)}.official-note{grid-template-columns:1fr 1fr}.official-links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:18px}.vote{grid-template-columns:1fr 1fr}}
@media(max-width:780px){
  :root{--header-h:64px}.site-header{padding:0 18px;gap:10px}.brand small{display:none}.shortlist-trigger{margin-left:auto}.section-pad{padding:92px 20px}.hero{padding:120px 20px 210px}.hero h1{font-size:clamp(4.4rem,23vw,7.6rem)}.hero h1 span:last-child{margin-left:0;-webkit-text-stroke:1.2px rgba(255,255,255,.75)}.hero-meta{margin:34px 0 0;display:block}.hero-meta .text-link{display:inline-block;margin-top:18px}.hero-moon{width:48vw;height:48vw;right:-10vw;top:15vh}.scroll-cue{display:none}.dashboard{height:78px;padding:20px 18px}.section-head h2{font-size:3.5rem}.section-head.split{grid-template-columns:1fr;gap:24px}.trip-sequence{grid-template-columns:1fr;gap:12px}.sequence-reset{grid-template-columns:1fr auto 1fr;padding:6px 0}.route-cards{grid-template-columns:1fr}.route-card{min-height:510px;padding:26px}.route-card h3{margin-top:62px}.route-card dl div{grid-template-columns:100px 1fr}.route-title{min-height:70vh}.route-title h2{font-size:4.4rem}.route-story{display:block}.route-map-panel{position:relative;height:76vh;top:auto;border-right:0;border-bottom:1px solid var(--line);padding:90px 20px 20px}.stop-list{padding:0 20px}.stop-card{min-height:auto;padding:110px 0}.stop-topline{gap:10px}.stop-index{font-size:.78rem;padding:9px 12px}.stop-meta-line{font-size:.82rem;gap:10px}.stop-card h3{font-size:4rem}.stop-picks{grid-template-columns:1fr}.itinerary-head{display:block}.itinerary-head>p{margin-top:20px}.day-card{grid-template-columns:50px 1fr;gap:12px 18px}.day-date{grid-column:2}.day-base{grid-column:2}.day-plan{grid-column:2}.day-note{grid-column:2}.intermission{padding:100px 20px}.intermission h2{font-size:4.6rem}.intermission-meta{grid-template-columns:1fr 1fr;gap:8px 16px}.intermission-meta i{display:none}.intermission-meta strong:nth-of-type(2),.intermission-meta small:nth-of-type(2){margin-top:10px}.suggestion-grid{grid-template-columns:1fr}.suggestion-card{min-height:330px}.reality-grid{grid-template-columns:1fr}.reality-card{min-height:270px}.reality-card h3{margin-top:42px}.official-note{grid-template-columns:1fr;padding:24px}.official-links{grid-column:auto;flex-direction:column}.compare-row{grid-template-columns:.8fr 1fr 1fr;gap:10px}.compare-row b{font-size:.76rem}.vote{grid-template-columns:1fr;padding:100px 20px}.vote h2{font-size:6rem}.vote-word{font-size:60vw;bottom:-10vw}footer{grid-template-columns:1fr;gap:18px;padding:45px 20px}.marquee{height:58px}.shortlist-drawer{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.lane,.marquee div,.hero-stars i{animation:none!important}.route-card,.suggestion-card,.plan-copy-button,.whatsapp-button{transition:none}.grain{display:none}}


/* v3 — cleaner layout + soundtrack entry */
body.entry-locked{overflow:hidden}
.grain{display:none!important}
.page-progress i{display:none}
.site-header{mix-blend-mode:normal;background:rgba(8,9,12,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.section-pad{padding-top:110px;padding-bottom:110px}
.section-head{margin-bottom:54px}
.section-head h2{font-size:clamp(3rem,6vw,6.2rem)}
.route-card{min-height:500px;border-radius:24px;box-shadow:none}
.route-card:before,.route-card:after{display:none}
.route-card:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(12,13,15,.12)}
.route-card h3{margin-top:72px}
.stop-card{min-height:82vh;padding-top:94px;padding-bottom:94px}
.stop-picks{margin-top:30px}
.suggestion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.suggestion-card{min-height:320px;background:#f7f4ed;border-radius:20px;transform:none!important}
.suggestion-card:before{display:none}
.suggestion-card h3{margin-top:42px}
.reality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.reality-card{min-height:280px}
.reality-card h3{margin-top:44px}
.official-note{margin-top:54px}

.entry-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#08090c;color:#fff;transition:opacity .55s var(--ease),visibility .55s var(--ease)}
.entry-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 22%,rgba(78,125,255,.32),transparent 36%),linear-gradient(180deg,transparent,rgba(0,0,0,.28));pointer-events:none}
.entry-screen.is-leaving{opacity:0;visibility:hidden}
.entry-card{position:relative;width:min(620px,100%);padding:44px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:rgba(12,14,19,.78);backdrop-filter:blur(18px);box-shadow:0 30px 100px rgba(0,0,0,.34)}
.entry-kicker{margin:0 0 24px;font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;color:rgba(255,255,255,.56)}
.entry-card h1{margin:0;font-size:clamp(5rem,16vw,10rem);line-height:.8;letter-spacing:-.09em}
.entry-copy{max-width:470px;margin:30px 0 0;line-height:1.7;color:rgba(255,255,255,.68)}
.entry-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;margin-top:34px}
.entry-actions button{border-radius:999px;padding:16px 20px;font-weight:800;cursor:pointer}
.entry-primary{border:0;background:var(--acid);color:#08090c;display:flex;align-items:center;justify-content:space-between}
.entry-secondary{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff}
.entry-card>small{display:block;margin-top:17px;font-family:var(--mono);font-size:.58rem;line-height:1.5;color:rgba(255,255,255,.42)}

.music-toggle{position:fixed;right:22px;bottom:22px;z-index:130;display:flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(9,10,12,.86);color:#fff;backdrop-filter:blur(14px);box-shadow:0 12px 36px rgba(0,0,0,.22);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:.3s var(--ease)}
.music-toggle.is-visible{opacity:1;transform:none;pointer-events:auto}
.music-toggle b{font-size:.68rem;letter-spacing:.04em}
.music-bars{height:15px;display:flex;align-items:flex-end;gap:2px}
.music-bars i{display:block;width:2px;height:5px;background:var(--acid);animation:none}
.music-toggle.is-playing .music-bars i{animation:musicBar .75s ease-in-out infinite alternate}
.music-toggle.is-playing .music-bars i:nth-child(2){animation-delay:-.25s}.music-toggle.is-playing .music-bars i:nth-child(3){animation-delay:-.5s}
@keyframes musicBar{to{height:15px}}

.plan-summary{background:var(--paper-2)}
.plan-strip{display:grid;grid-template-columns:1fr .58fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.plan-strip article{padding:28px;min-height:180px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}
.plan-strip article:last-child{border-right:0}
.plan-strip span{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;color:#6b675f}
.plan-strip strong{font-size:1.55rem;letter-spacing:-.04em;margin:10px 0}
.plan-strip p{font-size:.82rem;line-height:1.65;color:#5e5a54;margin:0}
.plan-reset{background:#0b0c0e;color:#fff}
.plan-reset span,.plan-reset p{color:rgba(255,255,255,.55)}
.plan-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.plan-actions .plan-copy-button,.plan-actions .whatsapp-button{border-width:1px;border-radius:999px;padding:15px 18px;font-size:.72rem}
.plan-actions .plan-copy-all{background:var(--ink);color:#fff}
.plan-status{margin:14px 0 0;font-family:var(--mono);font-size:.62rem;color:#716c64}

.soundtrack{background:#090a0c;color:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}
.soundtrack-copy h2{font-size:clamp(3.6rem,7vw,7.6rem);line-height:.9;letter-spacing:-.075em;margin:0}
.soundtrack-copy>p:not(.kicker){max-width:500px;line-height:1.75;color:rgba(255,255,255,.62);margin:26px 0}
.soundtrack-button{display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:220px;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:14px 18px;background:transparent;color:#fff;font-weight:800;cursor:pointer}
.soundtrack-button span{color:var(--acid)}
.youtube-shell{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.13);background:#000;box-shadow:0 24px 80px rgba(0,0,0,.35);aspect-ratio:16/9}
.youtube-shell iframe{display:block;width:100%;height:100%;border:0}

@media(max-width:1000px){
  .suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-actions{grid-template-columns:1fr 1fr}
  .soundtrack{grid-template-columns:1fr;gap:48px}
}
@media(max-width:780px){
  .section-pad{padding-top:82px;padding-bottom:82px}
  .entry-card{padding:28px 22px;border-radius:22px}
  .entry-actions{grid-template-columns:1fr}
  .music-toggle{right:14px;bottom:14px}
  .route-card{min-height:440px}
  .stop-card{padding-top:78px;padding-bottom:78px}
  .suggestion-grid,.reality-grid{grid-template-columns:1fr}
  .plan-strip{grid-template-columns:1fr}
  .plan-strip article{min-height:140px;border-right:0;border-bottom:1px solid var(--line)}
  .plan-strip article:last-child{border-bottom:0}
  .plan-actions{grid-template-columns:1fr}
  .soundtrack-copy h2{font-size:4rem}
}


/* v4 — scenic video hero + local soundtrack */
.hero{isolation:isolate;background:#08090c;padding-bottom:120px}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;background:#08090c;pointer-events:none}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78vh;min-height:100vh;transform:translate(-50%,-50%);border:0;pointer-events:none}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,7,10,.82) 0%,rgba(5,7,10,.52) 44%,rgba(5,7,10,.2) 72%,rgba(5,7,10,.42) 100%),linear-gradient(180deg,rgba(5,7,10,.18) 0%,rgba(5,7,10,.08) 55%,rgba(5,7,10,.78) 100%)}
.hero-copy{z-index:3}
.hero h1{max-width:1100px;text-shadow:0 8px 42px rgba(0,0,0,.34)}
.hero h1 span:last-child{color:#fff;-webkit-text-stroke:0;margin-left:0}
.hero-meta{margin-left:0;max-width:560px}
.scroll-cue{z-index:3}
.entry-screen{background:rgba(5,7,10,.38);backdrop-filter:blur(2px)}
.entry-screen:before{background:linear-gradient(90deg,rgba(5,7,10,.66),rgba(5,7,10,.2)),linear-gradient(180deg,rgba(5,7,10,.1),rgba(5,7,10,.55))}
.entry-card{background:rgba(8,10,14,.72);border-color:rgba(255,255,255,.18)}
#roadtripAudio{display:none}
@media(max-width:780px){
  .hero{padding-bottom:100px}
  .hero-overlay{background:linear-gradient(180deg,rgba(5,7,10,.45) 0%,rgba(5,7,10,.18) 42%,rgba(5,7,10,.84) 100%)}
  .hero h1{font-size:clamp(4.2rem,20vw,7rem)}
  .hero-meta{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){
  .hero-video iframe{display:none}
  .hero-video{background:linear-gradient(145deg,#152039,#08090c 65%)}
}


/* Reliable intro interaction */
.entry-card{z-index:2;pointer-events:auto}
.entry-actions{position:relative;z-index:3;pointer-events:auto}
.entry-actions button{position:relative;z-index:4;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.entry-screen.is-leaving{pointer-events:none}


/* v6 — clearly visible synchronized music-video background after the hero */
body{background:#08090c}
main,footer{position:relative;z-index:1}
.hero{z-index:2}

/* The music video is loaded and playing underneath the hero from the beginning.
   The scenic hero fully covers it; once the hero scrolls away, it becomes the page background. */
.journey-video-bg{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#07080b;
  opacity:1;
  visibility:visible;
  pointer-events:none;
}
.journey-video-media,
.journey-video-media iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:100vw;
  height:56.25vw;
  min-width:177.78vh;
  min-height:100vh;
  transform:translate(-50%,-50%) scale(1.025);
  border:0;
  pointer-events:none;
  filter:saturate(1.12) contrast(1.04) brightness(.9);
}

/* Keep the video obvious. This is only a light readability veil, not a blackout layer. */
.journey-video-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,6,9,.23),rgba(5,6,9,.08) 48%,rgba(5,6,9,.2)),
    linear-gradient(180deg,rgba(5,6,9,.08),rgba(5,6,9,.28));
}

/* Large sections are translucent panels, allowing the video to remain visibly present. */
.route-picker{background:rgba(242,239,231,.68);backdrop-filter:blur(2px)}
.route-a{background:rgba(233,221,202,.66);backdrop-filter:blur(2px)}
.route-b{background:rgba(219,228,245,.66);backdrop-filter:blur(2px)}
.explore{background:rgba(242,239,231,.68);backdrop-filter:blur(2px)}
.plan-summary{background:rgba(231,225,213,.68);backdrop-filter:blur(2px)}
.intermission,.reality,.soundtrack,footer{background:rgba(8,9,12,.58);backdrop-filter:blur(2px)}

/* Content stays readable without turning the entire page opaque. */
.route-card{background-color:rgba(255,255,255,.74);box-shadow:0 18px 50px rgba(0,0,0,.12)}
.route-card-a{background:rgba(255,118,64,.82)}
.route-card-b{background:rgba(98,127,255,.82)}
.stop-index{background:rgba(255,255,255,.62)}
.stop-pick,.day-plan span{background:rgba(255,255,255,.48);backdrop-filter:blur(6px)}
.suggestion-card{background:rgba(247,244,237,.8);backdrop-filter:blur(6px)}
.plan-strip{background:rgba(255,255,255,.3);backdrop-filter:blur(7px)}
.route-map-panel{background:rgba(255,255,255,.08);backdrop-filter:blur(2px)}
.route-card,.suggestion-card,.stop-pick,.day-plan span,.plan-strip{box-shadow:0 18px 50px rgba(0,0,0,.08)}

.soundtrack-sync-card{
  min-height:420px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:24px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:rgba(8,9,12,.38);
  backdrop-filter:blur(5px);
}
.soundtrack-sync-card>span{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;color:var(--acid)}
.soundtrack-sync-card strong{display:block;margin:22px 0;font-size:clamp(2.7rem,5vw,5.4rem);line-height:.92;letter-spacing:-.065em}
.soundtrack-sync-card p{max-width:560px;margin:0 0 28px;line-height:1.7;color:rgba(255,255,255,.72)}
.soundtrack-sync-card a{display:flex;justify-content:space-between;align-items:center;width:min(300px,100%);border-top:1px solid rgba(255,255,255,.3);padding-top:16px;color:#fff;text-decoration:none;font-size:.78rem;font-weight:800}
.soundtrack-sync-card a b{color:var(--acid)}

@media(max-width:780px){
  .journey-video-media,.journey-video-media iframe{
    width:177.78vh;
    height:100vh;
    min-width:100vw;
    min-height:56.25vw;
    transform:translate(-50%,-50%) scale(1.04);
  }
  .journey-video-shade{background:linear-gradient(180deg,rgba(5,6,9,.18),rgba(5,6,9,.38))}
  .route-picker,.route-a,.route-b,.explore,.plan-summary{background-color:rgba(240,237,229,.7);backdrop-filter:none}
  .route-b{background-color:rgba(219,228,245,.7)}
  .route-a{background-color:rgba(233,221,202,.7)}
  .soundtrack-sync-card{min-height:340px;padding:24px}
}

/* Do not hide the video for reduced-motion users; the iframe remains muted and non-interactive.
   Animation-heavy page effects are still reduced elsewhere in the stylesheet. */

