@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Manrope:wght@300;400;500;600;700&display=swap');

:root{
  --ink:#15130f;
  --ivory:#efe7d8;
  --ivory-dim:#e2d8c4;
  --brass:#ad8a52;
  --brass-bright:#c9a668;
  --forest:#2c3a2c;
  --clay:#8a5a3b;
  --line: rgba(239,231,216,0.14);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--ivory);
  font-family:'Manrope',sans-serif;
  overflow-x:hidden;
}
::selection{background:var(--brass);color:var(--ink);}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:400;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.eyebrow{
  font-size:0.68rem;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--brass-bright);
  font-weight:600;
}

/* NAV */
nav{
  position:sticky; top:0; left:0; right:0; z-index:50;
  display:flex; justify-content:space-between; align-items:center;
  padding:1.6rem 5vw;
  background:rgba(21,19,15,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.wordmark{
  font-family:'Fraunces',serif;
  font-size:1.3rem;
  letter-spacing:0.14em;
}
.nav-links{display:flex; gap:2.4rem; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;}
.nav-links a{opacity:0.78; transition:opacity .3s; padding-bottom:4px; border-bottom:1px solid transparent;}
.nav-links a:hover{opacity:1;}
.nav-links a.active{opacity:1; color:var(--brass-bright); border-bottom-color:var(--brass-bright);}
.nav-toggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.nav-toggle span{width:22px; height:1.5px; background:var(--ivory);}
@media (max-width:800px){
  .nav-links{
    position:fixed; top:70px; left:0; right:0; bottom:0;
    background:var(--ink);
    flex-direction:column; align-items:center; justify-content:center;
    gap:2.4rem; font-size:1rem;
    transform:translateY(-110%); transition:transform .4s ease;
    z-index:40;
  }
  .nav-links.open{transform:translateY(0);}
  .nav-toggle{display:flex;}
}

/* PAGE HERO (non-home pages) */
.page-hero{
  padding:7rem 6vw 4rem;
  text-align:center;
  background:radial-gradient(ellipse 70% 50% at 50% 0%, rgba(173,138,82,0.10), transparent 60%);
}
.page-hero h1{font-size:clamp(2.4rem,6vw,4rem); margin-top:0.6rem;}
.page-hero p{color:var(--ivory-dim); max-width:50ch; margin:1.2rem auto 0; font-weight:300; font-size:1.05rem;}

section{padding:5rem 6vw; position:relative;}
.reveal{opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* BUTTONS */
.btn{
  display:inline-block;
  padding:0.9rem 2.2rem;
  border:1px solid var(--brass);
  color:var(--ivory);
  font-size:0.78rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  transition:all .3s ease;
  cursor:pointer;
  background:none;
  font-family:'Manrope',sans-serif;
}
.btn:hover{background:var(--brass); color:var(--ink);}
.btn-solid{background:var(--brass); color:var(--ink); border-color:var(--brass);}
.btn-solid:hover{background:var(--brass-bright); border-color:var(--brass-bright);}

/* FOOTER */
footer{
  padding:5rem 6vw 3rem;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:3rem;
  border-top:1px solid var(--line);
  margin-top:3rem;
}
@media (max-width:800px){ footer{grid-template-columns:1fr; gap:2.4rem;} }
footer h4{font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--brass-bright); margin-bottom:1.2rem;}
footer .foot-lead{font-family:'Fraunces',serif; font-size:1.6rem; max-width:22ch; line-height:1.3;}
footer ul{list-style:none;}
footer li{margin-bottom:0.7rem; font-size:0.92rem; color:var(--ivory-dim);}
footer li a:hover{color:var(--brass-bright);}
.bottom-bar{
  max-width:100%; margin:2rem auto 0; padding:2rem 6vw 0;
  border-top:1px solid var(--line);
  display:flex; justify-content:space-between; font-size:0.72rem; color:#8a8478;
}
@media (max-width:600px){ .bottom-bar{flex-direction:column; gap:0.6rem;} }
