@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap");:root{--sand:#e9e0d3;--sand-light:#f5f1eb;--sand-deep:#d7c8b5;--ink:#282722;--muted:#777168;--accent:#9a8060;--line:#d8cec1;--white:#fffdfa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--sand-light);color:var(--ink);font-family:Manrope,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit}.header{position:-webkit-sticky;position:sticky;top:0;z-index:5;min-height:88px;padding:16px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(245,241,235,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;min-width:235px}.brand span,.footer-brand{font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:34px;letter-spacing:-1.2px;line-height:1;color:var(--ink)}.brand small{font:500 8px Manrope,sans-serif;letter-spacing:2.1px;margin-top:8px;color:var(--muted)}.header nav{display:flex;gap:clamp(14px,2.3vw,34px);font-size:11px;letter-spacing:.4px;color:#514d46}.header nav a{padding:10px 0;position:relative}.header nav a:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--accent);transition:width .25s}.header nav a.active:after,.header nav a:hover:after{width:100%}.langs{display:flex;gap:3px}.langs button{background:transparent;border:0;color:var(--muted);padding:7px 8px;font-size:10px;cursor:pointer}.langs button.active{color:var(--ink);border-bottom:1px solid var(--accent)}.hero{height:min(760px,68vw);min-height:520px;background-size:cover;background-position:center 55%;display:flex;align-items:flex-end;padding:0 6% 6%;position:relative}.hero:before{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(22,20,17,.36),transparent)}.hero-copy{max-width:590px;background:rgba(245,241,235,.94);padding:42px 48px 40px;box-shadow:0 16px 55px #211b1420}.eyebrow{font-size:9px;letter-spacing:2.4px;color:var(--accent);font-weight:600}.hero h1{font-size:clamp(56px,7vw,96px);font-style:italic;margin:23px 0 8px;line-height:.98;letter-spacing:-2px}.hero h1,.hero h2,.section h2{font-family:Playfair Display,serif;font-weight:400;color:var(--ink)}.hero h2,.section h2{font-size:clamp(28px,3.4vw,46px);margin:12px 0 18px;letter-spacing:-.5px}.hero-copy>p:not(.eyebrow){line-height:1.85;max-width:410px;color:#5d584f;font-size:13px}.button{display:inline-flex;align-items:center;gap:26px;background:var(--ink);color:var(--white);padding:17px 23px;margin-top:17px;font-size:9px;letter-spacing:1.5px;transition:background .2s}.button:hover{background:var(--accent)}.button span{font-size:17px}.featurebar{justify-content:center;gap:0;padding:26px 4%;border-bottom:1px solid var(--line);background:var(--sand-light)}.featurebar,.featurebar>div{display:flex;align-items:center}.featurebar>div{padding:0 3.5%;gap:12px;border-right:1px solid var(--line);font-size:12px;color:#514d46}.featurebar>div:last-child{border:0}.feature-icon{font-size:24px;color:var(--accent)}.section{padding:105px max(6%,calc((100% - 1240px)/2))}.intro{max-width:850px;text-align:center;margin:auto}.intro>p:not(.eyebrow){max-width:620px;margin:0 auto 15px;line-height:1.9;color:var(--muted);font-size:13px}.textlink{display:inline-block;margin-top:20px;color:var(--ink);font-size:9px;letter-spacing:1.5px;border-bottom:1px solid var(--accent);padding-bottom:7px}.gallery-section{background:var(--sand)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading h2{margin-bottom:7px}.section-heading p:not(.eyebrow){color:var(--muted);font-size:12px}.count{font-size:9px;letter-spacing:2px;color:var(--accent);padding-bottom:14px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:14px;gap:14px}.photo{grid-column:span 4;border:0;padding:0;background:var(--sand-deep);cursor:zoom-in;overflow:hidden;aspect-ratio:1.2}.photo:nth-child(7n+1),.photo:nth-child(7n+5){grid-column:span 8;aspect-ratio:1.75}.photo:nth-child(7n+2),.photo:nth-child(7n+6){grid-column:span 4;aspect-ratio:1.2}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.photo:hover img{transform:scale(1.025)}.surroundings{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:9%;gap:9%;align-items:center}.surroundings p:not(.eyebrow){line-height:1.9;color:var(--muted);font-size:13px}.surroundings img{width:100%;max-height:560px;aspect-ratio:1.45;object-fit:cover}.contact{text-align:center;background:#e3d8c9}.contact,.contact h2{color:var(--ink)}.contact>p:not(.eyebrow){color:#625b51}.contact .eyebrow{color:var(--accent)}.button.outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}.button.outline:hover{background:var(--ink);color:white}.contact .button:hover{background:var(--white);color:var(--ink)}footer{padding:35px 5.5%;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:9px;letter-spacing:1.1px;background:var(--sand-light)}.footer-brand{font-size:26px;color:var(--ink)}.lightbox{position:fixed;inset:0;background:#171613f2;z-index:10;display:flex;align-items:center;justify-content:center;padding:5vw}.lightbox img{max-width:86vw;max-height:84vh;object-fit:contain}.lightbox button{position:absolute;background:transparent;color:white;border:0;font-size:42px;cursor:pointer}.lightbox .close{right:28px;top:15px}.lightbox .prev{left:22px}.lightbox .next{right:22px}.lightcount{position:absolute;bottom:18px;color:white;font-size:11px;letter-spacing:1px}@media(max-width:1000px){.header,.header nav{flex-wrap:wrap}.header nav{order:3;width:100%;justify-content:center}.brand{min-width:0}.featurebar{flex-wrap:wrap;row-gap:16px}.featurebar>div{width:33%;justify-content:center}.gallery{grid-template-columns:repeat(6,1fr)}.photo,.photo:nth-child(7n+2),.photo:nth-child(7n+6){grid-column:span 3}.photo:nth-child(7n+1),.photo:nth-child(7n+5){grid-column:span 6}.surroundings{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.header{padding:15px 5%;gap:12px}.brand span{font-size:29px}.brand small{font-size:7px;letter-spacing:1.5px}.header nav{gap:14px;font-size:12px}.langs{margin-left:auto}.hero{min-height:620px;height:calc(100svh - 120px);max-height:760px;align-items:end;padding:0 5% 22px;background-position:50%}.hero-copy{padding:28px 24px;width:100%}.hero h1{font-size:clamp(48px,13vw,66px)}.hero h2{font-size:27px}.featurebar{padding:22px 3%}.featurebar>div{width:50%;padding:5px 2%;font-size:11px}.section{padding:68px 5%}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.photo,.photo:nth-child(7n+1),.photo:nth-child(7n+2),.photo:nth-child(7n+5),.photo:nth-child(7n+6){grid-column:span 1;aspect-ratio:1.05}.photo:nth-child(5n+1){grid-column:span 2;aspect-ratio:1.55}.section-heading{align-items:start;gap:12px}.count{white-space:nowrap}footer{flex-direction:column;text-align:center;gap:12px}.lightbox img{max-width:95vw}.lightbox .prev{left:2px}.lightbox .next{right:2px}}.hero{height:100svh;min-height:620px;max-height:none;padding:120px 6% 70px;align-items:center;justify-content:center;overflow:hidden;background:#b8aa96}.hero-video{width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero-shade,.hero-video{position:absolute;inset:0}.hero-shade{z-index:1;background:linear-gradient(180deg,rgba(20,18,14,.28),rgba(20,18,14,.08) 36%,rgba(20,18,14,.24))}.hero-header{position:absolute;top:0;left:0;right:0;z-index:3;background:linear-gradient(180deg,rgba(20,18,14,.42),transparent);border:0;color:#fff}.hero-header .brand small,.hero-header .brand span,.hero-header .langs button,.hero-header nav,.hero-header nav a{color:#fff}.hero-header nav a:after{background:#e4d2b4}.hero-header nav a.active:after{width:100%}.hero-header .langs button.active{border-color:#e4d2b4;color:#fff}.hero-copy{z-index:2;position:relative;text-align:center;max-width:900px;width:min(900px,92vw);padding:30px 25px;background:transparent;box-shadow:none;color:#fff}.hero-copy .eyebrow{color:#f0dfc4;letter-spacing:3.2px;text-shadow:0 1px 12px #0006}.hero h1{color:#fff;font-size:clamp(64px,9vw,124px);letter-spacing:-2.5px;margin:18px 0 14px;text-shadow:0 2px 22px #0005}.hero h2{color:#fff;font-size:clamp(19px,2.3vw,29px);font-weight:400;letter-spacing:.2px;margin:0 auto 28px;text-shadow:0 1px 14px #0007}.hero-copy>p:not(.eyebrow){display:none}.hero-discover{display:inline-flex;gap:14px;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.68);padding:0 0 9px;font-size:9px;letter-spacing:2px}.hero-discover span{font-size:16px}@media(max-width:1000px){.hero-header{flex-wrap:wrap}.hero-header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}}@media(max-width:600px){.hero{height:100svh;min-height:560px;padding:125px 5% 55px}.hero-header{padding:14px 5%;background:linear-gradient(180deg,rgba(20,18,14,.5),transparent)}.hero-header nav{gap:14px;font-size:11px}.hero-copy{padding:20px 8px}.hero h1{font-size:clamp(52px,14vw,78px);letter-spacing:-1.8px}.hero h2{font-size:20px;line-height:1.5;max-width:300px}}@media(prefers-reduced-motion:reduce){.hero-video{display:none}}.group-overview{display:grid;grid-gap:14px;gap:14px;margin:0 0 76px}.group-card{display:block;position:relative;overflow:hidden;background:var(--sand-deep);aspect-ratio:4/5}.group-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.group-card:hover img{transform:scale(1.035)}.group-card span{position:absolute;left:0;right:0;bottom:0;padding:34px 13px 14px;color:white;background:linear-gradient(0deg,rgba(24,22,18,.72),transparent);display:flex;flex-direction:column;gap:5px}.group-card strong{font:400 17px Playfair Display,serif}.group-card small{font:500 9px Manrope,sans-serif;letter-spacing:1px;text-transform:uppercase}.photo-group{padding:0 0 70px;margin:0 0 68px;border-bottom:1px solid var(--line);scroll-margin-top:35px}.photo-group:last-child{border:0;margin-bottom:0}.photo-group-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.photo-group-heading h3{font:400 clamp(29px,3vw,42px) Playfair Display,serif;margin:8px 0;color:var(--ink)}.photo-group-heading p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.7;margin:0}.group-gallery{display:grid;grid-template-columns:1.45fr 1fr;grid-gap:12px;gap:12px;min-height:400px}.group-lead,.group-thumbs button{border:0;padding:0;overflow:hidden;background:var(--sand-deep);cursor:zoom-in;min-width:0}.group-lead img,.group-thumbs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}.group-lead:hover img,.group-thumbs button:hover img{transform:scale(1.025)}.group-thumbs{display:grid;grid-auto-rows:1fr;grid-gap:12px;gap:12px}@media(max-width:1000px){.group-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.group-gallery{min-height:320px}}@media(max-width:600px){.group-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:48px}.group-card{aspect-ratio:1.15}.group-card strong{font-size:15px}.photo-group{padding-bottom:44px;margin-bottom:44px}.photo-group-heading{align-items:start;gap:12px}.photo-group-heading .count{white-space:nowrap}.group-gallery{grid-template-columns:1fr;min-height:0}.group-lead{aspect-ratio:1.25}.group-thumbs{grid-auto-rows:120px;gap:8px}}.surroundings{display:block}.surroundings-heading{max-width:680px;margin:0 auto 38px;text-align:center}.surroundings-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.surroundings-gallery img{display:block;width:100%;height:260px;object-fit:cover}.header .brand small{white-space:nowrap}@media(max-width:700px){.surroundings-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.surroundings-gallery img{height:170px}.header .brand small{font-size:8px;letter-spacing:.7px}}.booking-form{max-width:760px;margin:42px auto 0;padding:34px;background:#ebe5dc;text-align:left;border:1px solid rgba(99,83,64,.18);box-shadow:0 12px 40px rgba(66,53,39,.06)}.booking-form-intro{text-align:center;margin:0 auto 28px;max-width:720px}.booking-form-intro h2{font:400 27px Playfair Display,serif;line-height:1.25;color:#39342d;margin:0 0 10px}.booking-form-intro p{font-size:13px;line-height:1.8;color:#625b51;margin:0 auto;max-width:650px}.booking-fields{display:grid;grid-gap:18px;gap:18px;margin:0 0 20px}.booking-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-login label,.admin-toolbar label,.booking-fields label,.request-note label{display:flex;flex-direction:column;gap:8px;text-align:left;font-size:11px;letter-spacing:.4px;color:#4f493f}.booking-fields em{color:#9b7652;font-style:normal}.admin-login input,.admin-toolbar select,.booking-fields input,.booking-fields textarea,.request-note textarea{width:100%;border:1px solid #d5cabc;background:#fffdf9;padding:13px 14px;color:#332f29;font:400 13px Manrope,sans-serif;border-radius:0;outline:none}.admin-login input:focus,.booking-fields input:focus,.booking-fields textarea:focus,.request-note textarea:focus{border-color:#9b7652;box-shadow:0 0 0 2px #9b76521c}.booking-fields textarea,.request-note textarea{resize:vertical}.booking-nights{text-align:right;font-size:11px;color:#8b755e;margin:-8px 0 22px}.guest-counts{padding:22px 24px;margin:8px 0 24px;background:rgba(255,255,255,.48);border:1px solid #e2d8ca}.guest-counts h3{font:400 22px Playfair Display,serif;margin:0 0 15px;color:#39342d}.guest-counter,.guest-total{justify-content:space-between;padding:11px 0;border-bottom:1px solid #ded4c7;font-size:12px;color:#514b42}.guest-counter,.guest-counter>div,.guest-total{display:flex;align-items:center;gap:14px}.guest-counter button{width:30px;height:30px;border:1px solid #bcae9c;background:transparent;color:#4b443a;font-size:18px;cursor:pointer}.guest-counter button:disabled{opacity:.35;cursor:not-allowed}.guest-counter output{min-width:15px;text-align:center;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.booking-help{font-size:10px;line-height:1.7;color:#827768;margin:13px 0}.guest-total{border:0;padding:9px 0 0;font-weight:600}.guest-total strong{font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.guest-total.subtle{padding-top:5px;font-weight:400;color:#786f63}.guest-total.subtle strong{font-size:12px}.privacy-check{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.7;color:#625b51;margin:12px 0 18px}.privacy-check input{margin-top:3px;accent-color:#8b755e}.booking-submit{display:flex;justify-content:center;gap:18px;width:100%;border:0;cursor:pointer}.booking-submit:disabled{opacity:.55;cursor:not-allowed}.booking-required{font-size:9px;color:#827768;text-align:right;margin:12px 0 0}.booking-error{background:#f8e9e5;color:#8a3428;padding:12px 15px;font-size:12px;line-height:1.6}.booking-success{max-width:650px;margin:35px auto 0;padding:38px;background:#f1ebe2;color:#39342d}.booking-success-mark{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;background:#71806a;color:white;font-size:20px}.booking-success h3{font:400 27px Playfair Display,serif}.booking-success p{font-size:12px;line-height:1.7}.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.admin-page{min-height:100vh;background:#f5f1eb;color:#332f29;padding:30px 5% 70px}.admin-login{max-width:430px;margin:12vh auto;background:#fffdf9;padding:38px;box-shadow:0 10px 40px #4a3b2a12}.admin-login h1,.admin-title h1{font:400 36px Playfair Display,serif;margin:12px 0 25px}.admin-login form{display:grid;grid-gap:18px;gap:18px}.admin-login .button{border:0;cursor:pointer}.admin-hint{font-size:10px;color:#8a8175;line-height:1.6;margin-top:20px}.admin-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd3c6;padding:8px 0 22px}.admin-header>div{display:flex;align-items:center;gap:24px;font-size:12px}.admin-header button{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:#655a4d;font-size:11px}.admin-content{max-width:1180px;margin:38px auto}.admin-title{display:flex;justify-content:space-between;align-items:end}.admin-title .eyebrow{margin:0;color:#9b7652}.admin-title .button{cursor:pointer}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin:25px 0}.admin-stats>div{background:#fffdf9;padding:18px;display:flex;flex-direction:column;gap:6px}.admin-stats strong{font:400 28px Playfair Display,serif}.admin-stats span,.admin-toolbar span{font-size:10px;color:#83796c}.admin-toolbar{display:flex;justify-content:space-between;align-items:end;margin:28px 0 18px}.admin-toolbar select{min-width:220px}.admin-empty{padding:40px;background:#fffdf9;color:#817769;text-align:center}.request-card{background:#fffdf9;padding:24px 26px;margin:0 0 16px;border:1px solid #e7dfd4}.request-card-top{display:flex;justify-content:space-between;gap:20px}.request-ref{font-size:9px;letter-spacing:1.5px;color:#9b7652}.request-card h2{font:400 24px Playfair Display,serif;margin:5px 0 9px}.status{display:inline-block;padding:7px 11px;background:#eee8df;font-size:11px;line-height:1.35;letter-spacing:.3px;color:#62594e;border-radius:2px}.status-approved{background:#e5ecdf;color:#4d6646}.status-confirmed{background:#dfeae5;color:#3f6557}.status-cancelled,.status-expired,.status-rejected{background:#f2e4e0;color:#8a4c40}.request-dates{text-align:right;display:flex;flex-direction:column;gap:5px;font-size:12px}.request-created,.request-dates small,.request-dates span{color:#857b6e;font-size:10px}.request-details{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin:22px 0 10px;padding:16px 0;border-top:1px solid #eee8df;border-bottom:1px solid #eee8df}.request-details p{font-size:11px;line-height:1.7;margin:0;color:#665e53;overflow-wrap:anywhere}.request-details b,.request-message b{color:#3c372f}.request-details a{color:#74634e}.request-message{font-size:11px;line-height:1.7;color:#665e53}.request-note{max-width:100%;margin:18px 0}.request-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.request-actions button{padding:9px 12px;border:1px solid #d8cfc3;background:transparent;color:#514a40;font-size:10px;cursor:pointer}.request-actions button.approve{background:#4b5545;color:white;border-color:#4b5545}.request-actions button:disabled{opacity:.5;cursor:wait}.request-created{display:block;margin-top:10px}@media(max-width:650px){.booking-form{padding:22px 16px}.booking-fields.two{grid-template-columns:1fr}.guest-counts{padding:18px 15px}.admin-page{padding:20px 4% 50px}.admin-header{align-items:flex-start;gap:12px}.admin-header>div{gap:10px;flex-direction:column;align-items:flex-end}.admin-stats{grid-template-columns:repeat(2,1fr)}.request-card{padding:18px 15px}.request-card-top{flex-direction:column}.request-dates{text-align:left}.request-details{grid-template-columns:repeat(2,1fr);gap:14px}.admin-toolbar{align-items:start;gap:10px;flex-direction:column}}.admin-calendar{background:var(--white);border:1px solid var(--line);padding:26px;margin:28px 0 34px}.calendar-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:20px}.calendar-head h2{font:400 30px Playfair Display,serif;margin:5px 0 8px}.calendar-head .admin-hint{max-width:600px;margin:0}.calendar-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-nav button{border:1px solid var(--line);background:transparent;padding:9px 12px;cursor:pointer;color:var(--ink)}.calendar-nav strong{text-transform:capitalize;min-width:150px;text-align:center}.calendar-legend{display:flex;gap:22px;flex-wrap:wrap;margin:12px 0 16px;font-size:11px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-confirmed{background:#617e68}.legend-hold{background:#bd9861}.legend-request{background:#6689a8}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-weekday{padding:10px 6px;text-align:center;background:var(--sand-light);font-size:10px;letter-spacing:1px}.calendar-day,.calendar-weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day{min-height:94px;padding:7px 6px;min-width:0}.calendar-day.outside{background:#f8f6f2;color:#b8b1a8}.calendar-day.today{outline:2px solid var(--accent);outline-offset:-2px}.calendar-day-number{font-size:11px;font-weight:600;display:block;margin-bottom:6px}.calendar-event{font-size:9px;line-height:1.3;padding:4px 5px;margin:3px 0;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:white}.calendar-event.confirmed{background:#617e68}.calendar-event.held{background:#bd9861}.calendar-event.request{background:#6689a8}.calendar-footnote{font-size:10px;color:var(--muted);margin:14px 0 0}.booking-contact-help{margin-top:22px;padding:18px 20px;background:rgba(233,224,211,.55);border:1px solid var(--line);text-align:left}.booking-contact-help strong{font-family:Playfair Display,serif;font-size:19px;font-weight:400}.booking-contact-help p{font-size:12px;line-height:1.6;color:var(--muted);margin:7px 0 10px}.contact-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:14px 0}.contact-form-fields label{display:grid;grid-gap:6px;gap:6px;font-size:12px;color:var(--muted)}.contact-form-fields label:nth-child(3),.contact-form-fields label:nth-child(4){grid-column:1/-1}.contact-form-fields input,.contact-form-fields textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.75);padding:11px 12px;color:var(--ink);font:inherit}.contact-success{color:#486b50;font-size:13px;margin-top:12px}@media(max-width:600px){.contact-form-fields{grid-template-columns:1fr}.contact-form-fields label{grid-column:1/-1}}@media(max-width:700px){.admin-calendar{padding:14px;margin:20px 0}.calendar-head{display:block}.calendar-nav{margin-top:16px;gap:6px}.calendar-nav strong{min-width:110px;font-size:12px}.calendar-day{min-height:75px;padding:5px 3px}.calendar-event{font-size:8px;padding:3px}.calendar-weekday{font-size:9px;padding:8px 2px}}.intro{width:100%;max-width:1100px;padding-left:clamp(20px,4vw,64px);padding-right:clamp(20px,4vw,64px)}.intro>p:not(.eyebrow){max-width:820px;font-size:14px;line-height:1.95}.group-overview{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}.group-card{aspect-ratio:4/3;min-height:0}.group-gallery{height:390px;min-height:390px;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.group-lead,.group-thumbs button{height:100%;min-height:0}.group-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);overflow:hidden}.group-thumbs button:only-child{grid-column:span 2}.room-description{max-width:780px;margin-top:12px!important;font-size:13px!important;line-height:1.85!important;color:#625c53!important}.home-cta{text-align:center;background:#e3d8c9}.home-cta>p:not(.eyebrow){max-width:700px;margin:0 auto 12px;line-height:1.8;color:#625b51}.home-cta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}.subpage{min-height:100vh}.subpage .header{position:-webkit-sticky;position:sticky;background:rgba(245,241,235,.97);color:var(--ink)}.subpage .header .brand small,.subpage .header .brand span,.subpage .header .langs button,.subpage .header nav,.subpage .header nav a{color:var(--ink)}.subpage .header .langs button.active{border-color:var(--accent)}.subpage-content{max-width:900px}.subpage-content h1{font:400 clamp(38px,5vw,58px) Playfair Display,serif;margin:10px 0 14px}.subpage-intro{max-width:700px;color:var(--muted);margin-bottom:34px}.subpage-content .booking-contact-help,.subpage-content .booking-form{max-width:760px}@media(max-width:1000px){.group-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.header nav{gap:12px}}@media(max-width:600px){.intro{padding-left:5%;padding-right:5%}.intro>p:not(.eyebrow){max-width:none;text-align:left;font-size:13px}.group-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.group-card{aspect-ratio:4/3}.group-gallery{height:auto;min-height:0;grid-template-columns:1fr}.group-lead{height:auto;aspect-ratio:16/10}.group-thumbs{height:210px;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:8px}.photo-group-heading{align-items:start}.room-description{font-size:12px!important}.home-cta-actions{flex-direction:column;align-items:stretch}.subpage .header{padding:14px 5%}.subpage .header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}}.subpage-content{width:min(100% - 64px,1240px);max-width:1240px;margin:0 auto}.subpage-content.section{padding:clamp(52px,6vw,88px) 0}.subpage-content h1,.subpage-intro{max-width:100%}.subpage-intro{max-width:900px;font-size:clamp(14px,1.15vw,16px);line-height:1.85;margin-bottom:clamp(28px,3vw,42px)}.subpage-content .booking-contact-help,.subpage-content .booking-form{width:100%;max-width:1120px;margin-left:auto;margin-right:auto}.subpage-content .booking-form{padding:clamp(28px,4vw,52px)}.subpage-content .booking-form-intro{max-width:780px;font-size:14px}.subpage-content .booking-fields{gap:22px}.subpage-content .booking-fields label{font-size:12px}.subpage-content .booking-fields input,.subpage-content .booking-fields textarea{min-height:48px;padding:14px 16px;font-size:14px}.subpage-content .booking-contact-help{padding:clamp(24px,3.5vw,40px);margin-top:30px}.subpage-content .contact-form-fields{gap:18px;margin:22px 0}.subpage-content .contact-form-fields label{font-size:12px;gap:8px}.subpage-content .contact-form-fields input,.subpage-content .contact-form-fields textarea{min-height:48px;padding:14px 16px;font-size:14px}.subpage-content .contact-form-fields textarea{min-height:150px}.subpage-content .booking-contact-help>strong{font-size:25px}.subpage-content .booking-contact-help>p{font-size:14px;line-height:1.75}.subpage-content .booking-contact-help>.button{min-width:220px;justify-content:center}@media(max-width:800px){.subpage-content{width:min(100% - 40px,760px)}.subpage-content .booking-form{padding:28px}.subpage-content .booking-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.subpage-content{width:100%;padding-left:0;padding-right:0}.subpage-content.section{padding:42px 5% 58px}.subpage-content h1{font-size:clamp(36px,10vw,48px);line-height:1.08}.subpage-intro{font-size:14px;line-height:1.75;margin-bottom:26px}.subpage-content .booking-contact-help,.subpage-content .booking-form{width:100%;max-width:none;margin-top:24px}.subpage-content .booking-form{padding:22px 17px}.subpage-content .booking-fields,.subpage-content .booking-fields.two{grid-template-columns:1fr;gap:16px}.subpage-content .booking-fields input,.subpage-content .booking-fields textarea{font-size:16px;min-height:48px;padding:13px 14px}.subpage-content .booking-contact-help{padding:22px 17px}.subpage-content .contact-form-fields{grid-template-columns:1fr;gap:14px;margin:18px 0}.subpage-content .contact-form-fields label{grid-column:1/-1}.subpage-content .contact-form-fields input,.subpage-content .contact-form-fields textarea{font-size:16px;min-height:48px;padding:13px 14px}.subpage-content .contact-form-fields textarea{min-height:130px}.subpage-content .booking-contact-help>.button,.subpage-content .booking-submit{width:100%;min-height:50px;justify-content:center}.subpage-content .guest-counts{padding:18px 14px}.subpage-content .booking-contact-help>strong{font-size:22px}}.availability-contact-cta{max-width:1120px;margin:34px auto 0;padding:26px 30px;background:rgba(233,224,211,.58);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.availability-contact-cta h2{font-family:Playfair Display,serif;font-size:clamp(21px,2.3vw,28px);font-weight:400;margin:0 0 7px;color:var(--ink)}.availability-contact-cta p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.availability-contact-cta .button{margin:0;white-space:nowrap}@media(max-width:700px){.availability-contact-cta{padding:22px 18px;align-items:stretch;flex-direction:column;gap:16px}.availability-contact-cta .button{width:100%;justify-content:center;min-height:50px}.availability-contact-cta p{font-size:13px}}.booking-date-picker{margin:0 0 18px;padding:16px 18px 12px;border:1px solid rgba(120,104,82,.18);background:rgba(255,253,249,.62)}.booking-date-picker .booking-date-fields{margin:0;gap:14px}.calendar-toggle{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;margin:12px auto 0;padding:11px 12px;border:0;background:transparent;color:#67543e;font:600 14px Manrope,sans-serif;letter-spacing:.2px;text-decoration:underline;text-underline-offset:4px;text-align:center;cursor:pointer}.calendar-toggle span{font-size:19px;line-height:1;text-decoration:none;flex:0 0 auto}.availability-calendar{max-width:470px;margin:10px 0 2px;padding:13px 14px;border:1px solid rgba(120,104,82,.18);border-radius:9px;background:#faf8f4}.availability-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:8px}.availability-calendar-head h3{margin:0;font:600 12px Manrope,sans-serif}.availability-calendar-head>div{display:flex;align-items:center;gap:.55rem}.availability-calendar-head strong{min-width:112px;text-align:center;font-size:11px;font-weight:600}.availability-calendar-head button{width:27px;height:27px;border:1px solid rgba(100,90,75,.25);border-radius:50%;background:transparent;font-size:17px;line-height:1;cursor:pointer}.availability-calendar-head button:disabled{opacity:.35;cursor:not-allowed}.availability-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.availability-weekday{text-align:center;font-size:10px;color:#777;padding:4px 0}.availability-day{min-width:0;width:100%;aspect-ratio:1;border:1px solid transparent;border-radius:6px;background:#e8e2d7;color:#39352f;font:500 11px Manrope,sans-serif;cursor:pointer}.availability-day.booked{background:#c94b48;border-color:#b63e3b;color:#fff;text-decoration:none;cursor:not-allowed}.availability-day.held{background:#d9bd86;border-color:#c8a96e;color:#493b24;cursor:not-allowed}.availability-day.requested{background:#d7e7f2;border-color:#a9c8dd;color:#285775;box-shadow:none}.availability-day.selected{outline:2px solid #514332;outline-offset:1px;font-weight:800}.availability-day:disabled{opacity:1}.availability-legend{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:11px;font-size:10px;color:#625d55}.availability-legend span{display:flex;align-items:center;gap:5px}.availability-legend i{width:9px;height:9px;border-radius:2px;background:#e8e2d7;display:inline-block;flex:0 0 auto}.availability-legend i.booked{background:#c94b48}.availability-legend i.held{background:#d9bd86}.availability-legend i.requested{background:#d7e7f2;border:1px solid #a9c8dd}.availability-calendar-hint{margin:9px 0 0;font-size:10px;color:#625d55}.calendar-selection-error{margin:8px 0 0;font-size:11px}@media(max-width:600px){.booking-date-picker{padding:13px 12px 10px}.availability-calendar{max-width:100%;padding:11px 9px}.availability-calendar-grid{gap:3px}.availability-day{border-radius:5px;font-size:11px}.availability-calendar-head{gap:8px}.availability-calendar-head h3{font-size:11px}.availability-legend{gap:7px 10px;font-size:9px}}.status{border:1px solid transparent;border-radius:4px;font-weight:600}.status-in_review,.status-needs_info,.status-new{background:#d7e7f2;border-color:#a9c8dd;color:#285775}.status-approved{background:#d9bd86;border-color:#c8a96e;color:#493b24}.status-confirmed{background:#c94b48;border-color:#b63e3b;color:#fff}.status-rejected{background:#f4dedd;border-color:#e4b8b5;color:#8b302d}.status-cancelled,.status-expired{background:#e8e2d7;border-color:#d8cec1;color:#625d55}.request-actions button{border-radius:4px;font-weight:600;transition:filter .15s ease,transform .15s ease}.request-actions button:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}.request-actions button.action-request{background:#d7e7f2;border-color:#a9c8dd;color:#285775}.request-actions button.action-hold{background:#d9bd86;border-color:#c8a96e;color:#493b24}.request-actions button.action-booked,.request-actions button.action-danger{background:#c94b48;border-color:#b63e3b;color:#fff}.request-actions button.action-neutral{background:#e8e2d7;border-color:#d8cec1;color:#625d55}.request-actions button:disabled{filter:grayscale(.2);opacity:.55;transform:none}.calendar-event.confirmed,.legend-confirmed{background:#c94b48}.calendar-event.held,.legend-hold{background:#d9bd86}.calendar-event.request,.legend-request{background:#d7e7f2}.calendar-event.request{color:#285775}.calendar-event.held{color:#493b24}.admin-page .status-confirmed{background:#dce9df;border-color:#a9c5ae;color:#315c3d}.admin-page .request-actions button.action-booked{background:#477b55;border-color:#396846;color:#fff}.admin-page .request-actions button.action-danger{background:#c94b48;border-color:#b63e3b;color:#fff}.admin-page .admin-calendar .calendar-event.confirmed,.admin-page .admin-calendar .legend-confirmed{background:#477b55}.subpage-content h1{font:400 clamp(29px,3vw,42px) Playfair Display,serif;line-height:1.15;margin:8px 0 14px}.subpage-content--action.section{padding-top:clamp(30px,3.5vw,48px);padding-bottom:clamp(58px,6vw,80px)}.subpage-content--action .booking-contact-help,.subpage-content--action .booking-form{margin-top:0}@media(max-width:600px){.subpage-content--action.section{padding:30px 5% 48px}}