:root{--forest:#173d35;--ink:#233d36;--paper:#f7f4ec;--sand:#e8dfce;--sunset:#a04c2c;--muted:#586860;--line:#d3d9cd;--serif:'Cormorant Garamond',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:1.0rem/1.85 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--sunset);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h2{font-weight:500;line-height:1.4}h3{line-height:1.4}section[id]{scroll-margin-top:20px}.eyebrow{font-size:0.75rem;letter-spacing:.19em;line-height:1.6;font-weight:600}.section-pad{padding:110px max(6vw,24px)}.section-index{font-size:0.75rem;letter-spacing:.18em}.site-header{position:absolute;z-index:10;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:30px 5vw;color:#fff}.brand{font:600 1.75rem/1 var(--serif);letter-spacing:.09em}.brand span{display:block;font:0.625rem/1.5 var(--sans);letter-spacing:.18em;margin-top:8px}.site-header nav{display:flex;gap:32px;align-items:center;font-size:0.875rem}.nav-today{border:1px solid #ffffff80;padding:9px 22px;border-radius:2px}.hero{position:relative;height:92svh;min-height:720px;max-height:1080px;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#071c2845 0%,#09272812 35%,#082e3270 75%,#082a2ac9 100%)}.hero-content{position:absolute;top:26%;left:8vw}.hero h1{font:400 clamp(6.875rem,15vw,14.375rem)/.79 var(--serif);letter-spacing:-.025em;margin:35px 0 25px}.hero h1 span{display:block;font-size:clamp(29px,4.2vw,62px);letter-spacing:0;line-height:1.2;margin-top:15px}.hero h1 i{font-weight:400}.hero-copy{font-size:1.0625rem;line-height:1.85;letter-spacing:.05em;margin-top:28px}.hero-action{display:inline-block;margin-top:28px;border-bottom:1px solid #fff9;padding:8px 0;font-size:0.875rem}.hero-bottom{position:absolute;bottom:38px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:end;font-size:0.875rem;letter-spacing:.06em}.hero-bottom p span{display:block;font-size:0.75rem;opacity:.85;margin-top:4px}.scroll-hint{display:flex;align-items:center;gap:12px;font-size:0.625rem;letter-spacing:.18em}.scroll-hint b{height:40px;width:1px;background:#ffffff70;position:relative}.scroll-hint b:after{content:'';display:block;width:3px;height:10px;background:#fff;animation:scroll 2s infinite}@keyframes scroll{0%{transform:translateY(0);opacity:0}50%{opacity:1}100%{transform:translateY(28px);opacity:0}}.intro{display:grid;grid-template-columns:1fr 3fr;gap:8vw}.intro-main h2{font-size:clamp(34px,4vw,60px);letter-spacing:.02em;margin:24px 0}.intro-main>p:not(.eyebrow){line-height:2.1;color:var(--muted)}.route-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:60px;border-top:1px solid var(--line);padding-top:24px}.route-strip span{font-size:0.6875rem;letter-spacing:.12em}.route-strip strong{display:block;font:500 2.125rem/1.3 var(--serif);margin-top:14px}.route-strip small{font-size:0.8125rem;color:var(--muted)}.today{background:var(--forest);color:var(--paper)}.today-heading{display:flex;justify-content:space-between;align-items:end}.today h2{font-size:2.25rem;margin-top:15px}.today-heading>p{font-size:0.875rem;color:#dbddc9}.day-selector{display:flex;gap:10px;overflow-x:auto;margin-top:40px;padding-bottom:16px;scrollbar-width:thin}.day-selector button{background:transparent;border:1px solid #93a79b66;border-radius:0;min-width:84px;padding:12px 15px;text-align:center;line-height:1.5}.day-selector button span{display:block;font-size:0.75rem;color:#d0d6c9}.day-selector button strong{font:500 1.875rem var(--serif)}.day-selector button[aria-pressed=true]{background:var(--paper);color:var(--forest)}.day-selector button[aria-pressed=true] span{color:var(--forest)}.daily-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw;margin-top:32px}.daily-intro h3{font-size:1.875rem;margin:12px 0 16px;font-weight:500}.daily-intro p{color:#e1e3d5;font-size:0.9375rem}.daily-schedule{border-top:1px solid #a3b7a169}.daily-row{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid #a3b7a145;line-height:1.7}.daily-row dt{font:500 1.25rem var(--serif);color:#d4c7a9}.daily-row dd{margin:0;font-size:1.0rem}.daily-row a{border-bottom:1px solid #ddd9b7}.bottom-nav{display:none}.skip-link{position:fixed;left:10px;top:-100px;z-index:100;background:#fff;padding:14px}.skip-link:focus{top:10px}.nojs{padding:40px}@media(max-width:700px){html{scroll-padding-top:20px}body{padding-bottom:75px}.section-pad{padding:64px 24px}.site-header{padding:24px;align-items:start}.brand{font-size:1.5625rem}.brand span{font-size:0.5625rem}.site-header nav>a:not(.nav-today){display:none}.site-header nav{gap:0}.nav-today{font-size:0.75rem;padding:8px 13px}.hero{min-height:640px;height:calc(100svh - 70px);max-height:900px}.hero-photo{object-position:60% center}.hero-content{left:28px;right:24px;top:28%}.hero .eyebrow{font-size:0.625rem;letter-spacing:.12em}.hero h1{font-size:7.25rem;margin:28px 0 25px}.hero h1 span{font-size:2.0rem;margin-top:18px}.hero-copy{font-size:1.0rem;margin-top:26px}.hero-bottom{left:24px;right:24px;bottom:24px}.hero-bottom p{font-size:0.8125rem}.hero-route{display:none}.scroll-hint{font-size:0.5rem;gap:8px}.intro{display:block}.intro-main{margin-top:32px}.intro-main h2{font-size:2.3125rem}.intro-main>p:not(.eyebrow){font-size:0.9375rem}.route-strip{gap:12px;margin-top:36px}.route-strip strong{font-size:1.5625rem;white-space:nowrap}.route-strip span{font-size:0.625rem}.route-strip small{font-size:0.6875rem;line-height:1.7;display:block}.today-heading{display:block}.today h2{font-size:1.9375rem}.today-heading>p{margin-top:15px}.day-selector{margin-top:28px;margin-right:-24px;padding-right:24px}.day-selector button{min-width:72px;padding:10px}.daily-layout{display:block;margin-top:24px}.daily-intro h3{font-size:1.6875rem}.daily-schedule{margin-top:25px}.daily-row{grid-template-columns:77px 1fr;padding:16px 0;gap:12px}.daily-row dd{font-size:0.9375rem}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;z-index:50;padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -3px 20px #12342508}.bottom-nav a{display:flex;flex-direction:column;align-items:center;font-size:0.6875rem;line-height:1.5;gap:4px;min-height:44px}.bottom-nav svg{width:22px;height:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-frame{margin:0;position:relative;overflow:hidden;background:#d8ded1}.photo-frame img{width:100%;height:100%;transition:transform 1.2s ease}.photo-frame figcaption{position:absolute;bottom:13px;right:18px;z-index:2;font-size:0.5625rem;line-height:1.4;color:white;letter-spacing:.03em;background:#10282090;padding:4px 7px}.photo-frame:hover img{transform:scale(1.025)}.fine-print{font-size:0.8125rem;color:var(--muted);line-height:1.85}.text-link{display:inline-block;border:0;border-bottom:1px solid currentColor;background:transparent;font-size:0.875rem;line-height:1.7;padding:8px 0;min-height:44px}.light-link{border-bottom:1px solid #dcd9c099;padding:8px 0;font-size:0.875rem}.button-light,.button-dark{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 22px;line-height:1.5;font-size:0.875rem;border:1px solid transparent}.button-light{color:var(--forest);background:var(--paper)}.button-dark{color:var(--paper);background:var(--forest)}.daily-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}.daily-intro .plan-label{font-size:0.75rem;color:#d4d5bc;margin-top:16px}.daily-row dt{font:500 0.875rem var(--sans);color:var(--paper);line-height:1.7}.daily-row dt small{display:block;font:400 1.125rem var(--serif);color:#d4c7a9;margin-bottom:3px}.next-move{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:25px 0;margin-top:32px;border-top:1px solid #afbfaa77;border-bottom:1px solid #afbfaa77}.next-move .eyebrow{font-size:0.6875rem;color:#d7d5bc}.next-move h4{font-size:1.25rem;line-height:1.6;margin:10px 0 4px;font-weight:500}.next-move p{font-size:0.8125rem;color:#dcdccd}.daily-note{font-size:0.8125rem;margin-top:18px;color:#dedfcd}.flights{padding-top:80px;padding-bottom:80px}.flights-heading{display:flex;align-items:end;justify-content:space-between;margin:18px 0 30px}.flights h2{font-size:1.875rem}.flights-heading>p{font-size:0.8125rem;color:var(--muted)}.flight-list{border-top:1px solid var(--line)}.flight-row{display:grid;grid-template-columns:1fr 2.5fr 1.5fr;gap:25px;padding:32px 0;border-bottom:1px solid var(--line);align-items:center}.flight-date span{display:block;font-size:0.625rem;letter-spacing:.17em;color:var(--muted)}.flight-date strong{font:500 1.875rem var(--serif)}.flight-date p{font-size:0.75rem;color:var(--muted)}.flight-route>div{display:flex;align-items:center;gap:22px;margin-top:10px}.flight-route span{font:500 2.125rem/1 var(--serif)}.flight-route small{display:block;font:0.75rem/1.8 var(--sans);margin-top:7px;color:var(--muted)}.flight-line{display:block;height:1px;background:#97ac9c;flex:1;max-width:140px;position:relative}.flight-line:before,.flight-line:after{content:'';position:absolute;top:-2px;border-radius:50%;width:5px;height:5px;background:var(--forest)}.flight-line:after{right:0}.flight-time{justify-self:end}.flight-time strong{font:500 1.6875rem var(--serif)}.flight-time p{font-size:0.8125rem;color:var(--muted);margin-top:10px}.flights>.fine-print{margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading h2{font-size:clamp(36px,4.3vw,60px);margin-top:22px;letter-spacing:.015em}.section-heading h2 em{font-style:normal;color:var(--sunset)}.section-heading>p{font-size:0.9375rem;color:var(--muted);line-height:2}.journey{background:#eeeadd}.chapter{display:grid;grid-template-columns:1fr 1fr;align-items:start;position:relative}.chapter-scene{position:sticky;top:0;height:100svh;max-height:1000px;overflow:hidden;color:#fff}.chapter-photo{height:100%}.chapter-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#0c271eb5 100%)}.chapter-title{position:absolute;left:8%;bottom:8%;right:8%;z-index:2}.chapter-title h3{font:500 clamp(2.5rem,4.5vw,4.25rem)/1.1 var(--serif);margin:18px 0}.chapter-title>p:not(.eyebrow){font-size:1.0rem}.chapter-days{padding:45px 7% 55px 6%;position:relative}.journey-day{display:grid;grid-template-columns:70px 1fr;gap:26px;padding:36px 0;position:relative}.journey-day:not(:last-child):after{content:'';position:absolute;left:33px;top:114px;bottom:-24px;width:1px;background:#b9c7b2}.journey-date{text-align:center;position:relative}.journey-date span{font-size:0.625rem;letter-spacing:.07em;display:block}.journey-date strong{font:500 2.0625rem/1.3 var(--serif);display:block;margin-top:5px}.journey-date small{font-size:0.75rem;display:block}.journey-date:after{content:'';width:7px;height:7px;background:#b5c4b0;border-radius:50%;position:absolute;left:30px;top:100px;transition:background .4s,box-shadow .4s}.journey-day.in-view .journey-date:after{background:var(--sunset);box-shadow:0 0 0 5px #a04c2c1c}.journey-story h3{font:500 2.0625rem/1.2 var(--serif);margin:12px 0 18px}.journey-story>.eyebrow{font-size:0.625rem;letter-spacing:.1em;color:var(--muted)}.journey-story>p:not(.eyebrow){font-size:0.9375rem}.journey-flow{border-left:1px solid #afbcaa;margin:20px 0;padding-left:18px}.journey-flow p{font-size:0.8125rem;color:var(--muted);line-height:1.8;margin-top:10px}.journey-flow p span{display:block;font-size:0.6875rem;letter-spacing:.06em;color:var(--ink);margin-bottom:3px}.stay{padding:0 0 70px;scroll-margin-top:0}.stay-top{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:7vw;padding-right:6vw}.stay-image{height:620px}.stay-copy{padding:25px 0}.stay-dates{font:500 1.6875rem var(--serif);margin-top:25px}.stay-dates span{font:0.75rem var(--sans);padding-left:12px}.stay-copy h3{font-size:clamp(30px,2.6vw,40px);font-weight:500;line-height:1.65;margin:18px 0}.hotel-name{font:500 1.625rem/1.4 var(--serif);border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.stay-intro{font-size:0.9375rem;color:var(--muted)}.stay-tags{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0}.stay-tags span{font-size:0.75rem;padding:3px 0;border-bottom:1px solid var(--line)}.stay-details{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;margin:45px 6vw 0}.stay-details h4{font-size:1.25rem;font-weight:500;margin:12px 0 16px;line-height:1.6}.stay-details>div>p{font-size:0.875rem;color:var(--muted)}.stay-details small{display:block;font-size:0.75rem;color:var(--muted);margin-top:20px}.stay-facts>p{font-size:0.875rem;margin-bottom:20px;padding-left:18px;border-left:1px solid var(--line);line-height:1.9}.stay-facts details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:0.8125rem}.stay-facts details p{margin:12px 0;color:var(--muted)}summary{cursor:pointer;list-style:none;position:relative;padding:18px 32px 18px 0;min-height:52px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;top:15px;font-size:1.375rem;font-weight:300}details[open]>summary:after{content:'−'}.stay-ecosix{background:var(--forest);color:var(--paper);padding-top:60px}.stay-ecosix .stay-top{grid-template-columns:1fr 1.25fr;padding-right:0;padding-left:6vw}.stay-ecosix .stay-image{order:2}.stay-ecosix .stay-copy{order:1}.stay-ecosix{--line:#496654;--muted:#d4d9c9}.stay-ritz{padding-top:70px}.stay-ritz .stay-top{grid-template-columns:1.4fr 1fr}.places{background:#eeeadd}.places-tools{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-top:45px}.filter-row{display:flex;gap:10px;flex-wrap:wrap}.filter-row button{font-size:0.875rem;padding:9px 17px;min-height:44px;border:1px solid #a2b09c;background:transparent;border-radius:0;transition:background .2s,color .2s}.filter-row button[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--paper)}.kind-filter button{border-color:transparent;padding:9px 10px}.candidate-note{font-size:0.8125rem;color:var(--muted);margin:22px 0}.result-count{font:500 1.25rem var(--serif);margin:20px 0}.places-editorial{display:grid;grid-template-columns:repeat(2,1fr);gap:65px 36px}.place-feature:nth-child(even){margin-top:75px}.place-photo{height:380px}.place-caption{padding:22px 0 0}.place-caption h3{font:500 2.125rem/1.3 var(--serif);margin:12px 0}.place-caption>p:not(.eyebrow){font-size:0.9375rem}.place-caption details{font-size:0.8125rem}.place-caption details summary{padding-bottom:8px;min-height:44px}.place-caption details p{margin-top:10px;color:var(--muted)}.place-links{display:flex;gap:20px;flex-wrap:wrap}.place-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px;margin-top:70px}.place-row{border-top:1px solid #b9c4af}.place-row summary{padding:23px 36px 25px 0}.place-row summary:after{top:27px}.place-row summary span{font-size:0.625rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.place-row h3{font:500 1.6875rem/1.3 var(--serif);margin:8px 0}.place-row summary p{font-size:0.875rem;color:var(--muted);line-height:1.8}.place-expanded{font-size:0.875rem;padding:0 0 20px}.booking-note{font-size:0.75rem;color:var(--sunset);margin-top:9px}.map-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:7vw;margin-top:45px}.map-route>div{display:flex;gap:20px;position:relative;padding-bottom:35px}.map-route>div:not(:last-child):before{content:'';position:absolute;left:17px;top:47px;bottom:7px;width:1px;background:var(--line)}.map-route>div>span{border:1px solid var(--line);width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font:500 1.125rem var(--serif)}.map-route strong{display:block;font:500 1.6875rem var(--serif)}.map-route small{display:block;font-size:0.75rem;margin-top:5px;color:var(--muted)}.map-hotel-link{display:block;font-size:0.875rem;border-bottom:1px solid var(--line);padding:6px 0;margin-top:5px}.map-side>.fine-print{margin-bottom:20px}.map-filter{margin-bottom:14px}#island-map{height:510px;background:#e2e5d5;position:relative;z-index:1;isolation:isolate}.map-loading{height:100%;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;background:linear-gradient(140deg,#dbe4d4,#d3e3e5)}.map-loading>p{font-size:1.375rem;font-weight:500}.map-loading small{font-size:0.75rem;color:var(--muted)}#map-feedback{margin-top:12px}.map-place-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.map-place-link{font-size:0.8125rem;min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.leaflet-container{font-family:var(--sans);font-size:0.875rem}.leaflet-popup-content p{margin:12px 0;font-size:0.75rem}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important}.practical{background:#e7dfce}.practical-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;margin-top:45px}.practical h3{font-size:1.3125rem;font-weight:500;margin-bottom:12px}.task-list{list-style:none;padding:0;margin:25px 0}.task-list li{display:flex;gap:14px;align-items:start;padding:16px 0;border-top:1px solid #b2bbab}.task-list span{font-size:0.6875rem;color:var(--sunset);white-space:nowrap;padding-top:3px}.task-list li.done span{color:var(--forest)}.task-list p{font-size:0.875rem;line-height:1.9}.practical-accordions details{border-top:1px solid #adb7a3}.practical-accordions details:last-child{border-bottom:1px solid #adb7a3}.practical-accordions summary{font-size:1.0rem;padding:22px 35px 22px 0}.practical-accordions summary:after{top:19px}.practical-accordions details>div{padding-bottom:22px;font-size:0.875rem;line-height:1.9}.practical-accordions details p+p{margin-top:14px}.practical-links{display:flex;gap:10px 20px;flex-wrap:wrap}.practical-accordions ol{padding-left:20px}.practical-accordions li{margin-bottom:8px}.closing{height:650px;position:relative;color:#fff;display:flex;justify-content:center;align-items:center;text-align:center}.closing-photo{position:absolute;inset:0;height:100%;width:100%}.closing-photo:after{content:'';position:absolute;inset:0;background:#08231d75}.closing>div{position:relative;padding:0 24px}.closing h2{font-size:clamp(30px,3.7vw,50px);font-weight:400;line-height:1.8;margin-top:25px}.closing>div>p:not(.eyebrow){font:italic 2.0rem var(--serif);margin-top:28px}.closing a:not(.photo-credit){display:inline-block;margin-top:40px;border-bottom:1px solid #fff7;padding:8px 0;font-size:0.875rem}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:60px 6vw 45px;background:var(--forest);color:var(--paper)}.footer-brand{font:500 2.5rem var(--serif)}.footer-brand i{font-size:1.5625rem}.footer-brand p{font:0.625rem var(--sans);letter-spacing:.14em;margin-top:12px}.site-footer>div>p{font-size:0.75rem;color:#d4d9c9;line-height:1.9}.site-footer details{font-size:0.8125rem;margin-top:15px}.source-list{display:flex;flex-wrap:wrap;gap:10px 15px}.source-list a{font-size:0.75rem}.source-list p{font-size:0.6875rem;color:#d4d9c9}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.revealed{opacity:1;transform:translateY(0)}.bottom-nav a.active{color:var(--sunset)}.data-error{padding:30px;background:#f7f4ec;color:var(--forest)}
@media(min-width:701px) and (max-width:1000px){.site-header nav{gap:20px}.chapter{grid-template-columns:.9fr 1.1fr}.chapter-days{padding:20px 25px}.journey-day{gap:15px}.stay-top{gap:4vw}.stay-image{height:570px}.stay-copy h3{font-size:1.75rem}.stay-intro{font-size:0.875rem}.map-layout{gap:4vw}.places-editorial{gap:35px}}
@media(max-width:700px){.daily-intro .plan-label{font-size:0.75rem}.daily-links{gap:20px;margin-top:20px}.next-move{display:block;padding:20px 0;margin-top:24px}.next-move h4{font-size:1.125rem}.next-move .button-light{margin-top:16px;min-height:46px;padding:10px 18px}.daily-note{font-size:0.75rem}.flights-heading{display:block;margin-top:18px}.flights h2{font-size:1.625rem}.flights-heading>p{margin-top:18px}.flight-row{grid-template-columns:70px 1fr;gap:20px 16px;padding:26px 0}.flight-date strong{font-size:1.75rem}.flight-date span{font-size:0.5625rem}.flight-date p{font-size:0.625rem}.flight-route .eyebrow{font-size:0.625rem;letter-spacing:.09em}.flight-route>div{gap:10px}.flight-route span{font-size:1.875rem}.flight-route small{font-size:0.6875rem}.flight-time{grid-column:2;justify-self:start;margin-top:0;display:flex;gap:13px;flex-wrap:wrap;align-items:center}.flight-time strong{font-size:1.5625rem}.flight-time p{margin:0;font-size:0.75rem}.fine-print{font-size:0.75rem}.section-heading{display:block}.section-heading h2{font-size:2.25rem;line-height:1.5;margin-top:20px}.section-heading>p{font-size:0.875rem;margin-top:25px}.chapter{display:block}.chapter-scene{position:relative;top:auto;height:390px}.chapter-title{left:24px;bottom:32px}.chapter-title h3{font-size:2.8125rem;margin:15px 0 10px}.chapter-title>p:not(.eyebrow){font-size:0.9375rem}.chapter-title .eyebrow{font-size:0.625rem}.chapter-days{padding:16px 24px 40px 18px}.journey-day{grid-template-columns:53px 1fr;gap:17px;padding:29px 0}.journey-date strong{font-size:1.8125rem}.journey-date span{font-size:0.5625rem}.journey-date small{font-size:0.625rem}.journey-date:after{left:23px;top:90px}.journey-day:not(:last-child):after{left:26px;top:104px}.journey-story h3{font-size:1.8125rem}.journey-story>.eyebrow{font-size:0.5625rem;letter-spacing:.06em}.journey-story>p:not(.eyebrow){font-size:0.875rem;line-height:1.95}.journey-flow{padding-left:12px}.journey-flow p{font-size:0.75rem}.stay{padding-bottom:45px}.stay-top,.stay-ecosix .stay-top,.stay-ritz .stay-top{display:flex;flex-direction:column;padding:0;gap:0;align-items:stretch}.stay-image{height:350px;order:0!important}.stay-copy{padding:32px 24px;order:1!important}.stay-copy>.eyebrow{font-size:0.625rem}.stay-dates{margin-top:18px;font-size:1.6875rem}.stay-copy h3{font-size:1.8125rem;line-height:1.75;margin:18px 0}.hotel-name{font-size:1.6875rem;padding-bottom:17px;margin-bottom:17px}.stay-intro{font-size:0.875rem;line-height:2}.stay-tags{margin:20px 0 12px;gap:6px 15px}.stay-tags span{font-size:0.6875rem}.stay-details{display:block;margin:5px 24px 0}.stay-details h4{font-size:1.125rem;margin-bottom:14px}.stay-details>div>p{font-size:0.8125rem}.stay-details small{font-size:0.6875rem;margin-top:16px}.stay-facts{margin-top:30px}.stay-facts>p{font-size:0.8125rem;line-height:2;margin-bottom:20px}.stay-facts summary{font-size:0.8125rem}.stay-ecosix{padding-top:0}.stay-ritz{padding-top:0}.places-tools{display:block;margin-top:30px}.filter-row{gap:8px}.filter-row button{padding:8px 12px;font-size:0.8125rem;min-height:44px}.kind-filter{margin-top:15px}.kind-filter button{padding:8px 13px}.candidate-note{font-size:0.75rem;line-height:1.9;margin:20px 0}.places-editorial{display:block}.place-feature{margin-bottom:38px}.place-feature:nth-child(even){margin-top:0}.place-photo{height:310px}.place-caption{padding-top:18px}.place-caption h3{font-size:1.9375rem;margin:10px 0}.place-caption .eyebrow{font-size:0.625rem}.place-caption>p:not(.eyebrow){font-size:0.875rem}.place-list{display:block;margin-top:38px}.place-row h3{font-size:1.625rem}.place-row summary p{font-size:0.8125rem}.place-row summary span{font-size:0.625rem}.map-layout{display:flex;flex-direction:column;margin-top:35px;gap:20px}.map-route{display:flex;gap:12px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px}.map-route>div{display:block;flex:1;padding:0;min-width:0}.map-route>div>span{width:28px;height:28px;font-size:0.9375rem;margin-bottom:10px}.map-route>div:before{display:none}.map-route strong{font-size:1.25rem;line-height:1.4;overflow-wrap:anywhere}.map-route small{font-size:0.625rem;margin-top:8px}.map-hotel-link{font-size:0.6875rem;line-height:1.6;border:0;margin-top:8px;overflow-wrap:anywhere}.map-side>.fine-print{margin-bottom:15px}#island-map{height:380px}.map-filter button{font-size:0.75rem}.map-place-links{gap:8px 18px;margin-top:24px;padding-top:18px}.map-place-link{font-size:0.75rem;min-height:40px}.practical-grid{display:block;margin-top:35px}.practical h3{font-size:1.25rem}.task-list p{font-size:0.8125rem;line-height:1.9}.task-list span{font-size:0.625rem}.practical-accordions{margin-top:35px}.practical-accordions summary{font-size:0.9375rem;padding:20px 32px 20px 0}.practical-accordions details>div{font-size:0.8125rem;line-height:2}.closing{height:500px}.closing h2{font-size:1.6875rem;line-height:1.9}.closing .eyebrow{font-size:0.5625rem;letter-spacing:.11em}.closing>div>p:not(.eyebrow){font-size:1.8125rem}.closing a:not(.photo-credit){font-size:0.8125rem;margin-top:28px}.site-footer{display:block;padding:45px 24px 30px}.footer-brand{font-size:2.1875rem;margin-bottom:30px}.footer-brand i{font-size:1.5rem}.site-footer>div>p{font-size:0.6875rem}.site-footer details{font-size:0.75rem}.photo-frame figcaption{font-size:0.5rem;right:10px;bottom:10px}.leaflet-control-attribution{font-size:0.625rem!important}.bottom-nav a{min-height:46px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.photo-frame img{transition:none}.journey-date:after{transition:none}}
@media print{.site-header,.bottom-nav,.hero,.intro,.today,.stays,.places,.map-section,.practical,.closing,.site-footer,.chapter-scene,.flights-heading>p{display:none!important}.section-pad{padding:15px}.chapter{display:block}.chapter-days{padding:0 15px}.journey-day{break-inside:avoid;padding:15px 0}.journey-story button{display:none}.reveal{opacity:1;transform:none}.section-heading h2{font-size:1.75rem}.journey-flow{display:flex;gap:20px}.journey-day:after{display:none}.flights{padding:15px}.flight-row{padding:15px}.journey{background:white}}

/* Review 1: useful information leads the mobile daily view. */
@media(max-width:700px){.today{padding-top:36px;padding-bottom:36px}.today .eyebrow{font-size:0.625rem}.today h2{font-size:1.6875rem;margin-top:10px}.today-heading>p{font-size:0.8125rem;margin-top:10px}.day-selector{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;margin:22px 0 0;gap:7px;padding:0}.day-selector button{min-width:0;padding:7px 3px;min-height:73px}.day-selector button strong{font-size:1.5625rem}.day-selector button span{font-size:0.625rem}.daily-layout{margin-top:20px}.daily-intro h3{font-size:1.4375rem;margin:6px 0 0}.daily-intro>p:not(.eyebrow),.daily-intro .daily-links{display:none}.daily-schedule{margin-top:16px}.daily-row{grid-template-columns:55px 1fr;padding:11px 0;gap:15px}.daily-row dt{font-size:0.8125rem}.daily-row dt small{font-size:0.875rem;line-height:1.2}.daily-row dd{font-size:0.9375rem;line-height:1.8}.next-move{margin-top:18px;padding:16px 0}.next-move h4{font-size:1.0625rem;margin-top:7px}.next-move p,.daily-note{font-size:0.8125rem}.next-move .button-light{margin-top:12px;min-height:44px;font-size:0.8125rem}.stay-intro,.stay-facts>p,.stay-details>div>p,.journey-story>p:not(.eyebrow),.place-row summary p,.place-expanded,.task-list p,.practical-accordions details>div{font-size:0.9375rem}.journey-flow p,.map-hotel-link,.map-place-link,.fine-print,.candidate-note,.place-caption details{font-size:0.875rem}.map-route{display:block}.map-route>div{display:flex;gap:13px;padding:12px 0;border-top:1px solid var(--line)}.map-route>div>span{margin:5px 0}.map-route strong{font-size:1.5rem}.map-route small{font-size:0.8125rem}.map-hotel-link{margin-top:0}.bottom-nav a{font-size:0.75rem}.place-photo{height:330px}.map-place-link{min-height:44px}}

/* Review 2: contrast, larger captions, and consistent touch targets. */
:root{--muted:#4f6158;--sunset:#934127}.practical{--muted:#4b5c51}.photo-frame figcaption{font-size:0.75rem;max-width:85%;background:#0c231be6;padding:6px 8px}.hero-shade{background:linear-gradient(90deg,#0a2b3138 0%,transparent 70%),linear-gradient(180deg,#08212785 0%,#09272805 35%,#082e3260 75%,#082a2abf 100%)}.stay-ecosix{--muted:#d4d9c9}.site-header nav a{transition:opacity .2s}.site-header nav a:hover{opacity:.75}.filter-row button:hover{border-color:var(--forest)}.place-feature:first-child .place-photo{height:440px}.place-feature:last-child .place-photo{height:340px}.route-strip small{font-size:0.875rem}.stay-tags span{font-size:0.8125rem}.fine-print{max-width:75ch}.place-row summary:focus-visible{outline-offset:1px}.daily-row dd{overflow-wrap:anywhere}
@media(max-width:700px){.place-feature:first-child .place-photo{height:360px}.place-feature:last-child .place-photo{height:320px}.photo-frame figcaption{font-size:0.6875rem;max-width:90%;padding:5px 7px}.route-strip small{font-size:0.75rem}.route-strip strong{font-size:1.5rem}.stay-tags span{font-size:0.75rem}.places-tools>.filter-row:first-child{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.places-tools>.filter-row:first-child button{min-width:0}.place-row summary span{font-size:0.75rem}.candidate-note{margin-top:17px}.journey-date small{font-size:0.75rem}.journey-date span{font-size:0.625rem}.site-footer>div>p,.source-list p,.source-list a{font-size:0.75rem}.task-list span{font-size:0.75rem}.map-filter button{font-size:0.875rem}.practical-accordions summary{font-size:1.0rem}}

/* Review 3: wrapping at enlarged text sizes, touch-safe map, and balanced crops. */
.route-strip{grid-template-columns:repeat(auto-fit,minmax(min(6rem,100%),1fr))}.route-strip strong{white-space:normal;overflow-wrap:anywhere}.photo-frame figcaption{font-size:.75rem}.room-note{font-weight:500}.day-selector button{overflow-wrap:anywhere}.day-selector button strong{line-height:1.2}.site-header .brand{flex-shrink:0}.filter-row button{overflow-wrap:anywhere}.hero h1 span{max-width:100%}.hero-copy{max-width:90%}.photo-frame img{object-position:center}.stay-ecosix .stay-image img{object-position:55% center}
@media(max-width:700px){.section-pad{padding-left:24px;padding-right:24px}.daily-row dd{font-size:1rem}.day-selector{grid-template-columns:repeat(auto-fit,minmax(min(4.6rem,100%),1fr))}.day-selector button{min-height:78px}.daily-row{grid-template-columns:minmax(3.5rem,auto) minmax(0,1fr)}.next-move h4{font-size:1.125rem}.next-move p{font-size:.875rem}.place-caption h3,.hotel-name{overflow-wrap:anywhere}.journey-story{min-width:0}.hero .eyebrow{line-height:1.8}.hero-content{top:25%}.hero-action{min-height:44px}.site-header{gap:16px}.hero h1 span{font-size:clamp(1.875rem,7.5vw,3.875rem)}.photo-frame figcaption{font-size:.75rem}.route-strip small{font-size:.875rem}.task-list li{gap:12px}.task-list span{font-size:.8125rem}.stay-tags span{font-size:.875rem}.place-links .text-link{font-size:.9375rem}}

/* Final review: direct hotel access and readable enlarged text. */
.stay-jumps{display:grid;grid-template-columns:repeat(3,1fr);margin:-30px 6vw 45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:24px}.stay-jumps a{display:block;padding:18px 0;font:500 24px var(--serif);min-height:60px}.stay-jumps span{display:block;font:12px var(--sans);margin-top:8px;color:var(--muted)}.brand{max-width:100%}.site-header{flex-wrap:wrap}.brand span{max-width:100%;overflow-wrap:anywhere}.flight-route,.flight-time{min-width:0}.flight-time strong{overflow-wrap:anywhere;line-height:1.4}.flight-route>div{flex-wrap:wrap}
@media(max-width:700px){.stay-jumps{display:block;margin:-20px 24px 35px}.stay-jumps a{font-size:1.5rem;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.stay-jumps a+a{border-top:1px solid var(--line)}.stay-jumps span{font-size:.75rem;margin:0;text-align:right;flex-shrink:0}.hero h1{font-size:clamp(5rem,28vw,7.25rem)}.hero{height:auto;min-height:calc(100svh - 70px);max-height:none}.hero-content{position:relative;left:auto;right:auto;top:auto;margin:0 24px;padding-top:25svh;padding-bottom:140px}.hero h1 span{line-height:1.35}.hero-bottom p{max-width:58%;overflow-wrap:anywhere}.hero-bottom{gap:12px}.hero .scroll-hint{flex-shrink:0}.site-header nav{max-width:100%}.hero .eyebrow{max-width:100%;overflow-wrap:anywhere}}

/* Dining review 1: three regional magazine spreads. Real venue photos stay visible. */
.photo-media{position:relative;width:100%;height:100%}.photo-fallback{position:absolute;inset:0;margin:0;padding:24px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--sand);color:var(--ink);font-size:1rem}.photo-fallback[hidden]{display:none}.photo-fallback span{font-size:.875rem;margin-top:12px;line-height:1.9}.photo-unavailable img{opacity:0}
.places{padding-bottom:100px}.places-tools{position:sticky;top:0;z-index:30;background:var(--paper);padding:14px 0;border-bottom:1px solid var(--line)}.result-count{font-size:.8125rem;letter-spacing:.04em;margin:26px 0 0;color:var(--muted)}.dining-region{margin-top:70px}.dining-heading{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding:28px 0 40px}.dining-number{font:500 2.5rem var(--serif);align-self:flex-start;color:var(--sunset);line-height:1.2}.dining-heading h3{font:500 clamp(2.4rem,4vw,4rem)/1.12 var(--serif);letter-spacing:-.035em}.dining-heading p{font-size:.9375rem;margin-top:12px;color:var(--muted)}.dining-total{margin-left:auto;font:500 .6875rem/1.7 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);text-align:right}.dining-spread{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:68px 40px}.place-entry{min-width:0}.place-entry--lead{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center;margin-bottom:14px}.place-entry .place-photo,.place-entry:first-child .place-photo,.place-entry:last-child .place-photo{height:auto;background:transparent;overflow:visible}.place-entry .photo-media{height:auto;aspect-ratio:3/2;overflow:hidden;background:var(--sand)}.place-entry .photo-media img{width:100%;height:100%;filter:saturate(.9) contrast(.98);transition:transform 1.1s ease,filter .7s ease}.place-entry:nth-child(4n+3) .photo-media{aspect-ratio:4/3}.place-entry--lead .photo-media{aspect-ratio:4/3}.place-entry .photo-frame figcaption{position:static;color:var(--muted);background:transparent;padding:9px 0 0;margin:0;max-width:100%;font-size:.6875rem;line-height:1.65}.place-entry .photo-credit{display:inline-block;min-height:30px}.place-entry .photo-credit:after{content:none}.place-entry .place-caption{padding:20px 0 0}.place-entry--lead .place-caption{padding:0 0 24px}.place-entry .place-caption h4{font:500 clamp(1.8rem,2.5vw,2.65rem)/1.1 var(--serif);margin:12px 0 16px;letter-spacing:-.025em;overflow-wrap:anywhere}.place-entry--lead .place-caption h4{font-size:clamp(2.5rem,4vw,3.7rem)}.place-entry .place-caption>.eyebrow{font-size:.6875rem;letter-spacing:.12em}.place-entry .place-caption>p:not(.eyebrow){font-size:.9375rem;line-height:1.95;max-width:40ch}.place-entry .place-links{margin-top:18px;gap:14px 24px}.place-entry .place-links a{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem}.place-entry .place-caption details{border-top:1px solid var(--line);margin-top:14px;font-size:.875rem;line-height:1.95}.place-entry .place-caption summary{padding:13px 30px 13px 0;min-height:48px}.place-entry .place-caption details>p{margin:0 0 12px}.place-entry--lead .place-caption details{max-width:40ch}.experience-list{margin-top:90px}.experience-list .places-editorial{max-width:750px}.experience-list .place-list{margin-top:45px}.photo-reveal .photo-media{clip-path:inset(0 0 4% 0);transition:clip-path .8s cubic-bezier(.2,.65,.25,1)}.photo-revealed .photo-media{clip-path:inset(0)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.place-entry .photo-media:hover img{transform:scale(1.035);filter:saturate(.96) contrast(.98)}}
@media(max-width:1000px){.dining-spread{gap:55px 28px}.place-entry--lead{gap:28px;grid-template-columns:1.15fr 1fr}.place-entry--lead .place-caption h4{font-size:2.5rem}}
@media(max-width:700px){.places-tools{padding:12px 0;top:0}.dining-region{margin-top:42px}.dining-heading{gap:15px;padding:22px 0 28px}.dining-number{font-size:1.7rem;margin-top:3px}.dining-heading h3{font-size:2.2rem}.dining-heading p{font-size:.875rem;line-height:1.85;margin-top:9px}.dining-total{display:none}.dining-spread{display:block}.place-entry{margin:0 0 45px}.place-entry--lead{display:block;margin-bottom:46px}.place-entry .photo-media,.place-entry:nth-child(4n+3) .photo-media{aspect-ratio:3/2}.place-entry--lead .photo-media{aspect-ratio:4/3}.place-entry .place-caption,.place-entry--lead .place-caption{padding:15px 0 0}.place-entry .place-caption h4,.place-entry--lead .place-caption h4{font-size:2.1rem;line-height:1.13;margin:10px 0 13px}.place-entry .place-caption>.eyebrow{font-size:.6875rem;line-height:1.7}.place-entry .place-caption>p:not(.eyebrow){font-size:.9375rem;line-height:1.9}.place-entry .place-links{margin-top:13px}.place-entry .place-links a{font-size:.9375rem}.place-entry .photo-frame figcaption{font-size:.6875rem;padding-top:8px}.place-entry .place-caption details{font-size:.9375rem;margin-top:7px}.result-count{margin-top:21px;font-size:.8125rem}.experience-list{margin-top:50px}}
@media(prefers-reduced-motion:reduce){.photo-reveal .photo-media{clip-path:none;transition:none}.place-entry .photo-media img{transition:none}}

/* Dining review 1 refinement: controls share the page paper; credits remain legible. */
.places-tools{background:#eeeadd}.place-entry .photo-frame figcaption{font-size:.75rem;line-height:1.75}.place-entry .photo-credit{min-height:34px}.place-entry .photo-reveal .photo-media{clip-path:none}.place-entry .photo-frame.photo-reveal .photo-media{clip-path:inset(0 0 4% 0)}.place-entry .photo-frame.photo-revealed .photo-media{clip-path:inset(0)}
@media(max-width:700px){.place-entry .photo-frame figcaption{font-size:.75rem}.dining-heading h3{font-size:2.05rem}}
@media(prefers-reduced-motion:reduce){.place-entry .photo-frame.photo-reveal .photo-media{clip-path:none}}

/* Dining review 2: clear empty results and consistent heading hierarchy. */
.places-empty{padding:45px 0 20px;font-size:1rem}.places-empty .text-link{margin-top:12px}.experience-list h4{font:500 1.8rem/1.4 var(--serif);margin:10px 0 16px;overflow-wrap:anywhere}.experience-list .place-row h4{font-family:var(--sans);font-size:1rem;margin:8px 0;font-weight:500}

/* Dining review 3: venue anchors keep the photo below the sticky filters. */
.place-entry{scroll-margin-top:10rem}
@media(max-width:700px){.place-entry{scroll-margin-top:13rem}}

/* Dining review 3 refinement: large text gives the whole screen back to content. */
.places-tools--flow{position:static}.place-entry{scroll-margin-top:var(--filter-offset,200px)}

/* Account for the page-wide anchor padding once, keeping the photo close to its filters. */
.place-entry{scroll-margin-top:calc(var(--filter-offset,200px) - 90px)}
@media(max-width:700px){.place-entry{scroll-margin-top:calc(var(--filter-offset,200px) - 20px)}}
