:root{
  --ink:#1c1f26;
  --ink-soft:#454b57;
  --parchment:#f7f4ee;
  --parchment-dim:#eee7d9;
  --brass:#a9803f;
  --brass-bright:#c99c4c;
  --brass-dim:#8a6a35;
  --bronze-dark:#241c14;
  --line:#ddd3bd;
  --white:#ffffff;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Public Sans', sans-serif;
  font-size:17px;
  line-height:1.6;
}

h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:700;
  margin:0;
  letter-spacing:-0.01em;
}

.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass-dim);
}

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

.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}

/* NAV */
nav{
  position:sticky; top:0; z-index:50;
  background:rgba(247,244,238,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1080px; margin:0 auto; padding:12px 28px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-logo{height:44px; width:auto; display:block;}
.nav-links{display:flex; gap:28px; font-size:0.92rem;}
.nav-links a{text-decoration:none; color:var(--ink-soft); transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-links{display:none;}
@media(min-width:720px){.nav-links{display:flex;}}

/* HERO */
.hero{
  position:relative;
  padding:72px 28px 80px;
  background:
    radial-gradient(ellipse at top, rgba(169,128,63,0.08), transparent 60%),
    var(--parchment);
  text-align:center;
}
.hero-inner{max-width:900px; margin:0 auto; position:relative; z-index:2;}
.hero .eyebrow{margin-bottom:22px; display:block;}
.hero-logo{
  width:100%; max-width:620px; height:auto; margin:0 auto 30px;
  display:block;
}
.hero p.sub{
  max-width:52ch; margin:0 auto; font-size:1.15rem;
  color:var(--ink-soft);
}
.hero-cta{
  margin-top:34px; display:flex; gap:16px; flex-wrap:wrap; justify-content:center;
}
.btn{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.85rem; letter-spacing:0.04em;
  padding:14px 26px;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.btn-primary{background:var(--ink); color:var(--parchment);}
.btn-primary:hover{background:#000; transform:translateY(-1px);}
.btn-ghost{border-color:var(--brass-dim); color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}

/* SECTIONS */
section{padding:80px 0;}
.section-head{max-width:60ch; margin-bottom:44px;}
.section-head .eyebrow{margin-bottom:12px; display:block;}
.section-head h2{font-size:clamp(1.7rem, 3.4vw, 2.4rem);}
.section-head p{margin-top:14px; color:var(--ink-soft); font-size:1.05rem;}

.story{background:var(--white);}
.story-grid{
  display:grid; gap:36px; grid-template-columns:1fr;
}
@media(min-width:760px){.story-grid{grid-template-columns:1fr 1fr;}}
.road-card{
  padding:28px; border-radius:3px; background:var(--parchment);
  border-left:3px solid var(--brass);
}
.road-card.md{border-left-color:var(--ink);}
.road-card h3{font-size:1.2rem; margin-bottom:8px;}
.road-card p{color:var(--ink-soft); font-size:0.98rem;}
.tagline-block{
  margin-top:40px; padding-top:36px; border-top:1px solid var(--line);
  text-align:center;
}
.tagline-block .tag{
  font-family:'Fraunces', serif; font-style:italic; font-weight:600;
  font-size:1.6rem; color:var(--brass-dim);
}

.why{background:var(--ink); color:var(--parchment);}
.why .section-head p{color:#b9b2a0;}
.why-grid{
  display:grid; gap:1px; background:#3a3a30;
  grid-template-columns:1fr;
}
@media(min-width:640px){.why-grid{grid-template-columns:1fr 1fr;}}
.why-item{background:var(--ink); padding:30px 28px;}
.why-item .num{font-family:'IBM Plex Mono', monospace; color:var(--brass-bright); font-size:0.85rem;}
.why-item h3{font-size:1.15rem; margin:10px 0 8px; color:var(--white);}
.why-item p{color:#b9b2a0; font-size:0.96rem; margin:0;}

.criteria{background:var(--parchment-dim);}
.criteria-grid{
  display:grid; gap:22px; grid-template-columns:1fr;
}
@media(min-width:640px){.criteria-grid{grid-template-columns:repeat(3,1fr);}}
.criteria-card{
  background:var(--white); padding:26px; border:1px solid var(--line); border-radius:3px;
}
.criteria-card .label{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.1em; color:var(--brass-dim); text-transform:uppercase;}
.criteria-card .value{font-family:'Fraunces', serif; font-size:1.5rem; font-weight:700; margin:8px 0 6px;}
.criteria-card p{color:var(--ink-soft); font-size:0.92rem; margin:0;}

.process{background:var(--white);}
.steps{list-style:none; margin:0; padding:0; counter-reset:step;}
.steps li{
  counter-increment:step;
  display:grid; grid-template-columns:52px 1fr; gap:20px;
  padding:22px 0; border-top:1px solid var(--line);
}
.steps li:last-child{border-bottom:1px solid var(--line);}
.steps li::before{
  content:counter(step, decimal-leading-zero);
  font-family:'IBM Plex Mono', monospace; color:var(--brass); font-size:1rem; padding-top:2px;
}
.steps h3{font-size:1.08rem; margin-bottom:4px;}
.steps p{margin:0; color:var(--ink-soft); font-size:0.96rem;}

.values{background:var(--bronze-dark); color:var(--white);}
.values .section-head p{color:#c9bfae;}
.value-grid{
  display:grid; gap:18px; grid-template-columns:repeat(2,1fr);
}
@media(min-width:760px){.value-grid{grid-template-columns:repeat(4,1fr);}}
.value-chip{
  border:1px solid #4a3d2a; padding:18px 16px; border-radius:3px; font-size:0.95rem;
}
.value-chip .eyebrow{color:#c9a45c;}
.value-chip strong{display:block; font-family:'Fraunces', serif; font-size:1.05rem; margin-top:6px; font-weight:600;}

.founders{background:var(--parchment);}
.founder-grid{display:grid; gap:30px; grid-template-columns:1fr;}
@media(min-width:640px){.founder-grid{grid-template-columns:1fr 1fr;}}
.founder-card h3{font-size:1.2rem;}
.founder-card .role{font-family:'IBM Plex Mono', monospace; font-size:0.8rem; color:var(--brass-dim); margin:6px 0 12px; display:block;}
.founder-card p{color:var(--ink-soft); font-size:0.96rem;}

.family{background:var(--white);}
.family-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:14px;
}
.family-grid img{
  width:100%; height:100%; object-fit:cover; display:block;
  border-radius:3px;
}
.family-cell-large{grid-row:1 / 3; grid-column:1;}
.family-caption{
  margin-top:28px; padding-top:26px; border-top:1px solid var(--line);
  text-align:center;
}
.family-caption p{
  font-family:'Fraunces', serif; font-style:italic; font-weight:600;
  font-size:1.35rem; color:var(--brass-dim); max-width:38ch; margin:0 auto;
}
@media(max-width:700px){
  .family-grid{grid-template-columns:1fr 1fr; grid-template-rows:auto;}
  .family-cell-large{grid-row:1 / 2; grid-column:1 / 3;}
}

.contact{background:var(--ink); color:var(--parchment); text-align:center;}
.contact h2{font-size:clamp(1.8rem, 4vw, 2.6rem); max-width:16ch; margin:0 auto;}
.contact p.sub{max-width:48ch; margin:18px auto 32px; color:#b9b2a0;}
.contact-email{
  font-family:'IBM Plex Mono', monospace; font-size:1.05rem;
  color:var(--brass-bright); text-decoration:none; border-bottom:1px solid var(--brass-bright); padding-bottom:2px;
}

footer{
  background:var(--ink); color:#8a8674; text-align:center;
  padding:28px 0 40px; font-size:0.85rem; border-top:1px solid #33352b;
}
footer .foot-tag{font-family:'Fraunces', serif; font-style:italic; color:#b9b2a0; margin-bottom:6px; display:block;}
