/* =========================================================
   CFO Consulting Inc. — consultinc.ai
   Design tokens derived from the approved design handoff.
   ========================================================= */

@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('fonts/newsreader-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('fonts/newsreader-latinext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 700;font-display:swap;
  src:url('fonts/newsreader-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 700;font-display:swap;
  src:url('fonts/newsreader-italic-latinext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --cream:#F7F3EE;
  --surface:#EFE9E1;
  --border:#D9D2C9;
  --border-soft:#E3DCD3;
  --ink:#1F1B18;
  --body:#4A423B;
  --muted:#6B6259;
  --faint:#8B8279;
  --forest:#071A13;
  --forest-mid:#14302A;
  --green:#1F4A3D;
  --green-dk:#183B31;
  --clay:#7A4030;
  --clay-lt:#C97B4A;
  --paper:#FCFAF7;

  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Helvetica Neue',Helvetica,Arial,system-ui,sans-serif;

  --pad:56px;
  --max:1300px;
  --radius:3px;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;scroll-padding-top:88px;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

body{
  margin:0;
  background:var(--cream);
  color:var(--body);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{color:var(--green);text-decoration:none;}
a:hover{color:var(--green-dk);}
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--clay-lt);
  outline-offset:3px;
}

img{max-width:100%;display:block;}

.wrap{max-width:var(--max);margin:0 auto;}
.section{padding:96px var(--pad);}

.eyebrow{
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;margin:0 0 16px;
}
.eyebrow--clay{color:var(--clay);}
.eyebrow--forest{color:var(--forest);}

h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:600;margin:0;}

.skip{
  position:absolute;left:-9999px;top:0;background:var(--forest);color:#fff;
  padding:12px 20px;z-index:100;
}
.skip:focus{left:0;color:#fff;}

/* ---------- NAV ---------- */
.nav{
  background:var(--forest);
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:14px var(--pad);
}
.nav__links{display:flex;gap:32px;align-items:center;}
.nav__links a{color:#F1EDE6;font-size:14px;}
.nav__links a:hover{color:#fff;}
.nav__cta{
  border:1px solid rgba(241,237,230,.55);
  padding:9px 20px;border-radius:999px;
}
.nav__cta:hover{background:rgba(255,255,255,.08);}
.nav__toggle{
  display:none;background:none;border:1px solid rgba(241,237,230,.45);
  color:#F1EDE6;border-radius:var(--radius);padding:8px 12px;
  font-size:14px;cursor:pointer;
}

/* ---------- HERO ---------- */
.hero{padding:80px var(--pad) 0;}
.hero__top{
  display:flex;justify-content:space-between;gap:48px;
  align-items:flex-start;max-width:var(--max);margin:0 auto;
}
.hero__head{max-width:780px;}
.hero h1{font-size:clamp(38px,5.2vw,64px);line-height:1.05;}
.hero h1 em{font-style:italic;color:var(--green);}
.hero__aside{max-width:320px;padding-top:10px;}
.hero__aside p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 20px;}

.btn{
  display:inline-block;background:var(--clay);color:#FDF8F4;
  padding:14px 28px;border-radius:var(--radius);
  font-size:15px;font-weight:600;border:0;cursor:pointer;
  font-family:var(--sans);
  transition:background .18s ease;
}
.btn:hover{background:#633226;color:#FDF8F4;}

.hero__panels{
  display:grid;grid-template-columns:1.3fr 1fr;gap:24px;
  max-width:var(--max);margin:48px auto 0;align-items:stretch;
}
.hero__figure{
  position:relative;aspect-ratio:16/8;border-radius:2px;overflow:hidden;
  margin:0;background:#E7E0D7;
}
.hero__figure img{
  width:100%;height:100%;object-fit:cover;object-position:center 60%;
}
.stats{
  border:1px solid var(--border);padding:32px;
  display:flex;flex-direction:column;justify-content:space-between;gap:16px;
  background:var(--paper);
}
.stats__n{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1.2;}
.stats__n--forest{color:var(--forest);}
.stats__n--green{color:var(--green);}
.stats__n--clay{color:var(--clay);}
.stats__l{font-size:14px;color:var(--muted);line-height:1.45;}
.stats hr{border:0;height:1px;background:var(--border-soft);margin:0;}

/* ---------- PEOPLE ---------- */
.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.pill{
  border:1px solid var(--border);border-radius:999px;
  padding:7px 16px;font-size:13px;color:var(--muted);
}

.founder__meta{font-size:15px;color:var(--muted);margin:8px 0 0;}

.associate{
  display:flex;flex-direction:column;gap:18px;
  padding-top:56px;border-top:1px solid var(--border-soft);max-width:780px;
}
.associate h2{font-size:34px;}
.associate p{font-size:16px;line-height:1.75;color:var(--body);margin:8px 0 0;}
.associate__link{font-size:14px;font-weight:600;color:var(--forest);margin-top:4px;}
.associate__link:hover{color:var(--green);}

/* ---------- SERVICES ---------- */
.services{background:var(--surface);}
.services__head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:24px;margin-bottom:56px;flex-wrap:wrap;
}
.services__head h2{font-size:clamp(28px,3.4vw,40px);max-width:560px;}
.services__head p{font-size:15px;line-height:1.6;color:var(--muted);max-width:380px;margin:0;}

.srow{
  display:grid;grid-template-columns:80px 1fr 1.4fr;gap:24px;
  padding:26px 0;border-top:1px solid var(--border);align-items:baseline;
}
.srow:last-of-type{border-bottom:1px solid var(--border);}
.srow__n{font-family:var(--serif);font-size:20px;color:var(--faint);}
.srow__t{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ink);}
.srow__d{font-size:15px;line-height:1.6;color:var(--body);}

.scards{margin-top:72px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.scard{padding:28px 0 0;border-top:3px solid var(--clay);}
.scard__t{font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:10px;color:var(--ink);}
.scard__d{font-size:15px;line-height:1.6;color:var(--body);}

/* ---------- FAQ ---------- */
.faq{max-width:900px;margin:0 auto;}
.faq h2{font-size:clamp(28px,3.2vw,38px);margin:0 0 40px;}
.faq details{border-top:1px solid var(--border);padding:22px 0;}
.faq details:last-of-type{border-bottom:1px solid var(--border);}
.faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  cursor:pointer;list-style:none;
  font-family:var(--serif);font-size:19px;font-weight:600;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";font-family:var(--sans);font-size:22px;color:var(--green);flex-shrink:0;
}
.faq details[open] summary::after{content:"\2212";}
.faq details p{font-size:15px;line-height:1.7;color:var(--body);margin:16px 0 0;max-width:700px;}

/* ---------- CONTACT ---------- */
.contact{background:var(--forest-mid);}
.contact__grid{
  display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center;
  max-width:var(--max);margin:0 auto;
}
.contact h2{font-size:clamp(28px,3.6vw,42px);color:var(--cream);max-width:560px;}
.contact__lede{font-size:16px;line-height:1.7;color:#BFD1C8;margin:20px 0 0;}
.contact__direct{margin-top:28px;font-size:15px;color:#BFD1C8;}
.contact__direct a{color:#EDE7DE;font-weight:600;border-bottom:1px solid rgba(237,231,222,.4);}
.contact__direct a:hover{color:#fff;}

.contact__action{display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.contact__note{font-size:14px;line-height:1.6;color:#93A99F;margin:0;max-width:340px;}
.btn--lg{padding:16px 32px;font-size:16px;}

/* ---------- FOOTER ---------- */
.footer{
  background:var(--forest);padding:24px var(--pad);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:20px;
}
.footer__id{display:flex;align-items:center;gap:12px;font-size:14px;color:#D5DED8;}
.footer__links{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.footer__links a{font-size:14px;color:#E1E8E3;}
.footer__links a:hover{color:#fff;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .contact__grid{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:900px){
  :root{--pad:28px;}
  .section{padding:64px var(--pad);}
  .hero{padding:56px var(--pad) 0;}
  .hero__top{flex-direction:column;gap:28px;}
  .hero__aside{max-width:none;padding-top:0;}
  .hero__panels{grid-template-columns:1fr;}
  .scards{grid-template-columns:1fr;gap:28px;}
  .srow{grid-template-columns:44px 1fr;row-gap:8px;}
  .srow__d{grid-column:2;}
  .nav{padding:12px var(--pad);flex-wrap:wrap;}
  .nav__toggle{display:block;}
  .nav__links{
    display:none;width:100%;flex-direction:column;align-items:flex-start;
    gap:16px;padding:16px 0 6px;
  }
  .nav__links.is-open{display:flex;}
  .footer{flex-direction:column;align-items:flex-start;}
}
@media (max-width:520px){
  .stats{padding:24px;}
  .associate h2{font-size:28px;}
}

/* ---------- MOTION ---------- */
/* Hero: staged reveal on load. Scroll rows: reveal on entry.
   Both are opt-out under prefers-reduced-motion (see top of file). */

.reveal-hero{
  opacity:0;transform:translateY(14px);
  animation:rise .62s cubic-bezier(.22,.68,.36,1) forwards;
  animation-delay:var(--d,0ms);
}
@keyframes rise{to{opacity:1;transform:none;}}

.reveal{
  opacity:0;transform:translateY(16px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.22,.68,.36,1);
}
.reveal.is-in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .reveal-hero{opacity:1;transform:none;animation:none;}
  .reveal{opacity:1;transform:none;transition:none;}
}

.contact__email{font-size:15px;color:#BFD1C8;margin:4px 0 0;}
.contact__email a{color:#EDE7DE;font-weight:600;border-bottom:1px solid rgba(237,231,222,.4);}
.contact__email a:hover{color:#fff;}

/* ---------- SECTION HEADINGS ---------- */
.sec-h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 48px;max-width:640px;}

/* ---------- LEADERSHIP ---------- */
.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.lead{border-top:3px solid var(--clay);padding-top:26px;}
.lead__name{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink);margin:0;}
.lead__role{font-size:15px;color:var(--green);font-weight:600;margin:6px 0 0;}
.lead__creds{font-size:14px;color:var(--muted);margin:4px 0 0;}
.lead__bio{font-size:15px;line-height:1.75;color:var(--body);margin:16px 0 0;}
.lead__link{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:var(--forest);}
.lead__link:hover{color:var(--green);}

/* ---------- MINING & AI ---------- */
.mining{background:var(--forest);}
.eyebrow--sage{color:#8FB3A2;}
.mining__h{font-size:clamp(28px,3.6vw,42px);color:var(--cream);max-width:680px;margin:0;}
.mining__lede{font-size:16px;line-height:1.7;color:#BFD1C8;margin:20px 0 0;max-width:640px;}
.mining__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:56px;}
.mcol{border-top:1px solid rgba(191,209,200,.28);padding-top:22px;}
.mcol__t{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--cream);margin:0 0 10px;}
.mcol__d{font-size:15px;line-height:1.65;color:#AEC4B8;margin:0;}
.mining__hub{
  margin-top:56px;padding:36px;border:1px solid rgba(191,209,200,.28);border-radius:2px;
  background:rgba(255,255,255,.03);
}
.mining__hubh{font-family:var(--serif);font-size:23px;font-weight:600;color:var(--cream);margin:0 0 14px;}
.mining__hubd{font-size:15px;line-height:1.75;color:#BFD1C8;margin:0;max-width:760px;}
.mining__proof{
  font-size:14px;line-height:1.6;color:#8FB3A2;margin:18px 0 0;
  padding-top:16px;border-top:1px solid rgba(191,209,200,.2);
}

@media (max-width:900px){
  .lead-grid{grid-template-columns:1fr;gap:40px;}
  .mining__cols{grid-template-columns:1fr;gap:28px;}
  .mining__hub{padding:26px;}
  .sec-h2{margin-bottom:32px;}
}

/* ---------- SERVICE TRACKS ---------- */
.track{
  font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;color:var(--green);margin:0 0 18px;
}
.track--ai{margin-top:64px;color:var(--clay);}
.track__note{font-size:14px;line-height:1.6;color:var(--muted);margin:-8px 0 18px;max-width:560px;}
.scards{margin-top:64px;}
