@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');

:root{
  --ink:#242824;--muted:#666b63;--cream:#f3eee5;--paper:#fbfaf6;
  --forest:#263a2e;--forest2:#1d2d24;--red:#8f4338;--gold:#d9b77a;
  --line:#d9d2c6;--white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}
img{display:block;width:100%}
a{color:inherit}
.wrap{width:min(1160px,calc(100% - 44px));margin:auto}
h1,h2,h3{line-height:1.06;margin:0 0 22px;font-weight:400}
h1,h2{font-family:"DM Serif Display",serif}
h1{font-size:clamp(4rem,8vw,7.4rem);letter-spacing:-.035em}
h2{font-size:clamp(3rem,5.2vw,5rem);letter-spacing:-.025em}
h3{font-size:2rem}
em{font-style:italic}
.eyebrow,.kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700}
.eyebrow{color:var(--red);margin:0 0 14px}
.header{height:82px;background:rgba(251,250,246,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 44px));margin:auto}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-mark{width:42px;height:42px;background:var(--forest);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:.9rem}
.logo strong{display:block;font-family:Georgia,serif;font-size:1rem}
.logo small{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;margin-top:2px}
nav{display:flex;align-items:center;gap:27px;font-size:.83rem;font-weight:600}
nav a{text-decoration:none}
.nav-cta{background:var(--red);color:#fff;padding:11px 18px}
.menu{display:none;background:none;border:0;font-size:1.5rem}
.hero{height:calc(100vh - 82px);min-height:650px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 48%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,24,18,.82),rgba(17,24,18,.35) 55%,rgba(17,24,18,.15)),linear-gradient(0deg,rgba(10,15,10,.55),transparent 55%)}
.hero-copy{position:relative;width:min(1160px,calc(100% - 44px));margin:0 auto;padding:0 0 88px}
.kicker{color:#e5cfaa;margin-bottom:18px}
.hero-copy>p:not(.kicker){max-width:570px;font-size:1.18rem;color:#f2f0eb}
.hero-buttons{display:flex;align-items:center;gap:27px;margin-top:30px}
.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:.85rem;padding:13px 21px;border:1px solid transparent}
.btn-gold{background:var(--gold);color:#202820}
.btn-dark{background:var(--forest);color:#fff}
.btn-outline{border-color:var(--forest);color:var(--forest)}
.text-link,.arrow-link{text-decoration:none;font-weight:700;font-size:.85rem}
.text-link span,.arrow-link span{margin-left:8px}
.hero-badge{position:absolute;right:5%;bottom:65px;width:126px;height:126px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;transform:rotate(-7deg);background:rgba(25,35,28,.22);backdrop-filter:blur(3px)}
.hero-badge strong{font:2.2rem Georgia,serif}.hero-badge span{font-size:.67rem;line-height:1.25;text-transform:uppercase;letter-spacing:.1em}
.welcome{padding:105px 0;background:var(--paper)}
.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.welcome-text{font-size:1.08rem;color:var(--muted);max-width:600px}
.welcome-text p:first-child{font-size:1.28rem;color:var(--ink)}
.story{background:var(--cream);padding:105px 0}
.story-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:85px;align-items:center}
.story-image{position:relative}
.story-image:after{content:"";position:absolute;right:-20px;bottom:-20px;width:44%;height:45%;border:1px solid var(--red);z-index:0}
.story-image img{position:relative;z-index:1;height:570px;object-fit:cover}
.story-copy{padding-left:10px}
.story-copy p:not(.eyebrow){color:var(--muted)}
.arrow-link{display:inline-block;margin-top:18px;color:var(--red)}
.spaces{padding:115px 0}
.section-head{display:grid;grid-template-columns:1fr .65fr;gap:80px;align-items:end;margin-bottom:55px}
.section-head>p{color:var(--muted);max-width:430px;margin:0 0 7px}
.feature-space{display:grid;grid-template-columns:1.35fr .65fr;background:var(--forest);color:#fff}
.feature-photo{min-height:480px}
.feature-photo img{height:100%;object-fit:cover}
.feature-copy{padding:55px 48px}
.space-number{font-size:.7rem;letter-spacing:.18em;color:#c7b18a;font-weight:700}
.feature-copy p{color:#d4dbd5}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}
.tags span,.private-note{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;border:1px solid rgba(255,255,255,.25);padding:7px 9px}
.space-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.space-card{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--cream);min-height:340px}
.space-card>img{height:100%;object-fit:cover}
.space-card>div{padding:36px}
.space-card p{color:var(--muted);font-size:.9rem}
.meeting-photo{background:linear-gradient(135deg,#4b5b4d,#2b3c30);display:flex;align-items:flex-end;padding:30px;color:#d9c08c;font:4rem Georgia,serif}
.meeting-photo span{opacity:.8}
.private-note{display:inline-block;color:var(--red);border-color:#bba89d;margin-top:8px}
.hire{background:var(--forest2);color:#fff;padding:115px 0}
.light .eyebrow{color:#d7b984}.light>p{color:#cdd4ce}
.prices{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.price-main{padding:42px 48px 42px 0;border-right:1px solid rgba(255,255,255,.22)}
.price-label{color:#d7b984;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700}
.price{font:5rem "DM Serif Display",serif;margin:12px 0 3px}.price small{font:1rem "DM Sans",sans-serif;color:#cdd4ce}
.cap{color:#d2d8d3}.price-details{display:grid;grid-template-columns:repeat(3,1fr);padding:42px 0 42px 48px;gap:25px}.price-details div{display:flex;flex-direction:column}.price-details strong{font:1.45rem Georgia,serif}.price-details span{font-size:.72rem;line-height:1.45;color:#bfc8c0;margin-top:4px}
.ongoing{display:flex;justify-content:space-between;gap:30px;padding:30px 0;color:#d3d9d4;border-bottom:1px solid rgba(255,255,255,.22)}.ongoing div{display:flex;gap:18px;align-items:baseline;min-width:240px}.ongoing div span{color:#d7b984;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.ongoing strong{font:1.35rem Georgia,serif}.ongoing p{max-width:620px;margin:0;font-size:.9rem}
.availability-callout{margin-top:30px;padding:24px;background:#31483a;display:flex;justify-content:space-between;align-items:center;gap:30px}.availability-callout>div{display:flex;align-items:center;gap:18px}.availability-callout p{margin:3px 0 0;color:#c9d2cb;font-size:.83rem}.calendar-icon{width:43px;height:43px;border:1px solid #d7b984;color:#d7b984;display:grid;place-items:center;font-size:1.7rem}
.improvements{padding:110px 0;background:var(--paper)}.improvements-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.improvements p:not(.eyebrow){color:var(--muted)}.supporters{font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red);line-height:1.8;margin-top:25px}.improvement-list{border-top:1px solid var(--line)}.improvement-list div{padding:20px 0;border-bottom:1px solid var(--line);font-weight:600}.improvement-list span{display:inline-block;width:45px;color:var(--red);font-size:.7rem;letter-spacing:.1em}
.resilience{background:#e8dfd1;padding:75px 0}.resilience-grid{display:grid;grid-template-columns:90px 1fr 1fr;gap:35px;align-items:center}.bolt{font-size:4rem;color:var(--red)}.resilience p:not(.eyebrow){color:#5f645d}
.gallery-section{padding:110px 0;background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:260px;gap:14px}.gallery-grid figure{margin:0;position:relative;overflow:hidden}.gallery-grid img{height:100%;object-fit:cover;transition:transform .5s}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-grid .large{grid-row:span 2}.gallery-grid .wide{grid-column:span 2}.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 18px 13px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.76rem}
.future{padding:100px 0;background:#f0e8dc}.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.future-grid p:not(.eyebrow){color:var(--muted)}.future-items{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.future-items span{padding:9px 12px;border:1px solid #cfc3b4;background:rgba(255,255,255,.4);font-size:.76rem}
.location{padding:105px 0}.location-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:85px;align-items:center}.map{border:8px solid #fff;box-shadow:0 14px 40px rgba(30,35,30,.1)}.map img{height:470px;object-fit:cover}.location-copy p:not(.eyebrow){color:var(--muted)}.location-buttons{display:flex;gap:10px;margin-top:25px}
.contact{background:var(--red);color:#fff;padding:85px 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact .eyebrow{color:#e8c995}.contact p:not(.eyebrow){color:#f0ddd7}.contact a{display:block;font:1.25rem Georgia,serif;text-decoration:none;margin:5px 0}.contact small{display:block;color:#e7cfc9;margin-top:12px}
footer{background:#18251d;color:#c8d0ca;padding:28px 0}.footer{display:flex;justify-content:space-between}.footer span{color:#8e9a91;font-size:.78rem}

/* Interactive availability calendar */
.booking-calendar-wrap{margin-top:42px;background:#f7f4ed;border:1px solid #ddd6c8;padding:30px}
.calendar-intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:24px}
.calendar-intro h3{font-family:Georgia,serif;font-size:2rem;margin:0 0 8px;color:#24372d}
.calendar-intro p:not(.eyebrow){max-width:650px;margin:0;color:#657067;line-height:1.6}
.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;color:#536056;font-size:.8rem;white-space:nowrap}
.calendar-legend span{display:flex;align-items:center;gap:7px}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.legend-dot.available{background:#dfe9df;border:1px solid #8ba18c}
.legend-dot.booked{background:#9b554d}
.legend-dot.requested{background:#c79b43}
.calendar-toolbar{display:grid;grid-template-columns:38px 38px 70px minmax(175px,1fr) 38px 38px minmax(280px,500px);align-items:center;gap:10px;background:#fff;border:1px solid #ddd6c8;padding:10px 12px}
.calendar-toolbar strong{grid-column:4;font-family:Georgia,serif;color:#24372d;min-width:0;text-align:center;white-space:nowrap}
.cal-nav,.cal-today,.calendar-toolbar select{height:38px;border:1px solid #cfc8ba;background:#fff;color:#24372d;border-radius:3px;font-weight:600}
.cal-nav{width:38px;font-size:1.3rem;cursor:pointer}
.cal-today{padding:0 13px}
.calendar-toolbar select{grid-column:7;margin-left:0;padding:0 32px 0 10px;width:100%}
.calendar-scroll{overflow-x:auto;background:#fff;border:1px solid #ddd6c8;border-top:0}
.calendar-grid{min-width:780px;display:grid;grid-template-columns:62px repeat(7,minmax(102px,1fr));position:relative}
.cal-head{height:56px;border-bottom:1px solid #e5dfd4;border-right:1px solid #e5dfd4;padding:9px 6px;box-sizing:border-box;background:#fbfaf7;text-align:center;font-size:.72rem;color:#6b746c}
.cal-head strong{display:block;font-size:.95rem;color:#24372d;margin-top:3px}
.cal-time{height:38px;border-bottom:1px solid #eee9e1;border-right:1px solid #e5dfd4;box-sizing:border-box;text-align:right;padding:5px 7px 0 0;font-size:.68rem;color:#7c837c;background:#fbfaf7}
.cal-cell{height:38px;border-bottom:1px solid #eee9e1;border-right:1px solid #eee9e1;box-sizing:border-box;position:relative;background:#fff}
.cal-cell.available{cursor:pointer;background:linear-gradient(to bottom,#fff 0,#fff 49%,#faf9f6 50%,#faf9f6 100%)}
.cal-cell.available:hover{background:#edf3ed}
.cal-cell.booked{background:#ead8d4;cursor:not-allowed}
.cal-cell.requested{background:#f1e3c4}
.cal-event{position:absolute;left:3px;right:3px;top:3px;bottom:3px;border-radius:3px;padding:4px 5px;box-sizing:border-box;font-size:.65rem;line-height:1.2;overflow:hidden}
.cal-event.booked{background:#9b554d;color:#fff}
.cal-event.requested{background:#c79b43;color:#fff}
.cal-event strong{display:block;font-size:.7rem}
.calendar-note{display:flex;gap:12px;align-items:baseline;margin-top:14px;color:#59645b;font-size:.78rem;line-height:1.5}
.calendar-note strong{color:#24372d}
.booking-modal[hidden]{display:none}
.booking-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.booking-backdrop{position:absolute;inset:0;background:rgba(20,28,23,.62)}
.booking-dialog{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto;background:#f8f5ee;padding:34px;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.booking-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:2rem;color:#405046;cursor:pointer}
.booking-dialog h3{font-family:Georgia,serif;font-size:2rem;color:#24372d;margin:0 0 8px}
.booking-selection{color:#5d675f;line-height:1.5;margin:0 0 22px}
.booking-dialog form{display:grid;gap:14px}
.booking-dialog label{display:grid;gap:6px;color:#38453d;font-size:.8rem;font-weight:700}
.booking-dialog input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cfc8ba;background:#fff;font:inherit;color:#24372d}
.booking-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.btn-outline{border:1px solid #738077;background:transparent;color:#34443a}
.form-footnote{font-size:.72rem;color:#70786f;line-height:1.5;margin:0}
.form-message{font-weight:700;color:#4c6b4f;margin:0}

@media(max-width:900px){
 nav{gap:14px}.hero-badge{display:none}.welcome-grid,.story-grid,.section-head,.improvements-grid,.future-grid,.location-grid,.contact-inner{grid-template-columns:1fr;gap:40px}.story-image img{height:480px}.feature-space{grid-template-columns:1fr}.feature-photo{min-height:360px}.space-cards{grid-template-columns:1fr}.resilience-grid{grid-template-columns:70px 1fr}.resilience-grid>div:last-child{grid-column:2}.prices{grid-template-columns:1fr}.price-main{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.price-details{padding-left:0}.ongoing{flex-direction:column}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .large{grid-row:auto}.gallery-grid .wide{grid-column:span 2}
}
@media(max-width:700px){
 .calendar-toolbar{grid-template-columns:38px 38px 70px minmax(0,1fr) 38px 38px;gap:7px;padding:8px}
 .calendar-toolbar strong{grid-column:4;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis}
 .calendar-toolbar select{grid-column:1 / -1;grid-row:2;width:100%;margin-top:2px}
 .wrap,.nav,.hero-copy{width:calc(100% - 28px)}.header{height:70px}.nav{height:70px}.menu{display:block;color:var(--forest)}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:16px 22px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.show{display:flex}.nav-cta{text-align:center}.hero{height:calc(100vh - 70px);min-height:610px}.hero-copy{padding-bottom:58px}.hero-copy h1{font-size:3.9rem}.hero-buttons{flex-wrap:wrap}.welcome,.story,.spaces,.hire,.improvements,.gallery-section,.future,.location{padding:75px 0}.welcome-grid{gap:25px}.story-image:after{right:-10px;bottom:-10px}.story-image img{height:370px}.feature-copy{padding:35px 28px}.space-card{grid-template-columns:1fr}.space-card>img{height:270px}.meeting-photo{height:220px}.price{font-size:4rem}.price-details{grid-template-columns:1fr 1fr;padding:30px 0}.availability-callout{align-items:flex-start;flex-direction:column}.resilience-grid{grid-template-columns:1fr}.resilience-grid>div:last-child{grid-column:auto}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-grid .wide{grid-column:auto}.gallery-grid .large{grid-row:auto}.map img{height:330px}.contact-inner{gap:30px}.footer{display:block}.footer span{display:block;margin-top:8px}
}
