@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&display=swap";:root{--ink:#3c4142;--dark-grey:#4b5051;--mid-grey:#6e7576;--cream:#fffff9;--cream-alt:#f3f2ed;--gold:#c8a96e;--gold-dark:#a98a56;--brown:#4b5051;--border:#c8cbcb;--text-muted:#6e7576;--danger:#b3413a;--font-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;font-family:var(--font-serif)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--cream);color:var(--ink);font-family:var(--font-serif);overflow-wrap:break-word;margin:0;font-size:18px;font-weight:400;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 12px;font-weight:300}p{color:var(--text-muted);letter-spacing:.01em;font-size:17px;font-weight:300;line-height:1.85}a{color:inherit}img{max-width:100%;display:block}hr{border:none;border-top:1px solid var(--border);margin:28px 0}button{font-family:inherit}.section{padding:88px 24px}.section-alt{background:var(--cream-alt)}.section-inner{max-width:1180px;margin:0 auto}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:32px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--gold-dark);align-items:center;gap:10px;margin-bottom:16px;font-size:12.5px;font-weight:500;display:flex}.eyebrow:before{content:"";background:var(--gold-dark);width:28px;height:1px;display:inline-block}.eyebrow.center{justify-content:center}.eyebrow-light{color:#fffff9d9}.eyebrow-light:before{background:#fffff999}.section-heading{color:var(--ink);margin-bottom:14px;font-size:clamp(32px,4vw,50px);font-weight:300;line-height:1.12}.section-heading.center{text-align:center}.section-heading em{color:var(--gold-dark);font-style:italic}.section-subheading{color:var(--text-muted);max-width:640px;margin-bottom:40px;font-size:17px;font-weight:300}.text-accent{color:var(--gold-dark)}.link-underline{text-underline-offset:4px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);font-size:13.5px;text-decoration:underline}.page{max-width:900px;margin:0 auto;padding:140px 20px 60px}.page-header h1{margin-bottom:4px}.page-header p{margin-top:0}.btn{border:1px solid var(--ink);background:var(--cream);color:var(--ink);cursor:pointer;letter-spacing:.22em;text-transform:uppercase;text-align:center;border-radius:2px;padding:13px 28px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .25s,color .25s,border-color .25s;display:inline-block}.btn:hover{background:var(--ink);color:var(--cream)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}.btn-primary:hover{background:var(--ink);border-color:var(--ink)}.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--cream)}.btn-dark:hover{background:var(--dark-grey);border-color:var(--dark-grey)}.btn-brown{background:var(--dark-grey);border-color:var(--dark-grey);color:#fff}.btn-light{background:var(--cream);border-color:var(--cream);color:var(--ink)}.btn-light:hover{color:var(--cream);border-color:var(--cream);background:0 0}.btn-outline-light{color:var(--cream);background:0 0;border-color:#fffff980}.btn-outline-light:hover{color:var(--cream);background:#fffff91f;border-color:#fffff9e6}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-block{width:100%}.btn-link{cursor:pointer;letter-spacing:normal;text-transform:none;background:0 0;border:none;padding:0;text-decoration:underline}.site-header{z-index:50;background:0 0;border-bottom:1px solid #0000;transition:background .4s,border-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;position:fixed;top:0;left:0;right:0}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1320px;margin:0 auto;padding:24px 32px;display:flex}.brand{color:var(--cream);white-space:nowrap;flex-shrink:0;align-items:center;gap:12px;line-height:1.25;text-decoration:none;transition:color .4s;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:42px;height:42px}.brand-text{flex-direction:column;display:flex}.brand-name{letter-spacing:.18em;text-transform:uppercase;font-size:17px;font-weight:400}.brand-sub{letter-spacing:.32em;opacity:.75;text-transform:uppercase;margin-top:3px;font-size:10.5px}.site-nav{flex-wrap:nowrap;align-items:center;gap:1.4rem;display:flex}.site-nav-link{color:var(--cream);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding-bottom:4px;font-size:14px;text-decoration:none;transition:color .3s;position:relative}.site-nav-link:after{content:"";background:currentColor;height:1px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav-link:hover:after,.site-nav-link.active:after{transform:scaleX(1)}.site-nav-cta{margin-left:8px}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.hamburger span{background:var(--cream);width:24px;height:1px;transition:background .4s;display:block}.site-header.scrolled{-webkit-backdrop-filter:blur(16px);border-color:var(--border);background:#fffff9f5;box-shadow:0 1px 24px #3c414214}.site-header.scrolled .brand,.site-header.scrolled .site-nav-link{color:var(--ink)}.site-header.scrolled .brand-sub{color:var(--mid-grey)}.site-header.scrolled .hamburger span{background:var(--ink)}.site-header.scrolled .site-nav-cta.btn-outline-light{color:var(--ink);border-color:var(--ink)}.site-header.scrolled .site-nav-cta.btn-outline-light:hover{background:var(--ink);color:var(--cream)}@media (width<=1320px){.hamburger{display:flex}.site-nav{background:var(--ink);z-index:60;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;width:78%;max-width:320px;height:100vh;padding:40px 32px;transition:transform .3s;position:fixed;top:0;right:0;transform:translate(100%)}.site-nav.open{transform:translate(0)}.site-nav .site-nav-link{color:var(--cream)!important}}.video-hero,.image-hero{min-height:100vh;color:var(--cream);align-items:center;display:flex;position:relative;overflow:hidden}.image-hero-md{min-height:65vh}.video-hero-media{object-fit:cover;background:var(--ink);width:100%;height:100%;position:absolute;inset:0}.image-hero{background-position:50%;background-size:cover}.video-hero-overlay,.image-hero-overlay{background:linear-gradient(#3c414240,#3c414299);position:absolute;inset:0}.video-hero-content,.image-hero-content{z-index:2;text-align:center;width:100%;max-width:720px;margin:0 auto;padding:0 24px;position:relative}.hero-title{letter-spacing:-.01em;margin-bottom:20px;font-size:clamp(41px,6vw,73px);font-weight:300;line-height:1.08}.hero-title em{color:var(--gold);font-style:italic}.hero-subtitle{color:#fffff9e6;letter-spacing:.02em;max-width:520px;margin:0 auto 28px;font-size:18px;font-weight:300}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:36px;display:flex}.availability-widget{color:var(--ink);background:#fffff9f7;border-radius:12px;max-width:720px;margin:0 auto;padding:26px;box-shadow:0 24px 64px #00000040}.availability-widget-title{text-align:center;letter-spacing:.25em;color:var(--gold-dark);text-transform:uppercase;margin-bottom:18px;font-size:12.5px;font-weight:500}.availability-widget-fields{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.availability-widget-fields label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;flex:130px;gap:6px;font-size:11.5px;display:flex}.availability-widget-fields input{border:1px solid var(--border);font-family:var(--font-serif);border-radius:4px;padding:10px}.stepper{border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.stepper button{cursor:pointer;color:var(--ink);background:0 0;border:none;font-size:18px}.availability-widget-submit{flex:160px}.room-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-top:8px;display:grid}.room-grid-2col{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.room-card{background:var(--cream);border:1px solid var(--border);cursor:pointer;aspect-ratio:4/4.6;border-radius:20px;transition:box-shadow .25s;position:relative;overflow:hidden}.room-card:hover{box-shadow:0 14px 34px #3c41422e}.room-card-badge{color:#fff;letter-spacing:.12em;text-transform:uppercase;z-index:2;background:#3c4142d9;border-radius:3px;padding:5px 12px;font-size:11.5px;position:absolute;top:14px;left:14px}.room-card-image{background-position:50%;background-size:cover;height:100%;transition:transform .6s;position:absolute;inset:0}.room-card:hover .room-card-image{transform:scale(1.06)}.room-card-footer{z-index:2;background:#fffff9f7;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 8px 24px #0000001f}.room-card-footer>div:first-child{flex:auto;min-width:0}.room-card-footer h3{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-family:-apple-system,sans-serif;font-size:17px;font-weight:600;overflow:hidden}.room-card-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.room-card-price{text-align:right;color:var(--ink);white-space:nowrap;flex-shrink:0;font-family:-apple-system,sans-serif;font-size:18px;font-weight:700}.room-card-price span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1px;font-size:11.5px;font-weight:400;display:block}.room-tagline{color:var(--gold-dark);margin-bottom:8px;font-size:16px;font-style:italic}.amenity-row{text-align:center;flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.amenity-row-wrap{justify-content:flex-start}.amenity-item{flex:140px;padding:0 10px}.amenity-icon{object-fit:contain;width:40px;height:40px;margin:0 auto 12px;display:block}.amenity-item h4{margin-bottom:6px;font-size:17px;font-weight:400}.amenity-item p{font-size:15px}.attraction-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;display:grid}.attraction-card{background:var(--cream);border:1px solid var(--border);border-radius:12px;transition:box-shadow .25s;overflow:hidden}.attraction-card:hover{box-shadow:0 14px 34px #3c41421f}.attraction-image{background-position:50%;background-size:cover;height:200px;position:relative}.attraction-badge{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#3c4142cc;border-radius:12px;padding:4px 12px;font-size:11.5px;position:absolute;top:12px;right:12px}.attraction-body{padding:22px}.attraction-title-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tag-row{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.tag-pill{background:var(--cream-alt);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.03em;border-radius:12px;padding:5px 12px;font-size:12.5px}.testimonials-section{background:var(--ink);text-align:left;padding:96px 24px}.testimonials-section .eyebrow{color:var(--gold)}.testimonials-section .eyebrow:before{background:var(--gold)}.testimonials-section .section-heading{color:var(--cream)}.testimonials-section .section-subheading{color:#fffff999}.testimonials-grid-shell{grid-template-columns:1fr 1.4fr;align-items:center;gap:64px;display:grid}.testimonial-dots{align-items:center;gap:10px;margin-top:8px;display:flex}.testimonial-dot{cursor:pointer;background:#fffff94d;border:none;border-radius:4px;width:8px;height:8px;padding:0;transition:all .35s}.testimonial-dot.active{background:var(--cream);width:28px}.testimonial-stage{min-height:300px;position:relative}.testimonial-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffff90f;border:1px solid #c8cbcb33;border-radius:16px;padding:36px 36px 28px;box-shadow:0 24px 64px #0000004d}.testimonial-stars{color:var(--gold);letter-spacing:3px;margin-bottom:20px;font-size:20.5px}.testimonial-card ul{color:var(--cream);margin:0 0 24px;padding:0;font-size:19.5px;font-style:italic;font-weight:300;line-height:1.9;list-style:none}.testimonial-card ul li{margin-bottom:4px}.testimonial-card ul li:before{content:"— ";color:#fffff966;font-style:normal}.testimonial-name{color:var(--cream);letter-spacing:.05em;border-top:1px solid #c8cbcb26;padding-top:18px;font-size:16px;font-weight:400}.testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:900px;display:grid}.location-section{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.location-map-placeholder{background-position:50%;background-size:cover;border-radius:12px;height:340px}.location-map-embed{border-radius:12px;height:340px;position:relative;overflow:hidden}.location-map-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (width<=600px){.location-map-embed,.location-map-placeholder{height:260px}}.room-detail-hero-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:40px;padding-top:130px;display:grid}.room-detail-price{font-size:21.5px}.room-detail-quickspecs{color:var(--text-muted);margin-bottom:20px;font-size:15px}.checkinout-row{gap:40px;margin:16px 0;display:flex}.accent-heading{color:var(--gold-dark)}.accent-heading-italic{color:var(--gold-dark);font-style:italic}.room-detail-body-grid{grid-template-columns:1.4fr .9fr;align-items:start;gap:40px;display:grid}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.icon-grid-item{align-items:center;gap:10px;font-size:16px;display:flex}.icon-circle{color:var(--gold-dark)}.icon-circle-img{object-fit:contain;flex-shrink:0;width:20px;height:20px}.room-detail-sidebar{flex-direction:column;gap:24px;display:flex;position:sticky;top:110px}.booking-widget-card,.enquiry-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:22px}.booking-widget-card form,.enquiry-card form{flex-direction:column;gap:12px;display:flex}.booking-widget-card label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13.5px;display:flex}.field-row{gap:10px;display:flex}.field-row label,.field-row input{flex:1}.booking-widget-total{padding:8px 0;font-size:17px}input,select,textarea{border:1px solid var(--border);width:100%;font-size:16px;font-family:var(--font-serif);border-radius:6px;padding:11px}textarea{resize:vertical;min-height:90px}.enquiry-note{color:var(--text-muted);margin-top:-8px;font-size:13.5px}.help-box{text-align:center;border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:16px;font-size:15px}.help-box a{color:var(--gold-dark);font-weight:600;text-decoration:none}@media (width<=900px){.room-detail-hero-grid,.room-detail-body-grid,.location-section,.about-story-grid,.about-property-grid,.contact-form-grid,.contact-info-grid,.testimonials-grid-shell{grid-template-columns:1fr!important}.room-detail-sidebar{position:static}}.carousel{background:var(--cream-alt);border-radius:12px;position:relative;overflow:hidden}.carousel-image{object-fit:cover;aspect-ratio:4/3;width:100%;height:100%}.carousel-landscape .carousel-image{aspect-ratio:16/10}.carousel-counter{color:#fff;background:#3c4142b3;border-radius:10px;padding:3px 10px;font-size:13.5px;position:absolute;top:12px;right:12px}.carousel-arrow{color:#fff;cursor:pointer;background:#3c414280;border:none;border-radius:50%;width:34px;height:34px;font-size:20.5px;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow-prev{left:10px}.carousel-arrow-next{right:10px}.carousel-dots{justify-content:center;gap:6px;display:flex;position:absolute;bottom:10px;left:0;right:0}.carousel-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px}.carousel-dot.active{background:#fff}.activity-intro{text-align:center;max-width:700px;margin:0 auto}.circle-logo-mark{border:1px solid var(--gold);width:44px;height:44px;color:var(--gold-dark);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;padding:9px;display:flex}.circle-logo-mark img{object-fit:contain;width:100%;height:100%}.activity-row{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.activity-row.reversed{direction:rtl}.activity-row.reversed>*{direction:ltr}.activity-image{background-position:50%;background-size:cover;border-radius:12px;height:320px}.activity-icon{object-fit:contain;width:36px;height:36px;margin-bottom:12px;display:block}@media (width<=800px){.activity-row{grid-template-columns:1fr}.activity-row.reversed{direction:ltr}}.about-story-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.about-image-collage{position:relative}.about-image-main{background-position:50%;background-size:cover;border-radius:12px;height:380px;position:relative}.est-badge{background:var(--ink);color:#fff;letter-spacing:.08em;padding:8px 14px;font-size:13.5px;position:absolute;top:16px;left:16px}.about-image-small{background-position:50%;background-size:cover;border-radius:12px;width:55%;height:180px;margin-top:-60px;margin-left:auto;margin-right:-20px;box-shadow:0 10px 30px #3c414233}blockquote{border-left:2px solid var(--gold);color:var(--ink);margin:24px 0;padding-left:18px;font-size:20.5px;font-style:italic;font-weight:300}.special-memory{color:var(--gold-dark);font-style:italic}.stats-band{background:var(--ink);color:#fff;text-align:center;flex-wrap:wrap;display:flex}.stats-band-item{border-right:1px solid #fffff91f;flex-direction:column;flex:200px;gap:6px;padding:44px 20px;display:flex}.stats-value{font-size:41px;font-weight:300}.stats-caption{color:#fffff98c;text-transform:uppercase;letter-spacing:.15em;font-size:12.5px}.about-property-grid{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.tag-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:20px;display:grid}.tag-box{border:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;padding:11px 14px;font-size:12.5px}.tag-box.light{color:#fff;border-color:#ffffff59}.about-property-images{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:14px;height:380px;display:grid}.about-property-images div:first-child{background-position:50%;background-size:cover;border-radius:12px;grid-row:span 2}.about-property-images div:not(:first-child){background-position:50%;background-size:cover;border-radius:12px}.house-rules-list{max-width:700px;color:var(--text-muted);margin:0 auto}.house-rules-list li{margin-bottom:10px}.cta-hero{color:#fff;background-position:50%;background-size:cover;padding:110px 24px;position:relative}.cta-hero-overlay{background:#3c4142a6;position:absolute;inset:0}.cta-hero-content{z-index:2;text-align:center;max-width:640px;margin:0 auto;position:relative}.cta-hero-content h2{font-size:clamp(32px,5vw,50px);font-weight:300}.pill-badge{letter-spacing:.15em;text-transform:uppercase;border:1px solid #fff6;border-radius:20px;margin-bottom:22px;padding:7px 18px;font-size:12.5px;display:inline-block}.cta-tags{flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0;display:flex}.filter-tabs{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.filter-tabs.center{justify-content:center}.filter-tab{border:1px solid var(--border);background:var(--cream);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-radius:20px;padding:9px 18px;font-size:12.5px;transition:background .2s,color .2s}.filter-tab.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.gallery-masonry{column-count:3;column-gap:16px}.gallery-tile{break-inside:avoid;cursor:pointer;background-position:50%;background-size:cover;border-radius:12px;height:220px;margin-bottom:16px;position:relative}.gallery-tile-large{height:320px}.gallery-tile-overlay{opacity:0;background:#3c414200;border-radius:12px;align-items:flex-end;padding:14px;transition:all .25s;display:flex;position:absolute;inset:0}.gallery-tile:hover .gallery-tile-overlay{opacity:1;background:#3c414266}.gallery-tile-overlay span{color:#fff;letter-spacing:.03em;font-size:15px}@media (width<=800px){.gallery-masonry{column-count:2}}@media (width<=480px){.gallery-masonry{column-count:1}}.lightbox-backdrop{z-index:200;background:#3c4142f2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-image{border-radius:8px;max-width:90vw;max-height:80vh}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:36.5px;position:absolute;top:20px;right:30px}.lightbox-arrow{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:44px;height:44px;font-size:27.5px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow-prev{left:20px}.lightbox-arrow-next{right:20px}.lightbox-caption{color:#fff;margin-top:14px;font-size:16px}.closing-strip{text-align:center;border-top:1px solid var(--border);padding:34px}.closing-strip p{margin-bottom:10px}.contact-form-grid,.contact-info-grid{grid-template-columns:1fr 1fr;align-items:start;gap:40px;display:grid}.contact-illustration,.contact-photo-collage>div{background-position:50%;background-size:cover;border-radius:12px;height:260px}.contact-photo-collage{gap:14px;display:grid}.contact-form-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:26px}.contact-form-card form{flex-direction:column;gap:12px;margin-top:14px;display:flex}.contact-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:18px;margin-bottom:2px;font-size:12.5px}.contact-detail-value{color:var(--ink);font-family:-apple-system,sans-serif;font-weight:600}.social-icons{gap:12px;margin-top:12px;display:flex}.social-icons a{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.social-icons a img{object-fit:contain;width:18px;height:18px}.social-icons a:hover{border-color:var(--dark-grey);transform:translateY(-2px)}.booking-form-card,.payment-card,.success-card,.booking-summary{background:var(--cream);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:14px;max-width:520px;margin-top:16px;padding:24px;display:flex}.booking-form-card label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:15px;display:flex}fieldset{border:1px solid var(--border);border-radius:10px;padding:12px}legend{color:var(--text-muted);padding:0 6px;font-size:13.5px}.file-upload-field{flex-direction:column;gap:4px;margin-bottom:10px;font-size:15px;display:flex}.file-name{color:var(--text-muted);font-size:13.5px}.countdown-timer{background:var(--cream-alt);border:1px solid var(--gold);color:var(--gold-dark);text-align:center;border-radius:10px;max-width:520px;margin:16px 0;padding:10px 16px}.countdown-expired{color:var(--danger);background:#fdeceb;border-color:#f2c2bd}.payment-details{flex-direction:column;gap:6px;font-size:16px;display:flex}.highlight-row{background:var(--cream-alt);border-radius:8px;padding:8px}.qr-container{justify-content:center;padding:10px 0;display:flex}.qr-container img{object-fit:contain;border:1px solid var(--border);border-radius:10px;width:220px;height:220px}.qr-placeholder{text-align:center;border:1px dashed var(--border);width:220px;color:var(--text-muted);border-radius:10px;padding:20px;font-size:13.5px}.payment-instructions{font-size:15px}.error-banner{color:#8a2f28;background:#fdeceb;border:1px solid #f2c2bd;border-radius:10px;margin:12px 0;padding:12px 16px}.success-banner{color:#2e5c2e;background:#eef7ee;border:1px solid #bfe3bf;border-radius:10px;margin:12px 0;padding:12px 16px}.loading-spinner{color:var(--text-muted);align-items:center;gap:8px;padding:24px 0;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--gold-dark);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.legal-page h1{margin-bottom:4px}.legal-updated{color:var(--text-muted);margin-bottom:24px;font-size:15px}.legal-section{margin-top:22px}.legal-section h2{font-size:21.5px}.legal-section ul{color:var(--text-muted);padding-left:20px}.policy-table{border-collapse:collapse;width:100%;margin:20px 0}.policy-table th,.policy-table td{border:1px solid var(--border);text-align:left;padding:10px;font-size:16px}.policy-table th{background:var(--cream-alt)}.site-footer{background:var(--cream);color:var(--mid-grey);border-top:1px solid var(--border);font-family:var(--font-serif);padding:64px 24px 0}.footer-main{border-bottom:1px solid var(--border);grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;max-width:1180px;margin:0 auto;padding-bottom:40px;display:grid}.footer-logo-mark{object-fit:contain;width:46px;height:46px;margin-bottom:14px;display:block}.footer-brand-col h3{color:var(--ink);letter-spacing:.14em;font-size:17px;font-weight:400}.footer-brand-col p{font-size:13.5px}.footer-col h4{color:var(--ink);letter-spacing:.03em;margin-bottom:16px;font-size:15px;font-weight:600}.footer-col a{color:var(--mid-grey);margin-bottom:12px;font-size:15px;font-weight:300;text-decoration:none;transition:color .2s;display:block}.footer-col a:hover{color:var(--ink)}.footer-note{opacity:.75;margin-top:8px;font-size:12.5px}.footer-bottom{letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:10px;max-width:1180px;margin:0 auto;padding:20px 0 28px;font-size:12.5px;display:flex}.footer-bottom-links{flex-wrap:wrap;gap:20px;display:flex}.footer-bottom-links a{color:var(--mid-grey);text-decoration:none;transition:color .2s}.footer-bottom-links a:hover{color:var(--ink)}@media (width<=800px){.footer-main{grid-template-columns:1fr 1fr}}@media (width<=500px){.footer-main{grid-template-columns:1fr}}.admin-login-page{background:var(--cream-alt);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--cream);border-radius:14px;width:100%;max-width:380px;padding:32px;box-shadow:0 4px 24px #3c41421a}.login-card form{flex-direction:column;gap:14px;margin-top:16px;display:flex}.login-card label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:15px;display:flex}.admin-layout{background:var(--cream);min-height:100vh;display:flex}.admin-content{flex:1;max-width:1100px;padding:32px 36px 100px}.admin-subtext{color:var(--text-muted);margin-top:-6px}.admin-sidebar{background:var(--ink);color:#fffff9d9;flex-direction:column;gap:20px;width:230px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.admin-sidebar-header{color:var(--cream);align-items:center;gap:10px;font-weight:600;display:flex}.admin-logo-mark{object-fit:contain;width:28px;height:28px}.admin-drawer-close{color:var(--cream);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:27.5px;display:none}.admin-sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.admin-sidebar-link{color:#fffff9bf;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:16px;text-decoration:none;display:flex}.admin-sidebar-link:hover,.admin-sidebar-link.active{color:var(--cream);background:#fffff914}.admin-sidebar-icon{text-align:center;width:18px;display:inline-block}.admin-logout-btn{color:var(--cream);cursor:pointer;background:0 0;border:1px solid #fffff940;border-radius:6px;padding:10px}.admin-topbar,.admin-bottom-nav,.admin-drawer-backdrop{display:none}@media (width<=900px){.admin-content{padding:20px 16px 90px}.admin-sidebar{z-index:120;width:260px;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-drawer-close{display:block}.admin-topbar{background:var(--ink);color:var(--cream);z-index:90;align-items:center;gap:14px;padding:14px 16px;display:flex;position:sticky;top:0}.admin-hamburger{color:var(--cream);cursor:pointer;background:0 0;border:none;font-size:23px}.admin-drawer-backdrop{z-index:110;background:#3c414266;display:block;position:fixed;inset:0}.admin-bottom-nav{background:var(--cream);border-top:1px solid var(--border);z-index:90;display:flex;position:fixed;bottom:0;left:0;right:0}.admin-bottom-nav-link{color:var(--text-muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;font-size:11.5px;text-decoration:none;display:flex}}.stat-cards-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:24px 0;display:grid}.stat-card-v2{background:var(--cream);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:20px;display:flex}.stat-label-v2{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;font-size:12.5px}.stat-value-v2{font-size:34px;font-weight:300}.stat-caption-v2{color:var(--text-muted);font-size:13.5px}.occupancy-list{flex-direction:column;gap:16px;margin:20px 0;display:flex}.occupancy-row{grid-template-columns:160px 1fr 160px;align-items:center;gap:14px;display:grid}.occupancy-bar-track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.occupancy-bar-fill{background:var(--ink);height:100%}.occupancy-figure{color:var(--text-muted);text-align:right;font-size:13.5px}@media (width<=600px){.occupancy-row{grid-template-columns:1fr;gap:6px}.occupancy-figure{text-align:left}}.dashboard-secondary-stats{color:var(--text-muted);flex-wrap:wrap;gap:24px;margin-top:24px;font-size:16px;display:flex}.filter-tab,.booking-table{margin-top:4px}.booking-table{flex-direction:column;gap:8px;display:flex}.booking-row{background:var(--cream);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.booking-row:hover{box-shadow:0 2px 10px #3c414214}.booking-row-sub{color:var(--text-muted);font-size:15px}.status-pill{border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:13.5px;font-weight:600;display:inline-block}.status-pending{color:#92640c;background:#fef3c7}.status-accepted,.status-confirmed{color:#256a25;background:#d9f2d9}.status-rejected,.status-cancelled{color:#92352c;background:#fbdedb}.booking-detail-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;max-width:700px;padding:22px}.booking-detail-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:16px;display:flex}.document-grid{flex-wrap:wrap;gap:12px;display:flex}.document-thumb{color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;font-size:13.5px;text-decoration:none;display:flex}.document-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:120px;height:120px}.admin-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.room-qr-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:20px;display:grid}.room-qr-card{background:var(--cream);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:18px;display:flex}.qr-preview{border:1px solid var(--border);border-radius:10px;width:100%;max-width:180px;margin:0 auto}.booking-id-banner{background:var(--ink);color:var(--cream);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;max-width:520px;margin:22px 0 6px;padding:18px 22px;display:flex}.booking-id-banner-compact{margin-top:0;padding:14px 18px}.booking-id-label{letter-spacing:.18em;text-transform:uppercase;color:#fffff9a6;font-size:11.5px}.booking-id-value{letter-spacing:.02em;font-family:Courier New,monospace;font-size:19px;font-weight:500}.booking-id-copy{margin-left:auto;padding:7px 16px;font-size:11px}.btn-outline-dark{color:var(--cream);background:0 0;border-color:#fffff966}.btn-outline-dark:hover{background:var(--cream);color:var(--ink)}.booking-id-hint{color:var(--text-muted);max-width:520px;margin-top:6px;margin-bottom:0;font-size:13px}.qr-reveal-button{cursor:pointer;background:0 0;border:none;padding:0;display:block;position:relative}.qr-reveal-button img{object-fit:contain;border:1px solid var(--border);border-radius:10px;width:220px;height:220px;transition:filter .25s}.qr-blurred{filter:blur(16px)}.qr-reveal-overlay{color:#fff;letter-spacing:.04em;text-shadow:0 1px 4px #000000b3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13.5px;font-weight:500;display:flex;position:absolute;inset:0}.qr-reveal-icon{font-size:24px}.payment-breakdown{background:var(--cream-alt);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;max-width:480px;padding:16px 20px;font-size:16px;display:flex}.booking-widget-due{color:var(--gold-dark);padding:4px 0 8px;font-size:16px}.booking-code-search{gap:10px;max-width:440px;margin:18px 0;display:flex}.booking-code-search input{flex:1}.booking-code-tag{background:var(--cream-alt);border:1px solid var(--border);border-radius:5px;margin-right:10px;padding:2px 9px;font-family:Courier New,monospace;font-size:12px}
