:root{--forest-950:#0a1c17;--forest-900:#10261f;--forest-800:#17372d;--forest-700:#285443;--lake:#315f61;--sand:#b9965f;--sand-light:#d9c5a0;--ivory:#f4f0e7;--paper:#fbf9f4;--white:#fff;--ink:#17231e;--muted:#65716a;--line:rgba(23,55,45,.15);--line-light:rgba(255,255,255,.22);--shadow-deep:0 28px 80px rgba(4,20,15,.22);--radius-sm:10px;--radius-lg:28px;--container:1380px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}::selection{background:var(--sand-light);color:var(--forest-950)}.wrap{width:min(var(--container),calc(100% - 64px));margin-inline:auto}.eyebrow{margin:0;color:#8b6b3f;font-size:.69rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:var(--sand-light)}.display-title{max-width:1040px;margin:16px 0 0;font-family:var(--serif);font-size:clamp(3.1rem,5.35vw,5.4rem);font-weight:500;letter-spacing:-.055em;line-height:.94}.display-title.light{color:var(--white)}.lead{max-width:650px;margin:24px 0 0;color:#53625a;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.8}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:0 22px;cursor:pointer;font-size:.84rem;font-weight:800;line-height:1;transition:transform 180ms ease,background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease}.button:hover{transform:translateY(-1px)}.button:disabled,.search-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.button-accent{background:var(--sand-light);color:var(--forest-950);box-shadow:0 12px 36px rgba(0,0,0,.12)}.button-accent:hover{background:#e4d2af}.button-dark{background:var(--forest-900);color:var(--white)}.button-dark:hover{background:var(--forest-800)}.button-quiet{border-color:rgba(255,255,255,.48);background:rgba(10,28,23,.2);color:var(--white);backdrop-filter:blur(8px)}.button-quiet:hover{border-color:rgba(255,255,255,.78);background:rgba(10,28,23,.34)}.button-outline{border-color:rgba(23,55,45,.28);background:transparent;color:var(--forest-800)}.button-outline:hover{border-color:var(--forest-700);background:rgba(40,84,67,.05)}.text-link{width:fit-content;display:inline-flex;align-items:center;min-height:40px;color:var(--forest-700);font-size:.85rem;font-weight:800;border-bottom:1px solid rgba(40,84,67,.34)}.text-link:hover{border-bottom-color:var(--forest-700)}.site-header{position:fixed;z-index:80;inset:0 0 auto;color:var(--white);transition:background-color 220ms ease,color 220ms ease,box-shadow 220ms ease,backdrop-filter 220ms ease}.site-header::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(to bottom,rgba(3,19,14,.5),transparent);pointer-events:none;transition:opacity 220ms ease}.site-header.is-scrolled{color:var(--ink);background:rgba(248,245,237,.94);box-shadow:0 1px 0 rgba(20,54,42,.12);backdrop-filter:blur(16px)}.site-header.is-scrolled::after{opacity:0}.header-inner{min-height:82px;display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);align-items:center;gap:28px}.brand{width:fit-content;display:grid;gap:3px}.brand strong{font-family:var(--serif);font-size:1.12rem;font-weight:600;letter-spacing:.14em;line-height:1}.brand span{color:rgba(255,255,255,.64);font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:color 220ms ease}.site-header.is-scrolled .brand span{color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px)}.desktop-nav a{position:relative;padding:11px 0;font-size:.75rem;font-weight:700;letter-spacing:.02em}.desktop-nav a::after{content:"";position:absolute;inset:auto 0 5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 180ms ease}.desktop-nav a:hover::after{transform:scaleX(1);transform-origin:left}.header-book{justify-self:end;min-height:42px;display:inline-flex;align-items:center;padding:0 17px;border:1px solid rgba(255,255,255,.38);border-radius:999px;font-size:.75rem;font-weight:800;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}.header-book:hover{background:var(--white);color:var(--forest-950)}.site-header.is-scrolled .header-book{border-color:rgba(23,55,45,.28)}.site-header.is-scrolled .header-book:hover{background:var(--forest-900);color:var(--white)}.menu-toggle{width:46px;height:46px;display:none;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:transparent;color:currentColor;cursor:pointer}.menu-toggle span{width:17px;height:1px;background:currentColor;transition:transform 180ms ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header.is-scrolled .menu-toggle{border-color:rgba(23,55,45,.28)}.mobile-menu{position:fixed;z-index:-1;inset:0;display:grid;align-items:start;padding-top:106px;background:var(--ivory);color:var(--ink);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity 180ms ease,visibility 180ms ease,transform 180ms ease}.mobile-menu.is-open{opacity:1;visibility:visible;transform:none}.mobile-menu nav{display:grid}.mobile-menu nav>a:not(.button){padding:18px 2px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(2rem,9vw,3rem);line-height:1}.mobile-menu .button{margin-top:30px;background:var(--forest-900);color:var(--white)}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:none 56% center/cover no-repeat;color:var(--white)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,15,.86) 0%,rgba(4,21,15,.57) 48%,rgba(4,21,15,.1) 83%),linear-gradient(0deg,rgba(2,15,10,.72) 0%,transparent 42%)}.hero-content{position:relative;z-index:2;padding:170px 0 150px}.hero h1{max-width:1060px;margin:18px 0 0;font-family:var(--serif);font-size:clamp(4.2rem,8.15vw,8.2rem);font-weight:500;letter-spacing:-.07em;line-height:.84}.hero-copy{max-width:690px;margin:28px 0 0;color:rgba(255,255,255,.86);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.72}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.hero-facts{display:flex;flex-wrap:wrap;gap:0;margin-top:52px;border-top:1px solid var(--line-light)}.hero-facts span{min-width:160px;padding:16px 24px 0 0;color:rgba(255,255,255,.76);font-size:.72rem;font-weight:700;letter-spacing:.04em}.hero-scroll{position:absolute;z-index:3;right:max(32px,calc((100vw - var(--container))/2));bottom:44px;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.76);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-scroll i{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;font-style:normal}.booking-lift{position:relative;z-index:12;margin-top:-74px}.booking-shell{scroll-margin-top:104px;padding:24px;border:1px solid rgba(23,55,45,.1);border-radius:var(--radius-lg);background:rgba(251,249,244,.98);box-shadow:var(--shadow-deep)}.booking-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:2px 4px 18px}.booking-intro h2{margin:7px 0 0;font-family:var(--serif);font-size:clamp(1.65rem,2.4vw,2.2rem);font-weight:500;letter-spacing:-.03em;line-height:1}.booking-intro>p{display:flex;align-items:center;gap:8px;margin:0 0 3px;color:var(--muted);font-size:.72rem;font-weight:700}.live-dot{width:7px;height:7px;border-radius:50%;background:#41855e;box-shadow:0 0 0 4px rgba(65,133,94,.12)}.booking-bar{display:grid;grid-template-columns:1.15fr 1.15fr .65fr .65fr auto;border:1px solid var(--line);background:var(--white)}.booking-field{min-width:0;padding:16px 18px;border-right:1px solid var(--line)}.booking-field>span,.request-form label>span{display:block;margin-bottom:6px;color:#778079;font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.booking-field input,.booking-field select{width:100%;min-height:30px;border:0;outline:0;background:transparent;color:var(--ink);font-weight:750}.search-button{min-width:168px;margin:7px;border:0;border-radius:var(--radius-sm);background:var(--forest-900);color:var(--white);cursor:pointer;font-size:.8rem;font-weight:800;transition:background-color 180ms ease}.search-button:hover:not(:disabled){background:var(--forest-800)}.booking-feedback:empty{display:none}.booking-notice{margin-top:12px;padding:13px 16px;border-left:3px solid currentColor;font-size:.82rem;line-height:1.55}.booking-notice.error{background:#fff0ed;color:#8c392d}.booking-notice.success{background:#eaf5ec;color:#2a603b}.booking-notice.success strong{display:block;margin-top:2px}.availability{scroll-margin-top:104px;margin-top:20px;padding:30px;border-top:1px solid var(--line);background:var(--paper)}.availability-head{display:flex;align-items:end;justify-content:space-between;gap:26px;padding-bottom:22px}.availability-head h2{margin:8px 0 0;font-family:var(--serif);font-size:clamp(2rem,3.8vw,3.25rem);font-weight:500;letter-spacing:-.04em;line-height:1}.availability-head>p{margin:0 0 5px;color:var(--muted);font-size:.82rem}.availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.availability-card{min-height:300px;display:flex;flex-direction:column;padding:24px;background:var(--white);transition:background-color 180ms ease}.availability-card:hover,.availability-card.selected{background:#f7f4ec}.availability-card.selected{box-shadow:inset 0 0 0 1px var(--sand)}.availability-card-top{display:flex;justify-content:space-between;gap:12px}.availability-count,.availability-code{color:#718078;font-size:.61rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.availability-count{color:var(--forest-700)}.availability-card h3{max-width:320px;margin:35px 0 7px;font-family:var(--serif);font-size:clamp(1.55rem,2.25vw,2.15rem);font-weight:500;letter-spacing:-.035em;line-height:1.02}.availability-meta{margin:0;color:var(--muted);font-size:.75rem}.availability-price{margin:auto 0 17px;padding-top:28px}.availability-price strong{display:block;font-size:1.18rem}.availability-price small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}.availability-card .button{width:100%;border-radius:var(--radius-sm)}.no-results{display:grid;gap:5px;padding:28px;border:1px solid var(--line);background:var(--white);color:var(--muted)}.no-results strong{color:var(--ink);font-family:var(--serif);font-size:1.55rem;font-weight:500}.no-results a{width:fit-content;margin-top:8px;color:var(--forest-700);font-weight:800}.request-form{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,.8fr)) auto;gap:12px;align-items:end;margin-top:18px;padding:24px;background:#e9ede8}.request-title{align-self:center}.request-title h3{margin:7px 0 4px;font-family:var(--serif);font-size:1.5rem;font-weight:500;letter-spacing:-.03em}.request-title>p:last-child{max-width:330px;margin:0;color:var(--muted);font-size:.7rem}.request-form label input{width:100%;min-height:46px;border:1px solid rgba(23,55,45,.2);border-radius:0;background:var(--white);padding:0 11px;color:var(--ink);outline:0}.request-submit{min-height:46px;border-radius:0}.request-disclaimer{grid-column:1/-1;color:var(--muted);font-size:.64rem;line-height:1.5}.section{padding:clamp(88px,10vw,152px) 0}.intro-section{padding-top:clamp(122px,12vw,184px);background:var(--ivory)}.intro-layout{display:grid;grid-template-columns:1.05fr .7fr;gap:clamp(50px,8vw,130px);align-items:end}.intro-copy{padding-bottom:5px}.intro-copy>p{margin:0;color:#53625a;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.85rem);line-height:1.4}.intro-copy .text-link{margin-top:28px}.stat-line{display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(60px,7vw,96px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-line>div{min-height:130px;display:flex;flex-direction:column;justify-content:space-between;padding:22px 22px 20px 0;border-right:1px solid var(--line)}.stat-line>div:not(:first-child){padding-left:22px}.stat-line>div:last-child{border-right:0}.stat-line strong{font-family:var(--serif);font-size:clamp(2rem,3vw,2.9rem);font-weight:500;letter-spacing:-.04em;line-height:1}.stat-line span{color:var(--muted);font-size:.7rem}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);gap:clamp(48px,7vw,110px);align-items:end}.section-heading.compact{align-items:start}.section-aside{max-width:430px;margin:0 0 3px;color:var(--muted);font-size:.86rem;line-height:1.7}.section-aside .text-link{margin-top:18px}.rooms-section{background:#e9ece5}.accommodation-editorial{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,5vw,76px);margin-top:clamp(55px,7vw,92px);align-items:start}.accommodation-photo{position:sticky;top:110px;margin:0}.accommodation-photo img{width:100%;height:min(68vh,720px);object-fit:cover;background:#dfe3dc}.accommodation-photo figcaption{display:grid;gap:3px;padding-top:13px}.accommodation-photo figcaption span{font-size:.74rem;font-weight:800}.accommodation-photo figcaption small{max-width:520px;color:var(--muted);font-size:.62rem;line-height:1.5}.room-list{border-top:1px solid rgba(23,55,45,.23)}.room-row{min-height:102px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:18px;align-items:center;border-bottom:1px solid rgba(23,55,45,.18);transition:padding-left 180ms ease,background-color 180ms ease}.room-row:hover{padding-left:9px;background:rgba(255,255,255,.32)}.room-index{color:#8c774e;font-size:.62rem;font-weight:800;letter-spacing:.1em}.room-row h3{margin:0;font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:500;letter-spacing:-.03em;line-height:1.05}.room-row p{margin:5px 0 0;color:var(--muted);font-size:.7rem}.room-row>a{min-height:42px;display:flex;align-items:center;gap:6px;color:var(--forest-700);font-size:.7rem;font-weight:800}.resort-feature{position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;color:var(--white)}.resort-feature-image{position:absolute;inset:0;background:none center/cover no-repeat;transform:scale(1.015)}.resort-feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,21,15,.88) 0%,rgba(4,21,15,.2) 62%,transparent),linear-gradient(90deg,rgba(4,21,15,.42),transparent 68%)}.resort-feature-content{position:relative;z-index:2;padding:120px 0 82px}.resort-feature-content>p:not(.eyebrow){max-width:570px;margin:28px 0 0;color:rgba(255,255,255,.76);font-size:1rem}.feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.feature-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.32);color:rgba(255,255,255,.86);font-size:.68rem;font-weight:700}.wellness-section{background:#efe7d8}.wellness-layout{display:grid;grid-template-columns:minmax(280px,.66fr) minmax(0,1.34fr);gap:clamp(45px,8vw,130px);align-items:center}.wellness-copy .button{margin-top:30px}.wellness-photo{position:relative;margin:0}.wellness-photo img{width:100%;height:min(72vh,760px);object-fit:cover;background:#dfd7c9}.wellness-photo figcaption{position:absolute;inset:auto auto 0 0;min-width:230px;display:grid;gap:2px;padding:20px 24px;background:var(--forest-900);color:var(--white)}.wellness-photo figcaption span{color:var(--sand-light);font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.wellness-photo figcaption strong{font-family:var(--serif);font-size:1.3rem;font-weight:500}.amenities-section{background:var(--paper)}.amenity-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenity-list article{min-height:210px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.amenity-list article span{color:#8c774e;font-size:.62rem;font-weight:800;letter-spacing:.1em}.amenity-list h3{max-width:260px;margin:0;font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.35rem);font-weight:500;letter-spacing:-.035em;line-height:1}.gallery-section{background:var(--ivory)}.gallery-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:280px 280px;gap:10px;margin-top:62px}.gallery-item{position:relative;min-width:0;overflow:hidden;border:0;padding:0;background:#dfe2dc;cursor:zoom-in;text-align:left}.gallery-item-1{grid-row:1/3}.gallery-item-4{grid-column:2/4}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.2,.7,.2,1)}.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,19,14,.55),transparent 45%);opacity:.85}.gallery-item:hover img{transform:scale(1.025)}.gallery-item>span{position:absolute;z-index:2;left:18px;bottom:15px;color:var(--white);font-size:.68rem;font-weight:800}.lightbox{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:24px;background:rgba(4,21,15,.94)}.lightbox-inner{position:relative;width:min(1200px,100%);display:grid;place-items:center}.lightbox-inner>img{max-width:100%;max-height:82svh;object-fit:contain}.lightbox-inner>p{margin:12px 0 0;color:rgba(255,255,255,.65);font-size:.68rem;letter-spacing:.04em}.lightbox-close,.lightbox-arrow{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(4,21,15,.38);color:var(--white);cursor:pointer;backdrop-filter:blur(8px)}.lightbox-close{width:46px;height:46px;top:12px;right:12px;font-size:1.6rem}.lightbox-arrow{width:44px;height:44px;top:50%;transform:translateY(-50%)}.lightbox-arrow.prev{left:12px}.lightbox-arrow.next{right:12px}.booking-story{background:var(--forest-900);color:var(--white)}.booking-story-head{display:grid;grid-template-columns:1fr}.booking-story-head>p:last-child{max-width:600px;margin:28px 0 0;color:rgba(255,255,255,.66);line-height:1.75}.booking-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}.booking-steps article{min-height:280px;display:flex;flex-direction:column;padding:23px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.booking-steps article>span{color:var(--sand-light);font-size:.62rem;font-weight:800;letter-spacing:.12em}.booking-steps h3{margin:auto 0 10px;font-family:var(--serif);font-size:clamp(1.55rem,2.2vw,2.1rem);font-weight:500;letter-spacing:-.035em;line-height:1.05}.booking-steps p{margin:0;color:rgba(255,255,255,.62);font-size:.73rem;line-height:1.55}.booking-truth{display:grid;grid-template-columns:110px 1fr;gap:25px;margin-top:26px;padding:24px 0;border-top:1px solid rgba(255,255,255,.14)}.booking-truth strong{color:var(--sand-light);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.booking-truth p{max-width:760px;margin:0;color:rgba(255,255,255,.68);font-size:.83rem;line-height:1.65}.contact-section{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,8vw,130px);align-items:start}.contact-list{border-top:1px solid var(--line)}.contact-list>a,.contact-list>div{min-height:104px;display:grid;grid-template-columns:165px 1fr;gap:30px;align-items:center;border-bottom:1px solid var(--line)}.contact-list>a{transition:padding-left 180ms ease,background-color 180ms ease}.contact-list>a:hover{padding-left:8px;background:rgba(49,95,97,.045)}.contact-list span{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-list strong{font-family:var(--serif);font-size:clamp(1.2rem,2.1vw,1.75rem);font-weight:500;letter-spacing:-.025em;line-height:1.15}.final-cta{padding:110px 0;background:linear-gradient(90deg,rgba(9,29,22,.97),rgba(9,29,22,.82)),none center/cover;color:var(--white)}.final-cta-layout{display:flex;align-items:end;justify-content:space-between;gap:50px;padding:48px 0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.site-footer{padding:70px 0 98px;background:#071711;color:var(--white)}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:50px}.footer-brand{display:grid;gap:5px}.footer-brand strong{font-family:var(--serif);font-size:1.25rem;font-weight:500;letter-spacing:.13em}.footer-brand span{color:rgba(255,255,255,.48);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.footer-top nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px 28px}.footer-top nav a{color:rgba(255,255,255,.68);font-size:.73rem;font-weight:700}.footer-top nav a:hover{color:var(--white)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:70px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.45);font-size:.66rem}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a:hover{color:var(--white)}.mobile-book{display:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--sand);outline-offset:3px}.booking-field:focus-within{background:#f7f5ef}.request-form label:focus-within>span{color:var(--forest-700)}@media(max-width:1120px){.header-inner{grid-template-columns:1fr auto}.desktop-nav,.desktop-only{display:none}.menu-toggle{display:flex;justify-self:end}.booking-bar{grid-template-columns:1fr 1fr}.booking-field:nth-child(2){border-right:0}.booking-field:nth-child(3),.booking-field:nth-child(4){border-top:1px solid var(--line)}.booking-field:nth-child(4){border-right:0}.search-button{grid-column:1/-1;min-height:54px}.availability-grid{grid-template-columns:repeat(2,1fr)}.request-form{grid-template-columns:1fr 1fr}.request-title,.request-disclaimer{grid-column:1/-1}.request-submit{min-height:48px}.booking-steps{grid-template-columns:repeat(2,1fr)}.amenity-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.wrap{width:min(var(--container),calc(100% - 36px))}.section{padding:88px 0}.display-title{font-size:clamp(2.75rem,10vw,4.7rem)}.hero{min-height:94svh;background-position:62% center}.hero-content{padding:140px 0 120px}.hero h1{font-size:clamp(4rem,15vw,6.7rem)}.hero-scroll{display:none}.hero-facts{margin-top:38px}.hero-facts span{min-width:50%;padding-top:12px}.booking-lift{margin-top:-48px}.booking-shell{padding:18px;border-radius:20px}.booking-intro{align-items:start;flex-direction:column;gap:10px}.availability{margin-inline:-18px;padding:24px 18px}.availability-head{align-items:start;flex-direction:column;gap:10px}.intro-section{padding-top:118px}.intro-layout,.section-heading,.wellness-layout,.contact-layout{grid-template-columns:1fr;gap:36px}.section-aside{max-width:600px}.stat-line{display:flex;overflow-x:auto;margin-inline:-18px;padding-inline:18px;border-bottom:0;scrollbar-width:thin;scroll-snap-type:x proximity}.stat-line>div{min-width:180px;scroll-snap-align:start}.stat-line>div:first-child{border-left:1px solid var(--line);padding-left:22px}.accommodation-editorial{grid-template-columns:1fr;gap:42px}.accommodation-photo{position:relative;top:auto}.accommodation-photo img{height:min(68svh,620px)}.resort-feature{min-height:78svh}.wellness-copy{order:1}.wellness-photo{order:0}.gallery-grid{grid-template-columns:1.15fr .85fr;grid-template-rows:270px 230px 230px}.gallery-item-1{grid-row:1/3}.gallery-item-4{grid-column:1/2}.gallery-item-5{grid-column:2/3}.final-cta-layout{align-items:start;flex-direction:column}}@media(max-width:620px){html{scroll-padding-top:76px}body{font-size:15px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.wrap{width:calc(100% - 28px)}.header-inner{min-height:70px}.brand strong{font-size:1rem}.brand span{font-size:.52rem}.menu-toggle{width:42px;height:42px}.mobile-menu{padding-top:88px}.hero{min-height:91svh;align-items:flex-end}.hero-shade{background:linear-gradient(0deg,rgba(4,21,15,.88) 0%,rgba(4,21,15,.34) 70%),linear-gradient(90deg,rgba(4,21,15,.48),transparent)}.hero-content{padding:118px 0 94px}.hero h1{margin-top:13px;font-size:clamp(3.65rem,17vw,5.4rem);line-height:.87}.hero-copy{margin-top:20px;font-size:.94rem;line-height:1.62}.hero-actions{align-items:stretch;flex-direction:column;margin-top:26px}.hero-actions .button{width:100%}.hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px}.hero-facts span{min-width:0;padding-right:8px;font-size:.64rem}.booking-lift{width:calc(100% - 20px);margin-top:-30px}.booking-shell{padding:14px;border-radius:16px}.booking-intro{padding:3px 2px 14px}.booking-intro h2{font-size:1.62rem}.booking-intro>p{font-size:.65rem}.booking-bar{grid-template-columns:1fr}.booking-field,.booking-field:nth-child(n){padding:14px 15px;border-top:0;border-right:0;border-bottom:1px solid var(--line)}.search-button{grid-column:auto;min-height:54px;margin:6px}.availability{margin-inline:-14px;padding:22px 14px}.availability-grid{grid-template-columns:1fr}.availability-card{min-height:270px;padding:20px}.request-form{grid-template-columns:1fr;padding:18px}.request-title,.request-disclaimer{grid-column:auto}.section{padding:76px 0}.intro-section{padding-top:106px}.display-title{font-size:clamp(2.65rem,13vw,3.9rem)}.intro-copy>p{font-size:1.2rem}.stat-line{margin-top:50px;margin-inline:-14px;padding-inline:14px}.stat-line>div{min-width:155px;min-height:112px}.room-row{min-height:108px;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:14px 0}.room-row>a{grid-column:2;min-height:30px}.room-row:hover{padding-left:0}.accommodation-photo img{height:56svh}.resort-feature{min-height:73svh}.resort-feature-content{padding:86px 0 58px}.feature-tags{align-items:stretch;flex-direction:column}.feature-tags span{width:fit-content}.wellness-photo img{height:56svh}.wellness-photo figcaption{position:relative;min-width:0}.amenity-list{grid-template-columns:1fr 1fr;margin-top:44px}.amenity-list article{min-height:155px;padding:17px}.amenity-list h3{font-size:1.45rem}.gallery-grid{display:flex;gap:9px;overflow-x:auto;margin-top:44px;margin-inline:-14px;padding:0 14px 8px;scroll-snap-type:x mandatory;scrollbar-width:thin}.gallery-item{flex:0 0 84vw;height:64vw;max-height:330px;scroll-snap-align:start}.lightbox{padding:10px}.lightbox-arrow{top:auto;bottom:5px;transform:none}.lightbox-inner>p{padding-bottom:58px}.booking-steps{grid-template-columns:1fr;margin-top:46px}.booking-steps article{min-height:210px}.booking-truth{grid-template-columns:1fr;gap:10px}.contact-list>a,.contact-list>div{min-height:98px;grid-template-columns:1fr;gap:6px;align-content:center}.contact-list>a:hover{padding-left:0}.contact-list strong{font-size:1.25rem;overflow-wrap:anywhere}.final-cta{padding:76px 0}.final-cta-layout{padding:32px 0}.footer-top,.footer-bottom{align-items:start;flex-direction:column}.footer-top nav{justify-content:flex-start}.footer-bottom{margin-top:48px}.footer-bottom>div{align-items:flex-start;flex-direction:column;gap:8px}.mobile-book{position:fixed;z-index:75;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));min-height:54px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(16,38,31,.96);color:var(--white);box-shadow:0 16px 46px rgba(0,0,0,.25);font-size:.8rem;font-weight:800;backdrop-filter:blur(12px)}}@media(max-width:370px){.hero h1{font-size:3.45rem}.hero-copy{font-size:.88rem}.button{padding-inline:16px}.booking-shell{padding-inline:10px}.availability{margin-inline:-10px}.amenity-list{grid-template-columns:1fr}.amenity-list article{min-height:135px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}