:root{
 --ink:#0c1424;--ink2:#16243a;--muted:#5b6578;--cream:#f6f2e8;--paper:#fffdf8;--white:#fff;
 --green:#23665f;--green2:#16243a;--sage:#f6efe2;--gold:#a97913;--gold2:#d8b55c;--line:#e3d8c3;
 --blue:#35617a;--rose:#a5534c;--shadow:0 18px 50px rgba(12,20,36,.11);--r:24px;
 --display:"Fraunces",Georgia,serif;--sans:"Manrope",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f3f5f0 0,#faf9f5 28rem,#faf9f5 100%);color:var(--ink);font-family:var(--sans);line-height:1.5}
button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit}.skip{position:fixed;left:12px;top:-80px;z-index:1000;background:#fff;padding:10px 14px;border-radius:8px}.skip:focus{top:12px}
:focus-visible{outline:3px solid #f1b92f;outline-offset:3px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 15%,rgba(216,181,92,.28),transparent 28%),linear-gradient(135deg,#0c1424 0%,#16243a 50%,#23665f 100%);color:white;padding:18px clamp(18px,5vw,74px) 64px}
.hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-210px;bottom:-300px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}
.topbar{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;z-index:2}.brand{font-family:var(--display);font-size:25px;text-decoration:none}.brand small{font:700 10px var(--sans);letter-spacing:.16em;color:#e0c97f;margin-left:7px}.top-actions{display:flex;gap:8px;align-items:center}.ghost,.solid{border-radius:999px;padding:9px 14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;font-weight:800;font-size:12px;cursor:pointer;text-decoration:none}.solid{background:#fff;color:var(--ink);border-color:#fff}.hero-inner{max-width:1280px;margin:62px auto 0;position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:60px;align-items:end}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#e8c971;text-transform:uppercase}.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(43px,6.7vw,92px);letter-spacing:-.055em;line-height:.95;margin:14px 0 20px;max-width:10ch}.hero h1 em{font-weight:300;color:#f1dd9d}.lead{max-width:660px;color:rgba(255,255,255,.72);font-size:clamp(15px,2vw,18px);line-height:1.7}.hero-card{background:rgba(255,255,255,.095);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);padding:20px;border-radius:22px}.hero-card strong{display:block;font-family:var(--display);font-size:22px;font-weight:450;margin-bottom:8px}.hero-card p{color:rgba(255,255,255,.7);font-size:13px}.hero-card .micro{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.micro div{padding:10px;border-radius:12px;background:rgba(255,255,255,.08)}.micro b{display:block;font-size:18px}.micro span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.nav-shell{position:sticky;top:0;z-index:90;background:rgba(255,253,248,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{max-width:1360px;margin:auto;display:flex;align-items:center;gap:8px;padding:10px 14px}.tab-scroller{display:flex;overflow:auto;scrollbar-width:none;gap:5px;flex:1;mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent 100%)}.tab-scroller::-webkit-scrollbar{display:none}.tab{border:0;background:transparent;padding:10px 13px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.tab[aria-selected="true"]{background:var(--ink);color:#fff}.nav-tools{display:flex;gap:6px}.icon-btn{height:39px;min-width:39px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:800;color:var(--ink)}
.shell{max-width:1280px;margin:auto;padding:30px clamp(16px,4vw,48px) 100px}.command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:-58px;position:relative;z-index:3;background:#fff;padding:14px;border-radius:22px;box-shadow:var(--shadow);border:1px solid rgba(12,20,36,.06)}.search{display:flex;gap:10px;align-items:center;border-radius:15px;background:#f6efe2;padding:0 14px}.search input{width:100%;border:0;background:transparent;padding:15px 0;outline:none;font-size:14px;color:var(--ink)}.filters{display:flex;gap:8px;align-items:center}.filter-btn{border:1px solid var(--line);background:#fff;padding:12px 14px;border-radius:14px;font-size:12px;font-weight:800;color:var(--ink2);cursor:pointer}.filter-btn.active{background:var(--sage);border-color:#e3d8c3;color:var(--green2)}
.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:end;margin:40px 0 20px}.section-copy .eyebrow{color:var(--gold)}.section-copy h2{font:400 clamp(29px,4.3vw,52px)/1.04 var(--display);letter-spacing:-.04em;margin:5px 0 8px}.section-copy p{max-width:720px;color:var(--muted);font-size:14px}.sort{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;color:var(--ink2)}
.active-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 20px}.filter-chip{border:1px solid #e3d8c3;background:#f6efe2;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700;color:var(--green2);cursor:pointer}.results-line{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative}.card:hover{transform:translateY(-2px);box-shadow:0 15px 38px rgba(12,20,36,.09);border-color:#e3d8c3}.card-top{display:grid;grid-template-columns:auto 1fr auto;gap:13px;padding:18px 18px 12px;align-items:start}.rank{font:350 18px var(--display);color:var(--gold);min-width:30px}.rank:not(.top){color:#9ba89f}.name{font:500 20px/1.16 var(--display);letter-spacing:-.02em;margin:0}.loc{font-size:11px;color:var(--muted);margin-top:4px}.save{border:0;background:#f6efe2;border-radius:999px;width:35px;height:35px;cursor:pointer;font-size:16px;color:var(--ink2)}.save.saved{background:#f5e9e5;color:var(--rose)}.body{padding:0 18px 18px}.why{font-size:13px;color:var(--ink2);line-height:1.65;margin:0 0 13px}.badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.badge{border-radius:999px;padding:5px 8px;background:#f6efe2;color:var(--ink2);font-size:9px;font-weight:800;letter-spacing:.035em}.badge.gold{background:#f4ecd6;color:#805d11}.badge.green{background:#f6efe2;color:#16243a}.family-lens{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lens{min-width:0}.lens span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#859188;font-weight:800}.lens b{display:block;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tip{font-size:11px;color:var(--muted);font-style:italic;margin:12px 0 0}.actions{display:grid;grid-template-columns:1fr auto auto;gap:7px;margin-top:14px}.primary,.secondary,.mini{border:0;border-radius:11px;padding:10px 11px;font-weight:800;font-size:11px;cursor:pointer;text-decoration:none;text-align:center}.primary{background:var(--ink);color:#fff}.secondary{background:#f6efe2;color:var(--green2)}.mini{background:#fff;border:1px solid var(--line);color:var(--ink2);padding-inline:12px}.park-cta{background:linear-gradient(120deg,#e8f3f1,#f7f0da);border:1px solid #e3d8c3;border-radius:13px;padding:10px 12px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px}.park-cta b{font-size:11px}.park-cta button{border:0;background:var(--green);color:white;border-radius:9px;padding:8px 10px;font-weight:800;font-size:10px;cursor:pointer}
.empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--muted)}
.drawer{position:fixed;inset:auto 14px 14px 14px;z-index:110;display:none;max-width:900px;margin:auto;background:var(--ink);color:#fff;border-radius:18px;padding:13px 14px;box-shadow:0 20px 50px rgba(0,0,0,.25);align-items:center;gap:10px}.drawer.show{display:flex}.drawer p{margin:0;flex:1;font-size:11px;color:rgba(255,255,255,.72)}.drawer b{color:#fff}.drawer button{border:0;border-radius:10px;padding:9px 11px;font-size:10px;font-weight:800;cursor:pointer}.drawer .go{background:#fff;color:var(--ink)}.drawer .clear{background:rgba(255,255,255,.1);color:#fff}
.modal{position:fixed;inset:0;background:rgba(12,20,36,.62);z-index:200;padding:20px;display:none;align-items:center;justify-content:center}.modal.open{display:flex}.dialog{width:min(840px,100%);max-height:min(88vh,900px);overflow:auto;background:var(--paper);border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.32)}.dialog-hd{position:sticky;top:0;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);display:flex;justify-content:space-between;gap:18px;padding:22px 24px 16px;border-bottom:1px solid var(--line);z-index:2}.dialog-hd h3{font:500 clamp(25px,4vw,38px)/1.1 var(--display);margin:0}.close{border:1px solid var(--line);background:#fff;border-radius:999px;width:40px;height:40px;cursor:pointer}.dialog-body{padding:24px}.detail-intro{font-size:15px;line-height:1.7;color:var(--ink2);max-width:70ch}.fact-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.fact{background:#f6efe2;border-radius:14px;padding:12px}.fact span{font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:800}.fact b{font-size:11px;display:block;margin-top:5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-box{border:1px solid var(--line);border-radius:16px;padding:16px}.detail-box h4{font:500 18px var(--display);margin:0 0 8px}.detail-box p,.detail-box li{font-size:11px;line-height:1.65;color:var(--ink2)}.detail-box ul{padding-left:17px;margin:6px 0}.check{background:#fff6df;border-color:#e9cf8a}.trust{display:flex;gap:8px;align-items:flex-start;background:#f6efe2;border-radius:13px;padding:12px;margin:16px 0;font-size:10px;color:var(--green2)}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.detail-actions a,.detail-actions button{border:0;border-radius:11px;padding:11px 13px;font-size:10px;font-weight:800;cursor:pointer;text-decoration:none}.detail-actions .dark{background:var(--ink);color:white}.detail-actions .pale{background:#f6efe2;color:var(--ink)}
.compare-table{width:100%;border-collapse:collapse;font-size:11px}.compare-table th,.compare-table td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid var(--line)}.compare-table th{font-weight:800;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.compare-table td:first-child{font-weight:800;width:110px}
.filter-panel{position:fixed;inset:0 0 0 auto;width:min(390px,100%);z-index:180;background:#fff;box-shadow:-20px 0 60px rgba(12,20,36,.18);transform:translateX(104%);transition:transform .2s ease;padding:22px;overflow:auto}.filter-panel.open{transform:none}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h3{font:500 28px var(--display);margin:0}.filter-group{border-top:1px solid var(--line);padding:18px 0}.filter-group h4{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}.choice-row{display:flex;flex-wrap:wrap;gap:7px}.choice{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:10px;font-weight:700;cursor:pointer}.choice[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.agent-banner{display:none;background:#f6efe2;border:1px solid #e3d8c3;border-radius:15px;padding:12px 14px;margin:14px 0;font-size:11px;color:var(--ink2)}body.agent .agent-banner{display:flex;justify-content:space-between;gap:12px;align-items:center}.agent-banner button{border:0;background:var(--ink);color:white;border-radius:9px;padding:8px 10px;font-weight:800;font-size:9px;cursor:pointer}
footer{background:var(--ink);color:#fff;padding:50px clamp(18px,5vw,70px)}footer .in{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:40px}footer h2{font:400 40px/1.05 var(--display);margin:0 0 10px}footer p{color:rgba(255,255,255,.6);font-size:12px;max-width:650px}footer .links{display:flex;gap:9px;flex-wrap:wrap;align-content:flex-start}footer a{color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 11px;text-decoration:none;font-size:10px;font-weight:800}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:28px}.hero-card{max-width:650px}.command{grid-template-columns:1fr;margin-top:-42px}.grid{grid-template-columns:1fr}.toolbar{align-items:start}.fact-row{grid-template-columns:repeat(2,1fr)}footer .in{grid-template-columns:1fr}.nav-tools .label{display:none}}
@media(max-width:560px){.hero{padding-inline:16px;padding-bottom:48px}.top-actions .ghost{display:none}.hero-inner{margin-top:44px}.hero h1{font-size:47px}.hero-card .micro{grid-template-columns:1fr 1fr 1fr}.shell{padding-inline:12px}.command{padding:9px;border-radius:16px}.filters{display:flex;flex-wrap:wrap}.filters .filter-btn{flex:1 1 auto}.filters .plan-saved{background:var(--green);color:#fff;border-color:var(--green)}.toolbar{margin-top:30px;display:block}.toolbar .sort{margin-top:10px;width:100%}.card-top{padding-inline:14px}.body{padding-inline:14px}.actions{grid-template-columns:1fr 1fr}.actions .mini{grid-column:span 1}.detail-grid{grid-template-columns:1fr}.dialog-body{padding:17px}.dialog-hd{padding:18px}.fact-row{grid-template-columns:1fr 1fr}.nav-wrap{padding-inline:8px}.drawer{bottom:8px;left:8px;right:8px}.drawer p{display:none}.hero-card{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.tab[aria-selected="true"],.primary,.solid{border:2px solid ButtonText}.card{border:1px solid CanvasText}}

/* Editorial destination photography. The gradient remains when Pexels has no suitable photo. */
.atlas-photo{height:180px;margin:0;position:relative;overflow:hidden;background:linear-gradient(135deg,#16243a,#5b6578 58%,#d2b370);color:white}
.atlas-photo-water,.atlas-photo-beaches,.atlas-photo-rail{background:linear-gradient(135deg,#1d4d5b,#5e9caf 58%,#d9c79a)}
.atlas-photo-history,.atlas-photo-museums,.atlas-photo-cities{background:linear-gradient(135deg,#2b3a52,#aa8061 65%,#e2c590)}
.atlas-photo-hotels,.atlas-photo-restaurants,.atlas-photo-icecream{background:linear-gradient(135deg,#2b3a52,#b78369 60%,#e2bc8b)}
.atlas-photo img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s ease}
.atlas-photo.has-image img{opacity:1}
.atlas-photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:9px;padding:18px;font:500 18px/1.2 var(--display);z-index:0}
.atlas-photo-placeholder span{font:normal 30px var(--sans)}.atlas-photo-placeholder strong{max-width:26ch}
.atlas-photo.has-image .atlas-photo-placeholder{display:none}
.atlas-photo figcaption{position:absolute;left:12px;bottom:10px;z-index:1;border-radius:999px;padding:5px 8px;background:rgba(12,20,36,.82);color:white;font:700 9px/1.2 var(--sans)}
.atlas-photo-credit{display:none;position:absolute;right:10px;bottom:10px;z-index:2;background:rgba(12,20,36,.86);color:white;border-radius:999px;padding:5px 8px;text-decoration:none;font:700 9px/1.2 var(--sans)}
.atlas-photo.has-image .atlas-photo-credit{display:block}
.atlas-photo-detail{height:clamp(180px,30vw,290px);border-radius:15px;margin:0 0 20px}
@media(max-width:560px){.atlas-photo{height:155px}.atlas-photo-detail{height:185px}.atlas-photo figcaption{left:7px;bottom:7px;max-width:55%}.atlas-photo-credit{right:7px;bottom:7px;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.atlas-photo img{transition:none}}

/* Paginated source directory */
.atlas-load-more{grid-column:1/-1;justify-self:center;min-width:220px;padding:14px 24px;border:1px solid #e3d8c3;border-radius:999px;background:#fff;color:#16243a;font:700 14px Manrope,sans-serif;cursor:pointer;margin:22px 0 36px}
.atlas-load-more:hover,.atlas-load-more:focus-visible{background:#f6efe2;outline:2px solid #bd8b3e;outline-offset:2px}

/* Collection jump keeps the full editorial range discoverable. */
.collection-jump-label{font:700 12px Manrope,sans-serif;color:#16243a;white-space:nowrap}.nav-tools select#collectionJump{min-width:165px;max-width:225px;padding:10px 12px;border:1px solid #a9b4c6;border-radius:12px;background:#fff;color:#0c1424;font:700 13px Manrope,sans-serif}.nav-tools select#collectionJump:focus-visible{outline:3px solid #c48b18;outline-offset:2px}@media(max-width:700px){.collection-jump-label{position:absolute;width:1px;height:1px;overflow:hidden}.nav-tools select#collectionJump{min-width:125px;max-width:150px}}
