@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#fbfaf6;--ink:#193c33;--muted:#656c65;--line:#dedfd5;--gold:#c3a375;--wash:#f0f1e9;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.18}h1{font-size:clamp(2.7rem,5.5vw,5rem);letter-spacing:-.04em}h2{font-size:clamp(2.1rem,3.3vw,3.3rem);letter-spacing:-.035em}h3{font-size:1.55rem}p{color:var(--muted)}:focus-visible{outline:3px solid #aa7736;outline-offset:5px}.wrap{max-width:1280px;width:calc(100% - 96px);margin:auto}.skip{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.topbar{background:var(--ink);color:#f3f2e9;text-align:center;padding:7px 20px;font-size:.75rem;letter-spacing:.08em}.topbar span{opacity:.65;margin:0 14px}.header{height:94px;border-bottom:1px solid var(--line);background:var(--paper)}.nav{display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px}.logo{font-family:var(--serif);font-size:2rem;letter-spacing:-.06em;line-height:1}.logo small{display:block;font:9px/1.8 var(--sans);letter-spacing:.27em;text-transform:uppercase;text-align:center;margin-top:7px}.navlinks{display:flex;align-items:center;gap:32px;font-size:.875rem}.navlinks a:hover,.navlinks a[aria-current=page]{color:#997136}.navend{display:flex;align-items:center;gap:20px}.age-pill{border:1px solid #c6cbbc;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--ink);color:white;border:1px solid var(--ink);padding:13px 23px;font-size:.875rem;font-weight:550;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#2c5548;transform:translateY(-2px)}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.outline{color:var(--ink);background:transparent;border-color:#b9c2b5}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:7px 12px;color:var(--ink)}.hero{position:relative;margin:26px 24px 0;min-height:650px;background:#253c36;isolation:isolate;display:flex;align-items:center;border-radius:5px;overflow:hidden;color:white}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,28,26,.86),rgba(12,31,28,.55) 42%,rgba(8,23,21,.04) 80%);z-index:-1}.hero .wrap{padding:72px 0 85px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.75rem;font-weight:600;margin-bottom:18px;display:block}.hero .eyebrow{color:#eee8ce}.hero h1{max-width:670px}.hero h1 em{color:#e1d2ad;font-weight:400}.hero p{max-width:470px;color:#e2e6e0;font-size:1.05rem;line-height:1.8;margin:24px 0 30px}.hero-bottom{position:absolute;bottom:24px;left:48px;right:40px;display:flex;justify-content:space-between;gap:20px;color:#e0e4da;font-size:.75rem}.hero-bottom span:last-child{text-align:right}.trust{display:flex;justify-content:space-around;gap:20px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);font-size:.8rem;color:#536257}.trust span{display:flex;align-items:center;gap:10px}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section-head p{margin-top:15px;max-width:660px}.text-link{font-size:.875rem;border-bottom:1px solid #9aa697;padding-bottom:5px;white-space:nowrap}.text-link span{margin-left:22px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.chip{border:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 20px;border-radius:30px;font-size:.85rem}.chip.active,.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.hotel-card{border:1px solid var(--line);background:white;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.hotel-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #173e3510}.card-photo{position:relative;aspect-ratio:1.5;overflow:hidden}.card-photo img{height:100%;object-fit:cover;transition:transform .6s}.hotel-card:hover img{transform:scale(1.035)}.photo-tag{position:absolute;top:16px;left:16px;background:var(--paper);padding:4px 11px;border-radius:2px;font-size:.7rem;font-weight:550}.image-note{position:absolute;right:9px;bottom:7px;font-size:.65rem;color:white;text-shadow:0 1px 4px black;background:#173e3580;padding:1px 5px}.card-body{padding:25px;display:flex;flex-direction:column;flex:1}.location{font-size:.75rem;color:var(--muted);margin-bottom:10px;letter-spacing:.03em}.card-body h3{font-size:1.5rem;margin-bottom:14px}.card-body>p{font-size:.875rem;line-height:1.75;margin-bottom:20px}.amenities{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.amenities span{font-size:.7rem;background:var(--wash);padding:3px 8px;color:#526151}.card-foot{margin-top:23px;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:.8rem;gap:10px}.rating{display:flex;gap:8px;align-items:center}.rating strong{font-weight:600;color:var(--ink)}.rating small{font-size:.7rem;color:var(--muted)}.card-foot a{font-weight:600}.small-note{font-size:.75rem;margin-top:21px;color:var(--muted)}.small-note a{text-decoration:underline}.dest-section{background:var(--wash)}.dest-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px}.destination{min-height:330px;position:relative;isolation:isolate;display:flex;align-items:end;overflow:hidden;border-radius:4px;color:white;padding:28px}.destination img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}.destination:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(9,32,26,.8));z-index:-1}.destination:hover img{transform:scale(1.04)}.destination h3{font-size:2rem}.destination p{color:#e3e7de;font-size:.8rem;margin-top:9px}.destination .arrow{margin-left:auto;font-size:1.6rem}.destination .image-note{bottom:auto;top:10px;font-size:.6rem}.intro-center{text-align:center;max-width:690px;margin:0 auto 46px}.intro-center p{margin-top:20px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:38px}.benefit .icon{width:35px;height:35px;margin-bottom:22px;color:#8b754f}.benefit h3{font-size:1.35rem;margin-bottom:14px}.benefit p{font-size:.875rem}.experience{background:var(--ink);color:var(--paper);padding:72px 0}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.experience-photo{height:590px;object-fit:cover;border-radius:180px 180px 4px 4px}.experience .eyebrow{color:#d5c39e}.experience p{color:#c7d2c8;margin-top:20px}.service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin-top:30px}.service-links a{padding:17px 0;border-bottom:1px solid #ffffff25;display:flex;align-items:center;gap:12px;font-size:.875rem}.service-links a span{margin-left:auto}.experience .text-link{display:inline-block;margin-top:30px}.experience figure{margin:0}.experience figcaption{font-size:.65rem;margin-top:10px;color:#b7c2b9}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-intro p{margin-top:20px;max-width:350px}.faq-intro a{margin-top:25px;display:inline-block}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:21px 36px 21px 0;position:relative;font-weight:500;font-size:.95rem}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;top:17px;font-size:1.5rem;font-weight:400}details[open] summary:after{content:'−'}details>p{padding:0 25px 23px 0;font-size:.9rem}.closing{border-top:1px solid var(--line);padding:43px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.closing h2{font-size:2rem}.closing p{margin-top:8px;font-size:.9rem}footer{background:#eaece2;padding:65px 0 0}.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.25fr;gap:50px;padding-bottom:45px}.footer-brand p{font-size:.85rem;max-width:290px;margin-top:23px}.footer-title{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:18px}.footer-column a{display:block;font-size:.8rem;margin-top:9px;color:#526052}.footer-column a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #cdd2c4;padding:22px 0;font-size:.7rem;color:#626a5d;display:flex;gap:30px;justify-content:space-between}.footer-disclaimer{border-top:1px solid #cdd2c4;padding:22px 0;font-size:.7rem;line-height:1.8;max-width:none}.page-intro{padding:62px 0 45px;background:var(--wash)}.breadcrumb{display:flex;gap:9px;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin-bottom:25px}.page-intro h1{font-size:clamp(2.5rem,4vw,4rem);max-width:1000px}.page-intro p{max-width:740px;margin-top:21px;font-size:1.05rem}.content-section{padding:60px 0 80px}.article-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);gap:65px}.prose{max-width:810px}.prose h2{font-size:2rem;margin:38px 0 18px}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.4rem;margin:26px 0 12px}.prose p{margin:0 0 18px}.prose a{text-decoration:underline;text-underline-offset:3px}.prose li{color:var(--muted);margin:8px 0}.prose ul{padding-left:23px}.prose table{border-collapse:collapse;width:100%;margin:25px 0;font-size:.9rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:top}.prose th{background:var(--wash);font-weight:600}.sidebar{background:var(--wash);padding:30px;align-self:start;border:1px solid var(--line);position:sticky;top:25px}.sidebar h3{margin-bottom:18px}.sidebar p,.sidebar li{font-size:.85rem}.sidebar ul{padding-left:18px}.sidebar .button{width:100%;margin-top:20px}.detail-image{height:440px;object-fit:cover;border-radius:4px;margin-bottom:9px}.detail-figure{margin:0 0 34px}.detail-figure figcaption{font-size:.75rem;color:var(--muted)}.notice{padding:21px 24px;background:var(--wash);border-left:3px solid var(--gold);margin:26px 0;font-size:.9rem}.status{font-size:.8rem;margin:-12px 0 25px;color:var(--muted)}.empty{padding:40px;border:1px solid var(--line);text-align:center;grid-column:1/-1}.service-block{padding:25px 0;border-bottom:1px solid var(--line);scroll-margin-top:35px}.service-block h2{margin-top:0}.region-block{margin-bottom:65px;scroll-margin-top:30px}.region-block>p{max-width:850px;margin:18px 0 26px}.region-block h2{font-size:2.6rem}.age-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:40px;max-width:490px;width:calc(100% - 36px);border-radius:7px;box-shadow:0 20px 90px #0003}.age-dialog::backdrop{background:#142b26aa;backdrop-filter:blur(5px)}.age-dialog h2{margin:14px 0 18px;font-size:2.3rem}.age-dialog p{font-size:.9rem;margin-bottom:22px}.age-dialog .button{width:100%;margin-top:10px}.age-dialog small{display:block;font-size:.75rem;margin-top:15px;color:var(--muted)}[hidden]{display:none!important}.back-top{font-size:.75rem}.contact-box{border:1px solid var(--line);padding:30px;margin:25px 0}.contact-box a{font-size:1.3rem;overflow-wrap:anywhere}.site-search{display:flex;gap:14px;margin-bottom:26px}.site-search label{flex:1}.site-search input{width:100%;background:white;border:1px solid var(--line);border-radius:3px;padding:13px 17px;color:var(--ink)}.visually-hidden{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.category-num{font:italic 2.7rem var(--serif);color:var(--gold);display:block;margin-bottom:12px}.all-guide-link{display:block;margin-top:30px;text-decoration:underline;font-size:.85rem}
@media(min-width:1600px){.hero{max-width:1552px;margin-left:auto;margin-right:auto}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.navlinks{gap:20px}.navend .button{display:none}.cards{gap:18px}.card-body{padding:20px}.experience-grid{gap:40px}.faq-layout{gap:50px}.footer-top{gap:25px}.hero{min-height:600px}.hero h1{font-size:4.4rem}.hero-bottom{left:28px}.article-layout{gap:35px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{height:80px}.topbar{font-size:.65rem}.topbar span{margin:0 5px}.logo{font-size:1.7rem}.nav{gap:15px}.navend{margin-left:auto}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:110px;left:0;right:0;z-index:5;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.hero{margin:15px 12px 0;min-height:600px}.hero .wrap{width:calc(100% - 44px);padding:50px 0 90px}.hero h1{font-size:clamp(2.8rem,8.5vw,4rem);max-width:520px}.hero p{font-size:.95rem}.hero:after{background:linear-gradient(90deg,#102b25df,#122c2690)}.hero-bottom{left:22px;right:22px;font-size:.65rem;align-items:end}.hero-bottom span:last-child{max-width:140px}.trust{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:.7rem;padding:24px 4px}.section{padding:60px 0}.section-head{align-items:start;gap:22px;flex-direction:column;margin-bottom:28px}.section-head p{font-size:.95rem}.cards{grid-template-columns:1fr 1fr}.cards .hotel-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 9px)}.card-body{padding:18px}.card-body h3{font-size:1.35rem}.card-foot{align-items:start;flex-direction:column}.dest-grid{grid-template-columns:1fr}.destination{min-height:240px}.benefits{grid-template-columns:1fr 1fr;gap:35px 25px}.experience-grid{grid-template-columns:1fr}.experience{padding:50px 0}.experience-photo{height:360px;border-radius:150px 150px 4px 4px}.experience-grid figure{order:2}.faq-layout{grid-template-columns:1fr;gap:25px}.faq-intro p{max-width:none}.closing{align-items:start;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:420px}.footer-bottom{flex-direction:column;gap:12px}.article-layout{grid-template-columns:1fr}.sidebar{position:static}.detail-image{height:320px}.page-intro{padding:40px 0}.content-section{padding:40px 0 60px}.page-intro p{font-size:.95rem}.prose table{font-size:.8rem}.prose td,.prose th{padding:12px 6px}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.cards .hotel-card:last-child:nth-child(odd){max-width:none}.card-foot{flex-direction:row;align-items:center}.hero{min-height:640px}.hero h1{font-size:3.05rem}.hero .eyebrow{font-size:.65rem}.trust{font-size:.65rem;gap:16px 6px}.trust .icon{width:18px}.age-pill{width:30px;height:30px}.navend{gap:10px}.menu-toggle{font-size:.8rem}.benefits{gap:30px 20px}.benefit h3{font-size:1.2rem}.benefit p{font-size:.8rem}.age-dialog{padding:28px}.footer-column a{font-size:.8rem}.chips{gap:8px}.chip{padding:8px 14px;font-size:.8rem}.site-search{flex-direction:column}.service-links{gap:0 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Brand signature */
.logo{display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;width:max-content;font-family:var(--sans);letter-spacing:0;line-height:1}.brand-mark{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border:1px solid #b79255;background:var(--ink);border-radius:50% 50% 9px 9px;box-shadow:inset 0 0 0 4px #f7f4e926}.brand-mark svg{width:25px;height:25px;fill:none;stroke:#dfc486;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.brand-word{font:650 1.08rem/1 var(--sans);letter-spacing:.19em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.logo small{grid-column:2;display:block;margin:5px 0 0;text-align:left;font:600 7px/1 var(--sans);letter-spacing:.22em;color:#7d725e;white-space:nowrap}footer .logo{margin-bottom:0}footer .logo .brand-mark{width:42px;height:42px}footer .logo .brand-word{font-size:1.14rem}@media(max-width:760px){.logo{grid-template-columns:34px auto;column-gap:8px}.brand-mark{width:34px;height:34px}.brand-mark svg{width:23px;height:23px}.brand-word{font-size:.94rem;letter-spacing:.16em}.logo small{font-size:6px;letter-spacing:.17em}}
