:root{--green:#2f6b27;--deep:#183d22;--gold:#b8944d;--ink:#18311d;--muted:#66705f;--paper:#f8f7f0;--line:#dfe5d7;--white:#fff;--shadow:0 24px 70px #1c3b1c1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}.site{overflow:hidden}.seasonal-decoration{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:hidden}.seasonal-leaf{top:-50px;left:var(--leaf-left);width:var(--leaf-size);fill:#27a716b8;opacity:0;height:auto;animation:leafDrift var(--leaf-duration) ease-in var(--leaf-delay) both;position:absolute}.seasonal-leaf-1{fill:#e3a832b3}.seasonal-leaf-2{fill:#84dc10ad}.seasonal-leaf-vein{fill:none;stroke:#ffffff8c;stroke-width:1px;stroke-linecap:round}.seasonal-leaf-petiole{fill:none;stroke:#ffffffd9;stroke-width:1.5px;stroke-linecap:round}.seasonal-firework-group{pointer-events:none;position:absolute;inset:0}.seasonal-firework{left:var(--firework-left);top:var(--firework-top);width:1px;height:1px;position:absolute}.seasonal-firework-color-0{--firework-color:#ffca48}.seasonal-firework-color-1{--firework-color:#ff4f9a}.seasonal-firework-color-2{--firework-color:#45ddf5}.seasonal-firework-color-3{--firework-color:#ad7aff}.seasonal-firework-particle{width:3px;height:var(--particle-distance);background:linear-gradient(to bottom, #fffdf0 0%, var(--firework-color) 20%, var(--firework-color) 66%, transparent 100%);box-shadow:0 0 5px var(--firework-color);opacity:0;transform-origin:50% 0;animation:fireworkParticle var(--firework-duration) ease-out calc(var(--firework-delay) + var(--particle-delay)) infinite;border-radius:50% 50% 2px 2px;display:block;position:absolute;top:0;left:0}.seasonal-firework-core{background:radial-gradient(circle, #fff 0 12%, #fff8cc 28%, var(--firework-color) 55%, transparent 76%);opacity:0;width:10px;height:10px;animation:fireworkCore var(--firework-duration) ease-out var(--firework-delay) infinite;border-radius:50%;display:block;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.1)}.seasonal-firework-rocket{bottom:0;left:var(--firework-left);background:linear-gradient(to top, transparent, var(--firework-color) 45%, #fff 100%);width:5px;height:16px;filter:drop-shadow(0 0 5px var(--firework-color));opacity:0;animation:fireworkRocket var(--firework-duration) cubic-bezier(.25, .65, .35, 1) var(--firework-delay) infinite;border-radius:50% 50% 40% 40%;margin-left:-2px;position:absolute}.seasonal-firework-launch{bottom:0;left:var(--firework-left);width:2px;height:calc(100vh - var(--firework-top));background:linear-gradient(to top, transparent, var(--firework-color) 75%, #fff6cf);content:"";opacity:0;transform-origin:bottom;animation:fireworkLaunch var(--firework-duration) ease-out var(--firework-delay) infinite;position:absolute}.topbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#ffffffeb,#ffffff8c,#0000);align-items:center;gap:28px;height:90px;padding:16px 3.5vw;display:flex;position:fixed;top:0;left:0;right:0}.logo{width:240px;color:var(--ink);grid-template-rows:auto auto auto;grid-template-columns:30px auto;column-gap:7px;line-height:1;text-decoration:none;display:grid}.logo-leaf{color:var(--green);grid-row:1/4;font-size:38px;transform:rotate(-18deg)}.logo-main{letter-spacing:5px;font:600 25px Playfair Display}.logo-sub{letter-spacing:5px;margin-top:4px;font-size:11px}.logo-tag{letter-spacing:1px;color:#4f654d;margin-top:8px;font-size:8px}.nav{flex:1;justify-content:center;gap:25px;display:flex}.nav button,.journey-nav button,.footer-links button{text-transform:uppercase;color:#1e2f20;background:0 0;border:0;font-size:12px}.nav button{padding:10px 0;position:relative}.nav button.active:after{content:"";background:var(--green);border-radius:50%;width:5px;height:5px;position:absolute;bottom:1px;left:50%}.book-top,.btn{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.3px;border:0;border-radius:30px;padding:15px 24px;font-weight:700;box-shadow:0 12px 30px #2f6b272e}.book-top{white-space:nowrap}.menu-btn{border:1px solid var(--green);width:44px;height:44px;color:var(--green);background:#fff;border-radius:50%;display:none}.journey-nav{z-index:20;flex-direction:column;gap:3px;display:flex;position:fixed;top:29%;left:30px}.journey-nav button{text-align:left;color:#586457;align-items:center;gap:12px;min-width:110px;padding:8px 0;font-size:10px;display:flex}.journey-nav button span{border:1px solid #aab4a4;border-radius:50%;place-items:center;width:18px;height:18px;font-size:8px;display:grid}.journey-nav button.active{color:var(--green);font-weight:700}.journey-nav button.active span{background:var(--green);border-color:var(--green);color:#fff}.hero{min-height:100vh;color:var(--ink);isolation:isolate;align-items:center;padding:110px 9vw 150px;display:flex;position:relative}.hero-image{z-index:-3;background-position:50%;background-size:cover;animation:16s ease-in-out infinite alternate slowZoom;position:absolute;inset:0;transform:scale(1.04)}.hero-wash{z-index:-2;background:linear-gradient(90deg,#fffffffa 0%,#ffffffde 34%,#ffffff47 65%,#ffffff14 100%),linear-gradient(#0000 58%,#ffffffb3);position:absolute;inset:0}.hero-copy{width:600px;margin-top:30px}.eyebrow{letter-spacing:2px;color:var(--green);margin:0 0 15px;font-size:13px;font-weight:600}.hero h1{color:#153d1c;letter-spacing:-3px;margin:0;font:600 clamp(58px,7vw,92px)/.95 Playfair Display}.hero h1 em{color:var(--gold);font-style:normal}.leaf-line{color:var(--green);margin:18px 0;font-size:30px;display:block}.hero-text{color:#304031;max-width:520px;font-size:17px;line-height:1.65}.hero-text b{color:var(--green)}.hero-actions{align-items:center;gap:25px;margin-top:28px;display:flex}.story-btn{color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;display:flex}.story-btn span{border:1px solid var(--green);width:42px;height:42px;color:var(--green);border-radius:50%;place-items:center;display:grid}.booking-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:310px;box-shadow:var(--shadow);color:var(--ink);z-index:5;background:#ffffffeb;border:1px solid #fffffff2;border-radius:24px;padding:25px;position:absolute;top:17%;right:4vw}.booking-head{border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:15px;padding-bottom:16px;font:600 17px Playfair Display;display:flex}.booking-head b{color:var(--green)}.book-now-card p{color:#51604c;margin:6px 0 18px;font-size:13px;line-height:1.7}.btn{text-align:center;text-decoration:none;display:inline-block}.booking-card label{color:#72806d;letter-spacing:1px;margin:13px 0 6px;font-size:9px;display:block}.fake-field,.booking-card select{width:100%;color:var(--ink);background:#fbfcf9;border:1px solid #e0e6db;border-radius:9px;padding:10px}.fake-field{justify-content:space-between;font-size:12px;display:flex}.inline-fields{grid-template-columns:1fr 1fr;gap:7px;display:grid}.segmented{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.segmented button{color:#42533f;background:#fff;border:1px solid #d8e0d2;border-radius:8px;padding:9px 3px;font-size:11px}.segmented button.selected{color:var(--green);background:#e8f1e2;border-color:#b9cfaf;font-weight:700}.stepper{align-items:center;gap:14px;display:flex}.stepper button{border:1px solid var(--line);background:#fff;border-radius:50%;width:30px;height:30px}.total{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.total span{color:#74806f;letter-spacing:1px;font-size:9px;display:block}.total b{color:var(--green);font:600 26px Playfair Display}.full{width:100%;margin-top:13px}.scroll-cue{color:var(--green);flex-direction:column;align-items:center;gap:6px;font-size:25px;display:flex;position:absolute;bottom:190px;left:6%}.scroll-cue span{letter-spacing:1px;text-align:center;font-size:9px}.quick-actions{gap:14px;display:flex;position:absolute;bottom:165px;right:4.5vw}.quick-actions a{color:var(--green);flex-direction:column;align-items:center;gap:4px;font-size:23px;text-decoration:none;display:flex}.quick-actions span{letter-spacing:1px;font-size:9px}.story-rail{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border:1px solid #2f6b271f;border-radius:20px;grid-template-columns:repeat(7,1fr);gap:8px;padding:10px;display:grid;position:absolute;bottom:22px;left:7.5%;right:7.5%;box-shadow:0 20px 50px #142d191a}.story-rail button{text-align:left;color:#fff;background:#eee;border:0;border-radius:13px;flex-direction:column;justify-content:space-between;height:92px;padding:12px;display:flex;position:relative;overflow:hidden}.story-rail button:before{content:"";z-index:0;background:linear-gradient(#0000001a,#000000a6);position:absolute;inset:0}.story-rail button:after{content:"";background-image:var(--rail-bg);position:absolute;inset:0}.story-rail button:first-child{background:url(/assets/lake-CihTWd98.jpg) 50%/cover}.story-rail button:nth-child(2){background:url(/assets/garden-DXPTvYED.jpg) 50%/cover}.story-rail button:nth-child(3){background:url(/assets/room-deluxe-sWo9kM67.jpg) 50%/cover}.story-rail button:nth-child(4){background:url(/assets/dining-DWt0JnwL.jpg) 50%/cover}.story-rail button:nth-child(5){background:url(/assets/family-B83K1wP7.jpg) 50%/cover}.story-rail button:nth-child(6){background:url(/assets/celebration-BMBPgWLm.jpg) 50%/cover}.story-rail button:nth-child(7){background:url(/assets/hero-lake-GkiAb9bH.jpg) 50%/cover}.story-rail small,.story-rail b{z-index:2;position:relative}.story-rail small{font-size:9px}.story-rail b{font-size:13px}.section{padding:110px 7.5vw;position:relative}.white-section{background:#fff}.paper-section{background:linear-gradient(#f8f7f0,#fff)}.section-heading{text-align:center;margin-bottom:55px}.section-heading h1,.section-heading h2{color:#17371e;margin:0;font:600 clamp(42px,5vw,64px) Playfair Display}.section-heading h1 span,.section-heading h2 span{color:var(--green);font-size:28px}.section-heading em{color:#72835e;margin-top:-2px;font:30px Italianno,cursive;display:block}.rooms-grid{grid-template-columns:1fr 1fr;gap:26px;max-width:1080px;margin:auto;display:grid}.room-card{background:#fff;border:1px solid #e5e9df;border-radius:24px;transition:all .45s;overflow:hidden;box-shadow:0 20px 50px #1c3b1c14}.room-card:hover{transform:translateY(-10px);box-shadow:0 30px 70px #1c3b1c24}.room-img{height:340px;position:relative;overflow:hidden}.room-img img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.room-card:hover img{transform:scale(1.06)}.room-img span{color:#fff;background:#91b75c;border-radius:15px;padding:6px 10px;font-size:9px;font-weight:700;position:absolute;top:16px;left:16px}.room-body{padding:25px}.room-meta{color:#6b7766;gap:20px;font-size:10px;display:flex}.room-body h3{margin:10px 0;font:600 30px Playfair Display}.room-body p{color:#687364;line-height:1.6}.room-bottom{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.room-price{flex-wrap:wrap;align-items:baseline;gap:4px 9px;display:flex}.room-price del{color:#788071;font-size:13px}.room-price strong{color:var(--green);font:600 18px Playfair Display}.room-price small{color:#76806f;font:12px DM Sans}.room-discount{color:#8a5a00;white-space:nowrap;background:#fff0cf;border-radius:12px;padding:4px 8px;font-size:10px;font-weight:700}.room-bottom button{background:var(--green);color:#fff;text-transform:uppercase;border:0;border-radius:9px;padding:12px 16px;font-size:10px;font-weight:700}.package-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1050px;margin:auto;display:grid}.package-card{text-align:center;background:#fff;border:1px solid #e2e8db;border-radius:18px;padding:30px;transition:all .35s}.package-card.selected,.package-card:hover{border-color:#8eb177;transform:translateY(-7px);box-shadow:0 20px 50px #2f6b271a}.package-code{color:var(--green);letter-spacing:1px;font-size:11px;font-weight:700;display:inline-block}.package-pricing{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 9px;margin:17px 0 7px;display:flex}.package-pricing del{color:#788071;font-size:14px}.package-pricing h3{margin:0;font:600 38px Playfair Display}.package-pricing h3 small{color:#76806f;font:400 13px DM Sans}.package-discount{color:#8a5a00;white-space:nowrap;background:#fff0cf;border-radius:12px;padding:4px 8px;font-size:10px;font-weight:700}.package-card p{color:#657062;min-height:42px;font-size:13px}.package-card button{color:var(--green);text-transform:uppercase;background:#eef5e9;border:1px solid #cfdac7;border-radius:8px;margin-top:18px;padding:11px 16px;font-size:10px;font-weight:700}.extra-bed{text-align:center;color:#52614d;background:#fbfcf8;border:1px dashed #cdd8c6;border-radius:14px;max-width:1050px;margin:20px auto 0;padding:16px}.split-feature{max-width:1120px;min-height:520px;box-shadow:var(--shadow);border-radius:28px;grid-template-columns:1.1fr .9fr;margin:auto;display:grid;overflow:hidden}.feature-image{background-position:50%;background-size:cover}.feature-copy{background:#f8f7f0;flex-direction:column;justify-content:center;padding:70px 55px;display:flex}.feature-copy h2{margin:0 0 15px;font:600 58px Playfair Display}.feature-copy>p:not(.eyebrow){color:#667365;line-height:1.7}.food-pills{grid-template-columns:repeat(2,1fr);gap:10px;margin:25px 0;display:grid}.food-pills span{background:#fff;border:1px solid #dbe3d5;border-radius:10px;padding:12px;font-size:12px}.experience-grid{grid-template-columns:repeat(6,1fr);gap:12px;max-width:1120px;margin:auto;display:grid}.experience-card{color:#fff;background:#ddd;border-radius:18px;height:410px;position:relative;overflow:hidden}.experience-card img{object-fit:cover;width:100%;height:100%;transition:all .7s}.experience-card:after{content:"";background:linear-gradient(#0000000d,#000000bf);position:absolute;inset:0}.experience-card:hover img{transform:scale(1.08)}.experience-card span,.experience-card h3,.experience-card button{z-index:2;position:absolute}.experience-card span{font-size:10px;top:15px;left:15px}.experience-card h3{font:500 20px Playfair Display;bottom:38px;left:15px}.experience-card button{color:#fff;background:0 0;border:0;font-size:10px;bottom:13px;left:15px}.event-wrap{max-width:1120px;box-shadow:var(--shadow);background:#f8f7f0;border-radius:28px;grid-template-columns:1fr 1fr;margin:auto;display:grid;overflow:hidden}.event-wrap>img{object-fit:cover;width:100%;height:100%;min-height:620px}.event-panel{padding:50px}.event-types{flex-wrap:wrap;gap:9px;margin-bottom:35px;display:flex}.event-types span{color:#5e6c59;border:1px solid #dbe4d5;border-radius:30px;padding:8px 11px;font-size:10px}.event-panel h2{margin:0;font:600 50px/1 Playfair Display}.event-panel h2 em{color:var(--green);font:40px Italianno}.event-panel>p{color:#687365;line-height:1.7}.event-form{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.event-form input,.event-form select,.event-form textarea,.booking-form input,.booking-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dce4d8;border-radius:10px;outline:none;padding:12px}.event-form textarea{resize:vertical;grid-column:1/-1;min-height:100px}.event-form button{grid-column:1/-1}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px;max-width:1120px;margin:auto;display:grid}.gallery-tile{background:#ddd;border:0;border-radius:16px;padding:0;position:relative;overflow:hidden}.gallery-tile img{object-fit:cover;width:100%;height:100%;transition:all .7s}.gallery-tile:hover img{transform:scale(1.08)}.tile-0{grid-row:span 2}.tile-1{grid-column:span 2}.tile-3{grid-row:span 2}.nearby-section{background:linear-gradient(#fff,#f3f5e9)}.nearby-content{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:stretch;gap:30px;max-width:1200px;margin:0 auto;display:grid}.nearby-map-card{background:#fff;border:1px solid #e1e7d9;border-radius:25px;min-width:0;padding:22px;box-shadow:0 20px 55px #1c3b1c14}.nearby-map-heading{align-items:center;gap:12px;margin:0 0 15px 4px;display:flex}.nearby-map-pin{width:38px;height:38px;color:var(--green);background:#eaf1e3;border-radius:50%;place-items:center;font-size:25px;display:grid}.nearby-map-heading strong,.nearby-map-heading span:not(.nearby-map-pin){display:block}.nearby-map-heading strong{font-size:14px}.nearby-map-heading span:not(.nearby-map-pin){color:var(--muted);margin-top:3px;font-size:12px}.nearby-map{border-radius:18px;width:100%;height:auto;display:block}.map-label,.map-sub-label,.map-region-label,.map-stop-number{font-family:DM Sans,sans-serif}.map-label{fill:#27462b;letter-spacing:.8px;font-size:13px;font-weight:700}.map-label-resort{font-size:12px}.map-sub-label{fill:#667b5d;letter-spacing:1px;font-size:10px;font-weight:600}.map-stop-number{fill:#29452a;font-size:13px;font-weight:700}.map-stop-number-resort{fill:#fff}.map-lake-label{fill:#246b70;letter-spacing:1.2px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700}.map-region-label{fill:#849578;letter-spacing:2px;font-size:12px;font-weight:600}.nearby-map-legend{color:#56634f;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:17px 4px 0;font-size:11px;display:flex}.nearby-map-legend span{align-items:center;gap:7px;display:inline-flex}.nearby-map-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.legend-resort{background:var(--green)}.legend-stop{border:2px solid var(--gold);background:#fff}.nearby-map-legend .map-not-to-scale{color:#899184;margin-left:auto}.nearby-stops{flex-direction:column;gap:12px;display:flex}.nearby-stop-card{background:#ffffffd6;border:1px solid #e1e7d9;border-radius:18px;flex:1;gap:16px;padding:20px;transition:transform .25s,box-shadow .25s;display:flex}.nearby-stop-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #1c3b1c17}.nearby-stop-number{color:#876b37;border:1px solid #e7dcc1;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.nearby-stop-details{min-width:0}.nearby-stop-type{color:var(--green);letter-spacing:1.4px;margin:1px 0 5px;font-size:9px;font-weight:700}.nearby-stop-details h3{color:#17371e;margin:0;font:600 22px Playfair Display}.nearby-stop-description{color:#66705f;margin:7px 0 9px;font-size:12px;line-height:1.6}.nearby-stop-details a{color:var(--green);font-size:11px;font-weight:700;text-decoration:none}.nearby-stop-details a:hover{text-decoration:underline}.nearby-stop-current{color:var(--green);font-size:11px;font-weight:700}.nearby-stop-details a span{margin-left:3px}.nearby-note{color:#788071;margin:1px 5px 0;font-size:10px;line-height:1.5}.contact-section{color:#fff;background:#17371e;grid-template-columns:.8fr 1.2fr;gap:60px;padding-top:120px;padding-bottom:120px;display:grid}.contact-section .eyebrow{color:#c8d6b6}.contact-section h2{margin:0 0 20px;font:600 58px Playfair Display}.contact-lead{color:#d4dfce;line-height:1.7}.contact-lines{flex-direction:column;gap:11px;margin:25px 0;display:flex}.contact-lines a{color:#fff;text-decoration:none}.contact-buttons{gap:9px;display:flex}.contact-buttons a{color:#17371e;text-transform:uppercase;background:#c6dfac;border-radius:9px;padding:12px 16px;font-size:10px;font-weight:700;text-decoration:none}.map-card{border:1px solid #ffffff26;border-radius:24px;min-height:420px;overflow:hidden}.map-card iframe{filter:saturate(.65);border:0;width:100%;height:100%;min-height:420px}footer{color:#d8e1d3;background:#0f2915;grid-template-columns:260px 1fr auto;align-items:center;gap:40px;padding:55px 7.5vw;display:grid}.social-section{color:#17371e;background:#e8eee4;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 48px;padding:32px 7.5vw;display:flex}.social-section h2{margin:0;font:600 23px Playfair Display}.social-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 32px;display:flex}.social-link{color:inherit;align-items:center;gap:9px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.social-link svg{flex:none;width:23px;height:23px}.social-link:hover{color:#597b45}footer .logo{color:#fff}footer .logo-tag{color:#9fb09a}.footer-links{flex-wrap:wrap;gap:18px;display:flex}.footer-links button{color:#cbd6c6;font-size:10px}.footer-links a{color:#cbd6c6;text-transform:uppercase;font-size:10px;text-decoration:none}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-links+span{color:#8fa08a;font-size:10px}.modal-backdrop,.lightbox{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#091e0e80;place-items:center;padding:25px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(560px,100%);max-height:90vh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 100px #0000004d}.modal h2{margin:0 0 8px;font:600 42px Playfair Display}.room-details-modal{background:#fff;border-radius:24px;width:min(780px,100%);max-height:90vh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 100px #0000004d}.room-details-modal h2{color:#17371e;margin:0 0 8px;padding-right:35px;font:600 36px Playfair Display}.room-details-description{color:#667365;line-height:1.6}.room-details-modal h3{color:#17371e;margin:24px 0 12px;font:600 20px Playfair Display}.room-details-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.room-details-photo{cursor:pointer;aspect-ratio:4/3;background:#f1f4ee;border:0;border-radius:12px;padding:0;overflow:hidden}.room-details-photo img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.room-details-photo:hover img{transform:scale(1.05)}.room-details-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:18px;display:flex}.room-details-footer p{color:#667365;margin:0}.room-details-footer strong{color:var(--green);font:600 22px Playfair Display}@media (width<=520px){.room-details-backdrop{padding:14px}.room-details-modal{padding:28px 20px}.room-details-modal h2{font-size:30px}.room-details-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-details-footer{flex-direction:column;align-items:stretch}}.modal-summary{color:#667365}.diwali-offer-overlay{z-index:65;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(4px);-webkit-overflow-scrolling:touch;background:#46160e9e;place-items:center;animation:.2s ease-out both giftBackdropIn;display:grid;position:fixed;inset:0;overflow-y:auto}.diwali-offer-popup{width:min(520px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));-webkit-overflow-scrolling:touch;transform-origin:50%;background:linear-gradient(160deg,#fff0cf,#fffaf0 48%,#ffe6bf);border:2px solid #d99035;border-radius:26px 7px;padding:24px;animation:.38s cubic-bezier(.18,.75,.28,1.15) both giftOfferPop;position:relative;overflow-y:auto;box-shadow:0 22px 60px #4215116b,inset 0 0 0 4px #ffd77840}.diwali-offer-popup:before{content:"";pointer-events:none;border:1px solid #ae572440;border-radius:19px 3px;position:absolute;inset:8px}.diwali-greeting{background:linear-gradient(115deg,#ed651d,#ffae21 55%,#ffd35a);border-radius:14px 14px 0 0;justify-content:center;align-items:center;gap:16px;margin:-24px -24px 18px;padding:30px 44px 25px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -4px #972a1e24}.diwali-confetti{z-index:0;background:var(--confetti-color);opacity:0;width:7px;height:11px;animation:diwaliConfetti 1.25s cubic-bezier(.15, .7, .25, 1) var(--confetti-delay) both;border-radius:2px;position:absolute;top:50%;left:50%}.diwali-confetti-1{--confetti-x:-190px;--confetti-y:-46px;--confetti-color:#fff1a3;--confetti-delay:40ms;--confetti-rotate:-120deg}.diwali-confetti-2{--confetti-x:-145px;--confetti-y:45px;--confetti-color:#d82c39;--confetti-delay:.1s;--confetti-rotate:155deg}.diwali-confetti-3{--confetti-x:-92px;--confetti-y:-54px;--confetti-color:#ffdf57;--confetti-delay:20ms;--confetti-rotate:240deg}.diwali-confetti-4{--confetti-x:-38px;--confetti-y:49px;--confetti-color:#fffaf0;--confetti-delay:.15s;--confetti-rotate:115deg}.diwali-confetti-5{--confetti-x:35px;--confetti-y:-48px;--confetti-color:#d82c39;--confetti-delay:80ms;--confetti-rotate:205deg}.diwali-confetti-6{--confetti-x:86px;--confetti-y:50px;--confetti-color:#fff1a3;--confetti-delay:.12s;--confetti-rotate:130deg}.diwali-confetti-7{--confetti-x:143px;--confetti-y:-42px;--confetti-color:#f45b39;--confetti-delay:50ms;--confetti-rotate:265deg}.diwali-confetti-8{--confetti-x:194px;--confetti-y:35px;--confetti-color:#fffaf0;--confetti-delay:.17s;--confetti-rotate:190deg}.diwali-confetti-9{--confetti-x:-172px;--confetti-y:-12px;--confetti-color:#f45b39;--confetti-delay:.2s;--confetti-rotate:100deg}.diwali-confetti-10{--confetti-x:174px;--confetti-y:10px;--confetti-color:#ffdf57;--confetti-delay:.22s;--confetti-rotate:310deg}.diwali-greeting p{color:#7d1e26;text-align:center;white-space:nowrap;margin:0;font:700 44px/1.05 Playfair Display,serif}.diwali-greeting span{font-size:34px;line-height:1}.diwali-offer-popup h2{color:#902c2a;max-width:300px;margin:8px 26px 8px 0;font:600 24px/1.2 Playfair Display}.diwali-offer-popup .eyebrow{color:#a54325}.diwali-offer-popup .modal-summary{color:#75412e;margin:0;font-size:13px;line-height:1.5}.diwali-offer-close{color:#8e2c29;background:#f7d88e;border:0;border-radius:50%;place-items:center;width:30px;height:30px;font-size:20px;display:grid;position:absolute;top:12px;right:12px}.diwali-offer-highlight{background:linear-gradient(110deg,#ffe9a8,#fff5d8);border:1px solid #e2a840;border-radius:4px 14px;align-items:center;gap:12px;margin-top:16px;padding:10px 14px;display:flex}.diwali-offer-highlight strong{color:#a52c2c;font:700 34px/1 Playfair Display}.diwali-offer-highlight span{color:#783b22;letter-spacing:.06em;font-size:11px;font-weight:800}.offer-room-discount{color:#8a5a00;background:#fff0cf;border-radius:999px;margin:14px 0 0;padding:8px 12px;font-weight:700;display:inline-block}.offer-book-button{color:#fff4d0;background:linear-gradient(100deg,#b92532,#e34e32);border:1px solid #a7252c;border-radius:7px 15px;width:100%;margin-top:12px;display:block;box-shadow:0 5px 14px #992b2438}.offer-book-button:hover{background:linear-gradient(100deg,#a81f2b,#ce3e2d)}.offer-group{border-top:1px solid #dfb56c;margin-top:16px;padding-top:14px}.offer-group h3{color:#922f2b;margin:0 0 6px;font:600 18px Playfair Display}.offer-group>p:not(.eyebrow){color:#75412e;font-size:12px;line-height:1.5}.offer-group .btn{box-shadow:none;color:#a12e30;background:#fff5dc;border:1px solid #be4938;border-radius:7px 14px;margin-top:4px;font-size:11px}.offer-group .btn:hover{background:#ffe8ad}.diwali-gift-trigger{z-index:60;min-width:0;box-shadow:none;color:#8f202a;cursor:pointer;background:0 0;border:0;border-radius:0;justify-items:center;gap:0;padding:0;animation:2.8s ease-in-out infinite giftBob;display:grid;position:fixed;bottom:10px;left:10px}.diwali-gift-trigger:hover{filter:drop-shadow(0 5px 12px #6f221c47);transform:translateY(-2px)}.diwali-gift-trigger:focus-visible{outline-offset:3px;outline:3px solid #e8a848}.diwali-gift-box{width:196px;height:204px;display:block;position:relative}.diwali-gift-art{filter:drop-shadow(0 4px 5px #4a221538);width:100%;height:100%;display:block;overflow:visible}.diwali-teddy{transform-box:fill-box;transform-origin:50% 100%;animation:2.8s ease-in-out infinite teddyBounce}.diwali-teddy-wave-arm{transform-box:fill-box;transform-origin:88% 92%;animation:1.15s ease-in-out infinite teddyWave}.diwali-teddy-eye{transform-box:fill-box;transform-origin:50%;animation:4.2s ease-in-out infinite teddyBlink}.diwali-teddy-eye:nth-of-type(2){animation-delay:80ms}.diwali-teddy-smile{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite teddySmile}.diwali-teddy-present{transform-box:fill-box;transform-origin:50% 100%;animation:2.8s ease-in-out infinite presentBounce}.diwali-gift-svg-lid{transform-box:fill-box;transform-origin:50% 100%;animation:4.2s ease-in-out infinite giftLidPop}.diwali-gift-sparkle{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite giftSparkle}.diwali-gift-sparkle-small{animation-delay:.8s}.diwali-gift-label{color:#fff4c4;background:#e33b36;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1}.safari-drawer{z-index:105;color:#342820;background:#fff8eb;border:1px solid #ecdcc0;border-radius:18px;width:min(350px,100vw - 32px);max-height:min(680px,100vh - 108px);animation:.32s cubic-bezier(.2,.75,.25,1) safariDrawerSlideIn;position:fixed;bottom:92px;right:20px;overflow:hidden auto;box-shadow:0 18px 48px #2227183d}.safari-drawer-image-wrap{position:relative}.safari-drawer-close{z-index:1;color:#742e25;background:#fff8ebf0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;font-size:24px;line-height:1;display:grid;position:absolute;top:10px;right:10px}.safari-drawer-image{object-fit:contain;width:100%;height:auto;display:block}.safari-drawer-content{padding:18px 20px 20px}.safari-drawer-content .safari-page-kicker{color:#9c5731;margin-bottom:7px}.safari-drawer-content h2{color:#76352a;margin:0;font:600 25px/1.15 Playfair Display,serif}.safari-drawer-description{color:#685642;margin:10px 0 8px;font-size:13px;line-height:1.5}.safari-drawer-note{color:#84715b;margin:0 0 16px;font-size:11px;line-height:1.45}.safari-drawer-enquire{width:100%;padding:11px 16px}@keyframes safariDrawerSlideIn{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.safari-drawer{animation:none}}.wildlife-safari-page{color:#342820;background:#fff8eb;min-height:100vh}.safari-page-header{z-index:1;background:#fff8eb;justify-content:space-between;align-items:center;min-height:74px;padding:12px clamp(20px,5vw,72px);display:flex;position:relative}.safari-page-header button{color:#7d3929;background:0 0;border:0;padding:8px 0;font-weight:700}.safari-page-header button span{margin-right:8px}.safari-page-brand{color:#742e25;font:700 16px Playfair Display,serif;text-decoration:none}.safari-page-brand span{color:#a36a33;letter-spacing:.12em;font:600 10px DM Sans,sans-serif}.safari-page-hero{background:#263a26;align-items:center;min-height:min(650px,76vh);display:flex;position:relative;overflow:hidden}.safari-page-hero>img{object-fit:cover;object-position:center 54%;width:100%;height:100%;position:absolute;inset:0}.safari-page-hero-wash{background:linear-gradient(90deg,#141d15c7,#141d1557 54%,#141d1514);position:absolute;inset:0}.safari-page-hero-copy{z-index:1;color:#fff9e9;max-width:680px;padding:72px clamp(24px,8vw,120px);position:relative}.safari-page-kicker{color:#ffd37b;letter-spacing:.16em;margin:0 0 16px;font-size:11px;font-weight:800}.safari-page-hero h1{color:#fff8e9;margin:0;font:600 64px/1.04 Playfair Display,serif}.safari-page-hero-copy>p:not(.safari-page-kicker){color:#fff9e9e6;max-width:510px;margin:20px 0 26px;font-size:16px;line-height:1.65}.safari-page-primary,.safari-page-secondary{color:#fff6dd;background:#a9342b;border:1px solid #efb646;border-radius:4px 14px;padding:13px 20px;font-weight:700}.safari-page-primary:hover{background:#87291f}.safari-page-location{color:#fff9e9d9;letter-spacing:.08em;font-size:11px;position:absolute;bottom:20px;right:24px}.safari-package-details{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:52px;max-width:1180px;margin:0 auto;padding:68px 32px 76px;display:grid}.safari-package-copy h2{color:#76352a;max-width:560px;margin:0;font:600 38px/1.15 Playfair Display,serif}.safari-package-copy>p:not(.safari-page-kicker){color:#685642;max-width:620px;margin:18px 0 24px;font-size:15px;line-height:1.7}.safari-page-secondary{color:#962e29;background:0 0;border-color:#a9342b}.safari-page-secondary:hover{background:#fff0cf}.safari-package-facts{border-top:1px solid #e6d3ae;align-content:center;gap:0;margin:0;display:grid}.safari-package-facts div{border-bottom:1px solid #e6d3ae;padding:14px 0}.safari-package-facts dt{color:#9c5731;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.safari-package-facts dd{color:#4a3a2a;margin:5px 0 0;font-size:14px;line-height:1.5}@media (width<=760px){.safari-page-header{min-height:64px}.safari-page-hero{min-height:590px}.safari-page-hero h1{font-size:46px}.safari-package-details{grid-template-columns:1fr;gap:32px;padding:48px 24px 58px}.safari-package-copy h2{font-size:32px}}.offer-list{gap:10px;margin-top:22px;display:grid}.offer-package{border:1px solid var(--line);background:#fbfcf8;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:15px;display:flex}.offer-package p{color:#657062;margin:5px 0;font-size:12px}.offer-price{flex-wrap:wrap;align-items:baseline;gap:4px 9px;display:flex}.offer-price del{color:#788071;font-size:12px}.offer-price strong{color:var(--green);font-size:16px}.offer-price small{color:#76806f;font-size:11px;font-weight:400}.offer-action{justify-items:end;gap:8px;display:grid}.offer-action .btn{padding:9px 14px;font-size:10px}.offer-dismiss{color:#667365;background:0 0;border:0;margin:16px auto 0;font-size:12px;text-decoration:underline;display:block}.modal-close{background:#f1f4ee;border:0;border-radius:50%;width:35px;height:35px;font-size:22px;position:absolute;top:18px;right:18px}.booking-form{gap:10px;margin-top:22px;display:grid}.date-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.date-grid label{color:#6d796a;font-size:10px}@media (width<=520px){.diwali-offer-popup{padding:20px}.diwali-greeting{gap:8px;margin:-20px -20px 16px;padding:22px 20px 18px}.diwali-greeting p{font-size:32px}.diwali-greeting span{font-size:24px}.diwali-confetti-1{--confetti-x:-105px}.diwali-confetti-2{--confetti-x:-80px}.diwali-confetti-3{--confetti-x:-50px}.diwali-confetti-4{--confetti-x:-24px}.diwali-confetti-5{--confetti-x:24px}.diwali-confetti-6{--confetti-x:50px}.diwali-confetti-7{--confetti-x:80px}.diwali-confetti-8{--confetti-x:105px}.diwali-confetti-9{--confetti-x:-95px}.diwali-confetti-10{--confetti-x:95px}.offer-package{align-items:flex-start;padding:12px}.offer-action{flex:none}}.date-grid input{margin-top:5px}.booking-form textarea{min-height:90px}.modal-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:8px;padding-top:15px;display:flex}.modal-total strong{color:var(--green);font:600 28px Playfair Display}.lightbox{background:#0a140ad1}.lightbox img{object-fit:contain;border-radius:15px;max-width:min(1100px,92vw);max-height:80vh}.lightbox button{background:#fff;border:0;border-radius:50%;width:42px;height:42px;font-size:28px;position:absolute;top:25px;right:30px}.lightbox strong{color:#fff;font:500 22px Playfair Display;position:absolute;bottom:30px}.toast{z-index:120;color:#fff;background:#183d22;border-radius:12px;max-width:380px;padding:15px 20px;font-size:13px;position:fixed;bottom:25px;right:25px;box-shadow:0 15px 50px #0003}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.btn[disabled]{opacity:.65;cursor:not-allowed}.menu-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;justify-content:space-between;position:static;box-shadow:0 2px 12px #1c3b1c0f}.site.menu-page{overflow:visible}.menu-header-actions{align-items:center;gap:14px;display:flex}.language-switch{border:1px solid var(--line);background:#f8f7f0;border-radius:30px;padding:4px;display:flex}.language-switch button{color:#586457;background:0 0;border:0;border-radius:24px;padding:9px 13px;font-size:12px}.language-switch button.active{background:var(--green);color:#fff}.language-short{display:none}.menu-hero{text-align:center;color:#fff;background:linear-gradient(#10261494,#10261494),url(/assets/IMG_3138-Bm85BH6-.png) 50%/cover;padding-bottom:40px}.menu-hero .section-heading h1,.menu-hero .section-heading h2,.menu-hero .section-heading em,.menu-hero .menu-note{color:#fff}.menu-hero .section-heading .eyebrow{color:#f0e4c6}.menu-note{text-align:center;color:#687364;margin-top:-30px;font-size:13px}.menu-content{grid-template-columns:220px minmax(0,1fr);gap:32px;max-width:1280px;margin:0 auto;padding:0 30px 60px;display:grid}.menu-categories{align-self:start;gap:4px;padding:16px 0;display:grid;position:sticky;top:24px}.menu-category-link{color:#586457;border-left:2px solid #0000;border-radius:0 8px 8px 0;padding:11px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.menu-category-link:hover,.menu-category-link:focus-visible{border-left-color:var(--green);color:var(--green);background:#f1f5ee}.menu-sections{min-width:0}.menu-section{background:#e8f0e5;max-width:none;margin:0 auto;padding-top:50px;padding-bottom:50px}.menu-section[id]{scroll-margin-top:24px}.menu-section-title{color:#17371e;text-align:center;margin:0 0 22px;font:600 32px Playfair Display}.menu-list{gap:18px;display:grid}.menu-item{border-bottom:1px solid var(--line);padding-bottom:14px}.menu-item-head{align-items:center;gap:10px;display:flex}.menu-item-name{color:var(--ink);font-weight:600}.menu-item-price{color:var(--green);margin-left:auto;font-weight:700}.menu-item-desc{color:#687364;margin:6px 0 0;font-size:13px}.diet-dot{border:1.5px solid;border-radius:2px;flex:none;width:10px;height:10px}.diet-dot.veg{background:#eaf5e6;border-color:#2f6b27}.diet-dot.nonveg{background:#fbe9e7;border-color:#a3372c}.reveal{animation:.9s both rise}@keyframes rise{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes slowZoom{0%{transform:scale(1.04)}to{transform:scale(1.1)}}@keyframes leafDrift{0%{opacity:0;transform:translate3d(0, -5vh, 0) rotate(var(--leaf-rotation))}12%{opacity:.9}55%{transform:translate3d(45px, 55vh, 0) rotate(calc(var(--leaf-rotation) + 190deg))}88%{opacity:.8}to{opacity:0;transform:translate3d(-20px, 110vh, 0) rotate(calc(var(--leaf-rotation) + 360deg))}}@keyframes fireworkParticle{0%,41%,to{opacity:0;transform:rotate(var(--particle-angle)) scaleY(.08)}45%{opacity:1;transform:rotate(var(--particle-angle)) scaleY(.35)}52%{opacity:.95;transform:rotate(var(--particle-angle)) scaleY(1)}72%{opacity:0;transform:rotate(var(--particle-angle)) scaleY(.72)}}@keyframes fireworkCore{0%,41%,to{opacity:0;transform:translate(-50%,-50%)scale(.1)}46%{opacity:1;transform:translate(-50%,-50%)scale(1.8)}58%{opacity:.8;transform:translate(-50%,-50%)scale(1)}68%{opacity:0;transform:translate(-50%,-50%)scale(.2)}}@keyframes fireworkLaunch{0%,38%,to{opacity:0;transform:scaleY(.02)}32%{opacity:.85;transform:scaleY(1)}38%{opacity:0;transform:scaleY(1)}}@keyframes fireworkRocket{0%,38%,to{opacity:0;transform:translateY(0)}3%{opacity:1}32%{opacity:1;transform:translateY(calc(var(--firework-top) - 100vh + 16px))}37%{opacity:0;transform:translateY(calc(var(--firework-top) - 100vh + 16px))}}@keyframes giftBob{0%,to{translate:0}50%{translate:0 -5px}}@keyframes giftWiggle{0%,78%,to{rotate:0deg}82%{rotate:-7deg}86%{rotate:7deg}90%{rotate:-4deg}94%{rotate:0deg}}@keyframes teddyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes teddyWave{0%,to{transform:rotate(-12deg)}50%{transform:rotate(18deg)}}@keyframes teddyBlink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.12)}}@keyframes teddySmile{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes presentBounce{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(1deg)}}@keyframes giftLidPop{0%,78%,to{translate:0;rotate:0deg}84%,91%{translate:0 -6px;rotate:-16deg}}@keyframes giftSparkle{0%,to{opacity:.55;transform:scale(.75)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(45deg)}}@keyframes giftOfferPop{0%{opacity:0;transform:translateY(16px)scale(.94)}75%{opacity:1;transform:translateY(-2px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes diwaliConfetti{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(0)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--confetti-x)), calc(-50% + var(--confetti-y))) scale(.75) rotate(var(--confetti-rotate))}}@keyframes giftBackdropIn{0%{opacity:0}to{opacity:1}}@media (width<=520px){.diwali-gift-trigger{bottom:8px;left:8px}.diwali-gift-box{width:156px;height:162px}}@media (prefers-reduced-motion:reduce){.seasonal-decoration{display:none}.diwali-gift-trigger,.diwali-gift-box,.diwali-gift-art,.diwali-teddy,.diwali-teddy-wave-arm,.diwali-teddy-eye,.diwali-teddy-smile,.diwali-teddy-present,.diwali-gift-svg-lid,.diwali-gift-sparkle,.diwali-confetti,.diwali-offer-popup{animation:none}}@media (width<=1100px){.nav{gap:13px}.nav button{font-size:10px}.journey-nav{display:none}.booking-card{width:285px}.hero{padding-left:7vw}.story-rail{left:5%;right:5%}.experience-grid{grid-template-columns:repeat(3,1fr)}.experience-card{height:330px}}@media (width<=850px){.topbar{background:#ffffffe6;height:75px;padding:12px 18px}.logo{width:180px}.logo-main{font-size:19px}.logo-sub{font-size:8px}.logo-tag{font-size:6px}.logo-leaf{font-size:28px}.nav{box-shadow:var(--shadow);background:#fff;border-radius:16px;flex-direction:column;padding:15px;display:none;position:absolute;top:70px;left:12px;right:12px}.nav.open{display:flex}.book-top{display:none}.menu-btn{margin-left:auto;display:block}.menu-header-actions{gap:8px}.menu-topbar{gap:10px}.menu-topbar .logo{width:150px}.menu-header-actions .btn{padding:12px 10px;font-size:10px}.language-switch button{padding:8px 9px;font-size:11px}.language-full{display:none}.language-short{display:inline}.menu-content{grid-template-columns:minmax(0,1fr);gap:0;padding:0 18px 40px}.menu-categories{z-index:10;background:#fff;gap:4px;margin:0 -18px;padding:10px 18px;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:0 4px 12px #1c3b1c0f}.menu-category-link{white-space:nowrap;border-bottom:2px solid #0000;border-left:0;border-radius:0;flex:none;padding:10px 12px}.menu-category-link:hover,.menu-category-link:focus-visible{border-left-color:#0000;border-bottom-color:var(--green)}.menu-section{padding:40px 4px}.menu-section[id]{scroll-margin-top:60px}.hero{align-items:flex-start;min-height:980px;padding:130px 24px 360px}.hero-wash{background:linear-gradient(#fffffff0 0%,#ffffffb8 35%,#ffffff29 72%,#ffffffe6 100%)}.hero-copy{width:100%;margin:0}.hero h1{font-size:64px}.hero-text{font-size:14px}.booking-card{width:auto;position:absolute;inset:auto 24px 125px}.quick-actions{bottom:68px;right:20px}.scroll-cue{display:none}.story-rail{padding:7px;display:flex;bottom:12px;left:16px;right:16px;overflow:auto}.story-rail button{min-width:120px;height:75px}.section{padding:80px 22px}.rooms-grid,.package-grid,.split-feature,.event-wrap,.contact-section,.nearby-content{grid-template-columns:1fr}.nearby-stop-card{flex:initial}.room-img{height:260px}.feature-image{height:330px}.experience-grid{grid-template-columns:repeat(2,1fr)}.event-wrap>img{min-height:350px}.event-panel{padding:32px 24px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.tile-1{grid-column:span 1}.contact-section{gap:35px}.contact-section h2{font-size:45px}.map-card,.map-card iframe{min-height:330px}footer{grid-template-columns:1fr;gap:22px;padding:45px 22px}}@media (width<=520px){.hero h1{font-size:53px}.hero-actions{flex-direction:column;align-items:flex-start}.experience-grid{grid-template-columns:1fr 1fr}.experience-card{height:270px}.event-form,.date-grid{grid-template-columns:1fr}.event-form textarea{grid-column:auto}}.booking-page{min-height:100vh;color:var(--ink);background:linear-gradient(#f4f7ef 0,#fbfaf6 420px 100%)}.booking-page-header{background:#ffffffdb;border-bottom:1px solid #2f6b271a;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:16px max(22px,50vw - 580px);display:flex}.booking-back{color:var(--green);background:0 0;border:0;padding:10px 0;font-weight:600}.booking-page-brand{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:flex}.booking-page-brand>span:first-child{font-size:27px}.booking-page-brand strong,.booking-page-brand small{display:block}.booking-page-brand strong{letter-spacing:3px;font:600 19px Playfair Display}.booking-page-brand small{letter-spacing:3px;margin-top:3px;font-size:9px}.booking-page-content{width:min(100% - 40px,960px);margin:0 auto;padding:50px 0 80px}.booking-page-intro{margin-bottom:28px}.booking-page-intro .eyebrow{margin-bottom:8px}.booking-page-intro h1{color:var(--deep);margin:0;font:600 clamp(36px,6vw,54px) Playfair Display}.booking-page-intro>p:last-child{color:var(--muted);margin:10px 0 0}.booking-security-alert{color:#5c4a23;background:#fff8e8;border:1px solid #ead8aa;border-left:4px solid #b8944d;border-radius:12px;gap:4px;margin-bottom:22px;padding:16px 18px;font-size:13px;display:grid}.booking-security-alert strong{font-size:14px}.guest-booking-form{gap:18px;min-width:0;display:grid}.guest-form-section{background:#fff;border:1px solid #e7eade;border-radius:18px;min-width:0;padding:26px;box-shadow:0 12px 38px #1c3b1c0d}.guest-section-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.guest-section-heading>span{width:34px;height:34px;color:var(--green);background:#edf4e8;border-radius:50%;flex:0 0 34px;place-items:center;font-size:12px;font-weight:700;display:grid}.guest-section-heading h2{color:var(--deep);margin:0;font:600 24px Playfair Display}.guest-section-heading p{color:var(--muted);margin:5px 0 0;font-size:13px}.guest-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.guest-field-grid>label,.guest-field-label{color:#455342;gap:7px;font-size:12px;font-weight:600;display:grid}.guest-field-grid input,.guest-field-grid select,.guest-field-grid textarea,.guest-details-table input,.guest-details-table select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #dce4d8;border-radius:9px;outline:none;padding:11px 12px}.guest-field-grid input:focus,.guest-field-grid select:focus,.guest-field-grid textarea:focus,.guest-details-table input:focus,.guest-details-table select:focus,.guest-table-scroll:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #2f6b271f}.guest-field-grid textarea{resize:vertical}.guest-field-wide{grid-column:1/-1}.booking-stay-summary{color:#566351;background:#f5f8f1;border-radius:10px;align-content:center;gap:5px;min-height:64px;padding:10px 14px;font-size:12px;display:grid}.booking-stay-summary strong{color:var(--green);font-size:15px}.booking-stay-summary small{color:#788272;font-size:11px;font-weight:400}.id-upload{color:#596655;min-width:150px;margin-top:2px;font-size:11px;position:relative}.id-upload-input{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.id-upload-select{min-height:42px;color:var(--green);background:#f5f8f1;border:1px dashed #aabda0;border-radius:9px;align-items:center;gap:7px;padding:9px 12px;font-size:11px;font-weight:600;display:inline-flex}.id-upload-select span{font-size:18px}.id-upload-missing{color:#8b5149;margin-top:5px;font-size:10px;display:block}.id-upload-file{justify-items:start;gap:5px;display:grid}.id-upload-preview{object-fit:cover;border:1px solid #dce4d8;border-radius:6px;width:76px;height:58px;display:block}.id-upload-pdf{color:#a44637;background:#fff3ef;border:1px solid #f0d4cc;border-radius:6px;place-items:center;width:42px;height:48px;font-size:11px;font-weight:700;display:grid}.id-upload-name{max-width:180px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.id-upload-status{color:#52734b}.id-upload-preview-link{color:var(--green)}.id-upload-actions{gap:10px;display:flex}.id-upload-actions button{color:var(--green);background:0 0;border:0;padding:3px 0;font-size:11px;text-decoration:underline}.id-upload-error{color:#a13224;margin:5px 0 0;font-size:11px}.guest-table-scroll{-webkit-overflow-scrolling:touch;border:1px solid #e4e9df;border-radius:12px;width:100%;min-width:0;max-width:100%;overflow-x:auto}.guest-details-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1420px}.guest-col-number{width:42px}.guest-col-name{width:180px}.guest-col-age{width:70px}.guest-col-gender,.guest-col-mobile{width:145px}.guest-col-address{width:230px}.guest-col-id-type{width:160px}.guest-col-id-number{width:180px}.guest-col-proof{width:268px}.guest-details-table th,.guest-details-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0e9;padding:12px}.guest-details-table thead th{color:#596655;white-space:nowrap;background:#f7f9f4;font-size:11px;position:sticky;top:0}.guest-details-table tbody th{color:var(--green);font-size:12px}.guest-details-table input,.guest-details-table select{min-width:112px;padding:9px;font-size:12px}.guest-details-table td:last-child{min-width:195px}.no-additional-guests{color:#596655;background:#f7f9f4;border-radius:10px;margin:0;padding:16px;font-size:13px}.booking-form-actions{justify-items:end;gap:10px;display:grid}.booking-form-actions .btn{min-width:220px;padding:14px 20px}.booking-form-actions>p:last-child{color:#778071;text-align:right;margin:0;font-size:11px}.booking-form-status{color:#674c15;background:#fff8e8;border:1px solid #ead8aa;border-radius:9px;width:100%;margin:0;padding:12px 15px;font-size:13px}@media (width<=640px){.booking-page-header{min-height:72px;padding:12px 18px}.booking-page-content{width:min(100% - 28px,960px);padding:34px 0 55px}.booking-page-intro>p:last-child{font-size:13px}.guest-form-section{border-radius:14px;padding:20px 15px}.guest-section-heading{gap:10px}.guest-section-heading h2{font-size:21px}.guest-section-heading p{font-size:12px}.guest-field-grid{grid-template-columns:1fr;gap:13px}.guest-field-wide{grid-column:auto}.booking-form-actions{justify-items:stretch}.booking-form-actions .btn{width:100%}.booking-form-actions>p:last-child{text-align:left}.hero-actions{flex-direction:column;align-items:flex-start}.experience-grid{grid-template-columns:1fr 1fr}.experience-card{height:270px}.event-form,.date-grid{grid-template-columns:1fr}.event-form textarea{grid-column:auto}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-tile{grid-row:span 1;grid-column:auto!important}.section-heading h1,.section-heading h2{font-size:42px}.section-heading em{font-size:25px}}.chat-widget{z-index:110;font-family:DM Sans,sans-serif;position:fixed;bottom:20px;right:20px}.chat-launcher{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:50%;width:58px;height:58px;margin-left:auto;font-size:26px;display:block;box-shadow:0 12px 34px #183d2259}.chat-panel{background:var(--white);width:370px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 120px);box-shadow:var(--shadow), 0 0 0 1px var(--line);border-radius:18px;flex-direction:column;display:flex;position:absolute;bottom:72px;right:0;overflow:hidden}.rocket-firework{z-index:109;pointer-events:none;position:fixed;inset:0}.rocket-firework-button{z-index:2;filter:drop-shadow(0 7px 7px #2527174d);pointer-events:auto;background:0 0;border:0;border-radius:50%;place-items:center;width:126px;height:126px;padding:3px;transition:filter .2s,translate 1s cubic-bezier(.28,.62,.35,1);display:grid;position:absolute;bottom:44px;left:50%;transform:translate(-50%)}.rocket-firework-button:hover:not(:disabled){filter:drop-shadow(0 9px 10px #2527176b);translate:0 -4px}.rocket-firework-button:focus-visible{outline-offset:4px;outline:3px solid #2f6b27}.rocket-firework-button:disabled{cursor:default}.rocket-firework-button:active:not(:disabled){translate:0 1px}.rocket-firework-button svg{width:100%;height:100%;overflow:visible}.rocket-firework-rocket-launching{opacity:0;transition:translate 1s cubic-bezier(.28,.62,.35,1),opacity .14s .84s;animation:.22s ease-in-out 4 rocketShake;translate:0 -48vh}.rocket-firework-rocket-burst{visibility:hidden}.rocket-cracker-chain{cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-content:space-between;align-items:center;width:min(340px,100vw - 32px);height:28px;padding:0;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.rocket-cracker-chain:disabled{cursor:default}.rocket-cracker-chain:focus-visible{outline-offset:3px;border-radius:8px;outline:3px solid #d62838}.rocket-cracker-fuse{background:#875932;border-radius:50%;height:3px;position:absolute;bottom:7px;left:4px;right:4px;box-shadow:0 2px 3px #3b271247}.rocket-cracker{z-index:1;background:repeating-linear-gradient(90deg, var(--cracker-color) 0 5px, #fff1cc 5px 7px);border:1px solid #662f1580;border-radius:3px;width:26px;height:16px;position:relative;transform:rotate(-8deg);box-shadow:0 3px 4px #25271733}.rocket-cracker:nth-of-type(2n){transform:rotate(8deg)translateY(-2px)}.rocket-cracker i{opacity:0;background:#fff3a1;border-radius:50%;width:6px;height:6px;position:absolute;top:-4px;right:-3px;box-shadow:0 0 #ffb13b}.rocket-cracker:after{content:"";opacity:0;background:#fff3a1;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2);box-shadow:-8px -8px #f34f48,0 -11px #ffcf4a,8px -7px #fff4bd,-9px 5px #45c9a5,9px 5px #f34f48}.rocket-cracker-chain-bursting .rocket-cracker i{animation:crackerSpark .45s ease-out var(--cracker-delay) both}.rocket-cracker-chain-bursting .rocket-cracker{animation:crackerPop .42s ease-out var(--cracker-delay) both}.rocket-cracker-chain-bursting .rocket-cracker:after{animation:crackerDebris .6s ease-out var(--cracker-delay) both}.rocket-firework-skyburst{z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 34%,#fff6d161,#0000 16%);animation:.6s ease-out both rocketBurstFlash;position:absolute;inset:0;overflow:hidden}@media (width<=760px){.rocket-firework-button,.rocket-firework-skyburst{display:none}}.rocket-firework-burst{top:var(--burst-top);left:var(--burst-left);width:0;height:0;position:absolute}.rocket-firework-burst i{background:var(--burst-color);width:7px;height:28px;box-shadow:0 0 16px 3px var(--burst-color);animation:rocketBurst 1.65s cubic-bezier(.12, .55, .22, 1) var(--burst-delay) both;transform-origin:50%;border-radius:999px;position:absolute;top:0;left:0}.rocket-firework-burst i:nth-child(3n){border-radius:50%;width:11px;height:11px}.rocket-firework-burst i:nth-child(4n){width:4px;height:36px}.rocket-firework-burst:before{content:"";width:32px;height:32px;animation:rocketBurstCore 1.15s ease-out var(--burst-delay) both;background:radial-gradient(circle,#fff 0 5%,#fff6cf 12%,#ffca47cc 28%,#0000 72%);border-radius:50%;position:absolute;top:-16px;left:-16px}.rocket-cracker-chain-bursting .rocket-cracker:nth-of-type(2n){box-shadow:0 0 15px #ffd75e,0 0 27px #ff5d3199}@keyframes rocketShake{0%,to{transform:translate(-50%)rotate(0)}25%{transform:translate(calc(-50% - 2px))rotate(-4deg)}75%{transform:translate(calc(2px - 50%))rotate(4deg)}}@keyframes crackerSpark{0%{opacity:0;box-shadow:0 0 #ffb13b}30%{opacity:1;box-shadow:0 0 8px 3px #ffb13b}to{opacity:0;box-shadow:0 0 2px 1px #ffb13b}}@keyframes crackerPop{0%,to{filter:brightness();transform:scale(1)rotate(-8deg)}35%{filter:brightness(1.8);transform:scale(1.35)rotate(0)}60%{filter:brightness(1.3);transform:scale(.85)rotate(8deg)}}@keyframes crackerDebris{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)}45%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes rocketBurst{0%{opacity:1;transform:rotate(var(--burst-angle)) translateY(0) scale(.45)}12%{opacity:1;transform:rotate(var(--burst-angle)) translateY(calc(0px - var(--burst-distance))) scale(1)}to{opacity:0;transform:rotate(var(--burst-angle)) translateY(calc(0px - var(--burst-distance))) scale(.08)}}@keyframes rocketBurstCore{0%{opacity:1;transform:scale(.2)}30%{opacity:1;transform:scale(2.5)}to{opacity:0;transform:scale(.4)}}@keyframes rocketBurstFlash{0%{opacity:.8}to{opacity:0}}@media (prefers-reduced-motion:reduce){.rocket-firework-button{transition-duration:.01ms;animation-duration:.01ms}.rocket-firework-skyburst,.rocket-firework-burst i,.rocket-firework-burst:before,.rocket-cracker-chain-bursting .rocket-cracker i,.rocket-cracker-chain-bursting .rocket-cracker,.rocket-cracker-chain-bursting .rocket-cracker:after{animation-duration:.01ms}}.chat-header{background:var(--deep);color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.chat-header span{opacity:.75;font-size:12px}.chat-header button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:26px;line-height:1}.chat-messages{background:var(--paper);flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.chat-msg{overflow-wrap:anywhere;border-radius:14px;max-width:86%;padding:9px 13px;font-size:14px;line-height:1.45}.chat-msg p{margin:0 0 4px}.chat-msg p:last-child{margin:0}.chat-msg.assistant{border:1px solid var(--line);background:#fff;align-self:flex-start}.chat-msg.user{background:var(--green);color:#fff;align-self:flex-end}.chat-msg a{color:var(--green);font-weight:600}.chat-suggestions{flex-wrap:wrap;gap:8px;display:flex}.chat-suggestions button{border:1px solid var(--gold);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:7px 12px;font-size:13px}.chat-typing{gap:4px;display:flex}.chat-typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1s infinite chat-bounce}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,60%,to{opacity:.3}30%{opacity:1}}.chat-form{border-top:1px solid var(--line);background:#fff;gap:8px;padding:10px;display:flex}.chat-form input{border:1px solid var(--line);min-width:0;font:inherit;border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.chat-form .btn{padding:0 16px}@media (width<=520px){.chat-widget{bottom:12px;right:12px}.chat-panel{height:calc(100vh - 100px)}}.chat-block{flex-direction:column;gap:8px;display:flex}.chat-block.user{align-items:flex-end}.chat-msg{white-space:normal}.chat-link{margin-top:6px;display:block}.chat-suggestions.list{flex-direction:column;align-items:stretch}.chat-suggestions button:hover{background:var(--paper)}
