:root{--paper:#f8f6ef;--ink:#193b35;--muted:#626b61;--line:#d8dacf;--gold:#b4a16a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #b48035;outline-offset:6px}img{display:block;max-width:100%}.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}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:12px}header{height:104px;max-width:1600px;padding:0 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:29px;letter-spacing:-1.4px;text-decoration:none;white-space:nowrap}.brand span:not(.brand-dot){font-style:italic;font-weight:normal}.brand-dot{color:var(--gold)}nav{display:flex;gap:30px;font-size:13px}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:#8b7139}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;padding:17px 25px;border:1px solid var(--ink);transition:background .2s}.button:hover{background:#31564a}.button.small{font-size:12px;padding:12px 19px;gap:20px}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.light:hover{background:#e4e7d5}.hero{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:675px;padding:35px 3% 35px 6%;gap:5%}.hero-copy{padding:53px 0 28px;align-self:center}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;margin:0 0 27px;display:flex;align-items:center;gap:13px}.line{width:25px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.5px;line-height:1.07}h1{font-size:clamp(58px,6.2vw,96px);margin-bottom:28px}em{font-weight:400;color:#7b846e}h2{font-size:clamp(38px,4vw,58px);margin-bottom:26px}h3{font-size:22px;font-weight:400;line-height:1.3;letter-spacing:-.4px}.lead{font-size:17px;line-height:1.8;max-width:445px;color:var(--muted);margin-bottom:30px}.micro{font-size:11px;color:var(--muted);margin:13px 0 0}.hero-sign{display:flex;gap:13px;align-items:center;margin-top:41px}.hero-sign img{object-fit:cover;border-radius:50%}.hero-sign strong{display:block;font-size:12px;font-weight:500}.hero-sign span{display:block;font-size:11px;color:var(--muted)}.hero-image{position:relative;min-height:610px;overflow:hidden;border-radius:190px 3px 3px 3px}.hero-image>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:52% center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 48%,#09292594)}.image-label{position:absolute;bottom:44px;left:35px;z-index:1;color:white}.image-label span{font-size:9px;letter-spacing:2px}.image-label p{font:34px/1.15 var(--serif);margin:15px 0 0}.photo-note{position:absolute;right:17px;bottom:14px;z-index:1;color:white;font-size:9px}.benefit-strip{display:flex;align-items:center;justify-content:center;gap:5%;padding:22px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.5px}.benefit-strip i{font-size:22px;color:var(--gold)}.section{padding:95px 7%;max-width:1600px;margin:auto}.section-intro{max-width:770px}.section-intro>p:last-child{max-width:540px;color:var(--muted);font-size:15px}.perks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:52px 0 22px}.perks-grid article{border-top:1px solid var(--line);padding:25px 26px 12px 0;margin-right:28px}.perks-grid article:last-child{margin-right:0}.perk-number{font-family:var(--serif);font-size:18px;color:#93855e;display:block;margin-bottom:26px}.perks-grid h3{font-family:var(--serif);font-size:25px}.perks-grid p{font-size:13px;color:var(--muted);line-height:1.9}.fine{font-size:11px;color:var(--muted);line-height:1.8}.text-link{display:inline-flex;gap:20px;font-size:13px;margin-top:14px}.process{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9%;max-width:none}.process h2 em,.closing em{color:#bfc6a9}.process .eyebrow{color:#c5c9b6}.process>div>p:not(.eyebrow){font-size:14px;color:#d0d8c9;margin-bottom:30px}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:27px;padding:24px 0;border-bottom:1px solid #486258}.process li:first-child{padding-top:0}.process li>span{color:#bac49f;font-family:var(--serif);font-size:23px}.process li h3{font-family:var(--serif);font-size:26px;margin-bottom:10px}.process li p{font-size:13px;line-height:1.8;color:#ced6c7;max-width:410px;margin:0}.advisor{display:grid;grid-template-columns:.8fr 1fr;gap:11%;align-items:center}.portrait{position:relative;max-width:480px;padding-bottom:20px}.portrait>img{width:100%;aspect-ratio:1/1.06;object-fit:cover;border-radius:3px 140px 3px 3px}.portrait>span{position:absolute;bottom:0;right:-20px;background:#e8e9dc;padding:19px 30px;font-size:10px;letter-spacing:2px}.advisor h2{font-size:51px}.advisor p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.9}.languages{font-size:12px;padding:16px 0 5px}.languages span{padding:0 13px;color:var(--gold)}.questions{border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.2fr;gap:8%}.questions>div>p:not(.eyebrow){color:var(--muted);font-size:14px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{padding:23px 32px 23px 0;cursor:pointer;font-size:14px;position:relative;list-style:none;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;font-size:21px;top:18px;font-weight:400}details[open] summary:after{content:'−'}.faq-list details p{font-size:13px;color:var(--muted);line-height:1.9;padding-right:23px;margin-bottom:25px}.closing{padding:83px 20px;background:#23473f;color:var(--paper);text-align:center}.closing .eyebrow{justify-content:center;color:#cbd0bd}.closing h2{font-size:65px}.closing>p:not(.eyebrow){color:#d1d6ca;font-size:14px}.closing .micro{font-size:10px!important;margin-top:20px}footer{max-width:1600px;margin:auto;padding:50px 7% 25px;display:grid;grid-template-columns:1fr 1fr;gap:35px}footer>div>p{font-size:12px;color:var(--muted);margin-top:9px}footer>div:nth-child(2){display:flex;justify-content:flex-end;gap:24px;align-items:center;font-size:11px}footer>.fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin:0;font-size:10px}.article{max-width:890px;padding:85px 30px;margin:auto}.article h1{font-size:69px}.article .lead{font-size:19px;max-width:none}.article h2{font-size:34px;letter-spacing:-1px;margin-top:45px;line-height:1.2}.article p{color:var(--muted);font-size:16px}.byline{font-size:12px!important;border-bottom:1px solid var(--line);padding:0 0 26px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;margin:20px 0}caption{text-align:left;margin:12px 0;font-weight:600}th,td{padding:18px 14px;text-align:left;border:1px solid var(--line);vertical-align:top}th{background:#e8eadd}td:first-child{min-width:125px}.article-cta{padding:10px 30px 35px;background:#e9ebdf;margin-top:45px}.article-cta h2{margin-top:25px}@media(min-width:1600px){.process{padding-left:calc((100vw - 1376px)/2);padding-right:calc((100vw - 1376px)/2)}}@media(max-width:1000px){header{padding:0 4%;gap:15px;height:90px}nav{gap:18px;font-size:11px}.brand{font-size:25px}.hero{padding-left:5%;gap:4%;min-height:580px}.hero-copy{padding-top:25px}.hero-image{min-height:550px}.lead{font-size:15px}.hero-sign strong{font-size:11px}.section{padding:75px 6%}.perks-grid{gap:18px}.perks-grid article{margin:0;padding-right:0}.perks-grid h3{font-size:23px}.advisor h2{font-size:42px}.process{gap:6%}.questions{gap:6%}footer>div:nth-child(2){flex-wrap:wrap;gap:12px 20px}}@media(max-width:720px){html{scroll-padding-top:20px}header{height:80px;padding:0 5%}.brand{font-size:25px}nav{display:none}.button.small{padding:9px 12px;gap:10px;font-size:11px}.hero{display:flex;flex-direction:column;padding:31px 6% 24px;gap:25px}.hero-copy{padding:12px 0 0}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:22px}h1{font-size:66px;letter-spacing:-2.6px;margin-bottom:23px}.lead{max-width:490px;font-size:16px}.hero-sign{margin-top:26px}.hero-image{min-height:390px;border-radius:110px 3px 3px 3px}.hero-image>img{object-position:50% 60%}.image-label{bottom:33px;left:26px}.image-label p{font-size:30px}.benefit-strip{justify-content:space-around;gap:12px;font-size:9px;text-align:center;padding:19px 6%}.benefit-strip i{display:none}.section{padding:65px 6%}h2{font-size:41px;letter-spacing:-1.8px}.perks-grid{grid-template-columns:1fr 1fr;gap:18px 27px;margin-top:34px}.perks-grid h3{font-size:24px}.perks-grid p{font-size:13px}.perk-number{margin-bottom:18px}.process,.advisor,.questions{grid-template-columns:1fr;gap:43px}.process li{padding:24px 0}.portrait{max-width:420px;margin-right:20px}.portrait>img{aspect-ratio:1/1}.advisor h2{font-size:43px}.questions{gap:15px}.closing{padding:62px 7%}.closing h2{font-size:52px}.closing .micro{max-width:310px;margin:20px auto 0}footer{padding:40px 6% 25px;grid-template-columns:1fr;gap:20px}footer>div:nth-child(2){justify-content:flex-start;gap:15px 24px}footer>.fine{grid-column:1}.article{padding:55px 6%}.article h1{font-size:51px}.article h2{font-size:31px}.article .lead{font-size:17px}.article p{font-size:15px}th,td{padding:12px 9px;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.service-note{font-size:13px;line-height:1.8;margin:0 0 22px;color:var(--ink)}.service-note strong{font-weight:600}

/* Destination guides and client stories */
.destination{max-width:1400px;margin:auto;padding:0 6%}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:24px 0}.guide-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;align-items:center;padding:32px 0 48px}.guide-hero h1,.reviews-intro h1{font-size:clamp(44px,5.2vw,70px);letter-spacing:-2px;line-height:1.06}.guide-hero .lead{line-height:1.8}.guide-author{font-size:13px;line-height:1.8;margin-top:24px}.guide-hero figure{margin:0;min-width:0}.guide-hero img{display:block;width:100%;height:520px;object-fit:cover;border-radius:100px 3px 3px 3px}.guide-hero figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}.guide-section{padding:55px 0;border-top:1px solid var(--line)}.guide-section>p{max-width:800px;line-height:1.8}.stay-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:30px}.stay-types h3{font:normal 27px/1.2 var(--serif);margin:0 0 14px}.stay-types p{font-size:14px;line-height:1.8;color:var(--muted)}.hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.hotel-card{padding:30px;border:1px solid var(--line);min-width:0;display:flex;flex-direction:column;align-items:flex-start}.hotel-card h3{font:normal 30px/1.2 var(--serif);margin:12px 0 16px}.hotel-card p{font-size:14px;line-height:1.8}.hotel-card .text-link{margin-top:auto;padding-top:18px}.hotel-benefits{border-top:1px solid var(--line);padding-top:18px;margin-top:12px;width:100%}.hotel-benefits strong{font-size:11px;letter-spacing:1px;text-transform:uppercase}.hotel-benefits p{font-size:13px}.source-note{background:#eeeee5;padding:22px 28px;margin:30px 0}.source-note p{font-size:13px;line-height:1.8;margin:0}.editorial-note{max-width:850px}.guide-faq{max-width:900px}.guide-cta{background:var(--ink);color:var(--paper);padding:48px;margin:50px 0}.guide-cta h2{max-width:800px}.guide-cta>p{max-width:760px;line-height:1.8}.guide-cta .button{background:var(--paper);color:var(--ink);margin-top:15px}.guide-cta .micro,.guide-cta .eyebrow{color:#d9dfcc}.related{display:flex;flex-wrap:wrap;gap:20px 35px;padding:30px 0 50px;border-top:1px solid var(--line);font-size:14px}.reviews-intro{max-width:900px;padding:45px 0}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{margin:0;padding:30px;background:#eeeee5}.review-card blockquote{margin:24px 0;font:normal 28px/1.4 var(--serif)}.review-card blockquote p{margin:0}.review-card figcaption{font-size:12px;line-height:1.8}.review-card figcaption strong,.review-card figcaption span,.review-card figcaption a{display:block}.review-card figcaption span{color:var(--muted);margin:8px 0 16px}.destination-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.destination-card{text-decoration:none;border:1px solid var(--line);display:block}.destination-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.destination-card>div{padding:28px}.destination-card h3{font:normal 34px/1.2 var(--serif);margin:12px 0}.destination-card p{font-size:14px;line-height:1.8}.review-teaser{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;border-top:1px solid var(--line);background:#eeeee5}.review-teaser p{line-height:1.8}footer>div:nth-child(2){flex-wrap:wrap;gap:15px 24px}
@media(max-width:1000px){header nav{gap:16px}.guide-hero img{height:440px}.review-grid{grid-template-columns:1fr}.review-card{padding:30px}.review-card blockquote{max-width:700px}.stay-types{gap:24px}}
@media(max-width:720px){header{height:auto;min-height:80px;flex-wrap:wrap;padding-top:18px;padding-bottom:12px;gap:16px}header nav{display:flex;order:3;width:100%;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:15px}header nav a{font-size:12px}.guide-hero{grid-template-columns:1fr;gap:30px;padding-top:20px}.guide-hero h1,.reviews-intro h1{font-size:46px;letter-spacing:-1.5px}.guide-hero img{height:390px;border-top-left-radius:75px}.stay-types,.hotel-grid,.destination-grid,.review-teaser{grid-template-columns:1fr}.guide-section{padding:38px 0}.hotel-card{padding:24px}.hotel-card h3{font-size:28px}.guide-cta{padding:30px 24px;margin:35px 0}.guide-cta h2{font-size:36px}.guide-cta .button{font-size:13px}.source-note{padding:20px}.reviews-intro{padding:25px 0 35px}.review-teaser{gap:15px}.destination-card>div{padding:24px}}

.hotel-card .hotel-photo{display:block;width:calc(100% + 60px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;align-self:center;margin:-30px -30px 26px}.photo-credit{font-size:11px;line-height:1.7;color:var(--muted);padding-bottom:28px;margin:0}@media(max-width:720px){.hotel-card .hotel-photo{width:calc(100% + 48px);margin:-24px -24px 22px}}

.hotel-card .hotel-angle{font:italic 21px/1.4 var(--serif);margin-top:0}.hotel-card .hotel-source{font-size:11px;margin:0 0 14px}.comparison-scroll{overflow-x:auto;margin:28px 0}.comparison-scroll table{width:100%;border-collapse:collapse;text-align:left}.comparison-scroll th,.comparison-scroll td{padding:18px 16px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}.comparison-scroll th{background:#eeeee5}@media(max-width:720px){.comparison-scroll th,.comparison-scroll td{padding:12px 8px;font-size:12px}}

.booking-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:35px 0}.booking-case{border:1px solid var(--line);padding:30px;min-width:0}.booking-case h2{font-size:34px;letter-spacing:-.8px;line-height:1.15}.booking-case>p{font-size:14px;line-height:1.8}.case-prices{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-block:1px solid var(--line);padding:22px 0}.case-prices dt{font-size:11px;line-height:1.5;color:var(--muted)}.case-prices dd{font:36px/1.3 var(--serif);margin:8px 0 0}.booking-case .case-difference{font-weight:bold}.case-difference span{display:block;font-size:12px;font-weight:normal}.case-source{margin:22px 0;font-size:13px}.case-source summary{cursor:pointer;padding:12px 0}.case-source img{display:block;width:100%;height:auto;margin-top:15px}.case-teaser{background:#eeeee5}.case-teaser>p{max-width:780px;line-height:1.8}header nav{gap:20px}@media(max-width:1000px){header nav{gap:12px}header nav a{font-size:12px}}@media(max-width:720px){.booking-cases{grid-template-columns:1fr}.booking-case{padding:24px}.booking-case h2{font-size:30px}.case-prices dd{font-size:31px}}

.case-hotel-photo{position:relative;aspect-ratio:3/2;overflow:hidden;margin:-30px -30px 26px;background:#eeeee5}.case-hotel-photo img{position:absolute;display:block;width:122%;max-width:none;height:auto;left:-10%;top:-40%}.case-hotel-photo.case-photo-wide-source img{width:225%;left:-11%;top:-40%}@media(max-width:720px){.case-hotel-photo{margin:-24px -24px 24px}}

.hero h1{font-size:clamp(40px,4.4vw,66px);line-height:1.07;letter-spacing:-.035em;max-width:680px}
@media(max-width:600px){.hero h1{font-size:clamp(36px,10vw,46px)}}

.analytics-consent{position:fixed;z-index:100;bottom:18px;left:18px;right:18px;max-width:620px;background:#f8f5ef;color:#173c37;padding:20px;border:1px solid #173c37;border-radius:12px;box-shadow:0 8px 30px #0002}.analytics-consent p{font-size:14px;line-height:1.5;margin:0 0 14px}.analytics-consent div{display:flex;gap:12px;flex-wrap:wrap}.analytics-consent button,.analytics-settings{font:inherit;cursor:pointer;color:#173c37;background:transparent;border:1px solid #173c37;padding:10px 15px;border-radius:4px}.analytics-consent button:first-child{background:#173c37;color:#fff}.analytics-settings{font-size:13px}.analytics-consent a{text-decoration:underline}
