@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{--paper:#f6f4ed;--ivory:#fffefa;--ink:#1c302e;--green:#265648;--lightgreen:#edf0e7;--faded:#586d67;--line:#dcded5;--umber:#995d3f;--serif:Fraunces,Georgia,serif;--sans:'DM Sans',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:15px}
body{margin:0;color:var(--ink);font:16px/1.57 var(--sans);background:var(--paper)}
img{max-width:100%;display:block}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1}
h1{font-size:clamp(2.9rem,5.2vw,5.1rem);letter-spacing:-.056em}
h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.04em}
h3{font-size:clamp(1.4rem,2vw,1.78rem);letter-spacing:-.027em}
p{line-height:1.7}
a{color:var(--green);text-underline-offset:3px}
button,select,input{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.wrap{width:min(1310px,calc(100% - 48px));margin:0 auto}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.64rem;color:var(--umber);margin:0 0 10px}
.eyebrow.dark{color:var(--umber)}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #be684a;outline-offset:4px}
.skip-link{position:absolute;top:-100px;left:14px;background:white;padding:12px;z-index:999}
.skip-link:focus{top:14px}
.site-header{min-height:64px;padding:10px max(24px,calc((100% - 1310px)/2));display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--ivory);border-bottom:1px solid var(--line)}
.brand{font:500 1.25rem var(--serif);white-space:nowrap;color:var(--green);text-decoration:none}
.site-header nav{display:flex;gap:21px;flex-wrap:wrap}
.site-header nav a{font-size:.8rem;font-weight:700;color:#36534b;text-decoration:none}
.site-header nav a:hover{text-decoration:underline}
.hero{background:var(--ivory);padding:29px 0 24px}
.hero-layout{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:clamp(25px,4vw,70px)}
.hero-writing{padding:6px 0}
.hero-writing h1{max-width:650px;margin-bottom:14px}
.hero-writing h1 em{font-weight:400;color:#a16641}
.hero-lede{font-size:clamp(.98rem,1.3vw,1.08rem);color:#485e58;max-width:550px;line-height:1.75}
.hero-lede strong{color:var(--ink);font-weight:700}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:19px}
.button{border:0;border-radius:4px;padding:11px 17px;min-height:45px;display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;font-size:.82rem;transition:background .15s}
.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:#173e36}
.quiet-link{font-size:.8rem;font-weight:800}
.editorial-note{color:#75857b;font-size:.69rem;margin-top:16px}
.hero-gallery{display:grid;grid-template-columns:1.55fr .8fr;gap:8px;height:280px;min-width:0}
.hero-gallery .hero-photo{min-width:0;min-height:0;overflow:hidden;position:relative;background:#c5d4cf}
.hero-gallery .hero-photo img{height:100%;width:100%;object-fit:cover}
.hero-gallery>.hero-photo img{object-position:55% center}
.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:8px;min-height:0}
.hero-side .hero-photo{height:136px}
.hero-gallery .hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,#0f2924b0);font-size:.59rem;padding:25px 8px 7px;color:#fff;line-height:1.3}
.hero-gallery .hero-photo figcaption a{color:#fff}
.hero-finder{margin-top:19px;padding-top:13px;border-top:1px solid #e0e5dc}
.hero-finder .finder-heading{margin-bottom:5px;align-items:center}
.hero-finder .finder-heading h2{font-size:1.52rem}
.hero-finder .finder-heading>p:last-child{font-size:.74rem;max-width:420px}
.hero-finder .mood-bar{margin:6px 0 9px}
.hero-finder .mood-pick{font-size:.72rem;padding:6px 11px}
.hero-finder .finder-controls{padding:10px 12px;background:#f8f9f4}
.finder{padding-top:26px;padding-bottom:65px}
.finder-heading{display:flex;gap:28px;align-items:end;justify-content:space-between;margin-bottom:13px}
.finder-heading>p:last-child{font-size:.82rem;color:var(--faded);max-width:340px;line-height:1.55;padding-bottom:5px}
.finder-heading h2{margin:0}
.mood-bar{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 15px}
.mood-pick{border:1px solid #cfd9d1;border-radius:30px;padding:8px 13px;background:#fffefb;color:#2e574b;font-size:.76rem;font-weight:800;line-height:1.3}
.mood-pick:hover,.mood-pick[aria-pressed=true]{background:#245547;color:#fff;border-color:#245547}
.finder-controls{background:var(--ivory);border:1px solid var(--line);border-radius:8px;padding:13px 15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}
.finder-controls label{font-size:.7rem;font-weight:800;color:#476157;display:flex;flex-direction:column;gap:4px}
.finder-controls select{width:100%;height:39px;border:1px solid #ced7cf;border-radius:4px;padding:0 11px;background:#fafbf8;color:#223b32;font-weight:600;font-size:.8rem}
.control-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.control-actions .button{height:39px;min-height:39px;padding:6px 11px;white-space:nowrap}
.reset-button{border:none;background:transparent;color:#426458;font-size:.72rem;text-decoration:underline;text-underline-offset:3px;font-weight:700;padding:7px;white-space:nowrap}
.result-bar{margin:22px 0 12px;display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:0 0 14px}
.result-bar h2{font-size:1.5rem}
.result-bar .eyebrow{font-size:.59rem;margin-bottom:4px}
.result-bar .context{font-size:.75rem;color:var(--faded);margin-top:5px}
.map-jump{font-size:.77rem;font-weight:700;white-space:nowrap}
.explore-layout{display:grid;grid-template-columns:minmax(270px,.76fr) minmax(0,1.24fr);align-items:start;gap:24px}
.map-rail{position:sticky;top:14px;align-self:start;background:#fffdf7;border:1px solid var(--line);padding:13px;border-radius:7px;box-shadow:0 4px 22px #17412b0a}
.map-heading{padding:4px 5px 10px}
.map-heading h2{font-size:1.45rem;margin-bottom:3px}
.map-heading p:last-child{font-size:.71rem;color:#5f7569;line-height:1.5}
.destination-map{height:440px;min-height:320px;border:1px solid #c9d9d0;background:#e0e9e4;border-radius:5px;overflow:hidden;isolation:isolate}
.destination-map .map-fallback{padding:15px;font-size:.82rem}
.map-status{font-size:.71rem;color:#526d60;padding:10px 5px 3px;line-height:1.5}
.map-status[data-state=ready]{color:#216249}
.map-status[data-state=fallback]{color:#875a30}
.map-status[data-state=error]{color:#9e433c}
.map-help{font-size:.65rem;color:#69766d;padding:0 5px}
.leaflet-container{font:13px var(--sans)!important}
.leaflet-popup-content-wrapper{border-radius:7px!important}
.leaflet-container a{color:var(--green)}
.map-marker{display:block;width:18px;height:18px;border:3px solid white;border-radius:50%;background:#ce713f;box-shadow:0 1px 10px #193f3888}
.map-popup h3{font-size:1.13rem;margin:0 0 6px}
.map-popup p{font-size:.72rem;color:#52695f;margin:0 0 9px}
.map-popup a{font-weight:800;font-size:.76rem}
.destination-grid{display:flex;flex-direction:column;gap:16px}
.destination{display:grid;grid-template-columns:43% 57%;min-height:234px;background:#fffefa;border:1px solid var(--line);border-radius:7px;overflow:hidden;scroll-margin-top:16px;box-shadow:0 3px 16px #1c3f2712}
.destination:nth-child(4n+2){grid-template-columns:49% 51%}
.destination-photo.card{min-height:235px;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#c8d9d0}
.destination-photo.card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .35s ease}
.destination:hover .destination-photo.card img{transform:scale(1.03)}
.destination-photo.card figcaption{margin-top:auto;position:relative;z-index:1;background:linear-gradient(transparent,#102c28cc);padding:28px 8px 8px;color:#f7f7ee;font-size:.61rem;line-height:1.35}
.destination-photo figcaption a{color:inherit}
.destination-body{padding:18px 19px;min-width:0;display:flex;flex-direction:column}
.destination-body h3{margin-bottom:8px}
.place{font-size:.61rem!important;color:var(--umber)!important;letter-spacing:.12em;font-weight:800;text-transform:uppercase;margin:0 0 7px!important}
.destination-body>p:not(.place):not(.trip-note):not(.experience){font-size:.8rem;color:#4b6158;line-height:1.63}
.destination-body .trip-note{border-left:2px solid #decabb;padding-left:10px;margin-top:11px;font-size:.72rem;color:#6e6f63;line-height:1.54}
.destination-body .trip-note strong{color:var(--ink)}
.destination-body .experience{font-size:.75rem;font-weight:600;color:#2c5348;margin:11px 0 0;line-height:1.63}
.experience span{font-weight:800;font-size:.59rem;letter-spacing:.13em;color:#a96d46;display:block;margin-bottom:1px}
.destination-links{margin-top:15px;padding-top:11px;border-top:1px solid #e4e8df;display:flex;flex-wrap:wrap;gap:7px 14px}
.destination-links a{font-size:.68rem;font-weight:700;color:#547065}
.destination-links .primary-link{color:#1b624e;font-size:.78rem;width:100%;font-weight:800}
.empty{margin-top:15px;padding:22px;background:#fff;border:1px solid #d3d9cb;text-align:center}
.empty button{border:0;background:none;text-decoration:underline;color:#23604c}
.seasonal-journeys{background:#e9ece4;padding:47px 0 55px}
.seasonal-journeys h2{margin-bottom:22px}
.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.journey-grid a{min-height:187px;display:flex;flex-direction:column;gap:9px;background:#fffefb;padding:17px;text-decoration:none;border-left:3px solid #598477}
.journey-grid a:hover{background:#f9f0e1}
.journey-grid span{font-size:.58rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--umber)}
.journey-grid h3{font-size:1.25rem}
.journey-grid p{font-size:.72rem;color:#68776c;line-height:1.5}
.journey-grid b{font-size:.7rem;margin-top:auto}
.ethos{padding-top:47px;padding-bottom:55px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ethos h2{font-size:2rem}
.ethos p:last-child{color:#566c61;font-size:.85rem}
.site-footer{background:#163e35;color:#e7eee8;padding:22px 0}
.site-footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 25px}
.site-footer a{color:#e8efe7;font-size:.75rem}
.site-footer nav{display:flex;gap:16px}
.site-footer p{flex-basis:100%;font-size:.67rem;color:#bdd0c5}
.noscript{padding:16px;text-align:center;color:#333}
@media(max-width:1100px){.wrap{width:calc(100% - 36px)}.explore-layout{gap:15px;grid-template-columns:minmax(250px,.67fr) minmax(0,1.33fr)}.destination{grid-template-columns:39% 61%}.destination:nth-child(4n+2){grid-template-columns:43% 57%}.destination-body{padding:14px}.finder-controls{grid-template-columns:repeat(3,1fr)}.control-actions{grid-column:1/-1}.hero-layout{grid-template-columns:1fr 1fr}.hero-gallery{height:250px}.hero-side .hero-photo{height:121px}}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr 1fr;gap:15px}.hero-gallery{height:240px}.hero-side .hero-photo{height:116px}.hero-writing h1{font-size:clamp(2.4rem,5vw,3.2rem)}.hero-lede{font-size:.84rem}.editorial-note{display:none}.explore-layout{display:flex;flex-direction:column;gap:15px}.map-rail{position:relative;top:auto;width:100%}.destination-map{height:310px;min-height:250px}.destination-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.destination,.destination:nth-child(4n+2){grid-template-columns:1fr;min-height:0}.destination-photo.card{height:185px;min-height:185px}.destination-body{padding:16px}.destination-body>p:not(.place):not(.trip-note):not(.experience){font-size:.81rem}.journey-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:610px){.wrap{width:calc(100% - 30px)}.site-header{padding:10px 15px;gap:8px;min-height:60px;align-items:flex-start;flex-direction:column}.site-header nav{gap:12px}.site-header nav a{font-size:.69rem}.hero{padding:20px 0 12px}.hero-layout{display:flex;flex-direction:column;align-items:stretch;gap:16px}.hero-writing h1{font-size:clamp(2.65rem,11.3vw,3.8rem);margin-bottom:10px}.hero-lede{font-size:.88rem;line-height:1.55}.hero-actions{margin-top:14px}.hero .button{min-height:40px;padding:9px 12px;font-size:.75rem}.quiet-link{font-size:.7rem}.hero-gallery{height:155px;display:grid;grid-template-columns:1.2fr 1fr;gap:5px}.hero-side{gap:5px}.hero-side .hero-photo{height:75px}.hero-gallery .hero-photo figcaption{font-size:.52rem;padding:13px 5px 3px}.hero-finder{margin-top:16px;padding-top:11px}
.hero-finder .finder-heading h2{font-size:1.35rem}
.hero-finder .finder-heading>p:last-child{font-size:.7rem}
.hero-finder .mood-bar{margin:9px 0 8px}
.hero-finder .mood-pick{font-size:.67rem}
.finder{padding-top:15px;padding-bottom:40px}.finder-heading{display:block}.finder-heading h2{font-size:1.7rem;margin:0 0 7px}.finder-heading>p:last-child{max-width:none}.mood-bar{margin:12px 0;display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:7px}.mood-pick{flex:none;scroll-snap-align:start;font-size:.69rem}.finder-controls{grid-template-columns:1fr 1fr;padding:10px;gap:8px}.finder-controls label:nth-child(2){grid-column:1/-1;grid-row:1}.finder-controls label:nth-child(1){grid-column:1;grid-row:2}.finder-controls label:nth-child(3){grid-column:2;grid-row:2}.finder-controls label{font-size:.66rem}.finder-controls select{font-size:.74rem;padding-left:7px}.control-actions{grid-column:1/-1;gap:4px}.control-actions .button{font-size:.75rem}.result-bar{align-items:start;margin:20px 0 10px;padding-bottom:10px}.result-bar h2{font-size:1.28rem}.result-bar .context{font-size:.7rem}.map-jump{display:none}.map-rail{padding:10px}.map-heading h2{font-size:1.28rem}.map-heading>p:last-child{font-size:.68rem}.destination-map{height:280px;min-height:280px}.destination-grid{display:flex;flex-direction:column;gap:12px}.destination,.destination:nth-child(4n+2){grid-template-columns:42% 58%;min-height:204px}.destination-photo.card{min-height:204px;height:100%}.destination-photo.card figcaption{font-size:.52rem}.destination-body{padding:11px 12px}.destination-body h3{font-size:1.34rem;line-height:1.1;margin:0 0 6px}.destination-body .place{font-size:.57rem!important}.destination-body>p:not(.place):not(.trip-note):not(.experience){font-size:.7rem;line-height:1.48}.destination-body .trip-note{font-size:.64rem;line-height:1.47;margin-top:8px}.destination-body .experience{font-size:.67rem;line-height:1.4;margin-top:7px}.destination-links{padding-top:8px;gap:4px 9px;margin-top:9px}.destination-links a{font-size:.61rem}.destination-links .primary-link{font-size:.7rem}.seasonal-journeys{padding:36px 0}.journey-grid{grid-template-columns:1fr 1fr;gap:8px}.journey-grid a{padding:12px;min-height:200px}.journey-grid h3{font-size:1.11rem}.ethos{grid-template-columns:1fr;gap:12px;padding-top:32px;padding-bottom:35px}.ethos h2{font-size:1.7rem}.site-footer .wrap{display:flex;flex-direction:column;align-items:start}}
@media(max-width:420px){.destination,.destination:nth-child(4n+2){grid-template-columns:1fr}.destination-photo.card{height:165px;min-height:165px}.destination-body{padding:14px}.destination-body>p:not(.place):not(.trip-note):not(.experience){font-size:.79rem}.destination-body .trip-note{font-size:.72rem}.destination-body .experience{font-size:.72rem}.destination-links a{font-size:.7rem}.destination-links .primary-link{font-size:.8rem}.journey-grid{grid-template-columns:1fr}.journey-grid a{min-height:130px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.destination-photo.card img{transition:none}.destination:hover .destination-photo.card img{transform:none}}


/* Editorial photo direction (October 26): real destinations, intentional crops.
   Licenses remain visibly credited without painting over the landscape. */
.destination-photo{--photo-position:50% 50%;background:#d7ddd5}
.destination-photo.card img,.hero-gallery .hero-photo img{object-position:var(--photo-position,50% 50%)}
.destination-photo.card figcaption.photo-credit,
.hero-gallery .hero-photo figcaption.photo-credit{
  position:absolute;z-index:2;left:7px;right:auto;bottom:7px;top:auto;
  display:block;width:max-content;max-width:calc(100% - 14px);
  margin:0;padding:4px 7px;border:1px solid #ffffff25;
  border-radius:4px;background:rgba(20,40,38,.70);
  color:#f7f8f4;font-family:var(--sans);font-size:.60rem;line-height:1.3;
  font-weight:500;letter-spacing:0;text-shadow:none;
  box-shadow:0 2px 8px #0b24251a;backdrop-filter:blur(3px)
}
.destination-photo.card figcaption.photo-credit a,
.hero-gallery .hero-photo figcaption.photo-credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.destination-photo.card figcaption.photo-credit a:hover,
.hero-gallery .hero-photo figcaption.photo-credit a:hover{color:#f1d7a4}
.destination-photo.card figcaption.photo-credit a:focus-visible,
.hero-gallery .hero-photo figcaption.photo-credit a:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hero-gallery>.hero-photo img{object-position:var(--photo-position,55% 55%)}
.destination-photo.card img{transform-origin:center}
@media(max-width:610px){
  .destination-photo.card figcaption.photo-credit,.hero-gallery .hero-photo figcaption.photo-credit{
    bottom:4px;left:4px;padding:3px 5px;font-size:.54rem;max-width:calc(100% - 8px);
    background:rgba(20,40,38,.78)
  }
  .destination-photo.card img{object-position:var(--photo-position,50% 50%)}
}
