@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--sand:#f7f3eb;--sage:#d7e4df;--teal:#356d71;--terra:#d99a7a;--forest:#263f45;--stone:#e9e5dc;--white:#fff;--ink:#2e4447;--radius:18px;--max:1360px;--shadow:0 24px 55px rgba(25,54,56,.11)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--sand);color:var(--forest);font-family:'DM Sans',Arial,sans-serif;line-height:1.7;font-size:16px;overflow-x:hidden}body.locked{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--terra);outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.display{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.14;letter-spacing:-.025em}h1{font-size:clamp(3.2rem,6.9vw,7.2rem)}h2{font-size:clamp(2.45rem,4.35vw,5rem)}h3{font-size:clamp(1.55rem,2.4vw,2.4rem)}h4{font-size:1.18rem}em{color:var(--teal);font-style:italic}p{color:#56696a}p:last-child{margin-bottom:0}small{font-size:.82rem}.container{width:min(100% - 96px,var(--max));margin:auto}.narrow{max-width:770px;margin-inline:auto}.section{padding:clamp(80px,9vw,145px) 0}.section-sm{padding:75px 0}.section-white{background:var(--white)}.section-sage{background:#eaf0eb}.section-teal{background:var(--teal);color:white}.section-teal p,.section-teal .eyebrow{color:#e0ebea}.eyebrow{display:block;margin:0 0 24px;font-size:.71rem;letter-spacing:.23em;text-transform:uppercase;font-weight:700;color:var(--teal)}.lead{font-size:clamp(1.07rem,1.5vw,1.28rem);line-height:1.85;color:#526769}.measure{max-width:715px}.kicker-line{border-top:1px solid #aabdb7;padding-top:18px}.rule{height:1px;background:#c9d2cb;border:0;margin:38px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:58px}.section-heading h2{max-width:890px;margin-bottom:0}.section-heading p{max-width:330px}.text-link{display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:var(--teal)}.text-link:hover{gap:23px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:52px;padding:11px 25px;border:1px solid var(--teal);background:var(--teal);color:white;font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,color .2s,border .2s,transform .2s}.btn:hover{transform:translateY(-2px);background:var(--forest);border-color:var(--forest)}.btn-outline{background:transparent;color:var(--teal)}.btn-outline:hover{color:white}.btn-ivory{background:var(--sand);border-color:var(--sand);color:var(--forest)}.btn-ivory:hover{background:white;color:var(--forest);border-color:white}.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.img-frame{overflow:hidden;position:relative;background:#dce2da;border-radius:3px}.img-frame img{height:100%;object-fit:cover;transition:transform .8s ease}.img-frame:hover img{transform:scale(1.035)}.img-caption{display:block;margin-top:12px;color:#77908c;font-size:.73rem;text-transform:uppercase;letter-spacing:.13em}.inline-note{padding:20px 25px;background:#ecf1ed;border-left:3px solid var(--teal);font-size:.89rem;color:#536365;margin:28px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,7vw,110px);align-items:center}.split.reverse .split-media{order:2}.prose p{margin-bottom:20px}.prose h3{margin-top:36px}.prose ul{color:#53676a;padding-left:20px}.prose li{margin-bottom:11px}.w-50{max-width:620px}.center{text-align:center}.mx-auto{margin-inline:auto}.divider-accent{display:inline-block;width:65px;height:1px;background:var(--terra);vertical-align:middle;margin-right:13px}

.topstrip{background:var(--forest);color:#e4eae3;padding:7px 0;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;text-align:center}.site-header{position:sticky;top:0;z-index:80;background:rgba(247,243,235,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(54,92,90,.15)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:88px}.wordmark{display:inline-flex;align-items:center;gap:11px;font-family:'DM Serif Display',serif;letter-spacing:-.025em;font-size:clamp(1.35rem,2vw,1.95rem);white-space:nowrap}.brand-mark{width:33px;height:33px;display:inline-flex;border:1.5px solid var(--teal);border-radius:50%;align-items:center;justify-content:center;position:relative;flex-shrink:0}.brand-mark:before{content:'';position:absolute;border:1.5px solid var(--terra);border-radius:50%;width:10px;height:10px;top:6px;right:7px}.brand-mark:after{content:'';position:absolute;bottom:8px;left:4px;right:4px;height:7px;border-top:1.5px solid var(--teal);border-radius:50%}.desktop-nav{display:flex;align-items:center;gap:35px;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700}.desktop-nav>a,.nav-button{background:transparent;border:0;color:var(--forest);padding:16px 0;position:relative;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit}.desktop-nav>a:after,.nav-button:after{content:'';display:block;position:absolute;bottom:11px;left:0;width:0;height:1px;background:var(--teal);transition:width .22s}.desktop-nav>a:hover:after,.nav-button:hover:after,.desktop-nav .active:after{width:100%}.nav-dropdown{position:relative}.dropdown-panel{position:absolute;top:100%;left:-24px;min-width:265px;background:white;border:1px solid var(--stone);padding:12px;box-shadow:var(--shadow);display:none}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel,.nav-dropdown.open .dropdown-panel{display:block}.dropdown-panel a{display:block;padding:12px 14px;font-size:.73rem}.dropdown-panel a:hover{background:var(--sand)}.header-action{font-size:.7rem;padding:10px 15px;min-height:43px}.menu-toggle{display:none;background:none;border:0;padding:8px;font-size:23px;color:var(--forest)}.mobile-panel{display:none;position:fixed;inset:0;background:var(--sand);z-index:95;padding:33px 25px;overflow-y:auto}.mobile-panel.open{display:block}.mobile-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px}.mobile-panel-head button{border:0;background:none;font-size:28px}.mobile-links>a,.mobile-links>button{display:block;width:100%;background:none;border:0;border-bottom:1px solid #cad7d1;padding:17px 0;text-align:left;font-family:'DM Serif Display',serif;font-size:clamp(2rem,7vw,3rem);color:var(--forest)}.mobile-submenu{display:none;padding:14px 24px}.mobile-submenu.open{display:block}.mobile-submenu a{display:block;padding:10px 0;font-size:1rem}.mobile-bottom{margin-top:45px;color:#657c7c;font-size:.85rem}

.hero{padding:76px 0 85px}.hero-grid{display:grid;grid-template-columns:42% 58%;align-items:center;min-height:665px}.hero-copy{z-index:1;padding:40px 45px 40px 0}.hero h1{font-size:clamp(3.8rem,6.1vw,7.4rem);margin-bottom:30px}.hero-copy .lead{max-width:440px}.hero-media{position:relative;height:min(49vw,660px);min-height:450px}.hero-media:before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;background:var(--sage);top:-50px;right:-40px}.hero-media .img-frame{height:100%;margin:25px 0 0 15px}.hero-tag{position:absolute;bottom:-18px;left:-15px;background:var(--sand);padding:18px 28px;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--teal);font-weight:700}.intro-visual{position:relative;min-height:570px}.intro-visual .img-frame:first-child{width:75%;height:520px}.intro-visual .img-frame:nth-child(2){width:51%;height:260px;position:absolute;right:0;bottom:-20px;border:13px solid var(--sand)}.triple-highlights{display:flex;gap:27px;flex-wrap:wrap;margin:28px 0 30px}.triple-highlights span{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px}.triple-highlights span:before{content:'';width:18px;height:1px;background:var(--terra)}.hotel-story{display:grid;grid-template-columns:55% 45%;align-items:center;gap:0;margin:60px 0 100px}.hotel-story.flipped{grid-template-columns:45% 55%}.hotel-story.flipped .hotel-copy{order:1}.hotel-story.flipped .hotel-visual{order:2}.hotel-visual{height:550px}.hotel-copy{padding:45px min(6vw,85px)}.hotel-number{color:var(--terra);font:italic 4rem 'DM Serif Display',serif}.hotel-copy h3{font-size:clamp(2.4rem,3.5vw,4.1rem)}.hotel-story.full{grid-template-columns:1.4fr .7fr;background:var(--sage)}.hotel-story.full .hotel-visual{height:630px}.hotel-story.full .hotel-copy{background:var(--sage)}.experience-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:thin}.experience-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}.experience-card .img-frame{height:330px}.experience-card h3{font-size:2rem;margin:22px 0 12px}.experience-card p{font-size:.93rem}.gallery-controls{display:flex;gap:10px}.circle-btn{width:51px;height:51px;background:transparent;border:1px solid var(--teal);border-radius:50%;color:var(--teal);font-size:20px}.circle-btn:hover{background:var(--teal);color:white}.destination-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-bottom:95px}.destination-feature:nth-child(even){grid-template-columns:1fr 1.1fr}.destination-feature:nth-child(even) .destination-copy{order:1}.destination-feature:nth-child(even) .destination-photo{order:2}.destination-photo{height:510px}.destination-copy{max-width:620px}.destination-copy h3{font-size:3.5rem}.journal-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px 45px}.journal-item .img-frame{height:340px}.journal-item:nth-child(2){padding-top:70px}.journal-item h3{margin:22px 0 13px}.journal-item p{font-size:.95rem}.planning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.planning-step{border-top:1px solid #b5c9c2;padding-top:22px}.planning-step .number{font:italic 2rem 'DM Serif Display',serif;color:var(--terra)}.planning-step h3{font-size:1.65rem;margin-top:22px}.planning-step p{font-size:.91rem}.final-cta{background:var(--teal);padding:110px 0;color:white}.final-cta h2{max-width:900px}.final-cta p{color:#dfe9e8}.final-cta .btn-outline{border-color:#dfe9e8;color:#fff}.final-cta .btn-outline:hover{background:white;color:var(--forest)}

.page-hero{padding:86px 0 75px}.page-hero h1{max-width:1050px}.page-hero .lead{max-width:750px}.page-mosaic{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:17px;height:480px}.page-mosaic .img-frame{height:100%}.philosophy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.principle{padding-top:20px;border-top:1px solid var(--teal)}.principle .number{font:italic 2.8rem 'DM Serif Display',serif;color:var(--terra)}.perspective-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.perspective{padding:35px 30px;background:white;border-top:3px solid var(--sage)}.perspective h3{font-size:1.7rem}.perspective .tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--teal);font-weight:700}.hotel-page-hero{padding:77px 0 80px}.hotel-page-hero .split{grid-template-columns:.9fr 1.1fr}.hotel-page-hero .img-frame{height:530px}.hotel-photos{display:grid;grid-template-columns:1.18fr .82fr;gap:22px;min-height:445px}.hotel-photos .img-frame{height:445px}.hotel-photos .img-frame:nth-child(2){height:350px;align-self:end}.hotel-section h2{max-width:750px}.hotel-section p{max-width:850px}.wide-photo{height:510px;margin:40px 0}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.location-info{font-size:.93rem}.location-info dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);font-weight:700;margin-top:28px}.location-info dd{margin:5px 0 0}.map-placeholder{min-height:420px;background:#dce5de;border:1px solid #c5d4cb;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px}.map-placeholder p{max-width:440px}.map-placeholder iframe{width:100%;height:420px;border:0}.map-placeholder.loaded{padding:0}.map-flag{font:italic 3rem 'DM Serif Display',serif;color:var(--teal)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px}.contact-grid .img-frame{height:430px;margin:35px 0}.form-card{background:white;padding:45px;box-shadow:0 12px 40px #254e4e0c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{margin-bottom:23px}.form-field label{display:block;font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #b7c9c3;background:white;padding:13px 14px;color:var(--forest);border-radius:0}.form-field textarea{min-height:140px;resize:vertical}.error{color:#9d3933;font-size:.78rem;display:block;min-height:14px}.form-status{padding:14px 17px;background:#f0f2ee;margin-top:14px;display:none}.form-status.show{display:block}.agree-row{display:flex;align-items:flex-start;gap:12px;margin:10px 0 25px;font-size:.9rem}.agree-row input{margin-top:7px;accent-color:var(--teal)}.faq-item{border-bottom:1px solid #b9cac4}.faq-button{width:100%;border:0;background:transparent;padding:25px 0;text-align:left;display:flex;justify-content:space-between;gap:25px;font-weight:700;font-size:1rem;color:var(--forest)}.faq-answer{display:none;padding-bottom:24px;max-width:820px}.faq-item.open .faq-answer{display:block}.faq-icon{font-size:1.35rem;font-weight:400}.legal-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:70px}.legal-toc{position:sticky;top:120px;align-self:start;max-height:calc(100vh - 150px);overflow:auto}.legal-toc a{display:block;font-size:.72rem;padding:8px 0;border-bottom:1px solid #ced6d0;color:#596f6d}.legal-body h2{font-size:2.1rem;margin:0 0 18px}.legal-body section{padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid #d2dbd4;scroll-margin-top:125px}.legal-body section p{font-size:.97rem}.legal-body table{width:100%;border-collapse:collapse;font-size:.87rem;overflow-wrap:anywhere}.legal-body td,.legal-body th{border:1px solid #cdd9d1;padding:12px;text-align:left}.legal-body th{background:#e3ece6}.notice-18{display:flex;align-items:center;gap:22px;padding:30px;background:#e8efeb;margin:25px 0 45px}.notice-18 b{font:italic 3.7rem 'DM Serif Display',serif;color:var(--teal)}

.site-footer{background:var(--forest);color:var(--sand);padding:92px 0 30px}.site-footer p{color:#c6d3cf}.footer-top{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;padding-bottom:65px;border-bottom:1px solid #5b7373}.footer-top h2{font-size:clamp(2.7rem,5vw,5.7rem)}.footer-top p{max-width:450px}.footer-columns{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:35px;margin:70px 0}.footer-col h4{color:#e9a98a;font-size:.72rem;font-family:'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:25px}.footer-col a{display:block;font-size:.88rem;padding:5px 0;color:#e0e6e1}.footer-col a:hover{text-decoration:underline}.responsibility{display:flex;gap:20px;align-items:center;border-top:1px solid #5b7373;border-bottom:1px solid #5b7373;padding:28px 0}.responsibility .age-sign{font-size:1.65rem;font-weight:700;color:var(--terra);border:2px solid var(--terra);padding:6px 13px}.responsibility p{font-size:.78rem;margin:0}.responsibility a{text-decoration:underline}.footer-bottom{display:flex;gap:40px;justify-content:space-between;align-items:center;margin-top:28px;font-size:.72rem;color:#c4d5d2}.footer-bottom p{font-size:.72rem;max-width:880px}.scroll-top{position:fixed;right:25px;bottom:25px;width:44px;height:44px;border:1px solid var(--teal);background:var(--sand);color:var(--teal);z-index:60;display:none}.scroll-top.show{display:block}

.modal-overlay{position:fixed;inset:0;background:rgba(21,42,44,.7);z-index:120;display:none;align-items:center;justify-content:center;padding:18px}.modal-overlay.open{display:flex}.modal{position:relative;max-width:575px;width:100%;background:var(--sand);padding:clamp(28px,5vw,56px);border-radius:16px;box-shadow:var(--shadow);max-height:calc(100vh - 34px);overflow-y:auto}.modal h2{font-size:clamp(2rem,4vw,3.2rem)}.modal .age-emblem{font:italic 3rem 'DM Serif Display',serif;border:2px solid var(--teal);color:var(--teal);border-radius:50%;width:85px;height:85px;display:grid;place-items:center;margin-bottom:28px}.modal .btn-row{gap:9px}.modal .btn{flex:1;white-space:normal;padding-inline:12px}.modal-close{position:absolute;right:20px;top:14px;border:0;background:none;font-size:1.65rem;color:var(--forest)}.cookie-banner{position:fixed;z-index:110;bottom:20px;left:20px;right:20px;max-width:1050px;margin:auto;background:var(--sand);box-shadow:var(--shadow);border:1px solid var(--stone);padding:25px 30px;display:none;align-items:center;gap:24px}.cookie-banner.open{display:flex}.cookie-banner h3{font-size:1.55rem;margin-bottom:6px}.cookie-banner p{font-size:.83rem;margin:0}.cookie-banner .cookie-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.cookie-banner .btn{padding:12px 14px;min-height:42px;font-size:.65rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #c6d4cd;padding:18px 0}.toggle-row strong{display:block}.toggle-row small{display:block;color:#69807c}.toggle-row input{accent-color:var(--teal);width:23px;height:23px}.hidden{display:none!important}.skip-link{position:absolute;top:-100px;left:10px;z-index:200;background:white;padding:8px}.skip-link:focus{top:10px}.reveal{opacity:1;transform:none}.enhanced .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease, transform .65s ease}.enhanced .reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.desktop-nav{gap:18px}.header-action{display:none}.hero h1{font-size:5vw}.footer-columns{grid-template-columns:repeat(2,1fr)}.intro-visual{min-height:450px}.intro-visual .img-frame:first-child{height:430px}} 
@media(max-width:900px){.container{width:min(100% - 48px,var(--max))}.desktop-nav{display:none}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(3.3rem,9vw,6rem)}.hero-media{height:580px;min-height:0}.hero-copy{padding:15px 0 25px}.section-heading{display:block}.section-heading p{max-width:700px;margin-top:22px}.split,.hotel-page-hero .split,.contact-grid,.location-grid,.legal-layout{grid-template-columns:1fr;gap:40px}.hotel-story,.hotel-story.flipped,.hotel-story.full{grid-template-columns:1fr;margin:50px 0}.hotel-story.flipped .hotel-copy,.hotel-story.flipped .hotel-visual{order:initial}.hotel-copy{padding:30px 0}.hotel-story.full .hotel-copy{padding:35px}.hotel-story .hotel-visual,.hotel-story.full .hotel-visual{height:460px}.destination-feature,.destination-feature:nth-child(even){grid-template-columns:1fr;gap:30px}.destination-feature:nth-child(even) .destination-copy,.destination-feature:nth-child(even) .destination-photo{order:initial}.destination-photo{height:450px}.philosophy-grid,.planning-grid{grid-template-columns:repeat(2,1fr)}.perspective-grid{grid-template-columns:1fr}.page-mosaic{height:350px}.legal-toc{position:static;max-height:225px;border:1px solid #cfdbd1;padding:15px}.footer-top{grid-template-columns:1fr}.cookie-banner{display:none;flex-direction:column;align-items:flex-start}.cookie-banner.open{display:flex}.intro-visual{max-width:620px}}
@media(max-width:650px){.container{width:calc(100% - 36px)}.section{padding:70px 0}.section-sm{padding:45px 0}.topstrip{font-size:.56rem}.header-inner{min-height:69px}.hero{padding:40px 0 70px}.hero h1{font-size:clamp(3.25rem,13vw,5.3rem)}.hero-media{height:375px}.hero-media .img-frame{margin:0}.hero-tag{bottom:-20px;left:10px;font-size:.57rem;padding:13px 15px}.intro-visual{min-height:350px}.intro-visual .img-frame:first-child{height:340px}.intro-visual .img-frame:nth-child(2){height:145px;border-width:7px}.experience-card{flex-basis:83%}.experience-card .img-frame{height:260px}.destination-photo,.wide-photo{height:310px}.destination-copy h3{font-size:2.65rem}.journal-grid{grid-template-columns:1fr;gap:35px}.journal-item:nth-child(2){padding-top:0}.journal-item .img-frame{height:270px}.planning-grid,.philosophy-grid{grid-template-columns:1fr}.page-hero{padding:55px 0}.page-mosaic{grid-template-columns:1.2fr .8fr;height:260px}.page-mosaic .img-frame:nth-child(3){display:none}.hotel-page-hero .img-frame{height:320px}.hotel-photos{grid-template-columns:1fr;min-height:0}.hotel-photos .img-frame,.hotel-photos .img-frame:nth-child(2){height:300px}.footer-top{gap:25px}.footer-columns{grid-template-columns:1fr 1fr;gap:30px}.footer-col a{font-size:.78rem}.footer-bottom{display:block}.form-row{grid-template-columns:1fr;gap:0}.form-card{padding:23px}.modal .btn-row{flex-direction:column}.cookie-banner{left:10px;right:10px;bottom:10px;padding:20px;max-height:65vh;overflow-y:auto}.cookie-banner .cookie-actions{width:100%}.cookie-banner .btn{flex:1}.location-grid{gap:25px}.map-placeholder{min-height:310px}.map-placeholder iframe{height:310px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.enhanced .reveal{opacity:1;transform:none}}

.related-hotels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
@media(max-width:650px){.related-hotels{grid-template-columns:1fr}.header-inner{gap:10px}.wordmark{font-size:1.14rem;gap:6px}.brand-mark{width:29px;height:29px}}

 
h1{font-size:clamp(2.2rem,4.4vw,4.6rem);line-height:1.15}
h2{font-size:clamp(1.8rem,3vw,3.25rem);line-height:1.19}
h3{font-size:clamp(1.32rem,1.9vw,1.85rem);line-height:1.24}
.hotel-copy h3{font-size:clamp(1.55rem,2.3vw,2.3rem)}
.destination-copy h3{font-size:clamp(1.55rem,2.4vw,2.35rem)}
.experience-card h3{font-size:clamp(1.32rem,1.8vw,1.7rem)}
.footer-top h2{font-size:clamp(2rem,3.2vw,3.2rem)}
.modal h2{font-size:clamp(1.7rem,2.6vw,2.5rem)}
.perspective h3{font-size:1.5rem}


.intro-visual.single-photo{min-height:0}
.intro-visual.single-photo .img-frame:first-child{width:100%;height:clamp(300px,33vw,510px)}
.page-mosaic.single-photo{display:block;height:clamp(260px,36vw,480px)}
.page-mosaic.single-photo .img-frame{height:100%;width:100%}
.split.text-only{grid-template-columns:minmax(0,1fr);gap:0}
.split.text-only>div{max-width:1050px}
.experience-card.text-only{background:#fff;border-top:3px solid var(--teal);padding:26px 27px 29px;border-radius:3px;min-height:340px}
.experience-card.text-only h3{margin:0 0 16px}
.destination-feature.text-only,.destination-feature.text-only:nth-child(even){grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:30px;padding:28px 0;border-top:1px solid #aebfb9}
.destination-feature.text-only .destination-copy,.destination-feature.text-only:nth-child(even) .destination-copy{max-width:100%;order:0}
.destination-feature.text-only .destination-copy p{max-width:950px}
.journal-item.text-only{padding:0 0 24px;border-top:1px solid #b4c6be}
.journal-item.text-only:nth-child(2){padding-top:0}
.journal-item.text-only .eyebrow{margin-top:24px!important}
.related-hotels .text-only{background:var(--white);padding:28px;border-top:2px solid var(--teal)}
.related-hotels .text-only h3{margin-top:0!important}
@media(max-width:768px){
  .experience-card.text-only{min-height:0;padding:24px}
  .page-mosaic.single-photo{height:280px}
  .intro-visual.single-photo .img-frame:first-child{height:330px}
}
 
h1, .hero h1 {
  font-size: clamp(2.05rem, 3.4vw, 3.4rem);
  line-height: 1.16;
}
@media (max-width: 650px) {
  h1, .hero h1 {
    font-size: clamp(1.9rem, 6.5vw, 2.4rem);
    line-height: 1.18;
  }
}

/* Hotel collection: balanced columns and media that genuinely fills each card. */
.hotel-story,
.hotel-story.flipped,
.hotel-story.full {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  margin: clamp(52px, 6vw, 90px) 0;
}
.hotel-story .hotel-visual,
.hotel-story.full .hotel-visual {
  position: relative;
  height: auto;
  min-height: 580px;
  min-width: 0;
}
.hotel-story .hotel-visual .img-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hotel-story .hotel-visual .img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hotel-story .hotel-copy,
.hotel-story.full .hotel-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding: clamp(30px, 3.5vw, 58px);
}
.hotel-story .hotel-copy p {
  max-width: 60ch;
}
.hotel-story .hotel-copy .text-link {
  margin-top: 8px;
}
@media (max-width: 900px) {
  .hotel-story,
  .hotel-story.flipped,
  .hotel-story.full {
    grid-template-columns: minmax(0, 1fr);
    margin: 45px 0 60px;
  }
  .hotel-story.flipped .hotel-copy,
  .hotel-story.flipped .hotel-visual {
    order: initial;
  }
  .hotel-story .hotel-visual,
  .hotel-story.full .hotel-visual {
    min-height: 0;
    height: clamp(330px, 54vw, 460px);
  }
  .hotel-story .hotel-visual .img-frame {
    position: relative;
    inset: auto;
    height: 100%;
  }
  .hotel-story .hotel-copy {
    padding: 32px 0 0;
  }
  .hotel-story.full .hotel-copy {
    padding: 32px;
  }
  .hotel-story .hotel-copy p {
    max-width: 75ch;
  }
}
@media (max-width: 650px) {
  .hotel-story .hotel-visual,
  .hotel-story.full .hotel-visual {
    height: clamp(235px, 65vw, 350px);
  }
  .hotel-story .hotel-copy {
    padding: 24px 0 0;
  }
  .hotel-story.full .hotel-copy {
    padding: 24px;
  }
  .hotel-story .hotel-number {
    font-size: 3.2rem;
  }
}

/* Editorial imagery for the casino & entertainment areas of each hotel page */
.casino-editorial-figure { margin: 0 auto clamp(30px, 4.2vw, 58px); width: min(100%, 1050px); }
.casino-editorial-figure .img-frame { width: 100%; aspect-ratio: 2.82 / 1; height: auto; overflow: hidden; }
.casino-editorial-figure .img-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.casino-editorial-figure figcaption { margin-top: 10px; color: #708480; font-size: .73rem; line-height: 1.5; letter-spacing: .06em; }
@media (max-width: 650px) {
 .casino-editorial-figure .img-frame { aspect-ratio: 1.75 / 1; }
 .casino-editorial-figure figcaption { font-size: .69rem; }
}

/* Age gate & cookie notice: pure CSS, no JS */
.modal-overlay.age-gate{display:flex}#age-ok:checked+.age-gate{display:none}body:has(#age-ok:not(:checked)){overflow:hidden}
#age-ok:checked~#cookie-ok:not(:checked)+.cookie-banner{display:flex}.cookie-banner a{text-decoration:underline}
label[for]{cursor:pointer}.footer-col label{display:block;font-size:.88rem;padding:5px 0;color:#e0e6e1}.footer-col label:hover{text-decoration:underline}
@media(max-width:650px){.footer-col label{font-size:.78rem}}
