:root{--ink:#182828;--muted:#596664;--paper:#f7f8f5;--line:#d7ded9;--accent:#af863b;--dark:#152b2b;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background .2s,color .2s,transform .2s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bf9441;outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;text-wrap:balance}h1,h2{font-family:var(--serif);line-height:1.1;letter-spacing:-.045em}h2{font-size:clamp(2.4rem,4.4vw,4.25rem)}h3{font-family:var(--serif);font-size:1.8rem;line-height:1.2}em{font-weight:400}p{max-width:65ch}p+p{margin-top:1rem}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;margin-bottom:20px;line-height:1.6}.header{height:96px;padding-inline:48px;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand img{width:58px;height:58px;object-fit:contain}.brand span{font-size:1.65rem;letter-spacing:.13em}.brand small{display:block;font-size:.6rem;letter-spacing:.16em;margin-top:9px}.header nav{display:flex;align-items:center;gap:28px;font-size:.875rem}.header nav>a:not(.button):hover{color:#ead093}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 25px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.02em;text-align:center}.button:hover{background:#305453}.button:active{transform:translateY(1px)}.header .button,.hero .button,.contact .button{background:#dec28b;color:#182828;border-color:#dec28b}.header .button:hover,.hero .button:hover,.contact .button:hover{background:#efdab0}.button.small{min-height:43px;padding:9px 23px}.menu-toggle{display:none}.hero{position:relative;min-height:660px;display:flex;align-items:center;color:white;padding:95px 7% 110px;isolation:isolate}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-photo{object-position:center 53%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,24,23,.85),rgba(8,24,23,.43) 52%,rgba(8,24,23,.08))}.hero h1{font-size:clamp(3rem,5.5vw,5.6rem);max-width:950px}.hero h1 em{color:#f5dfb1}.hero-copy>p:not(.eyebrow){font-size:1.1rem;max-width:490px;margin-top:28px;color:#f1f4ee}.actions{display:flex;gap:28px;align-items:center;margin-top:32px}.text-link{border:0;border-bottom:1px solid var(--accent);background:transparent;color:var(--ink);font-size:.875rem;font-weight:600;padding:5px 0;line-height:1.6;display:inline-block}.text-link:hover{color:#8a6528}.text-link.light{color:white}.hero-foot{position:absolute;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.08em}.booking{margin-top:-30px;position:relative;z-index:2;background:var(--paper);padding:34px 38px;border:1px solid var(--line);display:grid;grid-template-columns:.9fr 3fr;gap:36px;box-shadow:0 14px 40px #102e2810}.booking .eyebrow{margin-bottom:8px}.booking h2{font-size:2rem}.booking form{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:18px;align-items:end}label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:500}input,select,textarea{width:100%;min-width:0;border:1px solid #bcc8c1;border-radius:0;background:transparent;color:var(--ink);padding:11px 12px;min-height:49px}select{cursor:pointer}.form-note{grid-column:1/-1;font-size:.75rem;color:var(--muted)}.form-note a{text-decoration:underline}#booking-error:empty{display:none}#booking-error{grid-column:1/-1;color:#9b251c;font-size:.875rem}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.intro-text{padding-top:36px;color:var(--muted)}.intro .text-link{margin-top:25px}.amenities{display:flex;justify-content:space-between;padding:30px 0;border-block:1px solid var(--line);gap:20px;font-size:.875rem}.amenities span:before{content:'✧';color:#8d6a2b;margin-right:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-heading>p{color:var(--muted);font-size:.875rem}.suite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 28px}.suite img{width:100%;aspect-ratio:1.18;transition:filter .3s}.suite:hover img{filter:brightness(1.06)}.suite-body{padding-top:22px}.suite .eyebrow{font-size:.65rem;margin-bottom:10px;letter-spacing:.12em;color:#6b5736}.suite h3{font-size:1.65rem}.suite p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin-block:12px 18px;min-height:46px}.caption{font-size:.75rem;color:var(--muted);margin-top:26px;line-height:1.6}.experiences{background:#e9efec}.experience-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.experience-grid figure:last-child{padding-top:70px}.experience-grid img{width:100%;aspect-ratio:1.6}.experience-grid figcaption{padding-top:25px}.experience-grid h3{margin-bottom:12px;font-size:2rem}.experience-grid p{color:var(--muted)}.experience-grid .eyebrow{display:block;margin-bottom:10px}.moment{border-top:1px solid #c6d3cd;margin-top:65px;padding-top:38px;display:grid;grid-template-columns:.25fr 1fr 1.25fr;gap:30px}.number{font-family:var(--serif);font-size:3rem;color:#7b8e88}.moment .text-link{margin-top:20px}.moment p{color:var(--muted)}.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:200px 200px;gap:16px}.gallery button{padding:0;border:0;overflow:hidden;background:var(--line)}.gallery button:first-child{grid-row:span 2;grid-column:span 2}.gallery button:last-child{display:none}.gallery img{width:100%;height:100%;transition:transform .4s}.gallery button:hover img{transform:scale(1.035)}.location{border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.location p:not(.eyebrow){margin-top:25px;color:var(--muted)}address{font-style:normal;font-size:.875rem;line-height:1.8;margin-block:26px}.travel{padding:48px;background:#e9efec;align-self:center;border-top:3px solid #ad873c}.travel h3{font-size:2rem}.travel .text-link{margin-top:25px}.faq{padding-top:30px;display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.faq h2{font-size:3rem}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:500;list-style:none;padding-right:28px;position:relative}summary:after{content:'+';position:absolute;right:0;font-size:1.3rem;top:-4px}details[open] summary:after{content:'−'}details p{padding-top:18px;color:var(--muted);font-size:.875rem}details a{text-decoration:underline}.contact{background:var(--dark);color:white}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.contact h2 em{color:#e5ce9e}.contact p{margin-top:24px;color:#c3d1cc}.contact a{display:block;font-size:.875rem;margin-top:14px;overflow-wrap:anywhere}.contact form{display:flex;flex-direction:column;gap:20px}.contact input,.contact textarea{border-color:#7c9188;color:white}.contact input::placeholder,.contact textarea::placeholder{color:#aebfb7}.contact .caption{margin:0}.contact .button{align-self:start}.footer-top{padding-block:55px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top p{font-size:.875rem;color:var(--muted)}.footer-bottom{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-block:24px;font-size:.75rem;color:var(--muted)}.footer-bottom .text-link{font-size:.75rem}.footer-bottom span:first-child{margin-right:auto}.whatsapp{position:fixed;bottom:24px;right:24px;border-radius:40px;background:#1b4941;color:white;box-shadow:0 4px 20px #122b2830;padding:13px 24px;font-size:.875rem;z-index:25;border:1px solid #ffffff45}.whatsapp:hover{background:#2f675b}.skip{position:fixed;top:-100px;left:10px;background:white;color:var(--ink);padding:12px;z-index:100}.skip:focus{top:10px}dialog{width:min(900px,calc(100% - 32px));border:0;padding:0;background:var(--paper);color:var(--ink);max-height:90dvh;overflow:auto}dialog::backdrop{background:#102522c9;backdrop-filter:blur(5px)}.close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:var(--paper);color:var(--ink);font-size:2rem;z-index:2}.dialog-image{width:100%;max-height:55dvh;object-fit:contain;background:#102522}.dialog-body{padding:35px 40px}.dialog-body p{margin-top:18px;color:var(--muted)}.dialog-body ul{padding-left:20px;color:var(--muted)}.dialog-body .button{margin-top:25px}.photo-dialog img{max-height:80dvh;width:100%;object-fit:contain}.photo-dialog p{padding:15px 24px}.menu-toggle{background:transparent;color:white;border:1px solid #899d93;padding:8px 16px}
@media(min-width:1600px){.hero{padding-left:calc((100% - 1280px)/2)}.hero-foot{left:calc((100% - 1280px)/2);right:calc((100% - 1280px)/2)}}
@media(max-width:1100px){.header{padding-inline:28px}.header nav{gap:17px}.brand span{font-size:1.3rem}.brand small{font-size:.5rem}.wrap{width:calc(100% - 56px)}.booking{grid-template-columns:1fr;gap:22px}.intro,.location,.contact-grid{gap:45px}.suite-grid{gap:36px 20px}.section{padding-block:75px}}
@media(max-width:800px){.header{height:80px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--dark);padding:24px 28px;flex-direction:column;align-items:stretch;gap:15px;border-top:1px solid #ffffff20}.header nav.open{display:flex}.brand img{width:48px;height:48px}.hero{min-height:590px;padding:75px 28px 90px}.hero h1{font-size:3.3rem}.hero-shade{background:linear-gradient(90deg,#0b2523d9,#0b252364)}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-foot{left:28px;right:28px}.booking{padding:28px}.booking form{grid-template-columns:1fr 1fr}.booking .button{min-height:49px;padding-inline:10px}.intro{grid-template-columns:1fr;gap:20px}.intro-text{padding-top:0}.amenities{display:grid;grid-template-columns:1fr 1fr}.suite-grid{grid-template-columns:1fr 1fr}.experience-grid{gap:25px}.experience-grid figure:last-child{padding-top:35px}.moment{grid-template-columns:.2fr 1fr}.moment>div{grid-column:2}.location,.contact-grid,.faq{grid-template-columns:1fr;gap:35px}.travel{padding:35px}.footer-top{flex-wrap:wrap}.gallery{grid-template-rows:160px 160px}.section-heading{align-items:start;flex-direction:column;gap:22px}.section-heading br+em{white-space:normal}.whatsapp{bottom:16px;right:16px}.footer-bottom{padding-bottom:80px}.footer-bottom span:first-child{margin-right:0}}
@media(max-width:520px){.wrap{width:calc(100% - 40px)}.header{padding-inline:20px}.brand small{font-size:.45rem}.brand span{font-size:1.15rem}.brand{gap:8px}.hero{padding:65px 20px 85px;min-height:590px}.hero h1{font-size:2.9rem}.hero h1 br{display:none}.hero-foot{left:20px;right:20px;font-size:.65rem}.actions{align-items:start;flex-direction:column;gap:16px}.booking{padding:24px 20px}.booking form{gap:16px 12px}.booking form .button{grid-column:1/-1}.booking form label:nth-child(3){grid-column:1/-1}.section{padding-block:60px}.suite-grid{grid-template-columns:1fr;gap:35px}.suite img{aspect-ratio:1.2}.suite p:not(.eyebrow){min-height:0}.suite h3{font-size:1.9rem}.amenities{font-size:.8rem;gap:15px}.amenities span:before{margin-right:5px}.experience-grid{grid-template-columns:1fr;gap:35px}.experience-grid figure:last-child{padding-top:0}.moment{gap:16px;margin-top:40px}.moment h3{font-size:1.8rem}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 140px}.gallery button:first-child{grid-row:span 1}.location .button{width:100%;padding-inline:12px}.travel{padding:25px}.faq h2{font-size:2.5rem}.footer-top{align-items:start;flex-direction:column;padding-block:40px}.footer-bottom{flex-wrap:wrap;gap:12px 22px}.footer-bottom>span{width:100%}.dialog-body{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
