:root{
  --paper:#fff;--stone:#eef1f5;--stone-2:#e2e8ef;--ink:#0f1621;--ink-2:#39434f;
  --ink-3:#69737f;--red:#d4152b;--red-dk:#a50f21;--navy:#102b49;--brass:#b0863c;
  --line:#dbe2ea;--radius:18px;--radius-sm:11px;--wrap:1180px;
  --shadow-1:0 1px 2px rgba(15,22,33,.06),0 5px 18px rgba(15,22,33,.07);
  --shadow-2:0 18px 44px rgba(15,22,33,.15);--pad-x:clamp(16px,4vw,32px);
  --sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --narrow:'Archivo Narrow','Archivo',system-ui,sans-serif;
  --display:'Playfair Display',Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink-2);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{color:var(--red);text-decoration:none}a:hover{color:var(--red-dk)}
h1,h2,h3,h4{color:var(--ink);line-height:1.12;margin:0 0 .5em}h1,h2{font-family:var(--display);font-weight:900;letter-spacing:-.02em}h3,h4{font-weight:700}p{margin:0 0 1em}ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-9999px;z-index:200;background:var(--ink);color:#fff;padding:12px 18px}.skip:focus{left:0}.wrap{width:100%;max-width:var(--wrap);margin:auto;padding-inline:var(--pad-x)}
.section{padding-block:clamp(52px,7vw,88px)}.section--stone{background:var(--stone)}.section--navy{background:var(--navy);color:#fff}.section--tight{padding-block:clamp(30px,4vw,48px)}section[id]{scroll-margin-top:120px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font:700 .8rem var(--narrow);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.eyebrow::before{content:"";width:26px;height:3px;background:var(--red);border-radius:2px}.eyebrow--light{color:#fff}.h-sec{font-size:clamp(2rem,4.4vw,3.1rem)}.lede{max-width:65ch;color:var(--ink-3);font-size:clamp(1rem,1.5vw,1.13rem)}.head-center{text-align:center;max-width:760px;margin:0 auto clamp(30px,5vw,50px)}.head-center .eyebrow{justify-content:center}.head-center .lede{margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;border-radius:999px;padding:13px 23px;font-weight:700;line-height:1;transition:.18s ease}.btn--primary{background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(212,21,43,.26)}.btn--primary:hover{background:var(--red-dk);color:#fff;transform:translateY(-2px)}.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover{background:#000;color:#fff}.btn--ghost{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.06)}.btn--ghost:hover{background:#fff;color:var(--ink)}.btn--sm{padding:11px 19px;font-size:.9rem}.arrow::after{content:"→";margin-left:4px}
.masthead{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:saturate(150%) blur(10px);border-bottom:3px solid var(--red)}.masthead__bar{display:flex;align-items:center;gap:18px;min-height:66px;padding-block:8px}.brand{display:flex;align-items:center;flex:none}.brand img{height:42px;width:auto}.nav{display:none;margin-left:auto;align-items:center;gap:clamp(10px,1.4vw,20px)}.nav a{font:600 .9rem var(--narrow);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:8px 2px;border-bottom:2px solid transparent;white-space:nowrap}.nav a:hover{color:var(--red);border-color:var(--red)}.nav .btn{color:#fff;padding:11px 20px;border:0}.burger{margin-left:auto;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;font-size:1.35rem;cursor:pointer}.drawer{position:fixed;inset:0;z-index:120}.drawer[hidden]{display:none}.drawer__scrim{position:absolute;inset:0;background:rgba(15,22,33,.55);opacity:0;transition:.25s}.drawer__panel{position:absolute;right:0;top:0;height:100%;width:min(340px,86vw);background:#fff;padding:18px 20px 40px;overflow:auto;transform:translateX(100%);transition:.28s;box-shadow:-18px 0 40px rgba(15,22,33,.2)}.drawer.is-open .drawer__scrim{opacity:1}.drawer.is-open .drawer__panel{transform:none}.drawer__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.drawer__top span{font:700 .8rem var(--narrow);letter-spacing:.16em;text-transform:uppercase}.drawer__close{width:44px;height:44px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:1.25rem;cursor:pointer}.drawer__panel a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600}.drawer__panel .btn{display:flex;margin-top:20px;color:#fff}
.hero{position:relative;isolation:isolate;min-height:clamp(440px,67vh,650px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero--guide{min-height:clamp(480px,72vh,700px)}.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,14,22,.32),rgba(8,14,22,.28) 35%,rgba(8,14,22,.92))}.hero__body{padding-block:clamp(55px,9vw,92px) clamp(40px,5vw,62px)}.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;font:600 .8rem var(--narrow);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}.crumbs a{color:#fff}.hero h1{color:#fff;font-size:clamp(2.8rem,8vw,5.6rem);line-height:.94;max-width:12ch;text-shadow:0 3px 25px rgba(0,0,0,.4)}.hero__sub{max-width:58ch;color:rgba(255,255,255,.9);font-size:clamp(1rem,2vw,1.2rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero__credit{position:absolute;right:16px;bottom:10px;font-size:.68rem;color:rgba(255,255,255,.7)}.hero__credit a{color:inherit;text-decoration:underline}
.jumpbar{position:sticky;top:69px;z-index:80;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 15px rgba(15,22,33,.07)}.jumpbar__inner{display:flex;gap:7px;overflow-x:auto;padding-block:11px;scrollbar-width:none}.jumpbar__inner::-webkit-scrollbar{display:none}.jumpbar a{flex:none;padding:8px 13px;border-radius:999px;background:var(--stone);color:var(--ink-2);font:700 .78rem var(--narrow);letter-spacing:.06em;text-transform:uppercase}.jumpbar a:hover{background:var(--red);color:#fff}
.intro-grid{display:grid;gap:32px;align-items:start}.intro-copy p{max-width:67ch}.editor-note{border-left:4px solid var(--red);padding:4px 0 4px 20px;font:700 clamp(1.12rem,2vw,1.35rem)/1.45 var(--display);color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-self:start;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}.fact{position:relative;min-height:128px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px 20px;box-shadow:var(--shadow-1);overflow:hidden}.fact::before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--red)}.fact__label{display:block;font:700 .7rem var(--narrow);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.fact__value{display:block;font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.4}
.region-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:30px}.region-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font:700 .82rem var(--narrow);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);cursor:pointer}.region-tab:hover,.region-tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.area-grid{display:grid;gap:22px}.area-card{position:relative;min-height:320px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);background:var(--navy);isolation:isolate}.area-card[hidden]{display:none}.area-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .45s ease}.area-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,22,33,.08),rgba(15,22,33,.92))}.area-card__body{height:100%;min-height:320px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.area-card h2,.area-card h3{color:#fff;font-family:var(--display);font-size:1.75rem;margin-bottom:5px}.area-card p{color:rgba(255,255,255,.78);font-size:.94rem;line-height:1.5;margin:0}.area-card__meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.pill{display:inline-flex;background:rgba(255,255,255,.15);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:5px 9px;font:700 .68rem var(--narrow);letter-spacing:.08em;text-transform:uppercase}.area-card__link{position:absolute;inset:0;z-index:2}.area-card--live::before{content:"Full guide";position:absolute;top:17px;left:17px;z-index:3;background:var(--red);color:#fff;padding:7px 11px;border-radius:999px;font:700 .7rem var(--narrow);letter-spacing:.1em;text-transform:uppercase}.area-card--live:hover .area-card__img{transform:scale(1.045)}.area-card--soon::before{content:"Coming next";position:absolute;top:17px;left:17px;z-index:3;background:rgba(15,22,33,.78);color:#fff;padding:7px 11px;border-radius:999px;font:700 .7rem var(--narrow);letter-spacing:.1em;text-transform:uppercase}.area-card--soon{filter:saturate(.72)}
.choose-grid,.feature-grid,.eat-grid,.nearby-grid{display:grid;gap:20px}.choice,.feature,.eat-card,.nearby-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,30px);box-shadow:var(--shadow-1)}.choice__n{font:900 2.4rem var(--display);color:var(--red);line-height:1}.choice h3,.feature h3,.eat-card h3{margin-top:12px}.choice p,.feature p,.eat-card p{color:var(--ink-3);font-size:.96rem;margin-bottom:0}.feature{display:flex;flex-direction:column}.feature__num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font:700 1rem var(--narrow);margin-bottom:15px}.feature__meta{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 14px}.tag{background:var(--stone);border-radius:999px;padding:5px 9px;color:var(--ink-2);font:700 .7rem var(--narrow);letter-spacing:.06em;text-transform:uppercase}.tip{margin-top:auto;padding:14px 15px;background:#fff7f8;border-left:3px solid var(--red);font-size:.9rem;color:var(--ink-2)}.tip strong{color:var(--ink)}
.map-layout{display:grid;gap:24px;align-items:start}.map-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1)}.map-card iframe{width:100%;height:520px;border:0;display:block}.map-note{padding:14px 18px;font-size:.83rem;color:var(--ink-3);border-top:1px solid var(--line)}.map-list{display:grid;gap:10px}.map-stop{display:flex;gap:13px;align-items:flex-start;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.map-stop__n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font:700 .85rem var(--narrow)}.map-stop strong{display:block;color:var(--ink)}.map-stop small{display:block;color:var(--ink-3);line-height:1.35}
.route{counter-reset:route;max-width:820px;margin:auto}.route li{counter-increment:route;display:grid;grid-template-columns:54px 1fr;gap:15px;position:relative;padding-bottom:27px}.route li::before{content:counter(route);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font:700 1rem var(--narrow);z-index:1}.route li:not(:last-child)::after{content:"";position:absolute;left:21px;top:44px;bottom:0;border-left:2px dashed var(--line)}.route__time{display:block;font:700 .75rem var(--narrow);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:4px}.route h3{margin:0 0 5px}.route p{font-size:.96rem;color:var(--ink-3);margin:0}
.callout{background:var(--ink);color:rgba(255,255,255,.8);border-radius:var(--radius);padding:clamp(28px,5vw,52px);display:grid;gap:25px;align-items:center}.callout h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem)}.callout p{margin:0}.checklist{display:grid;gap:11px}.checklist li{position:relative;padding-left:27px}.checklist li::before{content:"✓";position:absolute;left:0;color:#fff;background:var(--red);width:19px;height:19px;border-radius:50%;font:bold 12px/19px var(--sans);text-align:center;top:.25em}
.network-cta{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:28px;align-items:center;background:linear-gradient(135deg,var(--navy),var(--ink));color:rgba(255,255,255,.82);border-radius:var(--radius);padding:clamp(30px,5vw,54px);box-shadow:var(--shadow-2)}.network-cta::after{content:"";position:absolute;z-index:-1;right:-75px;top:-95px;width:260px;height:260px;border:48px solid rgba(212,21,43,.2);border-radius:50%}.network-cta h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.35em}.network-cta p{max-width:65ch;margin-bottom:16px}.network-cta .btn{justify-self:start;white-space:nowrap}.network-cta__note{display:inline-flex;align-items:center;gap:8px;font:700 .72rem var(--narrow);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58)}.network-cta__note::before{content:"";width:18px;height:2px;background:var(--red)}
.faq{max-width:850px;margin:auto;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;color:var(--ink);font-weight:700;list-style:none;padding-right:35px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:-5px;font-size:1.7rem;color:var(--red)}.faq details[open] summary::after{content:"−"}.faq details p{margin:12px 35px 0 0;color:var(--ink-3)}
.nearby-card{color:inherit}.nearby-card:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow-2)}.nearby-card span{display:block;font:700 .72rem var(--narrow);letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:7px}.nearby-card h3{margin:0 0 7px}.nearby-card p{margin:0;color:var(--ink-3);font-size:.94rem}.status{margin-top:22px;padding:16px 18px;border:1px solid #ecdba7;background:#fffaf0;border-radius:var(--radius-sm);font-size:.9rem;color:#5f4c20}
.foot{background:var(--ink);color:rgba(255,255,255,.68);padding-block:clamp(44px,6vw,68px) 28px;font-size:.95rem}.foot h2,.foot h3{color:#fff}.foot__grid{display:grid;gap:30px}.foot__brand h2{font-size:1.4rem}.foot__brand p{max-width:38ch}.foot h3{font:700 .84rem var(--narrow);letter-spacing:.14em;text-transform:uppercase}.foot li{margin-bottom:9px}.foot a{color:rgba(255,255,255,.68)}.foot a:hover{color:#fff}.foot__legal{margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}.foot__legal p{font-size:.84rem;line-height:1.6;color:rgba(255,255,255,.55)}.foot__copy{margin-top:20px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-in{opacity:1;transform:none}
@media(min-width:600px){.area-grid,.choose-grid,.feature-grid,.eat-grid,.nearby-grid{grid-template-columns:repeat(2,1fr)}.area-card--wide{grid-column:span 2}.area-card--wide,.area-card--wide .area-card__body{min-height:380px}}
@media(min-width:820px){.intro-grid{grid-template-columns:1.25fr .75fr}.choose-grid{grid-template-columns:repeat(3,1fr)}.feature-grid{grid-template-columns:repeat(3,1fr)}.map-layout{grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr)}.map-card{position:sticky;top:128px}.callout{grid-template-columns:1.2fr .8fr}.network-cta{grid-template-columns:1fr auto}.foot__grid{grid-template-columns:1.5fr 1fr 1fr 1fr}.nearby-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1060px){.nav{display:flex}.burger{display:none}.brand img{height:50px}.masthead__bar{min-height:78px}.jumpbar{top:81px}.area-grid{grid-template-columns:repeat(3,1fr)}.area-card--wide{grid-column:span 2}.feature-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.hero h1{font-size:2.65rem}.map-card iframe{height:390px}.jumpbar{top:69px}.area-card,.area-card__body{min-height:285px}}
@media(max-width:390px){.facts{grid-template-columns:1fr}.fact{min-height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
