@font-face{font-family:Raleway Local;src:url(/fonts/raleway-extralight.otf)format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Raleway Local;src:url(/fonts/raleway-light.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Raleway Local;src:url(/fonts/raleway-regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--ink:#39271d;--ink-soft:#6f584a;--cream:#f6f0e7;--paper:#fffdf9;--sand:#e5d3bd;--clay:#ad6842;--clay-bright:#c87a4a;--line:#4d32232b;--display:Didot, "Bodoni 72", "Bodoni MT", "Times New Roman", serif;--sans:"Raleway Local", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;font-weight:300;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline:2px solid var(--clay-bright);outline-offset:3px}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f0e7eb;border-bottom:1px solid #39271d1a;justify-content:space-between;align-items:center;min-height:104px;padding:14px clamp(24px,5vw,78px);display:flex;position:sticky;top:0}.brand{width:clamp(235px,24vw,340px);line-height:0;display:block}.brand img,.footer-brand img{width:100%;height:auto}.brand img{filter:brightness(0)saturate()invert(18%)sepia(18%)saturate(1178%)hue-rotate(337deg)brightness(91%)contrast(88%)}.site-header nav{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:clamp(18px,2.2vw,38px);font-size:.78rem;font-weight:400;display:flex}.site-header nav a:not(.nav-cta){position:relative}.site-header nav a:not(.nav-cta):after{content:"";transform-origin:100%;background:var(--clay);height:1px;transition:transform .18s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after{transform-origin:0;transform:scaleX(1)}.nav-cta{border:1px solid var(--ink);border-radius:999px;padding:10px 16px;transition:background .18s,color .18s}.nav-cta:hover{background:var(--ink);color:var(--paper)}.hero{grid-template-columns:minmax(0,.93fr) minmax(430px,1.07fr);min-height:calc(100vh - 104px);max-height:900px;display:grid}.hero-copy{flex-direction:column;justify-content:center;padding:clamp(70px,9vw,138px) clamp(34px,7vw,112px);display:flex}.eyebrow{color:var(--clay);letter-spacing:.24em;text-transform:uppercase;margin:0 0 22px;font-size:.72rem;font-weight:400}.hero h1,.section h2{font-family:var(--display);letter-spacing:-.045em;margin:0;font-weight:400;line-height:.95}.hero h1{max-width:680px;font-family:var(--display);letter-spacing:-.055em;font-size:clamp(4rem,6.7vw,7rem)}.hero h1 span{color:var(--clay);font-style:normal;display:block}.hero-tagline{font-family:var(--display);margin:30px 0 0;font-size:clamp(1.25rem,1.7vw,1.65rem)}.hero-intro{max-width:560px;color:var(--ink-soft);margin:18px 0 0;font-size:1rem}.hero-actions{align-items:center;gap:28px;margin-top:38px;display:flex}.button{cursor:pointer;letter-spacing:.11em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 22px;font-size:.76rem;font-weight:400;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover{background:var(--clay)}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:3px;font-size:.86rem;font-weight:400;display:inline-flex}.hero-facts{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;gap:12px 25px;margin-top:48px;font-size:.72rem;font-weight:400;display:flex}.hero-facts span+span:before{color:var(--clay-bright);content:"·";margin-right:25px}.hero-visual{background:#c6a784;min-height:620px;position:relative;overflow:hidden}.hero-visual img{object-fit:cover;object-position:center center}.hero-visual:after{content:"";background:linear-gradient(90deg,#39271d29,#0000 38%),linear-gradient(#0000 62%,#2a1a1152);position:absolute;inset:0}.visual-note{z-index:2;color:var(--ink);letter-spacing:.16em;text-shadow:0 1px 18px #fffdf973;text-transform:uppercase;font-size:.92rem;font-weight:400;position:absolute;top:56px;left:40px}.intro-band{background:var(--ink);color:#fffdf9b8;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:52px clamp(28px,7vw,112px);display:grid}.intro-band p,.intro-band span{margin:0}.intro-band p{letter-spacing:.15em;text-transform:uppercase;font-size:.78rem}.intro-band span{font-family:var(--display);text-align:right;color:var(--sand);font-size:clamp(1.9rem,3vw,3.5rem);font-style:italic}.section{padding:clamp(90px,11vw,170px) clamp(28px,7vw,112px)}.section-heading{max-width:820px;margin-bottom:clamp(55px,7vw,92px)}.section h2{font-size:clamp(3rem,5.4vw,6rem)}.room-section{background:var(--paper)}.room-grid{grid-template-columns:minmax(300px,.78fr) minmax(500px,1.22fr);align-items:center;gap:clamp(55px,9vw,140px);display:grid}.room-copy{max-width:545px}.room-copy p{color:var(--ink-soft)}.room-copy .lead{color:var(--ink);font-family:var(--display);margin-top:42px;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.45}.address-card{border-top:1px solid var(--line);align-items:center;gap:17px;margin-top:0;padding-top:25px;transition:color .18s;display:flex}.address-card svg{width:24px;color:var(--clay)}.address-card strong,.address-card span{display:block}.address-card strong{letter-spacing:.07em;text-transform:uppercase;font-size:.88rem;font-weight:400}.address-card span{color:var(--ink-soft);font-size:.88rem}.address-card:hover{color:var(--clay)}.room-collage{min-height:700px;position:relative}.collage-large,.collage-small{background:var(--sand);position:absolute;overflow:hidden}.collage-large{border-radius:52% 52% 8px 8px/30% 30% 8px 8px;inset:0 12% 8% 0}.collage-large img{object-fit:cover;object-position:center}.room-image-note{z-index:2;color:var(--ink);font-family:var(--display);text-shadow:0 1px 20px #fffdf999;font-size:clamp(1.55rem,2.4vw,2.4rem);font-style:italic;line-height:1.1;position:absolute;bottom:46px;left:42px}.collage-small{border:12px solid var(--paper);border-radius:6px;width:43%;height:48%;bottom:0;right:0;box-shadow:0 28px 60px #39271d29}.collage-small img{object-fit:cover;object-position:center}.offer-section{background:var(--ink);color:var(--paper)}.light-heading{grid-template-columns:1.4fr .6fr;align-items:end;gap:50px;max-width:none;display:grid}.light-heading .eyebrow{color:#e9aa78;grid-column:1/-1;margin-bottom:-18px}.light-heading h2{max-width:800px}.light-heading>p:last-child{color:#fffdf9ab;max-width:430px;margin:0}.offer-grid{border-top:1px solid #ffffff29;border-bottom:1px solid #ffffff29;grid-template-columns:1fr 1fr;display:grid}.offer-card{padding:clamp(40px,5vw,76px);position:relative}.offer-card+.offer-card{border-left:1px solid #ffffff29}.offer-card.featured{background:#ad684221}.offer-icon{color:#e9aa78;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:45px;display:flex}.offer-icon svg{width:21px}.card-number{color:#ffffff59;font-family:var(--display);margin:0;font-style:italic;position:absolute;top:55px;right:55px}.offer-card h3{max-width:520px;font-family:var(--display);margin:0;font-size:clamp(1.75rem,2.5vw,2.7rem);font-weight:400;line-height:1.15}.offer-price{align-items:baseline;gap:12px;margin:20px 0 24px;display:flex;color:#e9aa78!important}.offer-price strong{font-family:var(--display);font-size:clamp(1.55rem,2.2vw,2.2rem);font-weight:400;line-height:1}.offer-price span{color:#fffdf99e;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.offer-card>p:not(.card-number){color:#fffdf9ad;max-width:560px}.offer-card ul{color:#fffdf9d1;gap:9px;margin:30px 0 38px;padding:0;font-size:.88rem;list-style:none;display:grid}.offer-card li{align-items:center;gap:11px;display:flex}.offer-card li svg{color:#e9aa78}.kids-card{border-top:1px solid #ffffff29;grid-column:1/-1;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);padding:0;display:grid;border-left:0!important}.kids-image{min-height:560px;position:relative;overflow:hidden}.kids-image img{object-fit:cover;object-position:center}.kids-copy{padding:clamp(40px,5vw,76px);position:relative}.kids-copy h3 span{color:#e9aa78;margin-top:8px;font-style:italic;display:block}.kids-copy>p:not(.card-number){color:#fffdf9ad;max-width:590px}.button-light{background:var(--sand);color:var(--ink)}.button-light:hover{background:var(--paper)}.light-link{color:var(--sand);border-color:#ffffff4d}.reservation-section{background:#eadfce;grid-template-columns:minmax(260px,.68fr) minmax(560px,1.32fr);align-items:start;gap:clamp(55px,9vw,145px);display:grid}.reservation-intro{position:sticky;top:140px}.reservation-intro h2{margin-bottom:30px}.reservation-intro>p:not(.eyebrow){max-width:470px;color:var(--ink-soft)}.reservation-contact{border-left:2px solid var(--clay);gap:3px;margin-top:30px;padding-left:18px;display:grid}.reservation-contact span{color:var(--ink-soft);letter-spacing:.11em;text-transform:uppercase;margin-bottom:4px;font-size:.68rem}.reservation-contact a{width:fit-content;transition:color .18s}.reservation-contact a:hover{color:var(--clay)}.preview-notice{background:#fffdf973;border:1px solid #ad684259;border-radius:4px;gap:6px;margin-top:38px;padding:19px 22px;display:grid}.preview-notice strong{color:var(--clay);letter-spacing:.15em;text-transform:uppercase;font-size:.7rem;font-weight:400}.preview-notice span{color:var(--ink-soft);font-size:.82rem;line-height:1.5}.booking-card{background:var(--paper);border-radius:6px;padding:clamp(28px,4vw,54px);box-shadow:0 30px 70px #39271d1c}.slot-fieldset{border:0;border-bottom:1px solid var(--line);margin:0;padding:0 0 38px}.slot-fieldset legend,.form-section h3{letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:.78rem;font-weight:400}.slot-list{gap:10px;display:grid}.slot-card{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border-radius:4px;justify-content:space-between;align-items:center;padding:17px 19px;transition:border .16s,background .16s,transform .16s;display:flex}.slot-card:hover:not(:disabled){border-color:var(--clay);transform:translate(3px)}.slot-card.selected{border-color:var(--clay);box-shadow:inset 3px 0 0 var(--clay);background:#c87a4a17}.slot-card:disabled{cursor:not-allowed;opacity:.5}.slot-date,.slot-meta{display:grid}.slot-card small{color:var(--ink-soft);letter-spacing:.07em;font-size:.7rem}.slot-card strong{font-weight:400}.slot-meta{text-align:right}.slot-meta small{color:var(--clay)}.slots-loading{min-height:90px;color:var(--ink-soft);align-items:center;gap:10px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-section{padding-top:38px}.form-row{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.compact-row{grid-template-columns:1fr .45fr}.form-row label{color:var(--ink-soft);letter-spacing:.04em;font-size:.76rem;font-weight:400}.form-row label span{font-weight:300}.form-row input{border:1px solid var(--line);width:100%;height:49px;color:var(--ink);background:#fcf8f2;border-radius:3px;margin-top:7px;padding:0 13px;display:block}.form-row input:focus{border-color:var(--clay)}.consent-row{color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:12px;margin:27px 0;font-size:.76rem;line-height:1.5;display:flex}.consent-row input{width:17px;height:17px;accent-color:var(--clay);flex:none;margin-top:2px}.submit-button{border:0;width:100%}.submit-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.form-hint{color:var(--ink-soft);text-align:center;margin:13px 0 0;font-size:.7rem}.form-error{color:#7f3024;background:#f7e8e3;border-left:3px solid #a44735;margin:0 0 16px;padding:12px 15px;font-size:.82rem}.confirmation-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:560px;display:flex}.confirmation-icon{color:#48613c;background:#dfe8d8;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:22px;display:flex}.confirmation-card .eyebrow{margin-bottom:15px}.confirmation-card h3{font-family:var(--display);margin:0 0 18px;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:400;line-height:1.1}.confirmation-code{border:1px solid var(--line);background:var(--cream);gap:3px;margin:24px 0 8px;padding:14px 24px;display:grid}.confirmation-code span{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem}.confirmation-code strong{font-family:var(--display);letter-spacing:.05em;font-size:1.4rem;font-weight:400}.button-outline{border-color:var(--ink);color:var(--ink);background:0 0;margin-top:23px}.confirmation-page{background:#eadfce;place-items:center;min-height:100vh;padding:120px 24px 70px;display:grid}.confirmation-brand{width:min(330px,100vw - 48px);position:absolute;top:28px;left:50%;transform:translate(-50%)}.confirmation-page .confirmation-card{width:min(680px,100%)}.confirmation-page .confirmation-card h1{font-family:var(--display);margin:0 0 18px;font-size:clamp(2rem,5vw,3.4rem);font-weight:400;line-height:1.1}.confirmation-icon-warning{color:#9a653c;background:#f3e4ce}.confirmation-contact{border:0;justify-items:center;margin:25px 0 0;padding:0}.admin-page{background:#eadfce;min-height:100vh;padding:34px clamp(24px,6vw,90px) 90px}.admin-header{justify-content:space-between;align-items:center;gap:30px;max-width:1320px;margin:0 auto 70px;display:flex}.admin-brand{width:min(330px,52vw);line-height:0}.admin-brand img{width:100%;height:auto}.admin-user{color:var(--ink-soft);align-items:center;gap:18px;font-size:.76rem;display:flex}.admin-user a{border-bottom:1px solid var(--line);color:var(--ink)}.admin-layout{grid-template-columns:minmax(280px,.72fr) minmax(560px,1.28fr);align-items:start;gap:clamp(50px,8vw,120px);max-width:1320px;margin:0 auto;display:grid}.admin-intro{position:sticky;top:40px}.admin-intro h1{font-family:var(--display);letter-spacing:-.045em;margin:0 0 26px;font-size:clamp(3rem,5.4vw,5.7rem);font-weight:400;line-height:.98}.admin-intro>p:not(.eyebrow){max-width:480px;color:var(--ink-soft)}.admin-booking-card .form-section{padding-bottom:30px}.admin-confirmation{color:#405334;background:#e6eee0;border-left:3px solid #5f794f;align-items:flex-start;gap:14px;margin:0 0 22px;padding:16px 18px;display:flex}.admin-confirmation svg{flex:none;margin-top:2px}.admin-confirmation div{gap:2px;display:grid}.admin-confirmation strong{font-weight:400}.admin-confirmation span{font-size:.76rem}footer{color:#fffdf9b8;background:#221710;grid-template-columns:1.6fr 1fr 1fr;gap:60px;padding:70px clamp(28px,7vw,112px);font-size:.82rem;display:grid}.footer-brand{max-width:330px}.footer-brand img{filter:invert(92%)sepia(10%)saturate(449%)hue-rotate(333deg)brightness(111%)}.footer-brand p{font-family:var(--display);margin:14px 0 0;font-style:italic}.footer-contact,.footer-legal{flex-direction:column;align-items:flex-start;display:flex}footer strong{color:#e9aa78;letter-spacing:.16em;text-transform:uppercase;margin-bottom:11px;font-size:.68rem;font-weight:400}footer a:hover{color:#fff}@media (max-width:1050px){.site-header nav{gap:15px;font-size:.68rem}.hero{grid-template-columns:1fr .85fr}.room-grid{grid-template-columns:.8fr 1.2fr;gap:55px}.reservation-section{grid-template-columns:.7fr 1.3fr;gap:50px}}@media (max-width:820px){html{scroll-padding-top:138px}.site-header{flex-direction:column;gap:11px;min-height:132px;padding:11px 20px 14px}.brand{width:245px}.site-header nav{justify-content:center;width:100%}.nav-cta{padding:7px 11px}.hero{grid-template-columns:1fr;min-height:auto;max-height:none}.hero-copy{padding:78px 28px 64px}.hero-visual{min-height:520px}.intro-band,.light-heading,.room-grid,.reservation-section,.admin-layout{grid-template-columns:1fr}.admin-header{flex-direction:column;align-items:flex-start;margin-bottom:48px}.admin-user{flex-direction:column;align-items:flex-start;gap:4px}.admin-intro{position:static}.intro-band span{text-align:left}.room-grid{gap:65px}.room-collage{min-height:680px}.light-heading .eyebrow{margin-bottom:-18px}.offer-grid{grid-template-columns:1fr}.offer-card+.offer-card{border-top:1px solid #ffffff29;border-left:0}.kids-card{grid-template-columns:1fr}.kids-image{min-height:500px}.reservation-intro{position:static}footer{grid-template-columns:1.4fr 1fr 1fr;gap:32px}}@media (max-width:570px){html{scroll-padding-top:130px}.site-header nav{letter-spacing:.05em;gap:13px;font-size:.58rem}.site-header nav a:first-child{display:none}.hero h1{font-size:clamp(3.55rem,18vw,5rem)}.hero-actions{flex-direction:column;align-items:flex-start}.hero-facts{gap:5px;display:grid}.hero-facts span+span:before{display:none}.hero-visual{min-height:400px}.visual-note{font-size:.7rem;top:34px;left:24px}.intro-band{padding:40px 28px}.section{padding:90px 24px}.section h2{font-size:clamp(2.7rem,14vw,4.2rem)}.room-collage{min-height:510px}.collage-large{right:6%}.collage-small{border-width:8px;width:48%;height:44%}.room-image-note{max-width:70%;bottom:36px;left:28px}.offer-card{padding:40px 28px}.kids-card{padding:0}.kids-image{min-height:390px}.kids-copy{padding:40px 28px}.form-row,.compact-row{grid-template-columns:1fr}.slot-card{flex-direction:column;align-items:flex-start;gap:9px}.slot-meta{text-align:left}footer{grid-template-columns:1fr;gap:38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
