:root{--ink:#0b0805;--ink-soft:#b7ac9a;--ink-dim:#9c907d;--bone:#f3eee3;--paper:#13100b;--panel:#100c08;--card:#1a130c;--wine:#8a2a39;--wine-lit:#cc6275;--wine-deep:#511620;--gold:#b0823a;--gold-lit:#cba255;--line:#f3eee31f;--maxw:1680px;--navh:68px;--serif:var(--font-fraunces),var(--font-noto-serif-sc),Georgia,serif;--sans:var(--font-instrument),var(--font-noto-sans-sc),system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--ink);color:var(--bone);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";z-index:9999;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--wine);color:var(--bone)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}body:has(.trip-app) footer{display:none}html[lang=zh]{--serif:var(--font-noto-serif-sc),var(--font-fraunces),serif}html[lang=zh] em{font-style:normal}html[lang=zh] .tour .sub{color:var(--gold-lit);font-style:normal}html[lang=zh] .foot-quote{font-style:normal}html[lang=zh] .eyebrow,html[lang=zh] .section-tag,html[lang=zh] .scrollcue,html[lang=zh] .tour .meta,html[lang=zh] .playbtn,html[lang=zh] .foot-col h4,html[lang=zh] .stat .lab b,html[lang=zh] .pop-idx,html[lang=zh] .pop-country,html[lang=zh] .navlinks{letter-spacing:.12em;text-transform:none}html[lang=zh] .hero h1{letter-spacing:.01em;line-height:1.04}html[lang=zh] .drive h2,html[lang=zh] .route-head h2,html[lang=zh] .founders>h2,html[lang=zh] .tour h3{letter-spacing:.005em}html[lang=zh] .drive .lede,html[lang=zh] .founder .bio,html[lang=zh] .tour p,html[lang=zh] .hero-foot p{letter-spacing:.01em;line-height:1.9}html[lang=zh] .scrollcue{letter-spacing:.16em}.route-map-wrap{z-index:2;margin-top:clamp(48px,6vw,72px);padding:0 clamp(24px,5vw,72px);position:relative}.map-frame{pointer-events:none;z-index:450;border-radius:4px;position:absolute;inset:0 clamp(24px,5vw,72px);box-shadow:inset 0 0 90px 14px #0b0805bf}.leaflet-container{font-family:var(--sans);background:#0a0908}.leaflet-tile{filter:saturate(.82)brightness(.9)contrast(1.05)}.leaflet-control-attribution{font-size:10px;color:#766e60!important;background:#0b08059e!important}.leaflet-control-attribution a{color:#9a8e7d!important}.leaflet-bar a{color:var(--bone);background:#15110b;border-color:#f3eee329}.leaflet-bar a:hover{background:var(--wine);color:var(--bone)}.mp-marker i{background:var(--gold-lit);border-radius:50%;width:11px;height:11px;transition:transform .3s;display:block;box-shadow:0 0 0 4px #cba25538,0 0 14px #cba2558c}.mp-marker.major i{background:var(--wine);width:15px;height:15px;box-shadow:0 0 0 5px #8a2a394d,0 0 18px #8a2a39a6}.mp-marker:hover i{transform:scale(1.35)}.leaflet-popup-content-wrapper{border:1px solid var(--line);border-radius:3px;box-shadow:0 18px 50px #0009;color:var(--bone)!important;background:#100c08f7!important}.leaflet-popup-tip{background:#100c08f7!important}.leaflet-popup-content{font-family:var(--sans);margin:15px 18px}.leaflet-popup-close-button{color:#9a8e7d!important}.pop-idx{letter-spacing:.2em;color:var(--gold-lit);text-transform:uppercase;font-size:11px}.pop-city{font-family:var(--serif);color:var(--bone);margin:5px 0 2px;font-size:22px;font-weight:400}.pop-country{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.pop-date{color:var(--gold-lit);margin-top:8px;font-size:12px}.pop-quote{font-family:var(--serif);color:#cabfae;max-width:230px;margin-top:10px;font-size:13.5px;font-style:italic;line-height:1.45}.map-legend{max-width:var(--maxw);z-index:2;flex-wrap:wrap;gap:9px;margin:clamp(22px,3vw,34px) auto 0;padding:0 clamp(24px,5vw,72px);display:flex;position:relative}.chip{appearance:none;border:1px solid var(--line);letter-spacing:.02em;color:var(--ink-soft);cursor:pointer;font-size:12.5px;font-family:var(--sans);background:#f3eee305;border-radius:40px;align-items:center;gap:8px;padding:8px 15px 8px 12px;transition:all .3s;display:inline-flex}.chip .n{color:var(--gold-lit);font-variant-numeric:tabular-nums;font-size:10px}.chip:hover,.chip.active{color:var(--bone);border-color:var(--gold-lit);background:#cba2551a}.chip.major .n{color:var(--gold-lit)}.route-path{animation:2.6s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-100px}}.mp-rider i{background:var(--wine-lit);border-radius:50%;width:13px;height:13px;animation:1.4s ease-in-out infinite pulse;display:block;box-shadow:0 0 0 5px #cc627547,0 0 20px #cc6275cc}@keyframes pulse{50%{box-shadow:0 0 0 9px #cc62751f,0 0 24px #cc6275e6}}.playcard{z-index:600;border:1px solid var(--line);pointer-events:none;opacity:0;background:#100c08f7;border-radius:3px;width:min(300px,100% - 36px);padding:16px 19px;transition:opacity .45s,transform .45s cubic-bezier(.16,1,.3,1);position:absolute;top:18px;right:18px;transform:translateY(-10px);box-shadow:0 18px 50px #0009}.playcard.show{opacity:1;transform:none}.playcard.tick{animation:.55s cubic-bezier(.16,1,.3,1) cardin}@keyframes cardin{0%{opacity:.15;transform:translateY(-12px)}}.playcard:before{content:"";background:var(--gold-lit);width:2px;position:absolute;top:0;bottom:0;left:0}.playcard .pop-quote{max-width:none}@media (max-width:860px){.playcard{width:auto;inset:auto 18px 18px}}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(34px)}.reveal.in{opacity:1;transform:none}a:focus-visible,.chip:focus-visible{outline:2px solid var(--gold-lit);outline-offset:4px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hero h1 .row span,.eyebrow,.hero-foot,.reveal{opacity:1!important;transform:none!important}.hero-bg img{transform:none!important}}
