
:root{--ink:#07131f;--ink2:#0e2130;--cream:#f2eee7;--paper:#fbf9f5;--gold:#c9ad77;--text:#17232b;--muted:#6b7479;--line:rgba(7,19,31,.14);--white:#fff;--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select{font:inherit}svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.page-loader{position:fixed;inset:0;z-index:2000;background:var(--ink);display:grid;place-items:center;transition:opacity .25s var(--ease),visibility .25s}.page-loader.hidden{opacity:0;visibility:hidden}.loader-mark{width:min(320px,62vw);color:#fff}.loader-mark img{filter:brightness(0) invert(1);height:auto}.loader-mark span{display:block;height:1px;background:rgba(255,255,255,.2);margin-top:22px;overflow:hidden}.loader-mark span:after{content:"";display:block;width:40%;height:100%;background:var(--gold);animation:loader 1.4s var(--ease) infinite}@keyframes loader{from{transform:translateX(-110%)}to{transform:translateX(300%)}}.scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:1600}.scroll-progress span{display:block;height:100%;width:0;background:var(--gold)}
.site-header{position:fixed;left:0;right:0;top:0;z-index:1500;display:flex;align-items:center;justify-content:space-between;padding:22px 4vw;color:#fff;transition:.45s var(--ease);border-bottom:1px solid transparent}.site-header.scrolled{padding-top:14px;padding-bottom:14px;background:rgba(251,249,245,.91);backdrop-filter:blur(18px);color:var(--ink);border-color:var(--line)}.brand{width:210px;display:block}.brand img{height:auto;filter:brightness(0) invert(1);transition:.4s}.site-header.scrolled .brand img{filter:none}.desktop-nav{display:flex;gap:28px;align-items:center}.desktop-nav a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:currentColor;transition:.35s}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}.header-actions{display:flex;align-items:center;gap:16px}.book-btn,.primary-btn,.outline-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:600;transition:.35s var(--ease)}.book-btn{background:var(--gold);color:var(--ink);padding:14px 18px}.book-btn:hover,.primary-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.menu-button{display:none;border:0;background:transparent;color:inherit;width:42px;height:42px;position:relative}.menu-button span{position:absolute;width:22px;height:1px;background:currentColor;left:10px;transition:.35s}.menu-button span:first-child{top:17px}.menu-button span:last-child{top:24px}.menu-button.active span:first-child{top:21px;transform:rotate(45deg)}.menu-button.active span:last-child{top:21px;transform:rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:1400;background:var(--ink);color:#fff;padding:120px 7vw 44px;display:flex;flex-direction:column;justify-content:space-between;transform:translateX(100%);transition:.55s var(--ease)}.mobile-menu.open{transform:none}.mobile-menu nav{display:grid;gap:10px}.mobile-menu nav a{font-family:var(--serif);font-size:clamp(36px,10vw,65px);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-menu nav a span{font-family:var(--sans);font-size:10px;color:var(--gold);margin-right:14px}.mobile-menu .mobile-book{background:var(--gold);color:var(--ink);padding:18px 20px;display:flex;justify-content:space-between;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.mobile-menu p{color:rgba(255,255,255,.55);font-size:12px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1200;background:#fff;color:#0b6f47;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 35px rgba(0,0,0,.16);padding:12px 15px;display:flex;align-items:center;gap:9px;border-radius:999px;font-size:12px;font-weight:600}.whatsapp-float svg{width:22px;height:22px}.hero,.subhero{position:relative;color:#fff;overflow:hidden}.hero-home{min-height:100vh}.hero-media,.subhero-media{position:absolute;inset:0}.hero-media img,.subhero-media img{transform:scale(1.04);animation:slowzoom 14s ease-out both}@keyframes slowzoom{to{transform:scale(1.12)}}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,21,.78) 0%,rgba(5,13,21,.28) 55%,rgba(5,13,21,.45) 100%),linear-gradient(0deg,rgba(5,13,21,.65),transparent 55%)}.hero-copy,.subhero-copy{position:relative;z-index:2;max-width:870px;padding:clamp(170px,20vh,230px) 7vw 100px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600}.eyebrow{color:#f7e8c5;margin-bottom:28px}.split-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(70px,10vw,150px);line-height:.85;letter-spacing:-.035em}.split-title span,.split-title em{display:block}.split-title em{font-style:italic;color:#f4dfb5}.hero-text{font-size:clamp(17px,1.5vw,22px);line-height:1.65;max-width:660px;color:rgba(255,255,255,.82);margin:32px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.primary-btn{background:var(--gold);color:var(--ink);padding:18px 23px}.ghost-btn{border:1px solid rgba(255,255,255,.45);color:#fff;padding:18px 23px}.hero-side-note{position:absolute;z-index:2;right:2.5vw;bottom:100px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.25em;font-size:10px;color:rgba(255,255,255,.7)}.booking-strip{position:relative;z-index:5;margin:-58px auto 0;width:min(1180px,92vw);background:#fff;box-shadow:0 30px 70px rgba(4,14,22,.16)}.booking-strip form{display:grid;grid-template-columns:repeat(3,1fr) 1.1fr}.booking-strip label{padding:20px 24px;border-right:1px solid var(--line)}.booking-strip label span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:var(--muted);margin-bottom:8px}.booking-strip input,.booking-strip select{border:0;background:transparent;width:100%;font-size:15px;color:var(--ink);outline:none}.booking-strip button{border:0;background:var(--ink);color:#fff;padding:20px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;display:flex;align-items:center;justify-content:center;gap:10px}.section{padding:120px 7vw}.light{background:var(--paper)}.navy{background:var(--ink);color:#fff}.section-label{display:flex;align-items:center;gap:12px;color:var(--muted);margin-bottom:50px}.section-label span{color:var(--gold)}.light-label{color:rgba(255,255,255,.58)}.display{font-family:var(--serif);font-weight:400;font-size:clamp(56px,7.4vw,112px);line-height:.92;letter-spacing:-.03em;margin:0}.display em{font-style:italic;color:#8c7247}.light-text{color:#fff}.light-text em{color:#e2c58c}.intro-grid,.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end}.intro-copy p,.lead,.content-panel p,.story-copy p{font-size:clamp(18px,1.55vw,23px);line-height:1.65;color:var(--muted);margin:0 0 32px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:8px}.cinematic-image{width:86%;height:min(70vw,820px);margin:95px auto 0;position:relative;overflow:hidden}.cinematic-image img{transition:transform 1.2s var(--ease)}.cinematic-image:hover img{transform:scale(1.035)}.image-meta{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:18px 22px;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.section-heading{margin-bottom:70px}.section-heading .section-label{margin-bottom:34px}.lead{max-width:470px}.light-muted{color:rgba(255,255,255,.58)}.card-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,38vw);gap:20px;overflow-x:auto;padding-bottom:18px;scroll-snap-type:x mandatory;scrollbar-width:none}.card-rail::-webkit-scrollbar{display:none}.room-card{position:relative;height:610px;scroll-snap-align:start;overflow:hidden;background:#12283a}.room-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,10,16,.88),transparent 62%)}.room-card img{transition:transform .8s var(--ease)}.room-card:hover img{transform:scale(1.045)}.room-info{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.room-info small,.room-detail small{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:10px}.room-info h3{font-family:var(--serif);font-size:42px;font-weight:400;margin:9px 0}.room-info p{color:rgba(255,255,255,.62);font-size:13px}.room-info a{display:inline-flex;gap:8px;align-items:center;margin-top:14px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.center-action{text-align:center;margin-top:55px}.outline-btn{border:1px solid var(--line);padding:17px 21px}.light-outline{border-color:rgba(255,255,255,.35);color:#fff}.restaurant-preview{display:grid;grid-template-columns:1.1fr .9fr;padding:0}.image-panel{min-height:760px}.content-panel{padding:110px 8vw;display:flex;flex-direction:column;justify-content:center}.mini-links{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 40px;border-top:1px solid var(--line)}.mini-links a{padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.dark-btn{align-self:flex-start}.gallery-mosaic{display:grid;grid-template-columns:1.15fr .55fr .55fr;grid-template-rows:320px 320px;gap:18px}.gallery-mosaic figure{margin:0;overflow:hidden}.gallery-mosaic .wide{grid-row:1/3}.gallery-mosaic .tall{grid-row:1/3}.gallery-mosaic .small{grid-row:1/3}.map-split{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--ink);min-height:720px}.map-copy{padding:110px 7vw;color:#fff;display:flex;flex-direction:column;justify-content:center}.map-copy p{color:rgba(255,255,255,.62);font-size:19px;line-height:1.6;margin:28px 0}.map-split iframe,.contact-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05)}.final-cta{min-height:600px;background:linear-gradient(rgba(5,14,22,.72),rgba(5,14,22,.72)),url('assets/green-room.jpg') center/cover fixed;color:#fff;display:grid;place-items:center;text-align:center;padding:80px 7vw}.final-cta p{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--gold)}.final-cta h2{font-family:var(--serif);font-size:clamp(66px,10vw,140px);font-weight:400;margin:10px 0 32px}.final-cta a{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #fff;padding-bottom:10px;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.subhero{min-height:83vh}.subhero-copy{padding-bottom:90px}.experience-stack{background:var(--paper)}.experience-row{display:grid;grid-template-columns:1.1fr .9fr;min-height:700px}.experience-row.reverse{grid-template-columns:.9fr 1.1fr}.experience-row.reverse .experience-image{order:2}.experience-image{overflow:hidden}.experience-copy{padding:90px 8vw;display:flex;flex-direction:column;justify-content:center}.experience-copy small{color:var(--gold);letter-spacing:.18em}.experience-copy h2,.room-detail h2{font-family:var(--serif);font-size:clamp(54px,6vw,90px);font-weight:400;margin:18px 0}.experience-copy p,.room-detail p{font-size:19px;line-height:1.7;color:var(--muted)}.experience-copy a{display:inline-flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:11px;margin-top:18px;align-self:flex-start;border-bottom:1px solid currentColor;padding-bottom:8px}.reservation-band,.social-band{background:var(--gold);color:var(--ink);padding:70px 7vw;display:flex;align-items:center;justify-content:space-between;gap:40px}.reservation-band p,.social-band p{text-transform:uppercase;letter-spacing:.18em;font-size:10px}.reservation-band h2,.social-band h2{font-family:var(--serif);font-size:clamp(42px,5vw,72px);font-weight:400;margin:8px 0}.reservation-band>div:last-child{display:grid;gap:10px;text-align:right}.reservation-band a{font-size:16px}.room-list{display:grid;gap:100px}.room-detail{display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center}.room-detail.reverse{grid-template-columns:.85fr 1.15fr}.room-detail.reverse img{order:2}.room-detail img{height:650px}.room-detail ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;margin:25px 0 35px}.room-detail li{border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:13px}.amenities-section,.values-section,.instagram-section{background:var(--ink);color:#fff;padding:120px 7vw}.amenities-grid,.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.amenities-grid>div,.values-grid article{border-top:1px solid rgba(255,255,255,.2);padding-top:22px}.amenities-grid strong,.values-grid span{color:var(--gold);font-size:11px;letter-spacing:.16em}.amenities-grid h3,.values-grid h3{font-family:var(--serif);font-size:30px;font-weight:400}.amenities-grid p,.values-grid p{color:rgba(255,255,255,.58);line-height:1.6;font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:190px;gap:15px}.gallery-item{border:0;padding:0;overflow:hidden;background:#ddd;cursor:zoom-in}.gallery-item:nth-child(1),.gallery-item:nth-child(7){grid-column:span 7;grid-row:span 3}.gallery-item:nth-child(2),.gallery-item:nth-child(8){grid-column:span 5;grid-row:span 2}.gallery-item:nth-child(3),.gallery-item:nth-child(4),.gallery-item:nth-child(5),.gallery-item:nth-child(6),.gallery-item:nth-child(9),.gallery-item:nth-child(10),.gallery-item:nth-child(11),.gallery-item:nth-child(12){grid-column:span 3;grid-row:span 2}.gallery-item img{transition:transform .7s var(--ease)}.gallery-item:hover img{transform:scale(1.05)}.instagram-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}.instagram-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.insta-tile{position:relative;aspect-ratio:1;overflow:hidden}.insta-tile:after{content:"";position:absolute;inset:0;background:rgba(4,13,21,.18);transition:.35s}.insta-tile:hover:after{background:rgba(4,13,21,.45)}.insta-tile span{position:absolute;z-index:2;right:18px;top:18px;color:#fff}.instagram-note{text-align:center;color:rgba(255,255,255,.48);font-size:12px;margin:24px 0 0}.lightbox{position:fixed;inset:0;z-index:1800;background:rgba(3,9,15,.95);display:grid;place-items:center;padding:5vw;opacity:0;visibility:hidden;transition:.35s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{object-fit:contain;max-width:100%;max-height:86vh}.lightbox button{position:absolute;right:25px;top:18px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}.about-story{display:grid;grid-template-columns:.55fr 1.1fr 1fr;gap:5vw;align-items:start}.about-story .section-label{margin-top:15px}.story-copy p{font-size:18px}.fact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:90px 0}.fact-cards>div{border:1px solid var(--line);padding:35px 25px}.fact-cards strong{font-family:var(--serif);font-size:44px;font-weight:400;display:block}.fact-cards span{color:var(--muted);font-size:12px}.values-grid{grid-template-columns:repeat(3,1fr);margin-top:70px}.contact-section{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.contact-main p{color:var(--muted);line-height:1.7;font-size:18px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-cards article{padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:280px}.contact-icon{color:var(--gold);font-size:24px}.contact-cards h3{font-family:var(--serif);font-weight:400;font-size:30px}.contact-cards a,.contact-cards p{display:block;margin:8px 0;color:var(--muted);font-size:14px;line-height:1.6}.contact-cards a:hover{color:var(--ink)}.contact-map{height:600px}.social-buttons{display:flex;gap:12px;flex-wrap:wrap}.social-buttons a{border:1px solid var(--ink);padding:15px 18px;display:flex;gap:9px;align-items:center;text-transform:uppercase;letter-spacing:.11em;font-size:10px}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:start}.faq-intro{position:sticky;top:120px}.faq-intro>p{font-size:18px;line-height:1.7;color:var(--muted);margin:30px 0}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{width:100%;border:0;background:transparent;padding:28px 0;display:flex;justify-content:space-between;gap:25px;text-align:left;font-size:18px;color:var(--ink);cursor:pointer}.faq-item button i{font-style:normal;font-size:28px;font-weight:300;transition:.3s}.faq-item.open button i{transform:rotate(45deg)}.faq-answer{overflow:hidden}.faq-answer p{margin:0;padding:0 50px 28px 0;color:var(--muted);font-size:16px;line-height:1.7}.site-footer{background:#05101a;color:#fff;padding:95px 7vw 30px}.footer-top{display:grid;grid-template-columns:1.6fr repeat(3,.65fr);gap:5vw}.footer-brand img{filter:brightness(0) invert(1);height:auto;width:min(320px,100%)}.footer-brand p{color:rgba(255,255,255,.52);max-width:360px;line-height:1.7}.footer-col{display:grid;align-content:start;gap:12px}.footer-col h3{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--gold);margin:8px 0 12px}.footer-col a{font-size:13px;color:rgba(255,255,255,.68)}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:65px;padding-top:22px;display:flex;justify-content:space-between;color:rgba(255,255,255,.38);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}.reveal-image{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}.reveal-image.visible{clip-path:inset(0)}
@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:block}.book-btn{display:none}.brand{width:190px}.section,.amenities-section,.values-section,.instagram-section{padding:95px 5vw}.intro-grid,.section-heading,.contact-grid,.faq-layout{grid-template-columns:1fr;gap:45px}.restaurant-preview,.map-split,.experience-row,.experience-row.reverse,.room-detail,.room-detail.reverse{grid-template-columns:1fr}.experience-row.reverse .experience-image,.room-detail.reverse img{order:0}.image-panel,.experience-image{min-height:600px}.room-detail img{height:600px}.content-panel,.experience-copy{padding:80px 6vw}.amenities-grid{grid-template-columns:1fr 1fr}.about-story{grid-template-columns:1fr}.fact-cards{grid-template-columns:1fr 1fr}.faq-intro{position:static}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:480px 320px}.gallery-mosaic .wide{grid-column:1/3;grid-row:1}.gallery-mosaic .tall,.gallery-mosaic .small{grid-row:2}.footer-top{grid-template-columns:1.4fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}.gallery-item:nth-child(n){grid-column:span 6;grid-row:span 2}}
@media(max-width:720px){.site-header{padding:16px 18px}.site-header.scrolled{padding:12px 18px}.brand{width:164px}.whatsapp-float{right:14px;bottom:14px;padding:12px}.whatsapp-float span{display:none}.hero-home{min-height:860px}.hero-copy,.subhero-copy{padding:155px 22px 90px}.subhero{min-height:720px}.split-title{font-size:clamp(62px,20vw,94px)}.hero-side-note{display:none}.booking-strip{margin:-35px auto 0;width:calc(100% - 28px)}.booking-strip form{grid-template-columns:1fr 1fr}.booking-strip label{padding:17px}.booking-strip label:nth-child(3){grid-column:1/2;border-top:1px solid var(--line)}.booking-strip button{grid-column:2/3;grid-row:2}.section,.amenities-section,.values-section,.instagram-section{padding:78px 22px}.section-label{margin-bottom:35px}.display{font-size:clamp(52px,16vw,76px)}.intro-copy p,.lead,.content-panel p,.story-copy p{font-size:18px}.cinematic-image{width:100%;height:125vw;margin-top:65px}.card-rail{grid-auto-columns:84vw;gap:12px}.room-card{height:540px}.room-info h3{font-size:35px}.restaurant-preview{display:block}.image-panel{min-height:110vw}.content-panel{padding:78px 22px}.gallery-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:none}.gallery-mosaic .wide,.gallery-mosaic .tall,.gallery-mosaic .small{grid-column:auto;grid-row:auto;height:105vw}.map-split{display:block}.map-copy{padding:80px 22px}.map-split iframe{height:520px}.final-cta{background-attachment:scroll}.experience-row,.experience-row.reverse{display:block}.experience-image{min-height:100vw}.experience-copy{padding:70px 22px}.reservation-band,.social-band{padding:55px 22px;display:block}.reservation-band>div:last-child{text-align:left;margin-top:28px}.room-list{gap:70px}.room-detail,.room-detail.reverse{display:block}.room-detail img{height:100vw}.room-detail>div{padding-top:32px}.room-detail ul{grid-template-columns:1fr}.amenities-grid,.values-grid,.fact-cards{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-item:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:4/5}.instagram-head{display:block}.instagram-head .outline-btn{margin-top:25px}.instagram-preview{grid-template-columns:1fr 1fr}.about-story{display:block}.about-story .section-label{margin-top:0}.fact-cards{margin:55px 0}.contact-cards{grid-template-columns:1fr}.contact-cards article{min-height:auto}.contact-map{height:500px}.social-buttons{margin-top:30px}.faq-item button{font-size:16px}.faq-answer p{padding-right:0}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.footer-col:last-child{grid-column:auto}.footer-bottom{display:grid;gap:10px}.hero-actions{display:grid}.primary-btn,.ghost-btn{width:100%}.mini-links{grid-template-columns:1fr}.instagram-preview .insta-tile:nth-child(n+5){display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.page-loader{display:none}.reveal{opacity:1;transform:none}.reveal-image{clip-path:none}}

/* Reference-inspired MK Colombo homepage */
body[data-page="home"] .site-header{display:none}
body[data-page="home"]{background:#f7f5f0;color:#171717}
.reference-home{overflow:hidden}
.reference-hero{position:relative;background:#fff;min-height:100vh;padding-top:88px}
.reference-topbar{position:absolute;z-index:20;top:0;left:0;width:100%;height:88px;background:#fff;display:grid;grid-template-columns:310px 250px 1fr;align-items:stretch;border-bottom:1px solid #ece9e1}
.reference-logo{display:flex;align-items:center;justify-content:center;padding:18px 34px;border-right:1px solid #ece9e1}
.reference-logo img{width:205px;height:auto}
.reference-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);height:88px}
.reference-menu-toggle,.quick-action{border:0;border-right:1px solid #ece9e1;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-transform:uppercase;letter-spacing:.09em;font-size:10px;color:#171717}
.reference-menu-toggle span{display:block;width:22px;height:2px;background:#171717;margin:1px}.reference-menu-toggle small,.quick-action small{font-size:8px;font-weight:600}.quick-action span{font-size:19px}.quick-action.featured{background:#1f1b18;color:#fff}
.reference-nav{display:flex;align-items:center;justify-content:flex-end;gap:32px;padding:0 4vw}.reference-nav a{font-size:12px;color:#3e3b36}.reference-nav a.active{font-weight:700;color:#111}
.reference-hero-media{position:relative;height:calc(100vh - 88px);min-height:650px;overflow:hidden}
.reference-hero-media>img{width:100%;height:100%;object-fit:cover;animation:referenceZoom 13s ease-out both}
@keyframes referenceZoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.reference-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,13,.08),rgba(7,11,13,.12)),linear-gradient(0deg,rgba(7,11,13,.5),transparent 55%)}
.reference-hero-copy{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);text-align:center;color:#fff;width:min(780px,88vw);text-shadow:0 3px 20px rgba(0,0,0,.25)}
.reference-hero-copy p,.reference-kicker{text-transform:uppercase;letter-spacing:.23em;font-size:10px;font-weight:600}
.reference-hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(50px,6.4vw,92px);line-height:.98;margin:20px 0 18px}
.reference-hero-copy span{font-size:13px;letter-spacing:.03em}.reference-scroll{position:absolute;left:50%;bottom:112px;color:#fff;font-size:28px;z-index:3}
.reference-booking{position:absolute;z-index:10;left:50%;bottom:0;transform:translate(-50%,45%);width:min(1060px,90vw);display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;background:#fbfaf7;box-shadow:0 22px 55px rgba(33,29,24,.18)}
.reference-booking label{padding:18px 22px;border-right:1px solid #dedbd2}.reference-booking label span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#777269;margin-bottom:8px}.reference-booking input,.reference-booking select{border:0;background:transparent;width:100%;font:inherit;color:#24211e;outline:none}.reference-booking button{border:0;background:#1e1b18;color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:10px;cursor:pointer}
.reference-intro{padding:180px 8vw 130px;text-align:center;max-width:980px;margin:auto}.reference-intro h2,.reference-feature h2,.reference-section-head h2,.reference-location h2{font-family:var(--serif);font-size:clamp(46px,5.8vw,82px);line-height:1.03;font-weight:400;margin:20px 0}.reference-intro h2 em,.reference-feature h2 em,.reference-location h2 em{font-weight:400;color:#857561}.reference-intro-copy{max-width:650px;margin:0 auto 28px;color:#6f6a63;line-height:1.8}.reference-text-link{font-size:11px;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid #222;padding-bottom:7px}
.reference-feature{display:grid;grid-template-columns:1.35fr .85fr;min-height:720px;background:#fff}.reference-feature-image img{height:100%;min-height:720px}.reference-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw}.reference-feature-copy p:not(.reference-kicker){color:#6f6a63;line-height:1.8;max-width:430px;margin-bottom:35px}.reference-button{display:inline-flex;align-self:flex-start;align-items:center;gap:12px;padding:17px 28px;border:1px solid #211e1a;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.reference-button svg{width:18px;height:18px;transition:transform 220ms var(--ease-out)}.reference-button:hover svg{transform:translateX(4px)}.reference-button.light{border-color:var(--gold);background:var(--gold);color:var(--ink)}.reference-button.light:hover{border-color:#f3e3bd;background:#f3e3bd;color:var(--ink);box-shadow:0 14px 32px rgba(0,0,0,.2)}
.reference-collection{padding:125px 6vw;background:#f7f5f0}.reference-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.reference-section-head h2{margin-bottom:0;font-size:clamp(44px,5vw,72px)}.reference-section-head>a{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.reference-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reference-cards a{position:relative;height:590px;overflow:hidden}.reference-cards img{transition:transform 1s var(--ease)}.reference-cards a:hover img{transform:scale(1.04)}.reference-cards a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.reference-cards div{position:absolute;left:28px;bottom:25px;color:#fff;z-index:2}.reference-cards span{font-family:var(--serif);font-size:33px}.reference-cards small{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:9px;margin-top:4px}
.reference-location{display:grid;grid-template-columns:.8fr 1.2fr;background:#182126;color:#fff;min-height:610px}.reference-location>div{padding:8vw;display:flex;flex-direction:column;justify-content:center}.reference-location p:not(.reference-kicker){color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:32px}.reference-location iframe{width:100%;height:100%;border:0;filter:grayscale(.45) contrast(.9)}
@media(max-width:1050px){.reference-topbar{grid-template-columns:220px 230px 1fr}.reference-nav{gap:17px;padding:0 2vw}.reference-nav a{font-size:10px}.reference-logo img{width:165px}.reference-feature{grid-template-columns:1fr}.reference-feature-image img{min-height:560px}.reference-cards a{height:470px}}
@media(max-width:760px){.reference-hero{padding-top:76px}.reference-topbar{height:76px;grid-template-columns:1fr auto}.reference-logo{justify-content:flex-start;padding:14px 18px;border-right:0}.reference-logo img{width:165px}.reference-quick-actions{height:76px}.reference-quick-actions .quick-action:not(.featured){display:none}.reference-quick-actions{grid-template-columns:65px 76px}.reference-nav{display:none}.reference-menu-toggle{order:2}.quick-action.featured{order:1}.reference-hero-media{height:calc(100svh - 76px);min-height:670px}.reference-hero-copy{top:48%}.reference-hero-copy h1{font-size:clamp(48px,15vw,72px)}.reference-hero-copy span{font-size:11px}.reference-scroll{bottom:154px}.reference-booking{width:calc(100% - 24px);grid-template-columns:1fr 1fr;transform:translate(-50%,55%)}.reference-booking label{padding:14px}.reference-booking label:nth-child(3){border-top:1px solid #dedbd2}.reference-booking button{min-height:60px}.reference-intro{padding:155px 22px 90px}.reference-feature-image img{min-height:440px}.reference-feature-copy{padding:80px 24px}.reference-collection{padding:90px 20px}.reference-section-head{display:block}.reference-section-head>a{display:inline-block;margin-top:20px}.reference-cards{grid-template-columns:1fr}.reference-cards a{height:115vw;max-height:560px}.reference-location{grid-template-columns:1fr}.reference-location>div{padding:80px 24px}.reference-location iframe{height:480px}}

/* Performance, keyboard and touch hardening. */
.scroll-progress span {
  transform-origin: left center;
  will-change: transform;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

:where(a, button, input, select, [tabindex]):focus-visible {
  outline: 3px solid #e6c781;
  outline-offset: 4px;
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  max-height: none;
  transition: grid-template-rows .32s cubic-bezier(.16, 1, .3, 1);
}
.faq-answer p { overflow: hidden; }
.faq-item.open .faq-answer { grid-template-rows: 1fr; }

@media (pointer: coarse), (max-width: 720px) {
  .menu-button { width: 44px; height: 44px; }
  .reference-booking input,
  .reference-booking select { min-height: 44px; font-size: 16px; }
  .reference-scroll,
  .text-link,
  .experience-copy a,
  .footer-col a,
  .reservation-band a,
  .contact-cards a { min-height: 44px; display: inline-flex; align-items: center; }
  .footer-col { gap: 4px; }
}

/* Decoded, interruptible gallery lightbox motion. */
.lightbox { transition: opacity 280ms var(--ease-out), visibility 280ms; }
.lightbox img {
  opacity: 0;
  transform: scale(.97);
  transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out);
  will-change: opacity, transform;
}
.lightbox.open img.is-ready {
  opacity: 1;
  transform: none;
  transition-duration: 280ms;
}

@media (prefers-reduced-motion: reduce) {
  .lightbox { transition: opacity 200ms ease, visibility 200ms !important; }
  .lightbox img { transform: none !important; transition: opacity 200ms ease !important; }
}

/* Premium motion accents: photographic reveals and tactile controls. */
.reference-button,
.reference-text-link,
.text-link,
.experience-copy a,
.final-cta a,
.book-btn {
  overflow: hidden;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
}

.reference-button:hover,
.reference-text-link:hover,
.text-link:hover,
.experience-copy a:hover,
.final-cta a:hover {
  transform: translateY(-2px);
}

.reference-text-link span,
.book-btn svg,
.mobile-book svg,
.text-link svg,
.experience-copy a svg,
.final-cta a svg {
  transition: transform 220ms var(--ease-out);
}

.reference-text-link:hover span,
.book-btn:hover svg,
.mobile-book:hover svg,
.text-link:hover svg,
.experience-copy a:hover svg,
.final-cta a:hover svg {
  transform: translateX(5px);
}

.reference-cards > a::before,
.room-card::before,
.gallery-item::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 28%, rgba(255,255,255,.18) 48%, transparent 68%);
  transform: translateX(-125%);
  transition: transform 620ms var(--ease-out);
}

.reference-cards > a:hover::before,
.room-card:hover::before,
.gallery-item:hover::before { transform: translateX(125%); }

.reference-cards > a,
.room-card,
.gallery-item { position: relative; isolation: isolate; }

@media (prefers-reduced-motion: reduce) {
  .reference-button,
  .reference-text-link,
  .text-link,
  .experience-copy a,
  .final-cta a,
  .book-btn,
  .reference-text-link span,
  .book-btn svg,
  .mobile-book svg,
  .text-link svg,
  .experience-copy a svg,
  .final-cta a svg { transition-duration: 0.01ms !important; transform: none !important; }
  .reference-cards > a::before,
  .room-card::before,
  .gallery-item::before { display: none; }
}

/* 2026 premium motion pass: quiet depth, clear hierarchy and no perpetual motion. */
.page-loader .loader-mark img {
  animation: loader-mark-arrival 480ms var(--ease-out) both;
}

.page-loader .loader-mark span {
  animation: loader-rule-arrival 440ms 80ms var(--ease-out) both;
}

@keyframes loader-mark-arrival {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: none; }
}

@keyframes loader-rule-arrival {
  from { opacity: 0; transform: scaleX(.2); }
  to { opacity: 1; transform: scaleX(1); }
}

.tropicana-loader .loader-mark img {
  animation-name: tropikana-loader-arrival;
}

@keyframes tropikana-loader-arrival {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: none; }
}

.site-header {
  animation: header-arrival 520ms 80ms var(--ease-out) backwards;
}

@keyframes header-arrival {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: none; }
}

.reveal {
  transform: translateY(18px);
  transition: opacity 480ms ease, transform 560ms var(--ease-out);
}

.reveal.visible { transform: none; }

.reveal-image {
  opacity: 0;
  clip-path: none;
  transform: translateY(14px);
  transition: opacity 420ms ease, transform 580ms var(--ease-out);
}

.reveal-image.visible { opacity: 1; clip-path: none; transform: none; }

.reveal-image > img {
  transform: scale(1.025);
  transition: transform 680ms var(--ease-out);
}

.reveal-image.visible > img { transform: scale(1); }

.experience-image img,
.cinematic-image img,
.image-panel img {
  transition: transform 700ms var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .experience-row:hover .experience-image img,
  .cinematic-image:hover img,
  .restaurant-preview:hover .image-panel img {
    transform: scale(1.035);
  }

  .faq-item button { transition: color 200ms ease; }
  .faq-item button:hover { color: #8c7247; }
}

.mobile-menu nav a {
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 240ms ease, transform 340ms var(--ease-out), color 160ms ease;
}

.mobile-menu.open nav a { opacity: 1; transform: none; }
.mobile-menu.open nav a:nth-child(1) { transition-delay: 35ms; }
.mobile-menu.open nav a:nth-child(2) { transition-delay: 70ms; }
.mobile-menu.open nav a:nth-child(3) { transition-delay: 105ms; }
.mobile-menu.open nav a:nth-child(4) { transition-delay: 140ms; }
.mobile-menu.open nav a:nth-child(5) { transition-delay: 175ms; }
.mobile-menu.open nav a:nth-child(6) { transition-delay: 210ms; }
.mobile-menu.open nav a:nth-child(7) { transition-delay: 245ms; }

@media (prefers-reduced-motion: reduce) {
  .page-loader .loader-mark img,
  .page-loader .loader-mark span,
  .site-header { animation: none !important; }
  .reveal { filter: none !important; }
  .reveal-image > img,
  .experience-image img,
  .cinematic-image img,
  .image-panel img,
  .mobile-menu nav a { transform: none !important; transition: none !important; }
  .mobile-menu nav a { opacity: 1; }
}
