/* Impact Endeavors — shared styles for the static pages (Oct 2026 rebuild).
   Tokens match contact.html / privacy.html and the brand guide. */
:root{
  --bg:#F9F5EE; --ink:#2A2520; --muted:#6B6157; --line:#D6CCB8;
  --accent:#C15B3C; --accent-hover:#B54A2F; --card:#FFFFFF; --sunk:#F1EBE0;
  --radius:10px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Newsreader',Georgia,serif; font-size:18px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%; display:block}
.wrap{max-width:1200px; margin:0 auto; padding:0 clamp(24px,5vw,48px)}

/* header */
header{border-bottom:1px solid var(--ink); background:var(--bg); position:sticky; top:0; z-index:20}
.head{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; padding-bottom:18px}
.wm{font-weight:800; font-size:clamp(22px,3vw,28px); letter-spacing:-0.01em; text-decoration:none; position:relative; white-space:nowrap}
.wm .rule{display:block; height:2px; background:var(--ink); margin-top:6px; position:relative}
.wm .rule::after{content:""; position:absolute; right:-12px; top:-2px; width:6px; height:6px; border-radius:50%; background:var(--accent)}
nav.top{display:flex; align-items:center; gap:clamp(18px,3vw,34px); font-size:16px}
nav.top a{text-decoration:none; color:var(--ink); opacity:.82}
nav.top a:hover,nav.top a[aria-current="page"]{opacity:1; text-decoration:underline; text-underline-offset:5px}
nav.top a.nav-cta{opacity:1; border:1px solid var(--ink); border-radius:var(--radius); padding:8px 16px}
nav.top a.nav-cta:hover{background:var(--ink); color:var(--bg); text-decoration:none}

.menu-btn{display:none}
@media (max-width:800px){
  nav.top{display:none}
  nav.top.open{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:var(--bg); border-bottom:1px solid var(--ink);
    padding:0 0 10px; z-index:30; box-shadow:0 16px 28px rgba(42,37,32,0.12);
  }
  nav.top.open a{padding:15px clamp(24px,5vw,48px); font-size:19px; opacity:1; border-top:1px solid var(--line)}
  nav.top.open a.nav-cta{border:0; border-top:1px solid var(--line); border-radius:0}
  .menu-btn{
    display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:44px; height:44px; background:transparent; border:0; padding:0; cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .menu-btn span{display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; transition:transform 180ms, opacity 180ms}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* type */
.eyebrow{font-size:13px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); margin:0 0 18px; display:flex; align-items:center; gap:10px}
.eyebrow::after{content:""; width:6px; height:6px; border-radius:50%; background:var(--accent)}
h1{font-size:clamp(42px,7.4vw,84px); line-height:1.0; letter-spacing:-0.025em; margin:0 0 24px; font-weight:800; text-wrap:balance}
h1 em,h2 em{font-style:italic; font-weight:500; color:var(--accent)}
h2{font-size:clamp(30px,4.4vw,48px); line-height:1.06; letter-spacing:-0.02em; margin:0 0 18px; font-weight:800; text-wrap:balance}
h3{font-size:clamp(22px,2.4vw,27px); line-height:1.15; letter-spacing:-0.01em; margin:0 0 10px; font-weight:700}
.lede{font-size:clamp(19px,2.4vw,24px); max-width:700px; margin:0 0 36px; text-wrap:pretty}
.muted{color:var(--muted)}
.small{font-size:15px}

/* buttons */
.actions{display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center}
.btn{
  display:inline-block; font-family:inherit; font-size:18px; text-decoration:none; cursor:pointer;
  color:#F9F5EE; background:var(--accent); border:none; border-radius:var(--radius); padding:14px 26px;
  transition:background 180ms, transform 160ms;
}
.btn:hover{background:var(--accent-hover); transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn.dark{background:var(--ink)}
.btn.dark:hover{background:#000}
.link{color:var(--ink); text-underline-offset:5px; font-size:18px}
.link:hover{color:var(--accent)}
.note{font-size:15px; color:var(--muted); margin:14px 0 0}

/* sections */
section{padding:clamp(56px,8vw,104px) 0; border-top:1px solid var(--line)}
section.hero{border-top:0; padding-top:clamp(56px,9vw,120px)}
section.sunk{background:var(--sunk); border-top:0}
.sec-head{max-width:760px; margin-bottom:clamp(32px,5vw,56px)}

/* offers: numbered editorial rows, not a card grid */
.offers{border-top:3px solid var(--ink)}
.offer{display:grid; grid-template-columns:80px 1fr 1.1fr; gap:clamp(16px,3vw,40px); padding:clamp(26px,4vw,40px) 0; border-bottom:1px solid var(--line)}
.offer .num{font-size:15px; letter-spacing:0.12em; color:var(--accent); font-weight:600; padding-top:6px}
.offer .tag{font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); margin:0 0 8px}
.offer p{margin:0 0 12px}
.offer ul{margin:0; padding:0; list-style:none}
.offer li{padding:8px 0 8px 22px; position:relative; border-top:1px solid var(--line); font-size:17px}
.offer li:first-child{border-top:0; padding-top:0}
.offer li::before{content:""; position:absolute; left:2px; top:17px; width:7px; height:7px; border-radius:50%; background:var(--accent)}
.offer li:first-child::before{top:9px}
@media (max-width:860px){ .offer{grid-template-columns:1fr; gap:10px} .offer .num{padding-top:0} }

/* two doors */
.doors{display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(20px,3vw,32px)}
.door{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(28px,4vw,44px); display:flex; flex-direction:column}
.door.primary{background:var(--ink); color:var(--bg); border-color:var(--ink)}
.door.primary .tag{color:#C9BDAA}
.door .tag{font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); margin:0 0 14px}
.door p{margin:0 0 22px}
.door .grow{flex:1}
.door.primary .link{color:var(--bg)}
.door.primary .link:hover{color:#F2B9A5}
@media (max-width:860px){ .doors{grid-template-columns:1fr} }

/* steps */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:3px solid var(--ink)}
.step{padding:24px 24px 8px 0}
.step + .step{padding-left:24px; border-left:1px solid var(--line)}
.step .n{font-size:40px; font-weight:800; color:var(--accent); line-height:1; margin-bottom:12px}
.step p{font-size:17px; margin:0}
@media (max-width:860px){ .steps{grid-template-columns:1fr 1fr} .step:nth-child(3){padding-left:0; border-left:0} .step{padding-bottom:24px} }
@media (max-width:520px){ .steps{grid-template-columns:1fr} .step + .step{padding-left:0; border-left:0; border-top:1px solid var(--line)} }

/* principle strip */
.principles{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,40px)}
.principles div{border-top:2px solid var(--ink); padding-top:16px}
.principles p{margin:0; font-size:17px}
@media (max-width:860px){ .principles{grid-template-columns:1fr} }

/* founder */
.founder{display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(28px,5vw,64px); align-items:start}
.founder img{border-radius:var(--radius); width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.92)}
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; border-top:3px solid var(--ink); padding-top:20px}
.stats b{display:block; font-size:clamp(26px,3vw,34px); line-height:1.05; letter-spacing:-0.01em}
.stats span{display:block; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-top:8px; line-height:1.4}
@media (max-width:860px){ .founder{grid-template-columns:1fr} .founder img{max-width:360px} }
@media (max-width:520px){ .stats{grid-template-columns:1fr} }

/* venture feature */
.feature{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,56px); align-items:center}
.feature img{border-radius:var(--radius); border:1px solid var(--line)}
.pill{display:inline-block; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; border:1px solid currentColor; border-radius:999px; padding:4px 12px; margin-bottom:16px}
.pill.live{color:#2E7D4F}
@media (max-width:860px){ .feature{grid-template-columns:1fr} }

/* closing */
.close{text-align:left}
.next3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; border-top:1px solid var(--line); padding-top:22px}
.next3 b{color:var(--accent); font-size:14px; letter-spacing:0.12em}
.next3 p{margin:6px 0 0; font-size:17px}
@media (max-width:700px){ .next3{grid-template-columns:1fr} }

footer{border-top:1px solid var(--line); padding:28px 0; font-size:14px; color:var(--muted)}
.foot{display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between}
.foot nav a{color:var(--muted); text-decoration:none; margin-right:16px}
.foot nav a:hover{color:var(--ink)}

@media (prefers-reduced-motion:reduce){ *{transition:none !important} }
