:root{
  --black: #0A0A0A;
  --black-soft: #111110;
  --muted: #888888;
  --off-white: #FAFAF8;
  --stone: #8A8578;
  --stone-dim: #5C5850;
  --brass: #C9A961;
  --brass-dim: #8C7640;
  --hairline: rgba(250,250,248,0.12);
  --hairline-strong: rgba(250,250,248,0.22);
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  background:var(--black);
  color:var(--off-white);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

a{color:inherit; text-decoration:none;}

.serif{font-family:'Fraunces', serif;}

.eyebrow{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--stone);
  font-weight:500;
}

:focus-visible{
  outline:2px solid var(--brass);
  outline-offset:3px;
}

/* ============ NAV ============ */
nav{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px 56px;
  background:linear-gradient(to bottom, rgba(10,10,10,0.96), rgba(10,10,10,0.85) 70%, rgba(10,10,10,0));
  backdrop-filter:blur(2px);
}

.logo-mark{
  font-family:'Fraunces', serif;
  font-size:21px;
  font-weight:500;
  letter-spacing:0.01em;
  display:flex;
  align-items:center;
  gap:10px;
}

.logo-mark .dot{
  width:6px; height:6px;
  border-radius:50%;
  background:var(--brass);
  display:inline-block;
}

.nav-links{
  display:flex;
  gap:40px;
  font-size:15px;
  letter-spacing:0.04em;
  color:var(--stone);
}

.nav-links a{transition:color 0.3s ease; position:relative;}
.nav-links a:hover{color:var(--off-white);}
.nav-links a.active{color:var(--off-white);}
.nav-links a.active::after{
  content:'';
  position:absolute;
  bottom:-8px; left:0; right:0;
  height:1px;
  background:var(--brass);
}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  background:none;
  border:none;
  padding:8px;
}
.nav-toggle span{
  width:22px; height:1px;
  background:var(--off-white);
}

.mobile-menu{
  display:none;
  position:fixed;
  inset:0;
  background:var(--black);
  z-index:99;
  flex-direction:column;
  justify-content:center;
  padding:56px;
  gap:28px;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  font-family:'Fraunces', serif;
  font-size:32px;
}
.mobile-close{
  position:absolute;
  top:28px; right:24px;
  background:none; border:none;
  color:var(--off-white);
  font-size:28px;
  cursor:pointer;
}

@media (max-width: 860px){
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
}

/* ============ PAGE HERO (sub-pages) ============ */
.page-hero{
  padding:180px 56px 100px;
  border-bottom:1px solid var(--hairline);
}
.page-hero-inner{
  max-width:1100px;
  margin:0 auto;
}
.page-hero .eyebrow{margin-bottom:24px;}
.page-hero h1{
  font-family:'Fraunces', serif;
  font-weight:400;
  font-size:clamp(36px, 6vw, 68px);
  line-height:1.06;
  max-width:840px;
}
.page-hero h1 em{font-style:italic; color:var(--brass); font-weight:400;}
.page-hero p.lede{
  margin-top:28px;
  font-size:17px;
  line-height:1.65;
  color:var(--stone);
  max-width:600px;
}

/* ============ GENERIC SECTION ============ */
.section{
  padding:120px 56px;
  border-top:1px solid var(--hairline);
}
.section-inner{
  max-width:1100px;
  margin:0 auto;
}
.section:first-of-type{border-top:none;}

/* ============ FOOTER ============ */
footer{
  padding:120px 56px 56px;
  border-top:1px solid var(--hairline);
}
.footer-inner{
  max-width:1100px;
  margin:0 auto;
}
footer h2{
  font-family:'Fraunces', serif;
  font-weight:400;
  font-size:clamp(32px, 5.5vw, 64px);
  line-height:1.08;
  max-width:760px;
  margin-bottom:56px;
}
footer h2 em{font-style:italic; color:var(--brass);}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
  padding-top:64px;
  flex-wrap:wrap;
}
.footer-col{display:flex; flex-direction:column; gap:14px;}
.footer-col .eyebrow{margin-bottom:6px;}
.footer-col a, .footer-col span{font-size:14px; color:var(--stone);}
.footer-col a:hover{color:var(--off-white);}

.footer-legal{
  margin-top:100px;
  padding-top:28px;
  border-top:1px solid var(--hairline);
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:var(--stone-dim);
  flex-wrap:wrap;
  gap:12px;
}
.footer-legal a{color:var(--stone-dim);}
.footer-legal a:hover{color:var(--stone);}

@media (max-width: 860px){
  nav, .hero, .page-hero, .section, footer{padding-left:24px; padding-right:24px;}
  .footer-bottom{flex-direction:column; gap:36px;}
}

.grid-bg {
        /* background-color: white; */
        background-size: 40px 40px;
        background-image: 
        repeating-linear-gradient(0deg, #aba8a81a, #f1f1f11a 1px, transparent 1px, transparent 40px),
        repeating-linear-gradient(90deg, #aba8a81a, #f1f1f11a 1px, transparent 1px, transparent 40px);
        width: 100%;
        height: 100%;
    }