.detail-hero{position:relative;isolation:isolate;min-height:700px;background:#102e25;overflow:hidden}.detail-hero>img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.detail-hero .detail-wash{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,31,25,.94),rgba(9,39,31,.78) 38%,rgba(9,39,31,.3) 72%,rgba(9,39,31,.2)),linear-gradient(0deg,rgba(7,31,25,.42),transparent 55%)}.detail-hero .detail-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,370px);align-items:center;gap:clamp(30px,5vw,90px);min-height:700px;padding-top:85px;padding-bottom:85px}.detail-hero .detail-identity{color:#fffaf0}.detail-hero .detail-identity nav,.detail-hero .detail-identity nav a{color:rgba(255,250,240,.78)}.detail-hero .detail-identity .eyebrow{color:#e8c787}.detail-hero .detail-identity h1{color:#fffaf0;font-size:clamp(46px,5.2vw,82px);line-height:1.06;letter-spacing:-.035em;max-width:760px}.detail-hero .detail-location{color:#e8c787;font-size:14px;letter-spacing:.02em}.detail-hero .detail-intro{color:rgba(255,250,240,.88);font-size:16px;line-height:1.85;max-width:570px}.detail-hero .detail-actions .btn-primary{background:#e5c17a;color:#102e25;border-color:#e5c17a;border-radius:6px;padding:17px 28px;font-weight:750;letter-spacing:.06em}.detail-hero .detail-actions .btn-primary:hover{background:#f2d99d;border-color:#f2d99d}.detail-hero #availability-enquiry{width:100%;min-width:0}.detail-hero #availability-enquiry>.card{width:100%;max-width:none;border:1px solid #e0c58b;border-radius:18px;background:#fffcf5;padding:30px;box-shadow:0 25px 55px rgba(0,0,0,.25),0 0 0 5px rgba(231,200,139,.08)}.detail-hero #availability-enquiry h2{color:#12392d;font-size:clamp(24px,2.3vw,32px);line-height:1.2}.detail-hero #availability-enquiry .eyebrow{color:#a27d39}.detail-hero #availability-enquiry .input{width:100%;min-width:0;background:#fff;border:1px solid #dfd9cb;border-radius:7px;color:#18372d}.detail-hero #availability-enquiry .input:focus{outline:2px solid #d6b36b;outline-offset:1px}.detail-hero #availability-enquiry button[type=submit]{width:100%;background:#12392d;color:#fffaf0;border-radius:7px;min-height:50px}.detail-hero #availability-enquiry button[type=submit]:hover{background:#205642}@media (max-width:900px){.detail-hero .detail-hero-layout{grid-template-columns:minmax(0,1fr);gap:38px;padding-top:75px;padding-bottom:65px}.detail-hero .detail-wash{background:linear-gradient(180deg,rgba(7,31,25,.82),rgba(7,31,25,.68))}.detail-hero #availability-enquiry{max-width:560px}}@media (max-width:600px){.detail-hero .detail-hero-layout{padding-top:55px;padding-bottom:55px}.detail-hero .detail-identity h1{font-size:clamp(38px,10vw,54px)}.detail-hero .detail-intro{font-size:14px}.detail-hero #availability-enquiry>.card{padding:22px}}.resort-story{grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:clamp(35px,5vw,85px);align-items:center}.resort-story h2{max-width:400px;color:#102e25;font-size:clamp(38px,3.8vw,58px);line-height:1.12;letter-spacing:-.035em}.resort-story .prose{max-width:420px;color:#5b625e;font-size:15px;line-height:1.9}.resort-story>:last-child{width:100%;min-width:0}.resort-story img{-o-object-fit:cover;object-fit:cover}.resort-story+*{margin-top:0}@media (max-width:900px){.resort-story{grid-template-columns:1fr;gap:32px}.resort-story h2{max-width:650px}}.detail-hero.detail-hero-cinematic{min-height:680px}.detail-hero.detail-hero-cinematic .detail-hero-layout{display:flex;align-items:center;min-height:680px;padding-top:100px;padding-bottom:100px}.detail-hero.detail-hero-cinematic .detail-identity{max-width:780px}.detail-hero.detail-hero-cinematic .detail-wash{background:linear-gradient(90deg,rgba(7,31,25,.91),rgba(7,31,25,.67) 37%,rgba(7,31,25,.18) 76%,rgba(7,31,25,.08)),linear-gradient(0deg,rgba(7,31,25,.28),transparent 55%)}.detail-availability-section{padding:100px 0;background:#f8f5ed;scroll-margin-top:100px}.detail-availability-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:clamp(45px,7vw,120px)}.detail-availability-copy{max-width:570px}.detail-availability-eyebrow{color:#a47d3d;font-size:11px;font-weight:750;letter-spacing:.19em}.detail-availability-copy h2{margin-top:18px;color:#12392d;font-size:clamp(40px,4.5vw,66px);line-height:1.12;letter-spacing:-.035em}.detail-availability-copy>p{margin-top:24px;max-width:480px;color:#626960;font-size:17px;line-height:1.85}.detail-availability-note{margin-top:30px;color:#856a3e;font-size:13px}.detail-availability-form>.card{width:100%;max-width:none;padding:32px;border:1px solid #e2c78c;border-radius:20px;background:#fffdf8;box-shadow:0 24px 65px rgba(12,47,35,.14)}.detail-availability-form .input{width:100%;min-width:0;background:#fff;border:1px solid #ded9ce;border-radius:7px}.detail-availability-form button[type=submit]{width:100%;min-height:50px;border-radius:7px;background:#12392d;color:#fffaf0}@media (max-width:900px){.detail-hero.detail-hero-cinematic,.detail-hero.detail-hero-cinematic .detail-hero-layout{min-height:550px}.detail-availability-layout{grid-template-columns:1fr;gap:38px}.detail-availability-section{padding:65px 0}.detail-availability-form{max-width:560px}}@media (max-width:600px){.detail-hero.detail-hero-cinematic .detail-hero-layout{padding-top:75px;padding-bottom:75px}.detail-availability-form>.card{padding:22px}.detail-availability-copy>p{font-size:15px}}.detail-hero~.section:has(.resort-story){padding-top:75px;padding-bottom:75px}.resort-story{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);align-items:start;gap:clamp(35px,4vw,70px)}.resort-story>div{min-width:0}.resort-story h2{font-size:clamp(32px,3.1vw,48px);line-height:1.15;overflow-wrap:anywhere}.resort-story .gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;align-items:stretch}.resort-story .gallery-stage{position:relative;grid-column:1/-1;width:100%;height:clamp(330px,38vw,520px);overflow:hidden;border-radius:16px;background:#17372d;box-shadow:0 20px 45px rgba(12,45,33,.13)}.resort-story .gallery-stage img,.resort-story .gallery-thumb img{-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.resort-story .gallery-stage:hover img{transform:scale(1.025)}.resort-story .gallery-thumb{position:relative;display:block;width:100%;height:clamp(75px,9vw,120px);overflow:hidden;border-radius:10px;background:#17372d;cursor:pointer}.resort-story .gallery-thumb:hover img{transform:scale(1.06)}.resort-story .gallery-counter{z-index:3}@media (max-width:900px){.resort-story{grid-template-columns:1fr;gap:30px}.resort-story .gallery-stage{height:clamp(290px,55vw,470px)}.detail-hero~.section:has(.resort-story){padding-top:55px;padding-bottom:55px}}@media (max-width:600px){.resort-story .gallery-grid{gap:7px}.resort-story .gallery-stage{height:280px;border-radius:12px}.resort-story .gallery-thumb{height:70px;border-radius:7px}}.resort-story .gallery-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:auto auto!important;gap:12px!important;align-items:start!important}.resort-story .gallery-stage{grid-column:1/-1!important;grid-row:1!important;position:relative!important;height:460px!important;min-height:0!important}.resort-story .gallery-thumb{position:relative!important;inset:auto!important;transform:none!important;grid-row:2!important;grid-column:auto!important;width:100%!important;height:110px!important;margin:0!important;border-radius:10px!important}@media (max-width:600px){.resort-story .gallery-stage{height:280px!important}.resort-story .gallery-thumb{height:75px!important}}#rooms{background:#f8f6f0;padding-top:85px;padding-bottom:100px}#rooms .room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:38px;align-items:stretch}#rooms .room-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5cf9d;border-radius:20px;background:#fffdf8;box-shadow:0 16px 35px rgba(15,49,37,.1);transition:transform .3s ease,box-shadow .3s ease}#rooms .room-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px rgba(15,49,37,.18)}#rooms .room-image{position:relative;width:100%;height:255px;overflow:hidden;background:#e9e5d9}#rooms .room-image img{-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}#rooms .room-card:hover .room-image img{transform:scale(1.04)}#rooms .room-card>div:last-child{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:28px}#rooms .room-card h3{margin:0 0 12px;color:#12392d;font-size:clamp(23px,2vw,29px);line-height:1.2}#rooms .room-card p{line-height:1.7}#rooms .room-copy{margin-top:15px;margin-bottom:22px}#rooms .room-enquiry-button{display:inline-flex;justify-content:center;align-items:center;width:100%;min-height:49px;margin-top:auto;padding:12px 16px;border-radius:8px;background:#12392d;color:#fffaf0;font-weight:750;letter-spacing:.055em;text-align:center;text-decoration:none;transition:background .25s ease}#rooms .room-enquiry-button:hover{background:#245744}#rooms .room-enquiry-button:focus-visible{outline:3px solid #d5ac60;outline-offset:3px}@media (max-width:1050px){#rooms .room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){#rooms{padding-top:55px;padding-bottom:65px}#rooms .room-grid{grid-template-columns:1fr;gap:22px}#rooms .room-image{height:245px}#rooms .room-card>div:last-child{padding:23px}}#rooms,#rooms *{font-family:Helvetica,Arial,sans-serif!important}#rooms .room-grid{gap:30px}#rooms .room-card{border:1px solid #e5ddce;border-radius:16px;background:#fffefa;box-shadow:0 14px 38px rgba(15,49,37,.07)}#rooms .room-card:hover{box-shadow:0 22px 48px rgba(15,49,37,.12)}#rooms .room-image{height:260px}#rooms .room-card>div:last-child{padding:30px 28px}#rooms .room-card h3{margin-bottom:14px;color:#153c2e;font-size:clamp(21px,1.8vw,26px);font-weight:600;line-height:1.25;letter-spacing:-.035em}#rooms .room-card p{color:#626960;font-size:14px;line-height:1.75}#rooms .room-copy{margin-top:18px;margin-bottom:28px}#rooms .room-enquiry-button{min-height:52px;border-radius:7px;background:#153c2e;color:#fff;font-size:12px;font-weight:700}@media (max-width:650px){#rooms .room-card>div:last-child{padding:24px}#rooms .room-image{height:245px}}