body{font-family:system-ui,sans-serif;margin:0;color:#222}header{background:#1f4e3d;padding:12px 16px}.brand{color:#fff;font-weight:700;text-decoration:none}
main{max-width:960px;margin:auto;padding:16px}#map{height:360px;margin:12px 0}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid #ddd;padding:6px;text-align:left}
.cols{columns:3}.small{font-size:12px;color:#666}.aff{border:2px dashed #c90;padding:8px;margin:20px 0}footer{font-size:13px;padding:16px;background:#f4f4f4}#q{width:100%;font-size:18px;padding:8px}
/* v2 */
:root{--g:#1f4e3d;--o:#e8590c;--y:#ffd43b;--ink:#1d232a;--mut:#5f6b76;--bg:#f7f5f0}
body{background:var(--bg);color:var(--ink);line-height:1.5}
header{background:var(--g);position:sticky;top:0;z-index:1000}.brand{font-size:18px;letter-spacing:.2px}.brand::before{content:"🚐 "}
main{max-width:1100px}a{color:#0b6e4f}h2{margin-top:32px}
.hero{position:relative;overflow:hidden;margin:-16px -16px 8px;padding:44px 20px 120px;color:#fff;background:linear-gradient(160deg,#ff922b 0%,#e8590c 35%,#a61e4d 70%,#3b1f5c 100%)}
.hero::before{content:"";position:absolute;right:8%;top:22px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,#fff3bf,#ffd43b 60%,transparent 62%);opacity:.9}
.hero-road{position:absolute;left:0;bottom:0;width:100%;height:120px}
.hero-in{position:relative;max-width:760px;margin:auto}.hero h1{font-size:clamp(30px,6vw,52px);line-height:1.08;margin:6px 0 10px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.eyebrow{display:flex;gap:8px;align-items:center;font-weight:600;opacity:.95;margin:0}.lede{font-size:18px;opacity:.95;margin:0 0 18px}
.search{display:flex;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);overflow:hidden}
.search #q{flex:1;border:0;font-size:19px;padding:16px 18px;min-width:0;outline:none}
#near{border:0;background:var(--g);color:#fff;font-weight:700;font-size:15px;padding:0 18px;display:flex;gap:6px;align-items:center;cursor:pointer}#near:hover{background:#163a2d}
.chk{display:inline-block;margin:10px 4px;font-size:14px}
#res{list-style:none;padding:0;margin:0;background:#fff;border-radius:12px;max-height:320px;overflow:auto}#res li a{display:block;padding:10px 14px;border-bottom:1px solid #eee;color:var(--ink);text-decoration:none}#res li a:hover{background:#fff4e6}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.stats div{background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:10px;text-align:center}
.stats b{display:block;font-size:clamp(22px,4vw,32px)}.stats span{font-size:13px;opacity:.9}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.card{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:14px;padding:16px;text-decoration:none;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);border-top:4px solid var(--o);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.card .ic{font-size:26px}.card small{color:var(--mut)}.card.st{border-top-color:var(--g)}
.pills{display:flex;flex-wrap:wrap;gap:8px}.pills a{background:#1c7ed6;color:#fff;border-radius:8px;padding:6px 12px;font-weight:700;text-decoration:none;border:2px solid #fff;box-shadow:0 0 0 2px #1c7ed6}.pills small{opacity:.8;font-weight:400}
.bigmap{height:440px!important;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.spons{margin:36px 0;padding:20px;border-radius:18px;background:linear-gradient(135deg,#fff9db,#fff4e6)}.spons .tag{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--mut)}
.sp-hero,.sp-card{position:relative;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);background:#fff;border-radius:14px;padding:18px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.sp-hero{padding:26px;border:2px solid var(--o);margin-bottom:14px}.sp-hero b{font-size:24px}.sp-hero em,.sp-card em{color:var(--o);font-style:normal;font-weight:700}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.sp-card:hover,.sp-hero:hover{box-shadow:0 8px 20px rgba(0,0,0,.12)}
.sp-hero img,.sp-card img{max-height:40px;max-width:160px;object-fit:contain}
.badge{position:absolute;top:10px;right:10px;font-size:11px;background:#f1f3f5;color:var(--mut);padding:2px 8px;border-radius:99px}
table{background:#fff}@media(max-width:640px){.cols{columns:2}table{font-size:13px}.hero{padding-bottom:100px}#near span{display:none}}
.sp-card.adv{border:2px dashed var(--o);background:#fffaf3}
.faq details{border:1px solid #ddd;border-radius:6px;padding:.5em .8em;margin:.4em 0}.faq summary{font-weight:600;cursor:pointer}
.pgfoot{margin-top:2em;color:#555}.rep input,.rep select,.rep textarea{max-width:100%;margin:.2em 0 .8em}
/* sponsor photo cards + carousel */
.spc{position:relative;margin:0 0 16px;border-radius:16px;overflow:hidden;background:#222}
.spc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.spc-track::-webkit-scrollbar{display:none}
.spc-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:16/7;display:block;color:#fff;text-decoration:none}
.spc-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spc-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15) 65%,transparent)}
.spc-txt{position:absolute;left:28px;bottom:44px;z-index:1;max-width:min(520px,80%);display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.spc-txt b{font-size:clamp(24px,4vw,40px);line-height:1.1;text-shadow:0 2px 8px rgba(0,0,0,.4)}.spc-txt>span{font-size:clamp(15px,2vw,20px)}
.spc .badge{z-index:2;background:rgba(255,255,255,.9)}
.btn{display:inline-block;background:var(--o);color:#fff!important;font-style:normal;font-weight:700;padding:10px 18px;border-radius:99px;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .15s}
a:hover .btn,a:focus-visible .btn{transform:translateY(-1px);filter:brightness(1.08)}
.spc-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.85);font-size:26px;line-height:1;cursor:pointer}.spc-prev{left:10px}.spc-next{right:10px}
.spc-bar{position:absolute;left:0;right:0;bottom:10px;z-index:3;display:flex;justify-content:center;align-items:center;gap:10px}
.spc-pause{border:0;background:rgba(255,255,255,.85);border-radius:99px;font-size:11px;padding:4px 9px;cursor:pointer}
.spc-dots{display:flex;gap:6px}.spc-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}.spc-dots button[aria-current=true]{background:#fff;width:24px;border-radius:99px}
.spc button:focus-visible,.spc-slide:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.sp-img{padding:0;overflow:hidden;transition:transform .15s,box-shadow .15s}.sp-img:hover{transform:translateY(-2px)}
.sp-ph{display:block;aspect-ratio:16/9;background:#e9ecef;overflow:hidden}.sp-ph img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;display:block;transition:transform .4s}.sp-img:hover .sp-ph img{transform:scale(1.05)}
.sp-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}.sp-body .btn{align-self:flex-start;margin-top:auto}.sp-body .hook{font-weight:600}.sp-body>span:not(.hook){color:var(--mut);font-size:14px}
.sp-hero.sp-img{flex-direction:row;padding:0}.sp-hero.sp-img .sp-ph{flex:0 0 55%;aspect-ratio:auto;min-height:240px}.sp-hero.sp-img .sp-body{padding:24px;justify-content:center}
.sp-img .badge{background:rgba(255,255,255,.92)}
@media (max-width:640px){.spc-slide{aspect-ratio:4/5}.spc-txt{left:16px;right:16px;bottom:48px;max-width:none}.spc-slide:after{background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.1) 70%)}.spc-nav{display:none}.sp-hero.sp-img{flex-direction:column}.sp-hero.sp-img .sp-ph{min-height:0;aspect-ratio:16/9}.sp-grid{grid-template-columns:1fr 1fr}.sp-body{padding:10px 12px 12px}.sp-body .btn{padding:8px 12px;font-size:13px}}
@media (max-width:400px){.sp-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.spc-track{scroll-behavior:auto}.sp-img,.sp-ph img,.btn{transition:none}.sp-img:hover,.sp-img:hover .sp-ph img{transform:none}}
.sp-tw{flex-direction:row}.sp-tw .sp-ph{flex:0 0 40%;aspect-ratio:auto;min-height:200px}@media (max-width:640px){.sp-tw{flex-direction:column}.sp-tw .sp-ph{aspect-ratio:16/9;min-height:0}}
/* === WOW sponsor redesign === */
@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
.wow{position:relative;background:radial-gradient(120% 80% at 0% 0%,#2b1d5c 0,transparent 55%),radial-gradient(90% 70% at 100% 100%,#0b4d3b 0,transparent 60%),#10131f;color:#f1f3f5;padding:26px;border-radius:24px;box-shadow:0 30px 60px -30px rgba(16,19,31,.6);overflow:hidden}
.wow .tag{color:#ffd8a8;margin:0}.wow-title{margin:4px 0 18px;font-size:clamp(24px,3.6vw,36px);line-height:1.1;background:linear-gradient(90deg,#ffd43b,#ff922b,#f06595);-webkit-background-clip:text;background-clip:text;color:transparent}
.wow .small{color:#ced4da}.wow .small a{color:#ffd8a8}
.wow .badge{background:rgba(16,19,31,.78)!important;color:#fff;border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:4;letter-spacing:.3px}
.wow .btn{background:linear-gradient(135deg,#ffd43b,#ff922b);color:#1a1300!important;box-shadow:0 8px 20px -6px rgba(247,103,7,.7),inset 0 1px 0 rgba(255,255,255,.35);position:relative;overflow:hidden}
.wow .btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);transform:translateX(-120%)}
.wow a:hover .btn::after,.wow a:focus-visible .btn::after{transition:transform .7s;transform:translateX(120%)}
.wow a:hover .btn,.wow a:focus-visible .btn{transform:translateY(-2px) scale(1.03)}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chips i{font-style:normal;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.chips i:first-child{background:#ffd43b;color:#1a1300;border-color:#ffd43b}
/* deal-of-the-week hero with animated conic border */
.dotw{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;isolation:isolate;background:#161a2b!important;color:#f8f9fa!important;border:0!important;border-radius:20px!important;margin-bottom:18px;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease,box-shadow .25s;box-shadow:0 20px 50px -20px rgba(0,0,0,.7)!important}
.dotw::before{content:"";position:absolute;inset:-2px;z-index:-2;border-radius:22px;background:conic-gradient(from var(--a),#ffd43b,#ff922b,#f06595,#845ef7,#20c997,#ffd43b);animation:spin 6s linear infinite}
.dotw::after{content:"";position:absolute;inset:2px;z-index:-1;border-radius:18px;background:radial-gradient(400px circle at var(--mx) var(--my),rgba(255,212,59,.14),transparent 60%),#161a2b}
@keyframes spin{to{--a:360deg}}
.dotw .sp-ph{border-radius:18px 0 0 18px;flex-basis:52%!important;min-height:320px!important}
.dotw .sp-body{gap:10px;padding:28px 30px!important}.dotw b{font-size:clamp(28px,3.4vw,40px)!important;line-height:1.05}
.dotw .hook{font-size:19px;color:#ffd43b}.dotw .sp-body>span:not(.hook):not(.chips){color:#ced4da!important}.dotw .fine{font-size:12px!important;opacity:.85}
.dotw .btn{font-size:17px;padding:13px 24px;align-self:flex-start}
.ribbon{position:absolute;top:14px;left:-6px;z-index:4;background:linear-gradient(135deg,#f06595,#d6336c);color:#fff;font-weight:800;font-size:13px;letter-spacing:.4px;padding:7px 14px 7px 16px;border-radius:0 8px 8px 0;box-shadow:0 6px 14px -4px rgba(214,51,108,.7)}
.ribbon::before{content:"";position:absolute;left:0;bottom:-6px;border:3px solid #7a1b3f;border-left-color:transparent;border-bottom-color:transparent}
.kb img{animation:kb 18s ease-in-out infinite alternate;transform-origin:60% 40%}@keyframes kb{from{transform:scale(1)}to{transform:scale(1.14) translate(-2%,-1%)}}
/* marquee */
.mq{overflow:hidden;margin:0 -26px 18px;padding:10px 0;background:linear-gradient(90deg,#ff922b,#f06595,#845ef7);transform:rotate(-1deg);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-in{display:flex;gap:34px;width:max-content;animation:mq 32s linear infinite;font-weight:800;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.25)}.mq:hover .mq-in{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
/* carousel */
.wow .spc{border-radius:20px;box-shadow:0 20px 40px -20px rgba(0,0,0,.8);margin-bottom:18px}
.wow .spc-slide img{transition:transform 6.5s ease-out;transform:scale(1.02)}.wow .spc-slide.on img{transform:scale(1.12)}
.wow .spc-slide:after{background:linear-gradient(90deg,rgba(10,12,22,.88),rgba(10,12,22,.35) 60%,transparent)}
.wow .spc-txt{bottom:52px}.wow .spc-txt b{font-size:clamp(28px,4.4vw,48px)}
.wow .spc-slide .spc-txt>*{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}.wow .spc-slide.on .spc-txt>*{opacity:1;transform:none}
.wow .spc-slide.on .spc-txt>:nth-child(2){transition-delay:.08s}.wow .spc-slide.on .spc-txt>:nth-child(3){transition-delay:.16s}.wow .spc-slide.on .spc-txt>:nth-child(4){transition-delay:.24s}
.spc-prog{position:absolute;left:0;bottom:0;height:4px;width:100%;z-index:3;background:linear-gradient(90deg,#ffd43b,#f06595);transform:scaleX(0);transform-origin:left}
.spc.run .spc-prog{animation:prog 6s linear forwards}.spc.hold .spc-prog{animation-play-state:paused}@keyframes prog{to{transform:scaleX(1)}}
.wow .spc-nav{background:rgba(255,255,255,.92);color:#111;box-shadow:0 6px 16px rgba(0,0,0,.35)}
/* bento grid */
.bento{grid-template-columns:repeat(4,1fr);gap:14px}.bento .sp-card:nth-child(1),.bento .sp-card:nth-child(2){grid-column:span 2}
.wow .sp-card{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;background:#1b2033;color:#f8f9fa;border-radius:18px;border:1px solid rgba(255,255,255,.08);transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s ease,box-shadow .25s,border-color .25s}
.wow .sp-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,var(--c1),transparent 40%,transparent 60%,var(--c2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;transition:opacity .25s;pointer-events:none;z-index:3}
.wow .sp-card:hover,.wow .sp-card:focus-visible{box-shadow:0 22px 40px -18px var(--c1);border-color:transparent}.wow .sp-card:hover::before,.wow .sp-card:focus-visible::before{opacity:1}
.wow .sp-card .sp-ph{position:relative}.wow .sp-card .sp-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#1b2033)}
.wow .sp-body>b{font-size:19px}.wow .sp-body .hook{color:var(--c1)}
.wow .sp-card .chips i:first-child{background:var(--c1);border-color:var(--c1);color:#111}
.t1{--c1:#ffd43b;--c2:#ff922b}.t2{--c1:#74c0fc;--c2:#845ef7}.t3{--c1:#69db7c;--c2:#20c997}.t4{--c1:#ffa94d;--c2:#f06595}.t5{--c1:#ff8787;--c2:#ffd43b}.t6{--c1:#da77f2;--c2:#74c0fc}
.wow .sp-card.adv{background:repeating-linear-gradient(135deg,#1b2033 0 14px,#20263c 14px 28px);border:2px dashed #ffd43b;color:#f8f9fa;padding:20px;justify-content:center}.wow .adv em{color:#ffd43b}.adv-ic{font-size:30px}
.wow a:focus-visible{outline:3px solid #ffd43b;outline-offset:3px}
.pre{opacity:0;translate:0 24px;transition:opacity .6s ease,translate .6s ease,transform .2s ease,box-shadow .25s}.pre.in{opacity:1;translate:0 0}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.bento .sp-card:nth-child(1),.bento .sp-card:nth-child(2){grid-column:auto}}
@media (max-width:640px){.wow{padding:16px;border-radius:18px;margin-left:-6px;margin-right:-6px}.mq{margin:0 -16px 14px}.dotw .sp-ph{border-radius:18px 18px 0 0;min-height:0!important}.dotw .sp-body{padding:18px!important}.dotw .hook{font-size:17px}.wow .spc-slide{aspect-ratio:4/5}.wow .spc-slide:after{background:linear-gradient(0deg,rgba(10,12,22,.92),rgba(10,12,22,.2) 70%)}.wow .spc-txt{bottom:50px}.bento{gap:10px}.wow .sp-body>b{font-size:16px}.wow .sp-card .chips i:nth-child(n+2){display:none}.chips i{font-size:11px;padding:3px 8px}}
@media (max-width:400px){.bento{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.dotw::before,.kb img,.mq-in,.spc-prog{animation:none!important}.mq-in{flex-wrap:wrap;width:auto;justify-content:center}.mq-in span:nth-child(n+9){display:none}.wow .spc-slide img,.wow .spc-txt>*{transition:none!important;transform:none!important;opacity:1!important}.dotw,.wow .sp-card{transform:none!important}.wow .btn::after{display:none}}
.bento .sp-card:nth-child(2){grid-column:auto}.bento .sp-card.adv{grid-column:1/-1;flex-direction:row;align-items:center;gap:14px;padding:16px 20px}.bento .adv span:not(.adv-ic){flex:1}
.wow .spc{aspect-ratio:auto}.wow .spc-slide{aspect-ratio:16/6}
@media (max-width:900px){.bento .sp-card:nth-child(1){grid-column:1/-1}}
@media (max-width:640px){.wow .spc-slide{aspect-ratio:4/5}.bento .sp-card.adv{flex-direction:column;align-items:flex-start}}
.wow .btn{white-space:nowrap}@media (min-width:901px){.bento .btn{font-size:14px;padding:9px 14px}}
/* hero v3 (cinematic) */
body{overflow-x:hidden}
.hx{position:relative;isolation:isolate;margin:-16px 0 8px;margin-left:calc(50% - 50vw);width:100vw;min-height:min(92vh,820px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:#10131f;overflow:hidden}
.hx-bg,.hx-bg img{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.hx-bg img{object-fit:cover;object-position:70% 55%;animation:hxkb 28s ease-out both}
@keyframes hxkb{from{transform:scale(1.12)}to{transform:scale(1.0)}}
.hx-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(43,29,92,.78) 0%,rgba(166,30,77,.38) 38%,rgba(232,89,12,.12) 58%,rgba(16,19,31,.92) 92%,#10131f 100%),linear-gradient(90deg,rgba(16,19,31,.86) 0%,rgba(16,19,31,.45) 48%,rgba(16,19,31,0) 75%);mix-blend-mode:normal}
.hx-sun{position:absolute;z-index:-1;right:12%;top:8%;width:46vmin;height:46vmin;border-radius:50%;background:radial-gradient(circle,rgba(255,212,59,.55),rgba(255,146,43,.25) 40%,transparent 68%);filter:blur(8px);mix-blend-mode:screen;animation:hxsun 9s ease-in-out infinite alternate}
@keyframes hxsun{to{transform:translateY(14px) scale(1.06);opacity:.8}}
.hx-grid{position:relative;width:min(1180px,100%);margin:0 auto;padding:72px 24px 96px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center;box-sizing:border-box}
.hx-in{min-width:0}
.hx-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600;background:rgba(16,19,31,.45);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.live{width:8px;height:8px;border-radius:50%;background:#69db7c;box-shadow:0 0 0 0 rgba(105,219,124,.7);animation:hxpulse 2s infinite}
@keyframes hxpulse{70%{box-shadow:0 0 0 9px rgba(105,219,124,0)}100%{box-shadow:0 0 0 0 rgba(105,219,124,0)}}
.hx-h{font-size:clamp(38px,6.4vw,76px);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px;font-weight:800;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.hx-h .grad{background:linear-gradient(90deg,#ffd43b,#ff922b 45%,#f06595);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.hx-h .grad .w{background:inherit;-webkit-background-clip:text;background-clip:text}
.hx-h .w{display:inline-block;animation:hxup .8s cubic-bezier(.2,.8,.2,1) both}
.hx-h .w:nth-child(2){animation-delay:.06s}.hx-h .w:nth-child(3){animation-delay:.12s}.hx-h .w:nth-child(4){animation-delay:.18s}.hx-h .grad{display:inline}.hx-h .grad .w:nth-child(1){animation-delay:.3s}.hx-h .grad .w:nth-child(2){animation-delay:.36s}.hx-h .grad .w:nth-child(3){animation-delay:.42s}
@keyframes hxup{from{opacity:0;transform:translateY(.4em);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.hx-lede{font-size:clamp(16px,1.6vw,20px);max-width:36em;margin:0 0 24px;color:#e9ecef}
.hx .search{position:relative;display:flex;align-items:center;gap:6px;padding:7px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 20px 50px -12px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.25);overflow:visible;transition:box-shadow .2s,border-color .2s}
.hx .search:focus-within{border-color:#ffd43b;box-shadow:0 0 0 4px rgba(255,212,59,.35),0 20px 50px -12px rgba(0,0,0,.6)}
.hx .s-ic{position:absolute;left:22px;color:#495057;pointer-events:none;z-index:1}
.hx .search #q{flex:1;min-width:0;height:56px;border:0;border-radius:12px;padding:0 16px 0 46px;font-size:18px;background:#fff;color:var(--ink);outline:none}
.hx #near{height:56px;border-radius:12px;padding:0 20px;font-size:16px;font-weight:800;color:#1d232a;background:linear-gradient(135deg,#ffd43b,#ff922b);box-shadow:0 6px 18px -4px rgba(255,146,43,.7);transition:transform .15s,filter .15s;white-space:nowrap}
.hx #near:hover{transform:translateY(-1px);filter:brightness(1.06);background:linear-gradient(135deg,#ffd43b,#ff922b)}.hx #near:focus-visible{outline:3px solid #fff;outline-offset:2px}
.hx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.chip{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 14px;min-height:40px;box-sizing:border-box;border-radius:99px;font-size:14px;font-weight:600;color:#fff;text-decoration:none;background:rgba(16,19,31,.5);border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.chip:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}.chip:focus-visible,.chip:focus-within{outline:3px solid #ffd43b;outline-offset:2px}
.chip{position:relative}.chip input{position:absolute;left:0;top:0;opacity:0;width:1px;height:1px}.chip.on{background:#2b8a3e;border-color:#69db7c}.chip.on span::after{content:" ✓"}
.hx #res{margin-top:10px;background:rgba(16,19,31,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);border-radius:14px;max-height:300px}
.hx #res:empty{display:none}.hx #res li a{color:#f1f3f5;border-bottom:1px solid rgba(255,255,255,.08)}.hx #res li a:hover,.hx #res li a:focus{background:rgba(255,146,43,.18);outline:none}.hx #res .none{padding:12px 14px;color:#ced4da}
.hx-stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:10px 28px;margin:28px 0 0}
.hx-stats div{display:flex;flex-direction:column-reverse;padding-left:14px;border-left:2px solid rgba(255,212,59,.6)}.hx-stats dd{margin:0;font-size:clamp(24px,2.8vw,34px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.hx-stats dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#ced4da}
.hx-map{position:relative;display:block;border-radius:22px;padding:14px;text-decoration:none;color:#fff;background:linear-gradient(160deg,rgba(43,29,92,.55),rgba(16,19,31,.75));border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 30px 60px -20px rgba(0,0,0,.6),0 0 60px -10px rgba(255,146,43,.35);transition:transform .25s,box-shadow .25s}
.hx-map:hover{transform:translateY(-3px);box-shadow:0 36px 70px -20px rgba(0,0,0,.65),0 0 80px -6px rgba(255,146,43,.5)}.hx-map:focus-visible{outline:3px solid #ffd43b;outline-offset:3px}
.hx-map canvas{display:block;width:100%;height:auto;aspect-ratio:560/340}
.hx-route{position:absolute;left:14px;top:14px;width:calc(100% - 28px);height:auto;aspect-ratio:560/340;pointer-events:none}.hx-route path{fill:none;stroke:#ffd43b;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 10;filter:drop-shadow(0 0 6px #ff922b);opacity:.75;animation:hxroute 3s linear infinite}
@keyframes hxroute{to{stroke-dashoffset:-64}}
.hx-map-cap{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 6px 2px;font-size:14px}.hx-map-cap em{font-style:normal;font-weight:700;color:#ffd43b}
.hx-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.6);border-radius:14px}.hx-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:hxcue 1.8s ease-in-out infinite}
@keyframes hxcue{60%{transform:translateY(12px);opacity:0}100%{opacity:0}}
@media (max-width:900px){.hx-grid{grid-template-columns:1fr;padding:48px 18px 84px;gap:28px}.hx-map{max-width:560px}}
@media (max-width:640px){.hx{min-height:0}.hx-grid{padding:28px 16px 72px}.hx-eyebrow{font-size:11.5px;padding:5px 10px}.hx-h{font-size:clamp(34px,10vw,44px)}.hx-lede{font-size:16px;margin-bottom:18px}
 .hx .search #q{height:52px;font-size:16px;padding-left:40px}.hx .s-ic{left:19px}.hx #near{height:52px;padding:0 14px;font-size:15px}#near span.nl{display:inline}
 .hx-stats{grid-template-columns:1fr 1fr;gap:14px}.hx-shade{background:linear-gradient(180deg,rgba(43,29,92,.82) 0%,rgba(16,19,31,.7) 45%,rgba(16,19,31,.95) 80%,#10131f 100%)}.hx-cue{display:none}.hx-map-cap{font-size:13px}}
@media (prefers-reduced-motion:reduce){.hx-bg img,.hx-sun,.live,.hx-h .w,.hx-route path,.hx-cue span{animation:none!important}.hx-map,.chip,.hx #near{transition:none}}
body:has(.hx) header{background:rgba(16,19,31,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.hx-map{background:radial-gradient(80% 70% at 50% 40%,rgba(255,146,43,.12),transparent 70%),linear-gradient(160deg,rgba(43,29,92,.6),rgba(16,19,31,.82))}
@media (max-width:640px){.hx-eyebrow .upd{display:none}.hx-chips{gap:6px}.chip{padding:7px 12px;font-size:13px}}
.hx-h,.hx-lede{text-wrap:balance}
.hx-eyebrow .upd{white-space:nowrap}
@media (max-width:640px){.hx-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding:2px 16px 4px 2px;scroll-snap-type:x proximity}.hx-chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;white-space:nowrap}}
/* === TideWe cinematic banner === */
.tw-wrap{margin:40px 0 28px}
.tw-ban{position:relative;display:block;min-height:360px;border-radius:24px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:#0b1f1a;box-shadow:0 30px 60px -28px rgba(11,77,59,.75)}
.tw-ban::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(120deg,#20c997,#ffd43b,#ff922b,#20c997);background-size:300% 300%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:3;pointer-events:none;animation:twGlow 8s linear infinite}
.tw-ph{position:absolute;inset:0;z-index:-1;overflow:hidden}
.tw-ph img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:30% 50%;animation:twKb 22s ease-in-out infinite alternate}
.tw-ban::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(6,20,17,.9) 0,rgba(6,20,17,.55) 50%,rgba(6,20,17,.05) 100%),radial-gradient(60% 80% at 0% 100%,rgba(32,201,151,.35),transparent 70%)}
.tw-txt{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:44px 40px;max-width:600px}
.tw-k{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#96f2d7;font-weight:700}
.tw-h{font-size:clamp(30px,5vw,52px);line-height:1.02;letter-spacing:-.5px;background:linear-gradient(90deg,#fff,#ffe066 60%,#ffa94d);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.tw-sub{font-size:clamp(15px,1.8vw,18px);color:#e9ecef;max-width:480px}
.tw-chips{display:flex;flex-wrap:wrap;gap:8px}.tw-chips span{font-size:13px;font-weight:600;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tw-cta{margin-top:6px;font-size:17px;padding:13px 26px;background:linear-gradient(135deg,#ffd43b,#ff922b);color:#1a1300!important;box-shadow:0 10px 24px -8px rgba(247,103,7,.8);transition:transform .2s,box-shadow .2s}
.tw-cta i{display:inline-block;font-style:normal;transition:transform .2s}
.tw-ban:hover .tw-cta,.tw-ban:focus-visible .tw-cta{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 30px -8px rgba(247,103,7,.95)}
.tw-ban:hover .tw-cta i,.tw-ban:focus-visible .tw-cta i{transform:translateX(5px)}.tw-ban:active .tw-cta{transform:scale(.97)}
.tw-ban .badge{z-index:4;background:rgba(6,20,17,.75);color:#fff;border:1px solid rgba(255,255,255,.3)}
.tw-ban:focus-visible{outline:3px solid #ffd43b;outline-offset:3px}
.tw-ftc{margin:8px 4px 0}
@keyframes twKb{from{transform:scale(1.05) translate(0,0)}to{transform:scale(1.18) translate(-3%,-2%)}}
@keyframes twGlow{to{background-position:300% 0}}
@media (max-width:640px){.tw-ban{min-height:460px}.tw-ban::after{background:linear-gradient(0deg,rgba(6,20,17,.95) 0,rgba(6,20,17,.6) 55%,rgba(6,20,17,.1) 100%)}.tw-txt{position:absolute;bottom:0;left:0;right:0;padding:24px 20px}}
@media (prefers-reduced-motion:reduce){.tw-ph img,.tw-ban::before{animation:none}.tw-cta,.tw-cta i{transition:none}}
/* mobile: wide tables scroll inside themselves, never the page */
@media (max-width:700px){main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
html,body{overflow-x:clip}
.answer{font-size:1.05em;background:#fff8e6;border-left:4px solid #e8590c;padding:10px 12px;margin:10px 0}
.btn-apple{font-weight:600}.reviews{margin:24px 0}.rv{border-bottom:1px solid #eee;padding:8px 0}.rv .st{color:#e8590c}
.fb-btn{position:fixed;right:14px;bottom:14px;z-index:9999;background:#e8590c;color:#fff;border:0;border-radius:22px;padding:10px 16px;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer}
.fb-pop{position:fixed;right:14px;bottom:64px;z-index:9999;background:#fff;border:1px solid #ccc;border-radius:10px;padding:12px;width:min(320px,90vw);box-shadow:0 4px 16px rgba(0,0,0,.2)}.fb-pop textarea,.fb-pop input{width:100%;box-sizing:border-box;margin:4px 0}
/* campgrounds */
.nav{display:inline-flex;gap:14px;margin-left:18px;vertical-align:middle}.nav a{color:#fff;text-decoration:none;font-weight:600;font-size:15px}.nav a.hot{background:var(--o);padding:4px 12px;border-radius:99px}
.cg-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.cg-bar select{font-size:16px;padding:6px 8px;border-radius:8px}
#cgmap{height:520px;background:#e9ecef;border-radius:14px}@media(max-width:640px){#cgmap{height:400px}.nav{margin-left:10px;gap:10px}.nav a{font-size:13px}}
.cg-sp{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:18px 0;padding:30px 14px 10px;background:#fffaf3;border:2px solid var(--o);border-radius:14px}.cg-sp .badge{position:absolute;top:8px;left:12px;right:auto}.cg-sp .small{grid-column:1/-1;margin:0}
.cg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.cg-card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);border-top:3px solid var(--g);font-size:14px;line-height:1.5}
.cg-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;padding:16px 18px;background:linear-gradient(120deg,#1f4e3d,#2f7a5f);color:#fff;border-radius:14px;text-decoration:none}.cg-cta b{font-size:20px}.cg-cta .btn{margin-left:auto}

/* trip / about / road badge */
.legs{padding-left:20px}.legs li{margin:14px 0;padding:10px 14px;background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.legs h3{margin:0 0 4px}.legs p{margin:4px 0}
.chip{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:99px;background:#e9ecef;color:var(--mut);vertical-align:middle}.chip-likely{background:#fff3bf;color:#7a5b00}.chip-in-progress{background:#d3f9d8;color:#1b6e2e}.chip-done{background:var(--g);color:#fff}
.road-badge{display:inline-block;background:var(--g);color:#fff;font-size:13px;font-weight:700;padding:3px 12px;border-radius:99px;margin:0 0 8px}.road-badge a{color:#fff}
.rv.owner{border-left:3px solid var(--g);padding-left:8px}.rv .rb{color:var(--g);font-weight:700}
@media(max-width:640px){.nav a{white-space:nowrap}header{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0}.nav{margin-left:0;flex-wrap:wrap}.legs{padding-left:16px}}
.gear,.staycta,.sub{border:1px solid #e5e5e5;border-radius:10px;padding:12px 16px;margin:18px 0;background:#fffaf5}
.gear h2,.staycta h2,.sub h2{margin-top:4px;font-size:1.15rem}.sub input[type=email]{padding:8px;min-width:220px;border:1px solid #ccc;border-radius:6px}.sub button{padding:8px 14px;border:0;border-radius:6px;background:#e8590c;color:#fff;cursor:pointer}
.cmp{border-collapse:collapse;width:100%}.cmp th,.cmp td{border:1px solid #e5e5e5;padding:6px 8px;text-align:left;vertical-align:top}
/* seasonal + payment fields (Oct 2026) */
.season-note,.season-closed{background:#fff4e6;border-left:4px solid #e8590c;padding:8px 12px;margin:10px 0}.season-closed{background:#fff0f0;border-left-color:#c92a2a}
.water-rep{background:#e7f5ff;border-left:4px solid #1c7ed6;padding:8px 12px;margin:10px 0}
.payfilter{margin:8px 0}.payfilter select{font-size:15px;padding:4px}.season-btn{display:inline-block}
