:root{--forest-950:#08281b;--forest-900:#0d3925;--forest-800:#174d34;--forest-700:#286446;--cream-50:#fcfaf3;--cream-100:#f5f0e4;--cream-200:#e9e0ce;--gold:#b68a3b;--gold-light:#d7ba78;--ink:#1d281f;--muted:#6c7468;--white:#fff;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost','Segoe UI',sans-serif;--container:1180px;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream-50);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--forest-950);line-height:1.04}h2{font-size:clamp(2.9rem,5vw,5.1rem);letter-spacing:-.02em}h2 em,h1 em{font-style:italic;font-weight:500}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 30px}.eyebrow{color:var(--gold);font-family:var(--serif);font-style:italic;font-size:1.18rem;line-height:1.1}.overline{text-transform:uppercase;letter-spacing:.19em;color:var(--gold-light);font-size:.7rem;font-weight:600}.section{padding:126px 0}.section-heading{margin-bottom:58px}.section-heading.split-heading{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end}.section-heading h2{margin-top:15px}.section-heading>p{color:var(--muted);font-size:1.02rem;max-width:370px;line-height:1.8}.section-heading.centered{text-align:center;max-width:650px;margin-left:auto;margin-right:auto}.section-heading.centered>p:last-child{max-width:500px;margin:20px auto 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:49px;padding:0 22px;border:1px solid transparent;border-radius:0;text-transform:uppercase;letter-spacing:.09em;font-size:.69rem;font-weight:600;transition:transform .18s var(--ease),background .22s ease,color .22s ease,border-color .22s ease}.button span{font-size:1rem;font-weight:400;line-height:0}.button:hover{transform:translateY(-2px)}.button:active{transform:scale(.97)}.button-gold{background:var(--gold);color:#fff}.button-gold:hover{background:#98712e}.button-dark{background:var(--forest-950);color:#fff}.button-dark:hover{background:var(--forest-800)}.button-outline-light{border-color:rgba(255,255,255,.45);color:#fff}.button-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}.text-link{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.11em;font-size:.67rem;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:7px}.text-link span{font-size:1rem}.text-link.light{color:#fff;border-color:var(--gold-light)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:23px 0;color:#fff;transition:padding .35s ease,background .35s ease,box-shadow .35s ease}.site-header.scrolled{padding:13px 0;background:rgba(252,250,243,.96);color:var(--forest-950);box-shadow:0 8px 26px rgba(8,40,27,.08);backdrop-filter:blur(12px)}.nav-wrap{display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:auto;height:42px}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-family:var(--serif);font-size:1.25rem;letter-spacing:.11em}.brand-copy small{font-size:.55rem;letter-spacing:.22em;color:var(--gold-light);margin-top:5px}.scrolled .brand-copy small{color:var(--gold)}.nav-links{display:flex;align-items:center;gap:29px;margin-left:auto}.nav-links a{font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;position:relative;padding:5px 0}.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .22s ease}.nav-links a:hover::after{width:100%}.header-book{border:1px solid rgba(255,255,255,.55);padding:10px 16px;text-transform:uppercase;font-size:.65rem;letter-spacing:.1em;transition:all .22s ease}.scrolled .header-book{border-color:var(--forest-800)}.header-book span{font-size:1rem;margin-left:9px}.header-book:hover{background:var(--gold);border-color:var(--gold);color:#fff}.nav-toggle{display:none;background:none;border:0;padding:7px;margin-left:auto}.nav-toggle span{display:block;width:25px;height:1px;background:currentColor;margin:5px 0}
.hero{position:relative;min-height:760px;height:100vh;max-height:930px;background:var(--forest-950);color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{background:linear-gradient(90deg,rgba(4,22,14,.84),rgba(5,25,16,.4) 52%,rgba(5,25,16,.23)),linear-gradient(0deg,rgba(4,21,14,.7),transparent 53%)}.hero-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding-top:100px}.hero-copy{max-width:680px}.hero h1{color:#fff;font-size:clamp(4.5rem,8vw,8.2rem);font-weight:500;letter-spacing:-.035em;margin:18px 0 25px}.hero-lead{max-width:455px;color:rgba(255,255,255,.76);font-size:1.03rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:37px}.hero-mark{width:74px;display:flex;flex-direction:column;align-items:center;color:rgba(255,255,255,.7);gap:9px;margin-top:130px}.hero-mark span{font-family:var(--serif);font-size:1.1rem}.hero-mark i{display:block;height:72px;width:1px;background:var(--gold)}.hero-mark small{font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;margin-top:5px}.hero-bottom{position:absolute;z-index:1;bottom:0;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:28px}.hero-facts{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.25);width:calc(100% - 100px)}.hero-facts>div{min-width:190px;padding:17px 25px 0;border-right:1px solid rgba(255,255,255,.2)}.hero-facts>div:first-child{padding-left:0}.hero-facts>div:last-child{border-right:0}.fact-label{display:block;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-light);font-size:.62rem;margin-bottom:4px}.hero-facts strong{font-family:var(--serif);font-size:1.1rem;font-weight:500}.scroll-cue{width:74px;display:flex;flex-direction:column;align-items:center;gap:7px;color:rgba(255,255,255,.8);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}.scroll-cue b{color:var(--gold-light);font-size:1.3rem;font-weight:400}
.booking-strip{background:var(--gold);color:#fff;padding:34px 0}.booking-inner{display:grid;grid-template-columns:1fr 2.1fr;align-items:center;gap:48px}.booking-heading .eyebrow{color:#f7e6b6}.booking-heading h2{font-size:2rem;color:#fff;margin-top:7px}.booking-form{display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:1px;background:rgba(255,255,255,.35)}.booking-form label{background:rgba(255,255,255,.13);padding:10px 14px;display:flex;flex-direction:column}.booking-form label span{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:#f8e8be;margin-bottom:2px}.booking-form input,.booking-form select{border:0;background:transparent;color:#fff;outline:0;font-size:.87rem;padding:2px 0}.booking-form option{color:var(--ink)}.booking-form input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}.booking-form .button{background:var(--forest-950);color:#fff;border:0;padding:0 19px}.booking-note{grid-column:2;color:rgba(255,255,255,.72);font-size:.71rem;margin-top:-24px;padding-left:16px}
.story{background:var(--cream-50)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:115px;align-items:center}.image-stack{position:relative;padding:0 44px 52px 0}.stack-main{width:100%;aspect-ratio:4/5;object-fit:cover}.image-stack::after{content:'';position:absolute;right:0;bottom:0;width:61%;height:61%;border:1px solid var(--gold);z-index:0}.stack-card{position:absolute;z-index:1;right:0;bottom:0;background:var(--forest-950);color:#fff;padding:23px 27px;width:210px;display:flex;flex-direction:column;line-height:1.1}.stack-card span{font-family:var(--serif);font-style:italic;color:var(--gold-light);font-size:1.2rem}.stack-card strong{font-family:var(--serif);font-size:1.5rem;font-weight:500;margin-top:4px}.stack-card small{font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:17px;line-height:1.6}.story-copy h2{margin-top:17px;font-size:clamp(2.8rem,4vw,4.5rem)}.gold-line{width:56px;height:2px;background:var(--gold);margin:28px 0}.story-copy>p:not(.eyebrow){color:var(--muted);font-size:.97rem;line-height:1.9;max-width:495px;margin-bottom:16px}.story-copy .lead-copy{font-size:1.07rem;color:var(--ink);line-height:1.8}.story-stats{display:flex;gap:51px;border-top:1px solid var(--cream-200);margin-top:31px;padding-top:24px}.story-stats strong{display:block;font-family:var(--serif);color:var(--forest-900);font-size:2.45rem;font-weight:600;line-height:1}.story-stats span{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6rem;margin-top:7px}
.gallery-section{background:var(--forest-950);color:#fff}.gallery-section h2{color:#fff}.gallery-section .section-heading>p{color:rgba(255,255,255,.64)}.gallery-tabs{display:flex;gap:28px;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:29px}.gallery-tab{padding:0 0 13px;border:0;background:none;color:rgba(255,255,255,.53);font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;position:relative}.gallery-tab::after{content:'';position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--gold-light);transition:width .22s ease}.gallery-tab.active,.gallery-tab:hover{color:var(--gold-light)}.gallery-tab.active::after{width:100%}.gallery-grid{display:grid;grid-template-columns:1.35fr .85fr .85fr;grid-auto-rows:245px;gap:13px}.gallery-item{padding:0;border:0;position:relative;overflow:hidden;background:var(--forest-900);color:#fff;text-align:left;cursor:pointer}.gallery-item.gallery-large{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),opacity .3s ease}.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,19,12,.74),transparent 58%)}.gallery-item span{position:absolute;z-index:1;left:20px;bottom:17px;display:flex;flex-direction:column;line-height:1.25}.gallery-item span small{text-transform:uppercase;letter-spacing:.14em;color:var(--gold-light);font-size:.56rem}.gallery-item span strong{font-family:var(--serif);font-size:1.4rem;font-weight:500;margin-top:5px}.gallery-item:hover img{transform:scale(1.06);opacity:.88}.gallery-item.is-hidden{display:none}
.rooms-section{background:var(--cream-100)}.room-filter{display:flex;gap:7px;margin:-22px 0 35px}.room-filter-btn{background:transparent;border:1px solid var(--cream-200);color:var(--muted);padding:9px 16px;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;transition:all .2s ease}.room-filter-btn.active,.room-filter-btn:hover{background:var(--forest-950);border-color:var(--forest-950);color:#fff}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.room-card{background:var(--cream-50);transition:transform .25s var(--ease),box-shadow .25s ease}.room-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(8,40,27,.12)}.room-card.is-hidden{display:none}.room-card-image{height:235px;position:relative;overflow:hidden;background:var(--forest-800)}.room-card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.room-card:hover .room-card-image>img{transform:scale(1.05)}.room-badge{position:absolute;top:14px;left:14px;background:var(--forest-950);color:#fff;text-transform:uppercase;letter-spacing:.11em;font-size:.55rem;padding:7px 10px}.room-plus{position:absolute;right:14px;bottom:14px;border:1px solid #fff;background:rgba(255,255,255,.93);color:var(--forest-950);width:37px;height:37px;font-size:1.4rem;line-height:1;transition:all .2s ease}.room-plus:hover{background:var(--gold);border-color:var(--gold);color:#fff}.room-card-body{padding:19px 20px 21px}.room-card-top{display:flex;justify-content:space-between;align-items:baseline;color:var(--gold);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.room-card-top strong{font-family:var(--serif);font-size:1.45rem;color:var(--forest-950);letter-spacing:0;text-transform:none}.room-card-top strong small{font-family:var(--sans);font-size:.58rem;color:var(--muted);font-weight:400}.room-card h3{font-size:1.75rem;margin:10px 0 8px}.room-card-body>p{color:var(--muted);font-size:.84rem;line-height:1.65;min-height:46px}.room-card-meta{display:flex;gap:16px;border-top:1px solid var(--cream-200);margin-top:15px;padding-top:12px;color:var(--muted);font-size:.67rem}.room-card-meta span+span{border-left:1px solid var(--cream-200);padding-left:16px}.rooms-footer{border-top:1px solid var(--cream-200);margin-top:37px;padding-top:19px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.76rem}.rooms-footer .text-link{color:var(--forest-900)}
.amenities-section{background:var(--cream-50)}.amenity-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:stretch}.amenity-feature{position:relative;min-height:430px;overflow:hidden;background:var(--forest-950)}.amenity-feature img{width:100%;height:100%;object-fit:cover;opacity:.72}.amenity-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,21,14,.9),transparent 65%)}.amenity-feature>div{position:absolute;z-index:1;left:28px;bottom:26px;color:#fff}.amenity-feature span{display:block;color:var(--gold-light);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px}.amenity-feature strong{font-family:var(--serif);font-size:2.1rem;line-height:1.04;font-weight:500}.amenity-list{border-top:1px solid var(--cream-200)}.amenity-row{display:grid;grid-template-columns:30px 42px 1fr;gap:15px;align-items:start;border-bottom:1px solid var(--cream-200);padding:26px 0}.amenity-row>b{font-family:var(--serif);font-size:1rem;color:var(--gold);font-weight:500}.amenity-icon{width:37px;height:37px;border:1px solid var(--gold-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:var(--serif);font-size:1.1rem}.amenity-row strong{display:block;color:var(--forest-950);font-family:var(--sans);font-size:.93rem;font-weight:600;margin:4px 0 4px}.amenity-row p{color:var(--muted);font-size:.78rem;line-height:1.55}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--forest-800);border-bottom:1px solid var(--forest-800);margin-top:59px}.service-grid>div{padding:19px 14px 17px;border-right:1px solid var(--cream-200)}.service-grid>div:last-child{border:0}.service-grid span{display:block;color:var(--gold);font-family:var(--serif);font-size:.9rem;font-style:italic}.service-grid strong{display:block;color:var(--forest-950);font-size:.79rem;margin-top:4px}.service-grid small{display:block;color:var(--muted);font-size:.65rem;line-height:1.4;margin-top:3px}
.day-section{background:var(--cream-100)}.day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.day-card{background:var(--cream-50)}.day-image{height:278px;position:relative;overflow:hidden}.day-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.day-card:hover .day-image img{transform:scale(1.05)}.day-image span{position:absolute;left:16px;top:16px;background:var(--gold);color:#fff;padding:8px 10px;font-family:var(--serif);font-size:1rem}.day-copy{padding:23px 24px 28px}.day-copy small{color:var(--gold);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.day-copy h3{font-size:1.9rem;margin:9px 0 9px}.day-copy p{color:var(--muted);font-size:.82rem;line-height:1.65}
.pricing-section{background:var(--forest-900);color:#fff}.pricing-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:center}.pricing-section h2{color:#fff;margin:16px 0 18px}.pricing-intro{color:rgba(255,255,255,.67);font-size:.92rem;line-height:1.75;max-width:320px;margin-bottom:28px}.price-list{border-top:1px solid rgba(255,255,255,.27)}.price-row{display:flex;justify-content:space-between;align-items:center;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.17);gap:20px}.price-row span{font-family:var(--serif);font-size:1.35rem}.price-row strong{font-family:var(--serif);font-size:1.65rem;color:var(--gold-light);font-weight:500;white-space:nowrap}.price-row small{font-family:var(--sans);font-size:.62rem;color:rgba(255,255,255,.6);font-weight:400}.price-note{font-size:.65rem;color:rgba(255,255,255,.46);margin-top:17px}
.info-section{background:var(--cream-50)}.info-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:start}.info-intro h2{margin:17px 0}.info-intro>p:last-child{color:var(--muted);font-size:.9rem;max-width:230px}.info-accordion{border-top:1px solid var(--cream-200)}.info-accordion details{border-bottom:1px solid var(--cream-200);padding:0 0}.info-accordion summary{list-style:none;cursor:pointer;padding:22px 0;font-family:var(--serif);font-size:1.35rem;color:var(--forest-950);display:flex;justify-content:space-between;align-items:center}.info-accordion summary::-webkit-details-marker{display:none}.info-accordion summary::after{content:'+';font-family:var(--sans);font-size:1.4rem;color:var(--gold);font-weight:300}.info-accordion details[open] summary::after{content:'–'}.info-accordion details p{color:var(--muted);font-size:.85rem;line-height:1.8;padding:0 38px 22px 0;max-width:650px}
.location-section{background:var(--cream-100);padding:0 0 126px}.location-grid{display:grid;grid-template-columns:.72fr 1.28fr;min-height:470px;background:var(--forest-950)}.location-copy{color:#fff;padding:62px 55px}.location-copy h2{color:#fff;margin:17px 0 35px}.location-details{border-top:1px solid rgba(255,255,255,.2);margin-bottom:29px}.location-details p{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16)}.location-details span{display:block;color:var(--gold-light);text-transform:uppercase;letter-spacing:.13em;font-size:.59rem;margin-bottom:4px}.location-details strong{font-family:var(--serif);font-size:1.08rem;font-weight:500;line-height:1.4}.location-details a:hover{color:var(--gold-light)}.map-wrap{position:relative;min-height:470px}.map-wrap iframe{width:100%;height:100%;min-height:470px;border:0;filter:grayscale(.35) sepia(.12)}.map-label{position:absolute;left:24px;bottom:24px;background:var(--cream-50);padding:12px 18px;box-shadow:0 6px 17px rgba(0,0,0,.12)}.map-label span{display:block;color:var(--gold);font-size:.56rem;letter-spacing:.15em}.map-label strong{font-family:var(--serif);font-size:1.1rem;color:var(--forest-950)}
.booking-cta{background:var(--forest-950);color:#fff;padding:82px 0}.booking-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.booking-cta h2{color:#fff;margin-top:15px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.site-footer{background:#051b12;color:#fff;padding:59px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:80px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.13)}.footer-brand .brand{margin-bottom:22px}.footer-brand p{color:rgba(255,255,255,.5);font-size:.78rem;line-height:1.8}.footer-nav{display:flex;gap:95px}.footer-nav>div{display:flex;flex-direction:column;gap:10px}.footer-nav span{color:var(--gold-light);text-transform:uppercase;letter-spacing:.13em;font-size:.61rem;margin-bottom:7px}.footer-nav a{color:rgba(255,255,255,.7);font-size:.78rem}.footer-nav a:hover{color:var(--gold-light)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:rgba(255,255,255,.38);font-size:.65rem}.footer-bottom a:hover{color:var(--gold-light)}
.mobile-booking{display:none}.lightbox,.room-modal{position:fixed;inset:0;background:rgba(2,13,8,.93);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open,.room-modal.open{display:flex}.lightbox img{max-width:min(90vw,1000px);max-height:78vh;object-fit:contain}.lightbox-close,.modal-close{position:absolute;top:24px;right:30px;border:0;background:none;color:#fff;font-size:2.5rem;font-weight:200;line-height:1}.lightbox-caption{position:absolute;bottom:28px;color:#fff;font-family:var(--serif);font-size:1.25rem}.room-modal-inner{display:grid;grid-template-columns:1.1fr .9fr;max-width:900px;width:100%;background:var(--cream-50);position:relative}.room-modal-inner>img{width:100%;height:100%;min-height:440px;object-fit:cover}.modal-room-copy{padding:50px 42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.modal-room-copy h2{font-size:3.2rem;margin:14px 0}.modal-room-copy p{color:var(--muted);font-size:.9rem;line-height:1.7;margin-bottom:19px}.modal-room-copy>strong{font-family:var(--serif);font-size:1.55rem;font-weight:600;color:var(--forest-900);margin-bottom:27px}.modal-close{color:var(--forest-950);top:11px;right:15px;z-index:2}
@media (max-width:1050px){.nav-links{gap:18px}.header-book{padding:9px 12px}.booking-inner{grid-template-columns:1fr 1.8fr;gap:25px}.story-grid{gap:62px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-grid>div:nth-child(3){border-right:0}.service-grid>div:nth-child(-n+3){border-bottom:1px solid var(--cream-200)}.pricing-grid{gap:60px}.footer-nav{gap:50px}}
@media (max-width:820px){.container{padding:0 22px}.section{padding:88px 0}.site-header{padding:15px 0}.nav-links,.header-book{display:none}.nav-toggle{display:block}.site-header.menu-open{background:var(--cream-50);color:var(--forest-950)}.site-header.menu-open .nav-links{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--cream-50);padding:25px 22px 30px;flex-direction:column;gap:17px;box-shadow:0 12px 24px rgba(8,40,27,.1)}.site-header.menu-open .nav-links a{font-size:.75rem}.hero{min-height:740px}.hero-content{padding-top:80px}.hero-mark{display:none}.hero h1{font-size:clamp(4rem,12vw,6rem)}.hero-facts{width:100%}.hero-facts>div{min-width:0;flex:1;padding-left:14px;padding-right:14px}.hero-facts strong{font-size:.93rem}.scroll-cue{display:none}.booking-inner{grid-template-columns:1fr;gap:22px}.booking-form{grid-template-columns:1fr 1fr}.booking-form .button{min-height:56px}.booking-note{grid-column:1;margin-top:0;padding:0}.section-heading.split-heading,.story-grid,.amenity-layout,.pricing-grid,.info-grid{grid-template-columns:1fr;gap:42px}.section-heading>p{max-width:470px}.image-stack{max-width:540px}.rooms-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-auto-rows:190px}.gallery-item.gallery-large{grid-row:span 2}.day-grid{grid-template-columns:1fr 1fr}.day-card:last-child{display:none}.location-grid{grid-template-columns:1fr}.location-copy{padding:52px 35px}.map-wrap,.map-wrap iframe{min-height:360px}.booking-cta-inner{display:block}.cta-actions{margin-top:31px}.footer-main{display:block}.footer-nav{margin-top:44px}.footer-bottom{flex-wrap:wrap}}
@media (max-width:580px){body{font-size:14px}.container{padding:0 17px}.section{padding:72px 0}.brand img{height:35px}.brand-copy strong{font-size:1.04rem}.brand-copy small{font-size:.48rem}.hero{min-height:700px;max-height:none}.hero-image img{object-position:58% center}.hero-content{padding-top:88px;align-items:flex-start}.hero h1{font-size:clamp(3.55rem,16vw,5.3rem);line-height:.95;margin:16px 0 21px}.hero-lead{font-size:.9rem;line-height:1.7}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px;margin-top:29px}.hero-bottom{padding-bottom:19px}.hero-facts{display:grid;grid-template-columns:1fr 1fr;row-gap:15px}.hero-facts>div{padding:0 8px;border-right:0}.hero-facts>div:first-child{padding-left:0}.hero-facts>div:nth-child(3){grid-column:1/3}.hero-facts strong{font-size:.84rem}.fact-label{font-size:.55rem}.booking-strip{padding:27px 0}.booking-heading h2{font-size:1.8rem}.booking-form{grid-template-columns:1fr 1fr}.booking-form label:last-of-type{grid-column:1/3}.booking-form .button{grid-column:1/3}.story-grid{gap:48px}.image-stack{padding-right:25px;padding-bottom:35px}.stack-card{width:185px;padding:17px 19px}.stack-card strong{font-size:1.3rem}.stack-card small{font-size:.5rem}.story-copy h2,.section-heading h2{font-size:3.25rem}.story-copy>p:not(.eyebrow){font-size:.88rem}.story-stats{gap:25px}.story-stats strong{font-size:2.1rem}.gallery-tabs{gap:17px;overflow-x:auto;white-space:nowrap;padding-bottom:1px}.gallery-tab{font-size:.58rem}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:8px}.gallery-item.gallery-large{grid-column:1/3;grid-row:span 1}.gallery-item span{left:11px;bottom:10px}.gallery-item span strong{font-size:1rem}.gallery-item span small{font-size:.46rem}.room-filter{overflow-x:auto;white-space:nowrap;margin-top:-8px;padding-bottom:4px}.room-filter-btn{padding:8px 12px;font-size:.57rem}.rooms-grid{grid-template-columns:1fr;gap:15px}.room-card-image{height:220px}.room-card-body>p{min-height:0}.rooms-footer{display:block;line-height:1.6}.rooms-footer .text-link{margin-top:13px}.amenity-layout{gap:28px}.amenity-feature{min-height:330px}.amenity-row{grid-template-columns:24px 37px 1fr;gap:10px;padding:20px 0}.amenity-row p{font-size:.73rem}.service-grid{grid-template-columns:1fr 1fr;margin-top:40px}.service-grid>div:nth-child(3){border-right:1px solid var(--cream-200)}.service-grid>div:nth-child(2n){border-right:0}.service-grid>div:nth-child(n+3){border-top:1px solid var(--cream-200);border-bottom:0}.day-grid{grid-template-columns:1fr}.day-card:last-child{display:block}.day-image{height:210px}.price-row{align-items:flex-start}.price-row span{font-size:1.1rem}.price-row strong{font-size:1.3rem}.info-accordion summary{font-size:1.22rem}.location-copy{padding:43px 24px}.location-copy h2{font-size:3.25rem}.map-wrap,.map-wrap iframe{min-height:300px}.booking-cta{padding:67px 0}.booking-cta h2{font-size:3.3rem}.cta-actions{display:flex;flex-direction:column;align-items:stretch}.footer-nav{gap:38px}.footer-bottom{display:block;line-height:1.8}.footer-bottom span,.footer-bottom a{display:block;margin-bottom:4px}.mobile-booking{display:flex;position:fixed;z-index:40;left:10px;right:10px;bottom:10px;padding:10px 11px 10px 15px;background:rgba(8,40,27,.97);border:1px solid rgba(215,186,120,.55);color:#fff;align-items:center;justify-content:space-between;box-shadow:0 12px 28px rgba(0,0,0,.2)}.mobile-booking span{display:flex;flex-direction:column;line-height:1.1}.mobile-booking strong{font-family:var(--serif);font-size:1.05rem}.mobile-booking small{font-size:.58rem;color:var(--gold-light);margin-top:4px}.mobile-booking>a{background:var(--gold);padding:10px 13px;color:#fff;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.lightbox,.room-modal{padding:15px}.lightbox img{max-width:94vw;max-height:72vh}.lightbox-close{top:12px;right:18px}.room-modal-inner{display:block;max-height:92vh;overflow:auto}.room-modal-inner>img{height:240px;min-height:0}.modal-room-copy{padding:27px 22px 30px}.modal-room-copy h2{font-size:2.65rem}.modal-close{font-size:2rem}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.booking-note.is-warning{color:#fff;background:rgba(8,40,27,.22);padding:6px 10px;width:max-content;max-width:100%}

/* Primary Pine Hill Retreat logo */
.brand img{width:156px;height:58px;object-fit:contain;object-position:center;filter:brightness(0) invert(1);}
.site-header.scrolled .brand img{filter:none;}
.footer-brand .brand img{width:190px;height:74px;filter:brightness(0) invert(1);}
@media(max-width:580px){.brand img{width:128px;height:48px}.footer-brand .brand img{width:170px;height:66px}}

/* Larger, more legible primary logo */
.brand img{width:205px;height:76px;object-fit:contain;object-position:center;}
.footer-brand .brand img{width:235px;height:92px;}
@media(max-width:980px){.brand img{width:180px;height:68px}.footer-brand .brand img{width:220px;height:86px}}
@media(max-width:580px){.brand img{width:160px;height:60px}.footer-brand .brand img{width:205px;height:80px}}


/* Large primary logo and floating back-to-top control */
.brand img{width:112px;height:104px;object-fit:contain;object-position:center;}
.site-header.scrolled .brand img{width:98px;height:88px;}
.footer-brand .brand img{width:270px;height:150px;object-fit:contain;object-position:left center;}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid rgba(215,186,120,.72);background:rgba(8,40,27,.95);color:#fff;box-shadow:0 10px 25px rgba(8,40,27,.22);font-size:.66rem;letter-spacing:.06em;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .22s ease,visibility .22s ease,transform .22s var(--ease),background .22s ease;}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--gold);border-color:var(--gold);}
.back-to-top span{font-family:var(--serif);font-size:1.5rem;line-height:.7;}
.back-to-top b{font-weight:500;white-space:nowrap;}
@media(max-width:1100px){.nav-wrap{gap:24px}.nav-links{gap:18px}.nav-links a{font-size:.62rem}.header-book{padding:9px 12px}.brand img{width:100px;height:94px}.site-header.scrolled .brand img{width:88px;height:80px}}
@media(max-width:980px){.brand img{width:94px;height:88px}.site-header.scrolled .brand img{width:84px;height:76px}.footer-brand .brand img{width:245px;height:138px}}
@media(max-width:580px){.site-header{padding:13px 0}.site-header.scrolled{padding:8px 0}.brand img{width:82px;height:76px}.site-header.scrolled .brand img{width:74px;height:68px}.footer-brand .brand img{width:220px;height:125px}.back-to-top{right:14px;bottom:76px;padding:10px 12px}.back-to-top b{font-size:.6rem}}
