
:root{--paper:#f8f7f4;--cream:#eee9df;--ink:#292622;--soft:#746e67;--line:#ddd8cf;--serif:Georgia,"Times New Roman",serif;--sans:"Avenir Next","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}
.site-nav{height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(248,247,244,.97);position:sticky;top:0;z-index:20}
.brand{font:400 21px var(--serif);letter-spacing:.13em}.brand small{display:block;font:8px var(--sans);letter-spacing:.28em;margin-top:4px}
.navlinks{display:flex;gap:24px;align-items:center;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.navlinks .book{border:1px solid var(--ink);padding:10px 14px}
.page-hero{height:72vh;min-height:570px;position:relative;color:white;display:grid;place-items:center;text-align:center;overflow:hidden}.page-hero img{position:absolute;inset:0;filter:saturate(.68) brightness(.64)}.shade{position:absolute;inset:0;background:linear-gradient(rgba(22,22,19,.22),rgba(22,22,19,.36))}
.hero-copy{position:relative;z-index:2;width:min(950px,90vw)}.eyebrow{font-size:9px;letter-spacing:.27em;text-transform:uppercase;margin:0 0 20px}.hero-copy h1{font:400 clamp(47px,7vw,98px)/.95 var(--serif);letter-spacing:.035em;margin:0}.hero-copy>p:last-of-type{font:400 14px/1.8 var(--serif);max-width:680px;margin:25px auto 0}.hero-actions{display:flex;justify-content:center;gap:14px;margin-top:28px}.hero-actions a{font-size:9px;letter-spacing:.16em;border:1px solid rgba(255,255,255,.75);padding:12px 17px}
.content{max-width:1060px;margin:auto;padding:100px 35px}.intro{text-align:center;max-width:760px;margin:0 auto 75px}.intro h2{font:400 38px var(--serif);margin:0 0 20px}.intro p{font:400 13px/1.9 var(--serif);color:var(--soft)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.card{padding:38px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:235px}.card h2{font:400 25px/1.15 var(--serif);margin:0 0 16px}.card p{font:400 12px/1.8 var(--serif);color:var(--soft)}.card a{display:inline-block;margin-top:12px;font-size:9px;letter-spacing:.12em;border-bottom:1px solid}
.local-links{padding:80px 35px;background:var(--cream);text-align:center}.local-links h2{font:400 32px var(--serif);margin:0 0 28px}.local-links div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.local-links a{border:1px solid #aaa297;padding:10px 13px;font-size:9px;letter-spacing:.1em}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:70px}.gallery img{height:460px}.gallery img:first-child{height:560px}
.cta{text-align:center;padding:100px 25px}.cta h2{font:400 42px var(--serif);margin:0 0 14px}.cta p{font:italic 13px var(--serif);color:var(--soft)}.cta a{display:inline-block;margin-top:20px;background:var(--ink);color:white;padding:14px 24px;font-size:9px;letter-spacing:.17em}
footer{padding:38px 5vw;background:#26231f;color:#d8d2c8;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.07em}footer .social{display:flex;gap:18px}
@media(max-width:850px){.navlinks a:not(.book){display:none}.cards{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img,.gallery img:first-child{height:430px}.gallery img:first-child{grid-column:span 2}.page-hero{height:68vh}}
@media(max-width:520px){.site-nav{height:68px;padding:0 20px}.brand{font-size:17px}.page-hero{min-height:560px}.hero-copy h1{font-size:13vw}.content{padding:75px 20px}.gallery{display:flex;overflow:auto}.gallery img,.gallery img:first-child{flex:0 0 78vw;height:480px}.gallery img:first-child{grid-column:auto}.local-links{padding:65px 20px}footer{flex-direction:column}}


/* Inquiry form */
.inquiry-section{
  background:#efeae2;
  padding:100px 5vw 110px;
  border-top:1px solid var(--line);
}
.inquiry-intro{
  max-width:760px;
  margin:0 auto 48px;
  text-align:center;
}
.inquiry-intro h2{
  font:400 clamp(38px,5vw,62px)/1.05 var(--serif);
  margin:0 0 18px;
}
.inquiry-intro>p:last-child{
  font:400 13px/1.85 var(--serif);
  color:var(--soft);
  max-width:620px;
  margin:0 auto;
}
.inquiry-form{
  max-width:900px;
  margin:0 auto;
  background:#f9f7f2;
  border:1px solid var(--line);
  padding:46px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px 28px;
}
.inquiry-form label{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.inquiry-form label span{
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea{
  width:100%;
  border:0;
  border-bottom:1px solid #bdb6ac;
  background:transparent;
  border-radius:0;
  padding:10px 0 11px;
  color:var(--ink);
  font:400 14px/1.4 var(--serif);
  outline:none;
}
.inquiry-form textarea{
  border:1px solid #c9c2b8;
  padding:14px;
  resize:vertical;
  min-height:140px;
}
.inquiry-form input:focus,
.inquiry-form select:focus,
.inquiry-form textarea:focus{
  border-color:#4b4641;
}
.inquiry-form .full{
  grid-column:1/-1;
}
.hidden-field{
  position:absolute!important;
  left:-9999px!important;
}
.submit-inquiry{
  margin-top:30px;
  width:100%;
  border:1px solid var(--ink);
  background:var(--ink);
  color:#fff;
  padding:16px 24px;
  font-size:10px;
  letter-spacing:.2em;
  cursor:pointer;
  transition:.25s ease;
}
.submit-inquiry:hover{
  background:transparent;
  color:var(--ink);
}
.thanks-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:#efeae2;
}
.thanks-wrap{
  text-align:center;
  padding:40px 25px;
}
.thanks-wrap h1{
  font:400 clamp(58px,9vw,120px)/.95 var(--serif);
  letter-spacing:.06em;
  margin:10px 0 20px;
}
.thanks-wrap>p:not(.eyebrow){
  font:400 15px/1.7 var(--serif);
  margin:0;
  color:var(--soft);
}
.thanks-wrap a{
  display:inline-block;
  margin-top:30px;
  border-bottom:1px solid var(--ink);
  padding-bottom:4px;
  font-size:9px;
  letter-spacing:.16em;
}
@media(max-width:700px){
  .inquiry-section{padding:75px 20px 85px}
  .inquiry-form{padding:28px 20px}
  .form-grid{grid-template-columns:1fr}
  .inquiry-form .full{grid-column:auto}
}

.inquiry-success{
  max-width:900px;
  min-height:420px;
  margin:0 auto;
  background:#f9f7f2;
  border:1px solid var(--line);
  padding:80px 35px;
  text-align:center;
}
.inquiry-success h2{
  font:400 clamp(52px,8vw,92px)/.95 var(--serif);
  margin:10px 0 22px;
}
.inquiry-success p:not(.eyebrow){
  font:400 15px/1.7 var(--serif);
  color:var(--soft);
  margin:0;
}
.submit-inquiry:disabled{opacity:.55;cursor:wait}
