:root{--ink:#132c35;--ink2:#1c3c45;--cream:#f5efdf;--paper:#fffaf0;--sand:#e7d5b1;--sun:#e9b568;--coral:#df6849;--sage:#75978d;--line:rgba(19,44,53,.16);--shadow:0 25px 70px rgba(19,44,53,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:#fff;padding:.7rem 1rem;color:var(--ink)}.skip-link:focus{top:1rem}button,a{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Fraunces',Georgia,serif;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(3.5rem,8vw,7.5rem);margin:0 0 1.5rem}h1 em{font-style:normal;color:var(--sun)}h2{font-size:clamp(2.3rem,5vw,4.4rem);margin:.15rem 0 1rem}h3{font-size:1.6rem;margin:.3rem 0 .5rem}.kicker{font-size:.72rem;letter-spacing:.19em;font-weight:700;color:var(--sun);margin:0 0 .8rem}.kicker.dark{color:#a84935}.site-header{height:76px;position:absolute;inset:0 0 auto;z-index:20;padding:0 clamp(1rem,5vw,4.5rem);display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:.7rem}.brand svg{width:36px;fill:none;stroke:var(--sun);stroke-width:2}.brand .brand-cut{stroke:#fff}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand b{font-size:.78rem;letter-spacing:.13em}.brand i,footer i{font-family:'Fraunces';font-style:italic;color:var(--sun)}.brand small{font-size:.57rem;letter-spacing:.21em;opacity:.72;margin-top:.28rem}.site-header nav{display:flex;align-items:center;gap:1.5rem}.site-header nav>a{color:#fff;text-decoration:none;font-size:.88rem;font-weight:600}.manage-button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.09);color:#fff;padding:.65rem 1rem;border-radius:99px}.menu-button{display:none;background:none;border:0;color:#fff}.hero{min-height:780px;background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:150px max(5vw,1rem) 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);gap:clamp(2rem,6vw,6rem);align-items:center}.hero-sun{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--coral),#aa4938 60%,transparent 61%);opacity:.86;left:49%;top:14%}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}.hero-road{position:absolute;width:65%;height:320px;left:28%;bottom:-100px;border:2px solid rgba(255,255,255,.16);border-radius:50% 50% 0 0;transform:perspective(500px) rotateX(55deg)}.hero-road:before,.hero-road:after{content:"";position:absolute;top:15%;bottom:0;width:2px;background:rgba(255,255,255,.18)}.hero-road:before{left:25%}.hero-road:after{right:25%}.hero-road span{position:absolute;left:50%;top:12%;bottom:0;border-left:3px dashed rgba(233,181,104,.4)}.hero-copy,.route-ticket,.hero-note{position:relative;z-index:2}.hero-intro{font-size:clamp(1.05rem,2vw,1.28rem);max-width:590px;color:rgba(255,255,255,.74)}.hero-actions{display:flex;gap:.8rem;margin-top:2rem}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;padding:.85rem 1.25rem;text-decoration:none;font-weight:700;border:0}.primary{background:var(--sun);color:var(--ink)}.secondary{color:#fff;border:1px solid rgba(255,255,255,.28)}.route-ticket{background:rgba(245,239,223,.96);color:var(--ink);border-radius:22px;padding:1.4rem;box-shadow:0 35px 90px rgba(0,0,0,.28);transform:rotate(1.3deg);backdrop-filter:blur(8px)}.ticket-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--line);padding-bottom:1rem;font-size:.7rem;font-weight:700;letter-spacing:.16em}.ticket-head svg{width:25px;fill:none;stroke:var(--coral);stroke-width:1.8}.mini-route{height:250px;position:relative;margin:.8rem 0}.mini-route svg{width:100%;height:100%}.route-shadow{fill:none;stroke:rgba(19,44,53,.12);stroke-width:12}.route-line{fill:none;stroke:url(#routeGlow);stroke-width:4;stroke-dasharray:9 9;stroke-linecap:round}.route-start,.route-end{fill:var(--paper);stroke:var(--coral);stroke-width:4}.route-end{fill:var(--coral)}.route-dashes{fill:var(--ink);opacity:.5}.city{position:absolute;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.city-start{left:2%;top:13%}.city-end{right:0;bottom:10%}.route-ticket dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:.8rem 0}.route-ticket dl div{padding:.25rem .6rem;border-right:1px solid var(--line)}.route-ticket dl div:last-child{border:0}.route-ticket dt{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#6b7779}.route-ticket dd{font-size:.82rem;font-weight:700;margin:.25rem 0 0}.countdown{display:flex;align-items:center;gap:.7rem;margin-top:1rem;flex-direction:row}.countdown-dot{width:10px;height:10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px rgba(223,104,73,.14)}.countdown div{display:flex;flex-direction:column}.countdown small{font-size:.58rem;letter-spacing:.12em}.countdown strong{font-size:.75rem}.countdown--hero{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;width:min(100%,31rem);margin:1.4rem auto 0;padding:0;text-align:center;color:#fff}.countdown .countdown-title{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.55rem;color:rgba(255,255,255,.9);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.countdown-plane{display:block;flex:0 0 auto;width:1.35rem;height:1.15rem;fill:currentColor}.countdown .countdown-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.48rem;width:100%}.countdown-unit{min-width:0;padding:.65rem .35rem .55rem;border:1px solid rgba(233,181,104,.36);border-radius:12px;background:linear-gradient(180deg,rgba(19,44,53,.86),rgba(11,32,39,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(0,0,0,.14);backdrop-filter:blur(6px)}.countdown-unit>svg{display:block;width:1rem;height:1rem;margin:0 auto .2rem;fill:none;stroke:var(--sun);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.countdown-unit strong{display:block;color:#fff;font-family:'Fraunces',serif;font-size:clamp(1.55rem,5vw,2.25rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.countdown-unit small{display:block;margin-top:.35rem;color:rgba(255,255,255,.62);font-size:.52rem;font-weight:700;letter-spacing:.15em}.countdown-unit.is-seconds{opacity:.82}.countdown-status{margin:0;color:#fff;font-size:1.25rem;font-weight:700}.countdown-status[hidden],.countdown-clock[hidden]{display:none!important}@media(min-width:768px){.countdown--hero{gap:.8rem}.countdown-unit{padding:.8rem .55rem .65rem}.countdown-unit>svg{width:1.1rem;height:1.1rem}.countdown-unit small{font-size:.56rem}}.hero-note{position:absolute;left:max(5vw,1rem);right:max(5vw,1rem);bottom:28px;display:flex;align-items:center;gap:.7rem;font-size:.7rem;letter-spacing:.15em}.hero-note i{width:80px;height:1px;background:rgba(255,255,255,.4)}.hero-note b{margin-left:auto;font-weight:500;color:rgba(255,255,255,.56)}.intro-band{background:var(--sun);display:flex;align-items:center;justify-content:center;gap:clamp(1.2rem,5vw,5rem);padding:1.25rem}.intro-band div{display:flex;align-items:baseline;gap:.55rem}.intro-band strong{font-family:'Fraunces';font-size:2rem}.intro-band span{font-size:.78rem;font-weight:700}.intro-band i{width:1px;height:28px;background:rgba(19,44,53,.28)}.section{padding:clamp(5rem,9vw,8rem) max(5vw,1rem)}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:end;max-width:1200px;margin:0 auto 3rem}.section-heading>p{max-width:520px;color:#5b6b6e;margin-bottom:.5rem}.route-board{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.route-stop{min-height:340px;border:1px solid #d7dad7;background:var(--paper);background-clip:padding-box;padding:1.5rem;border-radius:22px;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 14px 36px rgba(19,44,53,.12);transition:border-color .2s,box-shadow .2s}.route-stop:hover{border-color:var(--sun);box-shadow:0 18px 42px rgba(19,44,53,.16)}.route-stop.flexible{background-color:var(--ink);color:#fff}.stop-index{font:700 .72rem 'DM Sans';letter-spacing:.15em;color:var(--coral)}.stop-copy{margin-top:auto;position:relative;z-index:2}.stop-copy span{font-size:.64rem;letter-spacing:.15em;font-weight:700;color:var(--coral)}.route-stop.flexible .stop-copy span{color:var(--sun)}.stop-copy p{font-size:.9rem;color:#6a7776;margin-bottom:0}.flexible .stop-copy p{color:rgba(255,255,255,.62)}.route-stop>svg{position:absolute;right:-5px;top:25px;width:130px;fill:none;stroke:var(--sage);stroke-width:1.5;opacity:.22}.flexible>svg{stroke:var(--sun)}.route-status{max-width:1200px;margin:2rem auto 0;border-top:1px solid var(--line);padding-top:1rem;display:flex;align-items:center;gap:.8rem}.route-status p{margin:0;color:#677577}.route-status button,.route-status a{margin-left:auto;border:0;background:transparent;color:#a84935;font-weight:700;text-decoration:none}.pulse{width:9px;height:9px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(223,104,73,.12)}.journal-section{background:var(--ink);color:#fff}.section-heading.light>p{color:rgba(255,255,255,.6)}.journal-toolbar{max-width:1200px;margin:0 auto 1.5rem;display:flex;justify-content:space-between;align-items:center}.filters{display:flex;gap:.5rem}.filters button{color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.16);background:transparent;border-radius:99px;padding:.55rem .85rem;font-size:.78rem}.filters button.active{background:var(--sun);border-color:var(--sun);color:var(--ink)}#dayCount{font-size:.75rem;color:rgba(255,255,255,.5)}.day-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.day-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;text-align:left;padding:1rem;border-radius:14px;min-height:146px;display:flex;flex-direction:column;transition:.2s}.day-card:hover,.day-card:focus-visible{transform:translateY(-3px);border-color:var(--sun)}.day-card.is-fixed{background:var(--paper);color:var(--ink)}.day-card .day-top{display:flex;justify-content:space-between;font-size:.63rem;letter-spacing:.1em}.day-card .day-top b{color:var(--sun)}.day-card.is-fixed .day-top b{color:var(--coral)}.day-card h3{font-size:1.18rem;margin:auto 0 .35rem}.day-card p{font-size:.75rem;opacity:.6;margin:0}.story-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);max-width:1400px;margin:auto;align-items:center}.story-visual{height:550px;position:relative}.photo{position:absolute;border:10px solid var(--paper);box-shadow:var(--shadow);background-color:var(--sage);background-image:linear-gradient(145deg,rgba(19,44,53,.1),rgba(19,44,53,.7)),repeating-linear-gradient(35deg,transparent 0 18px,rgba(255,255,255,.08) 19px 20px)}.photo-one{inset:5% 24% 18% 2%;transform:rotate(-4deg)}.photo-two{inset:24% 2% 2% 40%;transform:rotate(5deg);background-color:var(--coral)}.stamp{position:absolute;right:10%;top:2%;width:112px;height:112px;border:2px dashed var(--coral);border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(8deg);font-size:.7rem;letter-spacing:.15em;color:var(--coral)}.stamp b{font:700 1.4rem 'Fraunces'}.story-copy>p:not(.kicker){color:#5b6b6e;max-width:580px}.story-copy ul{list-style:none;padding:0;margin:2rem 0}.story-copy li{display:flex;align-items:center;gap:.7rem;border-top:1px solid var(--line);padding:.8rem 0;font-weight:600}.story-copy li:last-child{border-bottom:1px solid var(--line)}.story-copy li svg{width:20px;fill:none;stroke:var(--coral);stroke-width:2}footer{background:#0b2027;color:#fff;padding:2rem max(5vw,1rem);display:flex;align-items:center;justify-content:space-between}.footer-brand{display:flex;flex-direction:column}.footer-brand b{font-size:.8rem;letter-spacing:.14em}.footer-brand span,footer p,footer a{font-size:.72rem;color:rgba(255,255,255,.55);margin:0}footer a{text-decoration:none}
.floating-back-to-top{position:fixed;z-index:45;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));width:48px;height:48px;border:1px solid rgba(255,250,240,.82);border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#fffaf0;color:#fff;box-shadow:0 10px 28px rgba(7,25,32,.34);opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .22s ease,transform .22s ease,box-shadow .2s ease}.floating-back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.floating-back-to-top:hover,.floating-back-to-top:focus-visible{box-shadow:0 12px 32px rgba(7,25,32,.46);outline:3px solid var(--paper);outline-offset:3px}.floating-back-to-top>svg{display:block;width:100%;height:100%}.floating-arrow{fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;animation:floatingArrowLift 2.4s ease-in-out infinite}.floating-arrow-shadow{stroke:#132c35;stroke-width:6;opacity:.8}@keyframes floatingArrowLift{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}.lightbox-open .floating-back-to-top{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.floating-back-to-top{transition:none}.floating-arrow{animation:none;transform:none}}dialog{border:0;border-radius:22px;padding:2rem;max-width:560px;width:calc(100% - 2rem);background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(5,22,27,.72);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:1rem;top:1rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:1.4rem}.admin-icon svg{width:44px;fill:none;stroke:var(--coral);stroke-width:1.8}.dialog-ok{margin-top:1rem}.day-dialog-number{font-size:.7rem;letter-spacing:.15em;color:var(--coral);font-weight:700}.day-dialog-date{display:block;margin-top:.28rem;color:#3c3b6e;letter-spacing:.08em;font-size:.68rem}.day-dialog-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1.5rem}.day-dialog-meta div{padding:1rem;background:var(--cream);border-radius:12px}.day-dialog-meta small{display:block;color:#6a7776}.day-dialog-meta strong{font-size:.9rem}.mobile-only{display:none}@media(max-width:900px){.site-header nav{position:absolute;top:76px;left:0;right:0;background:var(--ink);padding:1rem;display:none;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav>a,.manage-button{text-align:center;padding:.7rem}.menu-button{display:flex;align-items:center;gap:4px;flex-direction:column}.menu-button span{width:24px;height:2px;background:#fff}.menu-button b{font-size:.58rem;font-weight:500;margin-top:2px}.hero{grid-template-columns:1fr;padding-top:125px}.hero-sun{left:45%;top:5%;width:420px;height:420px}.route-ticket{max-width:600px}.hero-note{display:none}.route-board{grid-template-columns:1fr}.route-stop.flexible{transform:none}.day-grid{grid-template-columns:repeat(2,1fr)}.section-heading{grid-template-columns:1fr;gap:1rem}.story-section{grid-template-columns:1fr}.story-visual{height:440px}}@media(max-width:600px){h1{font-size:3.55rem}.site-header{height:68px}.brand svg{width:30px}.brand b{font-size:.68rem}.hero{min-height:auto;padding:115px 1rem 55px;gap:2.5rem}.hero-copy{text-align:center}.hero-intro{font-size:1rem}.hero-actions{justify-content:center;flex-wrap:wrap}.route-ticket{transform:none;padding:1rem}.mini-route{height:155px}.route-ticket dl{grid-template-columns:1fr}.route-ticket dl div{display:flex;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.route-ticket dl div:last-child{border:0}.intro-band{gap:.8rem}.intro-band div{flex-direction:column;align-items:center;gap:0}.intro-band strong{font-size:1.55rem}.intro-band span{font-size:.62rem;text-align:center}.section{padding:4.5rem 1rem}.route-board{gap:.8rem}.route-stop{min-height:250px}.route-status{align-items:flex-start;flex-wrap:wrap}.route-status p{width:calc(100% - 28px);margin-left:28px}.route-status button,.route-status a{margin-left:28px}.journal-toolbar{align-items:flex-start;gap:1rem;flex-direction:column}.filters{width:100%;overflow-x:auto}.filters button{white-space:nowrap}.day-grid{grid-template-columns:1fr}.day-card{min-height:122px}.story-visual{height:340px}.photo{border-width:7px}.stamp{width:82px;height:82px}footer{flex-direction:column;gap:1rem;text-align:center}.day-dialog-meta{grid-template-columns:1fr}}/* Route 66 hero */.hero{background-color:var(--ink);background-image:linear-gradient(90deg,rgba(7,25,32,.94) 0%,rgba(7,25,32,.79) 34%,rgba(7,25,32,.48) 67%,rgba(7,25,32,.35) 100%),linear-gradient(0deg,rgba(7,25,32,.42),rgba(7,25,32,.06) 52%,rgba(7,25,32,.28)),url('/assets/route66-mohave.webp');background-size:cover;background-position:center 54%}.hero-sun,.hero-road{display:none}.hero-grid{opacity:.26;mix-blend-mode:soft-light;background-size:64px 64px}.hero-copy{text-shadow:0 2px 20px rgba(0,0,0,.45)}.route66-kicker{display:flex;align-items:center;gap:.75rem}.us66-badge{width:54px;height:54px;flex:0 0 54px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.35));text-shadow:none}.us66-badge svg{display:block;width:100%;height:100%}.us66-badge path:first-child{fill:var(--paper);stroke:var(--ink);stroke-width:4}.us66-badge .badge-line{fill:none;stroke:var(--ink);stroke-width:4}.us66-badge text{fill:var(--ink);font:700 22px 'DM Sans',sans-serif;text-anchor:middle}.us66-badge .badge-number{font:700 44px 'DM Sans',sans-serif}.route-ticket{background:rgba(255,250,240,.94);box-shadow:0 35px 90px rgba(0,0,0,.38);position:relative}.route-ticket::before{content:"";position:absolute;inset:-2px;z-index:4;border-radius:24px;border:2px solid #b22234;opacity:.28;box-shadow:0 0 4px 1px rgba(220,38,50,.12),0 0 10px rgba(220,38,50,.06);pointer-events:none}@keyframes borderBreathe{0%,100%{opacity:.28;box-shadow:0 0 4px 1px rgba(220,38,50,.12),0 0 10px rgba(220,38,50,.06)}50%{opacity:1;box-shadow:0 0 8px 2px rgba(220,38,50,.4),0 0 18px 4px rgba(220,38,50,.22)}}@media(prefers-reduced-motion:reduce){.route-ticket::before{animation:none;opacity:.72;filter:none}#usaRouteLine{transition:none!important;stroke-dashoffset:0!important;stroke-dasharray:none!important}}.hero-note{text-shadow:0 1px 12px rgba(0,0,0,.7)}.hero-credit{color:rgba(255,255,255,.6);font-size:.58rem;letter-spacing:.04em;text-decoration:none;margin-left:1rem}.hero-credit:hover{color:#fff;text-decoration:underline}@media(max-width:900px){.hero{background-image:linear-gradient(90deg,rgba(7,25,32,.91),rgba(7,25,32,.55)),linear-gradient(0deg,rgba(7,25,32,.42),rgba(7,25,32,.1)),url('/assets/route66-mohave.webp');background-position:58% center}.route66-kicker{justify-content:center}.us66-badge{width:48px;height:48px;flex-basis:48px}}/* City backgrounds */.route-stop.has-photo{min-height:340px;color:#fff;border:1px solid #d7dad7;background-clip:padding-box;background-color:var(--ink);background-image:linear-gradient(180deg,rgba(7,25,32,.12) 0%,rgba(7,25,32,.24) 42%,rgba(7,25,32,.94) 100%),var(--stop-photo);background-size:cover;background-position:center;box-shadow:0 14px 36px rgba(19,44,53,.12)}.route-stop.has-photo .stop-index{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7)}.route-stop.has-photo .stop-copy span{color:var(--sun)}.route-stop.has-photo .stop-copy h3{font-size:1.9rem;text-shadow:0 2px 18px rgba(0,0,0,.72)}.route-stop.has-photo .stop-copy p{color:rgba(255,255,255,.82);text-shadow:0 1px 10px rgba(0,0,0,.7)}.city-photo-credit{position:absolute;z-index:3;right:.8rem;top:.8rem;max-width:70%;padding:.35rem .55rem;border-radius:99px;background:rgba(7,25,32,.72);color:rgba(255,255,255,.83);font-size:.56rem;line-height:1.25;text-decoration:none;backdrop-filter:blur(5px);text-align:right}.city-photo-credit:hover{color:#fff;background:rgba(7,25,32,.9)}@media(max-width:600px){.route-stop,.route-stop.has-photo{min-height:280px}.city-photo-credit{font-size:.52rem;max-width:72%}}.mini-route{height:auto;margin:.8rem 0}.usa-route-map{display:block;width:100%;height:auto;aspect-ratio:520/240;overflow:visible}.mini-route{width:100%}.mini-route .usa-map-frame{width:100%}.mini-route .usa-map-frame svg{width:100%;height:auto;display:block}.usa-map-base{opacity:.9}.usa-highlighted-state{fill:var(--sun);fill-opacity:.3;stroke:none;animation:pulseState 3.2s ease-in-out infinite}.usa-route-shadow,.usa-route-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.usa-route-shadow{stroke:rgba(19,44,53,.28);stroke-width:8}.usa-route-line{stroke:url(#routeGlow);stroke-width:3.5}.usa-map-stop circle{fill:var(--coral);stroke:var(--paper);stroke-width:1.8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px rgba(19,44,53,.35))}.usa-map-stop.endpoint circle{fill:var(--sun);stroke:var(--ink);stroke-width:2.2}.usa-map-label{font:700 10px 'DM Sans',sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}.usa-map-attribution{margin:.1rem 0 0;text-align:right;color:#7a8584;font-size:.48rem;line-height:1.2}.usa-map-attribution a{color:inherit;text-decoration:none}.route-sources{max-width:1200px;margin:1rem auto 0;border-top:1px solid var(--line);padding-top:.8rem}.route-sources summary{cursor:pointer;width:max-content;color:#677577;font-size:.75rem;font-weight:700}.route-sources ol{margin:.8rem 0 0;padding-left:1.4rem;columns:2;column-gap:2rem}.route-sources li{break-inside:avoid;margin:0 0 .55rem;font-size:.68rem;color:#677577}.route-sources li b{display:block;color:var(--ink)}.route-sources li a{color:#a84935;text-decoration:none}.route-sources li a:hover{text-decoration:underline}@media(max-width:600px){.route-sources ol{columns:1}}@keyframes pulseState{0%,100%{fill-opacity:.18}50%{fill-opacity:.68}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.usa-highlighted-state{animation:none!important;fill-opacity:.38!important}#usaRouteLine{transition:none!important;stroke-dashoffset:0!important;stroke-dasharray:none!important}}

/* Vintage roadtrip map — zelfstandig, zonder dashboard-stijlen */
.usa-route-map{border-radius:14px;clip-path:inset(0 round 14px);background:#9bc5e4;box-shadow:inset 0 0 0 1px rgba(101,95,77,.24),inset 0 0 28px rgba(58,91,115,.18);isolation:isolate;width:100%;height:100%;object-fit:cover}
.usa-map-frame{position:relative;border-radius:15px;isolation:isolate;height:100%}
.usa-map-frame::after{content:"";position:absolute;z-index:3;inset:-2px;border:2px solid #3c3b6e;border-radius:16px;opacity:.4;box-shadow:0 0 0 0 rgba(60,59,110,.06),inset 0 0 0 1px rgba(255,255,255,.07);pointer-events:none}
@keyframes usaMapBlueBreathe{0%,100%{opacity:.4;box-shadow:0 0 0 0 rgba(60,59,110,.06),inset 0 0 0 1px rgba(255,255,255,.07)}50%{opacity:.95;box-shadow:0 0 12px 2px rgba(60,59,110,.36),inset 0 0 0 1px rgba(255,255,255,.18)}}

.usa-map-base{opacity:1}
.usa-land-glow{fill:#3c3b6e;opacity:.18;pointer-events:none}
.usa-highlighted-state{fill:#3c3b6e;fill-opacity:.22;stroke:#27264c;stroke-width:.5;stroke-opacity:.62}
.usa-route-shadow{stroke:rgba(71,51,39,.24);stroke-width:3.6}
.usa-route-line{stroke:url(#routeGlow);stroke-width:1.8;filter:drop-shadow(0 .55px .55px rgba(79,31,21,.2))}
.usa-route-flow{fill:none;stroke:#ffd0a8;stroke-width:.48;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 9.2;vector-effect:non-scaling-stroke;opacity:.64;animation:roadtripRouteFlow 2.15s linear infinite;pointer-events:none}
.usa-map-stop circle{fill:#c92721;stroke:#fff4df;stroke-width:2;filter:drop-shadow(0 1.5px 2px rgba(71,51,39,.45));transition:fill .18s ease,stroke .18s ease,stroke-width .18s ease,filter .18s ease}
.usa-map-stop.endpoint circle{fill:#fff4df;stroke:#b8201c;stroke-width:2.6}
.usa-map-stop[aria-expanded="true"] .usa-map-dot{fill:#2563eb;stroke:#e8f1ff;stroke-width:3;filter:drop-shadow(0 0 5px rgba(37,99,235,.95)) drop-shadow(0 0 10px rgba(96,165,250,.72))}
.usa-map-label{fill:#4d4035;stroke:#fff4df;stroke-width:3.5px}
@keyframes roadtripRouteFlow{to{stroke-dashoffset:-24}}
@keyframes routeStateBluePulse{0%,100%{fill-opacity:.22;stroke-opacity:.62}50%{fill-opacity:.52;stroke-opacity:1}}
@keyframes usaLandOutlineBreathe{0%,100%{opacity:.18}50%{opacity:.78}}
.route-ticket.map-breathe-sync::before{animation:borderBreathe 4.8s ease-in-out infinite}
.route-ticket.map-breathe-sync .usa-map-frame::after{animation:usaMapBlueBreathe 4.8s ease-in-out infinite}
.route-ticket.map-breathe-sync .usa-highlighted-state{animation:routeStateBluePulse 4.8s ease-in-out infinite}
.route-ticket.map-breathe-sync .usa-land-glow{animation:usaLandOutlineBreathe 4.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.usa-route-flow{animation:none!important;stroke-dasharray:none!important;opacity:.28}.route-ticket.map-breathe-sync::before{animation:none!important;opacity:.72;filter:none;box-shadow:0 0 7px 1px rgba(220,38,50,.22),0 0 14px 3px rgba(220,38,50,.12)}.route-ticket.map-breathe-sync .usa-highlighted-state{animation:none!important;fill-opacity:.36!important;stroke-opacity:.85!important}.route-ticket.map-breathe-sync .usa-land-glow{animation:none!important;opacity:.48!important}.route-ticket.map-breathe-sync .usa-map-frame::after{animation:none!important;opacity:.72;box-shadow:0 0 7px 1px rgba(60,59,110,.2)}}

.lightbox-trigger{cursor:zoom-in}.lightbox-trigger:focus-visible{outline:3px solid var(--sun);outline-offset:3px}.photo-expand{position:absolute;z-index:4;right:.8rem;top:.8rem;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:rgba(7,25,32,.72);color:#fff;backdrop-filter:blur(6px);pointer-events:none}.photo-expand svg{position:static;width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;opacity:1}.lightbox-open{overflow:hidden}.photo-lightbox{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(.75rem,2.5vw,2rem);border:0;border-radius:0;background:rgba(5,18,23,.96);color:#fff;overflow:hidden}.photo-lightbox[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:center;gap:clamp(.4rem,2vw,1.25rem)}.photo-lightbox::backdrop{background:#051217}.photo-lightbox figure{grid-column:2;margin:0;min-width:0;max-width:min(88vw,1400px);height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.75rem}.lightbox-image-wrap{min-height:0;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain;touch-action:pinch-zoom}.photo-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 6.5rem);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.46);user-select:none;-webkit-user-drag:none}.photo-lightbox figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2rem;color:rgba(255,255,255,.72);font-size:.78rem}.photo-lightbox figcaption strong{color:#fff;font-family:'DM Sans',sans-serif;font-size:.88rem;letter-spacing:.02em}.lightbox-close,.lightbox-nav{border:1px solid rgba(255,255,255,.24);background:rgba(19,44,53,.72);color:#fff;backdrop-filter:blur(8px);display:grid;place-items:center}.lightbox-close{position:fixed;z-index:3;right:clamp(.75rem,2vw,1.5rem);top:clamp(.75rem,2vw,1.5rem);width:2.75rem;height:2.75rem;border-radius:50%;font-size:1.8rem;line-height:1}.lightbox-nav{position:relative;z-index:2;width:3rem;height:3rem;border-radius:50%;font-size:2rem}.lightbox-nav:hover,.lightbox-close:hover,.lightbox-nav:focus-visible,.lightbox-close:focus-visible{background:var(--coral);border-color:var(--coral);outline:none}.lightbox-nav:disabled{opacity:.25;cursor:default}@media(max-width:600px){.photo-lightbox{padding:.75rem}.photo-lightbox[open]{grid-template-columns:2.6rem minmax(0,1fr) 2.6rem;gap:.25rem}.photo-lightbox figure{max-width:100%;grid-column:1/-1}.photo-lightbox img{max-height:calc(100dvh - 7rem);border-radius:7px}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:2.55rem;height:2.55rem;font-size:1.65rem}.lightbox-prev{left:.55rem}.lightbox-next{right:.55rem}.photo-lightbox figcaption{padding:0 .3rem}.photo-expand{width:1.8rem;height:1.8rem}}
.day-markdown{color:#42595f}.day-markdown h1,.day-markdown h2,.day-markdown h3{margin:1rem 0 .45rem;color:var(--ink);letter-spacing:-.02em}.day-markdown h1{font-size:1.7rem}.day-markdown h2{font-size:1.4rem}.day-markdown h3{font-size:1.15rem}.day-markdown p{margin:.55rem 0}.day-markdown ul{padding-left:1.35rem}.day-markdown blockquote{margin:1rem 0;padding:.65rem 1rem;border-left:3px solid var(--coral);background:var(--cream)}.day-markdown code{padding:.12rem .3rem;border-radius:4px;background:var(--cream);font-size:.88em}.day-markdown a{color:#a84935}
.elevation-panel{max-width:1200px;margin:2rem auto 0;padding:clamp(1.1rem,3vw,2rem);border-radius:22px;background:linear-gradient(145deg,#132c35,#1c3c45);color:#fff;box-shadow:0 20px 55px rgba(19,44,53,.18)}.elevation-panel[hidden]{display:none}.elevation-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.elevation-head h3{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.elevation-range{display:flex;gap:1.8rem}.elevation-range span{display:flex;flex-direction:column;align-items:flex-end}.elevation-range small{font-size:.55rem;letter-spacing:.14em;color:rgba(255,255,255,.52)}.elevation-range strong{font:700 1.35rem 'Fraunces';color:var(--sun)}.elevation-chart-wrap{margin-top:1rem}.elevation-chart{display:block;width:100%;height:auto;overflow:visible}.elevation-grid line{stroke:rgba(255,255,255,.11);stroke-width:1;vector-effect:non-scaling-stroke}.elevation-grid text,.elevation-labels text{fill:rgba(255,255,255,.57);font:600 17px 'DM Sans',sans-serif}.elevation-labels .peak-label{fill:var(--sun);font-weight:700}.elevation-area{fill:url(#elevationFill)}.elevation-line{fill:none;stroke:url(#elevationStroke);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.elevation-point circle{fill:var(--coral);stroke:#fffaf0;stroke-width:2;vector-effect:non-scaling-stroke}.elevation-point:first-child circle,.elevation-point:last-child circle{fill:var(--sun);stroke:var(--ink)}.elevation-attribution{margin:.35rem 0 0;text-align:right;color:rgba(255,255,255,.45);font-size:.58rem}.elevation-attribution a{color:inherit}.day-expand-label{display:flex;align-items:center;justify-content:space-between;margin-top:.7rem;padding-top:.55rem;border-top:1px solid currentColor;font-size:.63rem;font-weight:700;letter-spacing:.08em;opacity:.58}.day-expand-label b{font-size:1.15rem;line-height:1}.day-card[aria-expanded="true"]{border-color:var(--sun);transform:translateY(-2px)}.day-expansion{grid-column:1/-1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(233,181,104,.45);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 18px 50px rgba(0,0,0,.2);animation:dayExpand .28s ease-out}.day-expansion h3{font-size:clamp(1.7rem,4vw,2.5rem)}.day-expansion .day-dialog-meta{align-self:end;margin-top:0}.day-expansion-close{position:absolute;right:.8rem;top:.8rem;width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.35rem}.day-expansion-close:hover,.day-expansion-close:focus-visible{background:var(--coral);color:#fff;outline:none}@keyframes dayExpand{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:600px){.elevation-head{align-items:flex-start;flex-direction:column;gap:1rem}.elevation-range{width:100%;justify-content:space-between}.elevation-range span{align-items:flex-start}.elevation-chart{margin-top:.25rem}.elevation-grid text,.elevation-labels text{font-size:22px}.elevation-labels .peak-label{font-size:20px}.elevation-attribution{text-align:left}.day-expansion{grid-template-columns:1fr;gap:1rem}.day-expansion .day-dialog-meta{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.day-expansion{animation:none}}
.day-thumbnails{margin:1rem 0 0}.day-thumbnails--single{max-width:420px}.day-photo-slide{position:relative;display:block;flex:0 0 100%;aspect-ratio:4/3;overflow:hidden;color:#fff;background:var(--ink)}.day-thumbnails--single .day-photo-slide{border:2px solid var(--line);border-radius:14px}.day-photo-slide img,.day-video-slide video{display:block;width:100%;height:100%;object-fit:cover}.day-photo-slide img{transition:transform .35s ease}.day-video-slide video{background:#051217}.day-video-slide span{inset:0 auto auto 0;padding:.45rem .7rem;background:rgba(5,18,23,.7);border-radius:0 0 10px 0}.day-photo-slide span{position:absolute;inset:auto 0 0;padding:2.5rem .9rem .7rem;background:linear-gradient(transparent,rgba(5,18,23,.82));font-size:.72rem;font-weight:600}.day-photo-slide:hover img,.day-photo-slide:focus-visible img{transform:scale(1.035)}.day-photo-slide:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}.day-photo-slider{margin:1rem 0 0;outline:none}.day-photo-slider:focus-visible .day-slider-frame{box-shadow:0 0 0 3px var(--sun)}.day-slider-frame{position:relative;overflow:hidden;border:3px solid rgba(19,44,53,.15);border-radius:18px;background:var(--ink);box-shadow:0 14px 32px rgba(19,44,53,.16)}.day-slider-track{display:flex;transition:transform .42s cubic-bezier(.4,0,.2,1);will-change:transform}.day-slider-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:2.65rem;height:2.65rem;display:grid;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(5,18,23,.68);color:#fff;font-size:1.8rem;line-height:1;backdrop-filter:blur(7px)}.day-slider-arrow:hover,.day-slider-arrow:focus-visible{background:var(--coral);border-color:var(--coral);outline:none}.day-slider-prev{left:.65rem}.day-slider-next{right:.65rem}.day-slider-count{position:absolute;z-index:2;right:.7rem;top:.7rem;padding:.25rem .55rem;border-radius:99px;background:rgba(5,18,23,.68);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.06em;backdrop-filter:blur(7px)}.day-slider-dots{display:flex;justify-content:center;gap:.42rem;padding:.7rem 0 0}.day-slider-dots button{width:.52rem;height:.52rem;padding:0;border:0;border-radius:50%;background:rgba(19,44,53,.24);transition:width .2s,background .2s}.day-slider-dots button.active{width:1.4rem;border-radius:99px;background:var(--coral)}@media(max-width:500px){.day-slider-frame{border-width:2px;border-radius:14px}.day-slider-arrow{width:2.35rem;height:2.35rem;font-size:1.55rem}.day-slider-prev{left:.45rem}.day-slider-next{right:.45rem}}@media(prefers-reduced-motion:reduce){.day-slider-track,.day-photo-slide img{transition:none}}.day-photo-slide.day-video-slide span{inset:0 auto auto 0;padding:.45rem .7rem;background:rgba(5,18,23,.7);border-radius:0 0 10px 0}

/* Published mixed-media gallery */
.gallery-section{background:linear-gradient(180deg,#fffaf0 0%,#f3e8d1 100%)}
.gallery-toolbar{max-width:1200px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.gallery-filters{display:flex;flex-wrap:wrap;gap:.55rem}
.gallery-filters button{min-height:42px;padding:.55rem 1rem;border:1px solid rgba(19,44,53,.18);border-radius:999px;background:rgba(255,250,240,.72);color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.gallery-filters button:hover{transform:translateY(-1px);border-color:var(--coral)}
.gallery-filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.gallery-filters button:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
#galleryCount{color:#617277;font-size:.75rem;font-weight:700;letter-spacing:.05em;white-space:nowrap}
.media-gallery{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.gallery-card{position:relative;isolation:isolate;display:block;width:100%;padding:0;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(19,44,53,.18);border-radius:18px;background:#132c35;color:#fff;text-align:left;box-shadow:0 16px 38px rgba(19,44,53,.14);cursor:zoom-in;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.gallery-card::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(5,18,23,.05) 30%,rgba(5,18,23,.88) 100%);pointer-events:none}
.gallery-card:hover{transform:translateY(-4px);border-color:rgba(178,34,52,.55);box-shadow:0 22px 46px rgba(19,44,53,.2)}
.gallery-card:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.gallery-card>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.gallery-card:hover>img,.gallery-card:focus-visible>img{transform:scale(1.045)}
.gallery-type{position:absolute;z-index:3;left:.8rem;top:.8rem;display:inline-flex;align-items:center;gap:.3rem;min-height:28px;padding:.3rem .62rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(5,18,23,.68);color:#fff;font-size:.59rem;font-weight:700;letter-spacing:.12em;backdrop-filter:blur(7px)}
.gallery-type svg{width:.7rem;height:.7rem;fill:currentColor}.gallery-type--video{background:rgba(178,34,52,.82)}
.gallery-play{position:absolute;z-index:3;left:50%;top:50%;width:3.3rem;height:3.3rem;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.52);border-radius:50%;background:rgba(5,18,23,.58);backdrop-filter:blur(6px);transition:transform .25s ease,background .25s ease}
.gallery-card:hover .gallery-play{transform:translate(-50%,-50%) scale(1.08);background:rgba(178,34,52,.88)}
.gallery-play svg{width:1.35rem;height:1.35rem;fill:#fff}
.gallery-card-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:.12rem;padding:2.7rem 1rem .9rem;color:#fff}
.gallery-card-copy small{font-size:.59rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.gallery-card-copy strong{overflow:hidden;font:600 clamp(.95rem,1.6vw,1.12rem)/1.3 'Fraunces',serif;text-overflow:ellipsis;white-space:nowrap}
.gallery-poster-fallback{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(145deg,#132c35,#315761)}
.gallery-poster-fallback svg{width:4rem;height:4rem;fill:rgba(255,255,255,.3)}
.gallery-empty{max-width:760px;margin:0 auto;padding:clamp(2.5rem,7vw,4.5rem) 1.5rem;text-align:center;color:#617277}.gallery-empty[hidden]{display:none}
.gallery-empty svg{width:3.4rem;height:3.4rem;fill:none;stroke:var(--coral);stroke-width:1.35}
.gallery-empty h3{margin:.8rem 0 .25rem;font:700 clamp(1.25rem,3vw,1.65rem) 'Fraunces',serif;color:var(--ink)}.gallery-empty p{max-width:520px;margin:0 auto}
.gallery-media-wrap{display:grid;place-items:center;background:#050f13}.gallery-media-wrap img,.gallery-media-wrap video{display:block;max-width:min(86vw,1180px);max-height:78vh;width:auto;height:auto;object-fit:contain}.gallery-media-wrap video{width:min(86vw,1180px);background:#000}.gallery-media-wrap [hidden]{display:none!important}
.gallery-lightbox figcaption strong{max-width:min(70vw,900px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:850px){.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-filters{width:100%}.gallery-filters button{flex:1 1 0;padding:.55rem .65rem}.media-gallery{grid-template-columns:1fr;gap:.9rem}.gallery-card{border-radius:15px}.gallery-card-copy strong{font-size:1.05rem}.gallery-media-wrap img,.gallery-media-wrap video{max-width:96vw;width:96vw;max-height:72vh}.gallery-lightbox figcaption strong{max-width:68vw}.gallery-lightbox .lightbox-nav{top:auto;bottom:4.3rem}}
@media(prefers-reduced-motion:reduce){.gallery-filters button,.gallery-card,.gallery-card>img,.gallery-play{transition:none!important}.gallery-card:hover{transform:none}.gallery-card:hover>img,.gallery-card:focus-visible>img{transform:none}.gallery-card:hover .gallery-play{transform:translate(-50%,-50%)}}

/* Progressieve reisfuncties v58 */
.usa-map-stop{cursor:pointer;outline:none}.usa-map-stop .usa-map-hit{fill:transparent;stroke:none;filter:none;pointer-events:all}.usa-map-stop .usa-map-dot{pointer-events:none}.usa-map-stop:focus-visible .usa-map-dot{stroke:#ffd166;stroke-width:3.4;filter:drop-shadow(0 0 4px rgba(255,209,102,.9))}.usa-map-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 24px;list-style:none;margin:1.5rem auto 0.5rem;padding:12px 20px;border:1px solid rgba(19,44,53,.18);border-radius:14px;background:rgba(245,239,223,.7)}
.usa-map-legend li{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:.75rem;font-weight:800;line-height:1;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase}.usa-map-legend i{display:block;flex:none;width:18px;height:4px}.usa-map-legend .legend-route{height:0;border-top:2px solid #c98b1f}.usa-map-legend .legend-stop{width:7px;height:7px;border:1px solid #c9761c;border-radius:50%;background:#e9b568}.usa-map-legend .legend-endpoint{width:8px;height:8px;border:2px solid #b22234;border-radius:50%;background:#fff4df}.usa-map-legend .legend-state{border:1px solid rgba(60,59,110,.9);border-radius:2px;background:rgba(60,59,110,.55)}.usa-map-stop-card{position:absolute;z-index:5;left:50%;top:8px;width:min(88%,295px);transform:translateX(-50%);padding:9px 36px 9px 11px;border:1px solid rgba(60,59,110,.35);border-radius:10px;background:rgba(255,250,240,.97);box-shadow:0 10px 28px rgba(19,44,53,.25);color:var(--ink)}.usa-map-stop-card[hidden]{display:none}.usa-map-stop-card>small,.usa-map-stop-card>strong,.usa-map-stop-card>span{display:block}.usa-map-stop-card>small{color:#b22234;font-size:.58rem;font-weight:900;letter-spacing:.11em}.usa-map-stop-card>strong{font:700 .95rem 'Fraunces',serif;line-height:1.2}.usa-map-stop-card>span{margin-top:2px;color:#56666a;font-size:.68rem;line-height:1.25}.usa-map-stop-close{position:absolute;right:5px;top:4px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:1.2rem}.usa-map-stop-day{min-height:30px;margin-top:7px;padding:4px 9px;border:0;border-radius:7px;background:#3c3b6e;color:#fff;font-size:.68rem;font-weight:800}.usa-map-stop-day[hidden]{display:none}
.trip-today{display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,1.2fr) auto;align-items:center;gap:clamp(.8rem,2vw,1.6rem);width:min(900px,92vw);padding:clamp(.85rem,2vw,1.2rem);border:1px solid rgba(255,250,240,.4);border-radius:18px;background:rgba(9,29,37,.75);box-shadow:0 15px 40px rgba(7,25,32,.25);backdrop-filter:blur(8px)}.trip-today[hidden]{display:none}.trip-today>div{display:flex;flex-direction:column}.trip-today small{color:#f4c378;font-size:.68rem;font-weight:900;letter-spacing:.12em}.trip-today strong{font:700 clamp(1.35rem,3vw,2rem) 'Fraunces',serif;color:#fff;line-height:1.15}.trip-today>div>span{color:rgba(255,255,255,.8)}.trip-today dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.trip-today dl div{padding:.55rem .7rem;border-left:2px solid rgba(244,195,120,.7);background:rgba(255,255,255,.06)}.trip-today dt{color:rgba(255,255,255,.62);font-size:.58rem;font-weight:800;letter-spacing:.09em}.trip-today dd{margin:2px 0 0;color:#fff;font-size:.78rem;font-weight:700}.trip-today>button{min-height:42px;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.5);border-radius:10px;background:#b22234;color:#fff;font-weight:800;white-space:nowrap}
.offline-status{margin:.25rem 0 0!important;color:rgba(255,255,255,.58);font-size:.7rem}.offline-status.is-offline{color:#f4c378}#installBanner,#updateBanner{position:fixed;z-index:80;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));display:flex;align-items:center;gap:.65rem;max-width:calc(100vw - 2rem);transform:translateX(-50%);padding:.65rem .75rem .65rem 1rem;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:#132c35;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.3)}#installBanner button,#updateBanner button{min-height:36px;padding:.35rem .7rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#b22234;color:#fff;font-weight:700}#installBanner button:last-child,#updateBanner button:last-child{width:36px;padding:0;background:transparent}
.postcard-action{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.postcard-action button{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:.6rem .85rem;border:1px solid rgba(60,59,110,.35);border-radius:10px;background:#3c3b6e;color:#fff;font-weight:800}.postcard-action button:disabled{opacity:.58}.postcard-action svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.postcard-action span{color:#56666a;font-size:.78rem}
@media(max-width:700px){.usa-map-legend{gap:6px 12px;padding:.5rem 0;margin-top:.55rem}.usa-map-legend li{font-size:.62rem}.trip-today{grid-template-columns:1fr;gap:.7rem;width:min(94vw,430px)}.trip-today dl{grid-template-columns:1fr 1fr}.trip-today>button{width:100%}#installBanner,#updateBanner{width:calc(100vw - 1.25rem);justify-content:center;flex-wrap:wrap}.postcard-action{align-items:flex-start;flex-direction:column}}
@media(max-width:400px){.usa-map-legend li span{display:none}.usa-map-legend{left:auto;right:auto;width:auto;transform:none;gap:8px}.usa-map-legend i{width:13px}.trip-today dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.usa-map-stop-card,#installBanner,#updateBanner{transition:none!important}}

/* v60: toegankelijke bediening en robuuste mobiele kaart */
.usa-map-stop:focus-visible .usa-map-hit{fill:rgba(255,209,102,.16);stroke:#ffd166;stroke-width:2.4;filter:drop-shadow(0 0 3px rgba(19,44,53,.9))}
.usa-map-stop-picker{display:none}
.lightbox-close:focus-visible,.lightbox-nav:focus-visible,.usa-map-stop-close:focus-visible,.usa-map-stop-day:focus-visible,#installBanner button:focus-visible,#updateBanner button:focus-visible{outline:3px solid #ffd166;outline-offset:3px;box-shadow:0 0 0 2px #132c35}
.lightbox-image-wrap{overflow:hidden}
.route-status>p,.route-sources summary{color:#4f6063}
.route-stop.fixed .stop-index,.route-stop.fixed .stop-copy>span{color:#a43d2c}.route-stop.fixed .stop-copy>p{color:#4f6063}.route-stop.flexible .stop-index{color:#ffb08f}.route-stop.flexible .stop-copy>p{color:#d9e1e2}
.day-card:not(.is-fixed) .day-top>b{color:#f4c378}.day-card:not(.is-fixed)>p,.day-card:not(.is-fixed) .day-expand-label{color:#d9e1e2;opacity:1}.day-card.is-fixed .day-top>b{color:#a43d2c}.day-card.is-fixed>p,.day-card.is-fixed .day-expand-label{color:#4f6063;opacity:1}
#installBanner button,#updateBanner button{min-height:42px}.stamp{color:#a43d2c}
@media(max-width:400px){
  .usa-map-legend{left:auto;right:auto;width:100%;transform:none;display:grid;grid-template-columns:repeat(2,max-content);justify-content:center;gap:8px 14px;padding:.5rem 0;margin-top:.5rem}
  .usa-map-legend li{font-size:.6rem;color:var(--ink)}.usa-map-legend li span{display:inline}.usa-map-legend i{width:12px}
  .usa-map-stop-picker{position:absolute;z-index:6;left:8px;right:8px;bottom:-52px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.05em}
  .usa-map-stop-picker select{width:100%;min-height:42px;padding:.48rem .65rem;border:1px solid rgba(255,250,240,.5);border-radius:9px;background:#fffaf0;color:#132c35;font:700 .72rem 'DM Sans',sans-serif}
  .mini-route{margin-bottom:3.9rem}
}

/* Routekaart tijdlijnnavigatie */
.usa-map-stop-card{width:min(92%,380px);padding:34px 10px 12px}
.usa-map-stop-nav-container{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px}
.usa-map-stop-content{min-width:0;text-align:center}
.usa-map-stop-content>small,.usa-map-stop-content>strong,.usa-map-stop-content>span{display:block}
.usa-map-stop-content>small{color:#b22234;font-size:.58rem;font-weight:900;letter-spacing:.11em}
.usa-map-stop-content>strong{overflow-wrap:anywhere;font:700 1rem/1.2 'Fraunces',serif}
.usa-map-stop-content>span{margin-top:3px;color:#56666a;font-size:.68rem;line-height:1.3}
.usa-map-stop-nav-btn{width:42px;height:48px;padding:0;border:1px solid rgba(60,59,110,.28);border-radius:12px;background:#3c3b6e;color:#fff;font-size:2rem;line-height:1;box-shadow:0 5px 14px rgba(19,44,53,.16)}
.usa-map-stop-nav-btn:hover:not(:disabled){background:#b22234;border-color:#b22234}
.usa-map-stop-nav-btn:disabled{opacity:.28;cursor:not-allowed;box-shadow:none}
.usa-map-stop-nav-btn:focus-visible{outline:3px solid #ffd166;outline-offset:2px}
@media(max-width:400px){.usa-map-stop-card{top:5px;width:calc(100% - 12px);padding:32px 6px 9px}.usa-map-stop-nav-container{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}.usa-map-stop-nav-btn{width:38px;height:46px}.usa-map-stop-content>strong{font-size:.9rem}}

.trip-panel {
    background: rgba(19, 44, 53, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 209, 102, 0.2);
    border-radius: 15px;
    padding: 20px;
    max-width: 400px;
    margin: 1.5rem auto;
    text-align: center;
}
.day-header { color: #ffd166; font-size: 1.2rem; font-weight: bold; margin-bottom: 5px; }
.location { font-size: 1.8rem; font-weight: bold; margin-bottom: 15px; color: #fffaf0; }
.progress-container { background: rgba(255, 255, 255, 0.1); height: 8px; border-radius: 4px; overflow: hidden; margin-bottom: 10px; }
.progress-bar { background: #ffd166; height: 100%; border-radius: 4px; }
.progress-text { font-size: 0.9rem; opacity: 0.8; color: #fffaf0; }
