:root{--serif:Constantia, Georgia, "Times New Roman", serif;--sans:"Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;color:#1f2420;font-family:var(--sans);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f1e7;font-size:16px;font-weight:400;line-height:1.55}body{margin:0}#root{min-height:100svh}:root{--forest:#173328;--forest-2:#25483a;--moss:#68765a;--cream:#f6f1e7;--paper:#fffaf0;--wood:#a46e46;--wood-soft:#d8b58e;--charcoal:#1f2420;--muted:#6f7469;--line:#1f242029;--shadow:0 24px 70px #17332829;--radius:8px;--section:clamp(4rem, 9vw, 8rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:linear-gradient(#f6f1e7f0,#f6f1e7f0),repeating-linear-gradient(90deg,#17332808 0 1px,#0000 1px 18px);min-width:320px}body.nav-open,body.lightbox-open{overflow:hidden}a{color:inherit}img,video{max-width:100%;display:block}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:4px;outline:3px solid #a46e46b8}.site-header{z-index:50;width:100%;min-height:76px;color:var(--paper);grid-template-columns:auto 1fr auto auto;align-items:center;gap:1.25rem;padding:1rem clamp(1rem,4vw,3rem);transition:background .18s,color .18s,box-shadow .18s;display:grid;position:fixed;top:0;left:0}.site-header.is-solid{color:var(--charcoal);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf0f0;box-shadow:0 16px 40px #1733281f}.brand{font-family:var(--serif);white-space:nowrap;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:700;text-decoration:none}.desktop-nav{justify-self:center;align-items:center;gap:clamp(.8rem,1.5vw,1.5rem);display:flex}.desktop-nav a,.site-footer nav a{text-transform:uppercase;font-size:.84rem;font-weight:700;text-decoration:none;position:relative}.desktop-nav a:after,.site-footer nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.site-footer nav a:hover:after{transform:scaleX(1)}.header-cta{min-height:44px;color:var(--paper);background:var(--wood);border-radius:var(--radius);border:1px solid #ffffff4d;justify-content:center;align-items:center;padding:.68rem 1rem;text-decoration:none;display:inline-flex;box-shadow:0 14px 32px #1f242029}.menu-toggle{color:currentColor;cursor:pointer;border-radius:var(--radius);background:#fffaf024;border:1px solid;place-items:center;width:46px;height:46px;display:none}.menu-toggle svg,.button svg,.fact-item svg,.contact-action svg,.mobile-action-bar svg,.floating-whatsapp svg{stroke-width:1.75px;width:1.1rem;height:1.1rem}.mobile-nav{color:var(--charcoal);background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);gap:.4rem;padding:1rem;display:grid;position:fixed;inset:76px 0 auto}.mobile-nav[hidden]{display:none}.mobile-nav a{border-bottom:1px solid var(--line);min-height:48px;padding:.85rem .9rem;font-weight:700;text-decoration:none}.hero-section{min-height:100svh;color:var(--paper);place-items:center start;padding:7.5rem clamp(1.2rem,5vw,5rem) 4rem;display:grid;position:relative;overflow:hidden}.hero-media,.hero-overlay,.hero-media .media-frame,.hero-media video{position:absolute;inset:0}.hero-media{background:var(--forest);z-index:0}.hero-media .media-frame{border-radius:0;margin:0}.hero-media .media-placeholder{color:#fffaf0b8;background:linear-gradient(#17332859, #17332859), repeating-linear-gradient(135deg, #fffaf014 0 1px, transparent 1px 18px), var(--forest)}.hero-media img,.hero-media video{object-fit:cover;width:100%;height:100%}.hero-overlay{z-index:1;background:linear-gradient(90deg,#0a1712d1,#0a171275 48%,#0a171233),linear-gradient(#0000 62%,#0a171294)}.hero-content{z-index:2;text-shadow:0 2px 22px #0000003d;width:min(720px,100%);position:relative}.eyebrow,.section-kicker{color:var(--wood-soft);text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:800}.hero-content h1{color:var(--paper);font-family:var(--serif);text-wrap:balance;margin:0 0 1.4rem;font-size:clamp(4rem,13vw,9.5rem);font-weight:700;line-height:.92}.hero-lead{max-width:680px;font-family:var(--serif);margin:0;font-size:clamp(1.45rem,3vw,2.45rem);line-height:1.18}.hero-copy{color:#fffaf0d1;max-width:590px;margin:1.2rem 0 0;font-size:clamp(1rem,1.35vw,1.16rem)}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1.15rem;font-weight:800;text-decoration:none;transition:transform .16s,background .16s,color .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:var(--paper);background:var(--wood)}.button-secondary{color:var(--paper);background:#fffaf01a;border-color:#fffaf06b}.button-secondary.dark{color:var(--charcoal);background:#fffaf0d1;border-color:#0000}.scroll-indicator{z-index:2;width:48px;height:48px;color:var(--paper);border:1px solid #fffaf080;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:2rem;right:clamp(1rem,4vw,3rem)}.facts-band{border-top:1px solid #fffaf029;border-bottom:1px solid var(--line);background:var(--forest);color:var(--paper);grid-template-columns:repeat(6,1fr);display:grid}.fact-item{border-right:1px solid #fffaf029;align-content:center;gap:.75rem;min-height:140px;padding:1.25rem;display:grid}.fact-item svg{color:var(--wood-soft)}.fact-item span{max-width:16ch;font-weight:800;line-height:1.25}.section{padding:var(--section) clamp(1.1rem, 5vw, 5rem)}.section-heading{max-width:760px;margin-bottom:clamp(2rem,4vw,3.5rem)}.section-heading.light,.section-heading.light h2{color:var(--paper)}.section h2,.final-cta h2{color:var(--charcoal);font-family:var(--serif);text-wrap:balance;margin:0;font-size:clamp(2.2rem,5vw,5rem);font-weight:700;line-height:1}.section h3{color:var(--charcoal);font-family:var(--serif);margin:0;font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1.08}.section p{color:var(--muted);font-size:clamp(1rem,1.4vw,1.14rem)}.intro-section,.location-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.section-copy{max-width:570px}.section-copy p:last-child{margin-top:1.5rem}.media-frame{background:var(--forest-2);border-radius:var(--radius);min-height:260px;box-shadow:var(--shadow);border:1px solid #1f24201f;margin:0;position:relative;overflow:hidden}.media-frame img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .24s,transform .5s;position:absolute;inset:0}.media-frame img.is-loaded{opacity:1}.media-frame:hover img.is-loaded{transform:scale(1.025)}.media-placeholder{color:#fffaf0c2;text-align:center;background:linear-gradient(#17332833, #17332833), repeating-linear-gradient(135deg, #fffaf017 0 1px, transparent 1px 18px), var(--forest-2);place-items:center;padding:1.2rem;display:grid;position:absolute;inset:0}.media-failed{display:none}.media-frame figcaption{z-index:2;color:var(--paper);background:#173328bd;border-radius:6px;padding:.3rem .5rem;font-size:.78rem;font-weight:800;position:absolute;bottom:.85rem;right:.85rem}.intro-media{min-height:clamp(420px,58vw,680px)}.room-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.room-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:0;display:grid;overflow:hidden}.room-item .media-frame{min-height:clamp(300px,28vw,430px);box-shadow:none;border:0;border-radius:0}.room-copy{gap:1.1rem;padding:1.25rem;display:grid}.room-copy p{color:var(--muted);margin:.45rem 0 0;font-size:.94rem}.room-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.room-thumbnails button{aspect-ratio:1.25;cursor:pointer;background:var(--forest-2);border:2px solid #0000;border-radius:6px;padding:0;position:relative;overflow:hidden}.room-thumbnails button.is-active{border-color:var(--wood)}.room-thumbnails img{object-fit:cover;width:100%;height:100%}.room-copy ul,.equipment-panel ul,.amenity-group ul{margin:0;padding:0;list-style:none}.room-copy li,.equipment-panel li{color:var(--muted);border-top:1px solid var(--line);padding:.7rem 0}.common-section{background:var(--paper)}.common-layout{gap:clamp(1rem,3vw,2rem);display:grid}.interior-layout{gap:clamp(1.4rem,4vw,4rem);display:grid}.interior-group{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);align-items:center;gap:clamp(1.2rem,5vw,5rem);padding-bottom:clamp(1rem,3vw,2rem);display:grid}.interior-group:nth-child(2n):not(.interior-rooms) .image-open-button{order:2}.interior-group .media-frame{min-height:clamp(340px,42vw,560px);box-shadow:none}.interior-group-heading span,.interior-card-copy h4{color:var(--wood);margin-bottom:.75rem;font-weight:900;display:block}.interior-group-heading p,.interior-card-copy p{color:var(--muted)}.interior-room-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.interior-rooms{grid-template-columns:1fr;display:grid}.interior-room-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.interior-room-card .media-frame{border:0;border-radius:0;min-height:clamp(260px,24vw,380px)}.interior-card-copy{padding:1rem}.interior-card-copy h4{color:var(--charcoal);font-family:var(--serif);margin-top:0;font-size:1.3rem}.image-open-button{width:100%;color:inherit;text-align:inherit;cursor:zoom-in;border-radius:var(--radius);background:0 0;border:0;padding:0;display:block}.common-item{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:clamp(1rem,4vw,4rem);display:grid}.common-item:nth-child(2n) .media-frame{order:2}.common-item .media-frame{min-height:clamp(340px,43vw,520px)}.common-item span,.outdoor-copy span{color:var(--wood);margin-bottom:.75rem;font-weight:900;display:block}.common-item p,.outdoor-copy p{margin-top:1rem}.equipment-panel{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);margin-top:clamp(2rem,4vw,4rem);padding:clamp(1.2rem,3vw,2rem)}.equipment-panel ul{grid-template-columns:repeat(3,1fr);gap:0 1.5rem;margin-top:1rem;display:grid}.exterior-section{color:var(--paper);background:linear-gradient(#173328f5,#173328f5),repeating-linear-gradient(0deg,#fffaf00f 0 1px,#0000 1px 20px)}.outdoor-feature-list{gap:clamp(1.2rem,4vw,4rem);display:grid}.outdoor-feature{border-bottom:1px solid #fffaf029;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);align-items:center;gap:clamp(1.2rem,5vw,5rem);padding-bottom:clamp(1.4rem,4vw,3rem);display:grid}.outdoor-feature:nth-child(2n) .media-frame{order:2}.outdoor-feature .media-frame{min-height:clamp(360px,44vw,640px);box-shadow:none}.outdoor-copy h3,.outdoor-copy p{color:var(--paper)}.outdoor-copy p{opacity:.82}.outdoor-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.25rem;display:grid}.outdoor-thumbnails button{aspect-ratio:1.35;cursor:pointer;background:var(--forest-2);border:2px solid #fffaf02e;border-radius:6px;padding:0;overflow:hidden}.outdoor-thumbnails button.is-active{border-color:var(--wood-soft)}.outdoor-thumbnails img{object-fit:cover;width:100%;height:100%}.notice{color:var(--charcoal);border-radius:var(--radius);background:#a46e461f;border:1px solid #a46e4640;padding:.8rem 1rem}.facilities-section{background:var(--paper)}.amenity-columns{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.amenity-group{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,2.4vw,1.8rem)}.amenity-group h3{margin-bottom:1rem;font-size:1.5rem}.amenity-group li{color:var(--muted);border-top:1px solid var(--line);grid-template-columns:22px 1fr;align-items:center;gap:.75rem;padding:.72rem 0;display:grid}.amenity-group svg{width:1.05rem;height:1.05rem;color:var(--wood)}.gallery-category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);display:grid}.gallery-category{border-bottom:1px solid var(--line);gap:.9rem;min-width:0;padding-bottom:1rem;display:grid}.gallery-category-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.gallery-category-heading h3,.gallery-category-heading p{margin:0}.gallery-category-heading h3{font-size:clamp(1.35rem,2.2vw,2rem)}.gallery-category-heading p{color:var(--wood);flex:none;font-size:.86rem;font-weight:900}.gallery-carousel{border-radius:var(--radius);position:relative;overflow:hidden}.gallery-image-button{width:100%;min-height:clamp(320px,38vw,560px);color:var(--paper);text-align:left;cursor:zoom-in;border-radius:var(--radius);background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.gallery-image-button .media-frame{width:100%;min-height:inherit;box-shadow:none;border:0}.gallery-image-button span{z-index:3;background:#173328bd;border-radius:6px;max-width:calc(100% - 1.7rem);padding:.34rem .55rem;font-size:.78rem;font-weight:800;line-height:1.25;position:absolute;bottom:.85rem;left:.85rem}.gallery-prev,.gallery-next{top:50%;transform:translateY(-50%)}.gallery-prev{left:.75rem}.gallery-next{right:.75rem}.gallery-dots{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.gallery-dots button{cursor:pointer;background:#1733282e;border:0;border-radius:999px;width:36px;height:8px;padding:0}.gallery-dots button.is-active{background:var(--wood)}.lightbox{z-index:80;background:#08110de6;place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0}.lightbox-backdrop{cursor:zoom-out;background:0 0;border:0;position:absolute;inset:0}.lightbox-panel{z-index:2;width:min(1120px,100%);position:relative}.lightbox-panel .media-frame{min-height:min(72svh,760px);box-shadow:none}.lightbox-counter{color:var(--paper);text-align:center;margin:.85rem 0 0;font-size:.95rem;font-weight:800}.icon-button{z-index:4;width:52px;height:52px;color:var(--paper);cursor:pointer;border-radius:var(--radius);background:#173328db;border:1px solid #fffaf03d;place-items:center;display:grid;position:absolute}.icon-button svg{width:1.35rem;height:1.35rem}.close-button{top:.8rem;right:.8rem}.prev-button,.next-button{top:50%;transform:translateY(-50%)}.prev-button{left:.8rem}.next-button{right:.8rem}.location-details{gap:1rem;display:grid}.location-details dl{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:0;display:grid}.location-details dl div,.map-placeholder{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.location-details dt{color:var(--wood);text-transform:uppercase;font-size:.78rem;font-weight:900}.location-details dd{color:var(--charcoal);margin:.35rem 0 0;font-weight:800}.map-placeholder{min-height:260px;color:var(--muted);background:repeating-linear-gradient(135deg, #1733280d 0 1px, transparent 1px 18px), var(--paper);place-items:center;display:grid}.map-placeholder svg{width:2rem;height:2rem;color:var(--wood)}.contact-section{background:var(--forest)}.contact-section .section-heading h2,.contact-section .section-heading p{color:var(--paper)}.contact-layout{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);align-items:start;gap:clamp(1rem,4vw,3rem);display:grid}.contact-layout.is-solo{grid-template-columns:minmax(0,880px)}.inquiry-form{background:var(--paper);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:1rem;padding:clamp(1rem,2.5vw,1.6rem);display:grid}.inquiry-form label{color:var(--charcoal);gap:.45rem;font-weight:800;display:grid}.inquiry-form label.full,.inquiry-form .full,.form-errors,.form-status{grid-column:1/-1}.inquiry-form input,.inquiry-form textarea{width:100%;min-height:46px;color:var(--charcoal);border-radius:var(--radius);background:#fffdf7;border:1px solid #1f24203d;padding:.72rem .82rem}.inquiry-form textarea{resize:vertical;min-height:130px}.prepared-message{color:var(--forest);background:#68765a1a}.inquiry-form small,.form-errors,.form-status{color:#8b2d20}.form-errors,.form-status{border-radius:var(--radius);background:#8b2d2014;border:1px solid #8b2d2047;padding:.9rem 1rem}.form-status{color:var(--forest);background:#68765a1f;border-color:#68765a47;margin:0}.form-errors p{color:#8b2d20;margin:0 0 .5rem;font-weight:900}.form-errors ul{margin:0;padding-left:1.2rem}.checkbox-label{grid-template-columns:auto 1fr;align-items:center}.checkbox-label input{width:22px;height:22px;min-height:auto;accent-color:var(--wood)}.direct-contact{gap:.75rem;display:grid}.contact-action{color:var(--charcoal);background:var(--paper);border-radius:var(--radius);grid-template-columns:38px 1fr;align-items:center;gap:.25rem .9rem;padding:1rem;text-decoration:none;display:grid}.contact-action svg{color:var(--wood);grid-row:span 2}.contact-action span{text-transform:uppercase;font-size:.8rem;font-weight:900}.contact-action strong{overflow-wrap:anywhere}.final-cta{min-height:68svh;color:var(--paper);place-items:center start;padding:clamp(4rem,9vw,8rem) clamp(1.2rem,5vw,5rem);display:grid;position:relative;overflow:hidden}.final-cta .media-frame,.final-cta:after{box-shadow:none;border:0;border-radius:0;position:absolute;inset:0}.final-cta:after{content:"";background:#0a1712ad}.final-cta>div{z-index:2;width:min(760px,100%);position:relative}.final-cta h2{color:var(--paper)}.site-footer{color:var(--paper);background:#101f19;grid-template-columns:1fr 1.2fr 1fr;gap:2rem;padding:3rem clamp(1.2rem,5vw,5rem) 6rem;display:grid}.site-footer strong{font-family:var(--serif);margin-bottom:.5rem;font-size:1.55rem;display:block}.site-footer p,.site-footer small{color:#fffaf0b8}.site-footer nav,.footer-contact{flex-wrap:wrap;align-content:start;gap:.8rem 1rem;display:flex}.site-footer a{color:inherit;text-decoration:none}.site-footer small{grid-column:1/-1}.floating-whatsapp{z-index:35;width:56px;height:56px;color:var(--paper);background:var(--forest);box-shadow:var(--shadow);border:1px solid #fffaf02e;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:1.25rem;right:1.25rem}.mobile-action-bar{z-index:45;padding:.55rem .6rem calc(.55rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffaf0f5;grid-template-columns:repeat(3,1fr);display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -16px 36px #17332824}.mobile-action-bar a{min-height:48px;color:var(--charcoal);text-align:center;place-items:center;font-size:.75rem;font-weight:900;text-decoration:none;display:grid}.reveal{animation:.56s both reveal-up}@keyframes reveal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=1180px){.facts-band{grid-template-columns:repeat(3,1fr)}.room-grid,.interior-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){html{scroll-padding-top:80px}body{padding-bottom:74px}.site-header{grid-template-columns:1fr auto;min-height:72px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:grid}.hero-section{min-height:96svh;padding-top:7rem}.hero-overlay{background:linear-gradient(#0a171257,#0a1712d1),linear-gradient(90deg,#0a1712b3,#0a171247)}.facts-band{grid-template-columns:repeat(2,1fr)}.fact-item{min-height:118px}.intro-section,.location-section,.interior-group,.common-item,.outdoor-feature,.contact-layout{grid-template-columns:1fr}.interior-group:nth-child(2n):not(.interior-rooms) .image-open-button,.common-item:nth-child(2n) .media-frame,.outdoor-feature:nth-child(2n) .media-frame{order:0}.equipment-panel ul,.amenity-columns,.location-details dl,.gallery-category-list{grid-template-columns:1fr}.gallery-image-button{min-height:330px}.inquiry-form{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;padding-bottom:7rem}.floating-whatsapp{display:none}.mobile-action-bar{display:grid}}@media (width<=560px){.site-header{padding-inline:.85rem}.brand{white-space:normal;font-size:1.22rem}.hero-section{padding-inline:1rem}.hero-content h1{font-size:clamp(3.35rem,18vw,5.3rem)}.hero-actions,.hero-actions .button{width:100%}.facts-band{grid-template-columns:1fr}.fact-item{grid-template-columns:28px 1fr;align-items:center;min-height:90px}.section{padding-inline:1rem}.room-grid,.interior-room-grid{grid-template-columns:1fr}.room-item .media-frame,.interior-group .media-frame,.common-item .media-frame,.outdoor-feature .media-frame,.intro-media{min-height:330px}.gallery-category-heading{align-items:start;gap:.35rem;display:grid}.gallery-image-button{min-height:310px}.gallery-dots button{width:28px}.lightbox{padding:.75rem}.lightbox-panel .media-frame{min-height:68svh}.prev-button,.next-button{top:auto;bottom:.8rem;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
