:root{
  --parchment:#F1E9DD;
  --ivory:#FAF8F1;
  --espresso:#241B15;
  --espresso-soft:#3A2C22;
  --bronze:#A9794F;
  --bronze-bright:#C79564;
  --clay:#7C6248;
  --oxblood:#6E3226;
  --walnut:#4A3524;
  --beige-dark:#E6D8BF;
  --line: rgba(36,27,21,0.14);
  --max: 1160px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--parchment);
  color:var(--espresso);
  font-family:'Inter', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  background-image:
    radial-gradient(circle at 15% 8%, rgba(169,121,79,0.07), transparent 45%),
    radial-gradient(circle at 85% 95%, rgba(110,50,38,0.06), transparent 45%);
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
.max{ max-width:var(--max); margin:0 auto; padding:0 40px; }
::selection{ background:var(--bronze); color:var(--ivory); }

.eyebrow{
  font-family:'Inter', sans-serif;
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--clay); display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:''; width:16px; height:1px; background:var(--bronze); display:inline-block; }
h1,h2,h3{ font-family:'Cormorant Garamond', serif; font-weight:500; letter-spacing:-0.01em; }

/* ---------- NAV ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 40px;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .4s ease, padding .4s ease, border-color .4s ease;
  border-bottom:1px solid transparent;
}
header.scrolled, header.solid{
  background:rgba(241,233,221,0.9);
  backdrop-filter:blur(10px);
  padding:14px 40px;
  border-bottom:1px solid var(--line);
}
.logo-mark{ display:flex; align-items:center; gap:12px; }
.logo-mark img{ height:30px; width:auto; }
.logo-mark span{ font-family:'Cormorant Garamond', serif; font-size:18px; letter-spacing:0.02em; }

nav.links{ display:flex; align-items:center; gap:36px; }
nav.links a{
  font-family:'Inter', sans-serif; font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--espresso-soft); position:relative; padding-bottom:4px;
}
nav.links a::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--bronze); transition:width .3s ease; }
nav.links a:hover::after, nav.links a.active::after{ width:100%; }
nav.links a.active{ color:var(--espresso); }
.nav-cta{
  font-family:'Inter', sans-serif; font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  border:1px solid var(--espresso); padding:10px 18px; border-radius:2px;
  transition:background .3s ease, color .3s ease;
}
.nav-cta:hover{ background:var(--espresso); color:var(--parchment); }
.menu-toggle{ display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:101; background:none; border:none; padding:6px; }
.menu-toggle span{ width:22px; height:1.5px; background:var(--espresso); display:block; }

/* ---------- PAGE HERO (interior pages) ---------- */
.page-hero{
  background:var(--beige-dark); color:var(--espresso);
  padding:150px 40px 60px; text-align:center;
}
.page-hero .eyebrow{ color:var(--walnut); justify-content:center; }
.page-hero .eyebrow::before{ background:var(--walnut); }
.page-hero h1{
  font-family:'Cormorant Garamond', serif; font-weight:300;
  font-size:clamp(32px,5vw,54px); text-transform:uppercase; letter-spacing:0.03em;
  margin-top:16px; max-width:760px; margin-left:auto; margin-right:auto; line-height:1.18;
}
.page-hero p{ color:var(--espresso-soft); max-width:520px; margin:20px auto 0; font-size:16px; opacity:0.8; }

/* ---------- REVEAL ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ---------- BUTTONS ---------- */
.btn-primary{
  font-family:'Inter', sans-serif; font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
  background:var(--bronze-bright); color:var(--espresso); padding:15px 28px; border-radius:2px; display:inline-block;
  transition:background .3s ease, transform .3s ease;
}
.btn-primary:hover{ background:var(--parchment); transform:translateY(-2px); }
.btn-ghost{
  font-family:'Inter', sans-serif; font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
  border:1px solid rgba(241,233,221,0.4); color:var(--parchment); padding:15px 28px; border-radius:2px; display:inline-block;
  transition:border-color .3s ease, background .3s ease;
}
.btn-ghost:hover{ border-color:var(--parchment); background:rgba(241,233,221,0.06); }
.btn-dark{
  font-family:'Inter', sans-serif; font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
  border:1px solid var(--espresso); color:var(--espresso); padding:15px 28px; border-radius:2px; display:inline-block;
  transition:background .3s ease, color .3s ease;
}
.btn-dark:hover{ background:var(--espresso); color:var(--parchment); }

/* ---------- SECTION HEAD ---------- */
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:50px; flex-wrap:wrap; }
.section-head h2{ font-size:clamp(28px,3.2vw,42px); margin-top:14px; max-width:540px; }
.section-head .note{ font-size:14px; color:var(--clay); max-width:280px; }

footer{
  padding:34px 40px 40px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
  font-family:'Inter', sans-serif; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--clay);
  background:transparent; border-top:1px solid var(--line);
}
footer a:hover{ color:var(--walnut); }

@media (max-width:680px){
  header{ padding:16px 22px; }
  .max{ padding:0 22px; }
  nav.links{
    position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px;
    background:var(--espresso); flex-direction:column; align-items:flex-start;
    padding:110px 34px; gap:24px; transform:translateX(100%); transition:transform .4s ease;
  }
  nav.links.open{ transform:translateX(0); }
  nav.links a{ color:var(--parchment); font-size:13px; }
  nav.links .nav-cta{ border-color:var(--parchment); color:var(--parchment); margin-top:8px; }
  .menu-toggle{ display:flex; }
  footer{ flex-direction:column; text-align:center; padding:26px 22px; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
  html{ scroll-behavior:auto; }
}
:focus-visible{ outline:2px solid var(--bronze); outline-offset:3px; }
