:root{
  --ink-navy:#0F1B33;
  --ledger-navy:#16294D;
  --ledger-line:#2A3B5C;
  --paper:#F6F4EF;
  --paper-dim:#EDE9DF;
  --gold:#B8922F;
  --gold-bright:#D4AF57;
  --slate:#5B6472;
  --slate-light:#8590A0;
  --ink-on-paper:#1B2436;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  background:var(--paper);
  color:var(--ink-on-paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:500;
}
h1,h2,h3{
  font-family:'Playfair Display',serif;
  font-weight:600;
  letter-spacing:-0.01em;
}

/* ===== HEADER ===== */
header{
  background:var(--ink-navy);
  border-bottom:1px solid var(--ledger-line);
  position:sticky;top:0;z-index:100;
}
.header-inner{
  width:94%;max-width:1800px;margin:0 auto;
  padding:20px 32px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;
}
.brand{display:flex;flex-direction:column;gap:2px;}
.brand-name{font-family:'Playfair Display',serif;font-size:20px;font-weight:600;color:var(--paper);}
.brand-tag{
  font-family:'IBM Plex Mono',monospace;
  font-size:10.5px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--gold);
}
nav{display:flex;gap:32px;align-items:center;flex-wrap:wrap;}
nav a{font-size:14px;color:#C7CEDB;font-weight:500;transition:color .2s;}
nav a:hover{color:var(--paper);}
nav a.current{color:var(--gold-bright);}
.nav-cta{
  border:1px solid var(--gold);
  padding:9px 20px;
  border-radius:2px;
  font-size:13px;font-weight:600;
  color:var(--gold-bright) !important;
  letter-spacing:0.02em;
}
.nav-cta:hover{background:var(--gold);color:var(--ink-navy) !important;}

/* ===== HERO (with photo, used on Home) ===== */
.hero{background:var(--ink-navy);color:var(--paper);position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--ledger-line) 1px, transparent 1px);
  background-size:100% 48px;opacity:0.35;pointer-events:none;
}
.hero-inner{
  width:94%;max-width:1800px;margin:0 auto;
  padding:88px 32px 96px;
  display:grid;grid-template-columns:1.15fr 0.85fr;
  gap:64px;align-items:center;position:relative;
}
.hero-eyebrow{color:var(--gold-bright);display:flex;align-items:center;gap:12px;margin-bottom:24px;}
.hero-eyebrow::before{content:"";width:28px;height:1px;background:var(--gold-bright);}
.hero h1{font-size:46px;line-height:1.12;color:var(--paper);margin-bottom:22px;}
.hero h1 em{font-style:italic;color:var(--gold-bright);}
.hero-sub{font-size:17px;color:#C7CEDB;max-width:520px;margin-bottom:28px;}
.credential-strip{
  display:flex;flex-wrap:wrap;gap:0;
  border-top:1px solid var(--ledger-line);
  border-bottom:1px solid var(--ledger-line);
  padding:14px 0;margin-bottom:34px;
}
.credential-strip span{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:#AEB8C8;
  letter-spacing:0.03em;padding-right:18px;margin-right:18px;
  border-right:1px solid var(--ledger-line);
}
.credential-strip span:last-child{border-right:none;margin-right:0;padding-right:0;}
.credential-strip strong{color:var(--gold-bright);font-weight:600;}

.hero-stats-grid{
  display:flex;flex-wrap:wrap;gap:0;
  border-top:1px solid var(--ledger-line);
  border-bottom:1px solid var(--ledger-line);
  padding:22px 0;margin-bottom:34px;
}
.hero-stats-grid div{padding-right:30px;margin-right:30px;border-right:1px solid var(--ledger-line);}
.hero-stats-grid div:last-child{border-right:none;margin-right:0;padding-right:0;}
.hero-stats-grid .num{
  font-family:'Playfair Display',serif;font-weight:600;font-size:22px;
  color:var(--gold-bright);display:block;
}
.hero-stats-grid .lbl{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#AEB8C8;
  text-transform:uppercase;letter-spacing:0.06em;
}

.btn-gold{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gold);color:var(--ink-navy);font-weight:700;font-size:14.5px;
  padding:15px 30px;border-radius:2px;letter-spacing:0.01em;
  transition:background .2s, transform .2s;
}
.btn-gold:hover{background:var(--gold-bright);transform:translateY(-1px);}
.btn-gold svg{width:14px;height:14px;}

.hero-photo-wrap{position:relative;}
.hero-photo-frame{position:relative;border:1px solid var(--gold);padding:14px;}
.hero-photo-frame img{display:block;width:100%;height:auto;filter:grayscale(15%) contrast(1.04) saturate(0.92);}
.hero-photo-tag{
  position:absolute;bottom:-1px;right:-1px;background:var(--gold);color:var(--ink-navy);
  font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;
  letter-spacing:0.06em;padding:8px 14px;
}

/* ===== HERO SIMPLE (no photo, used on inner pages) ===== */
.hero-simple{background:var(--ink-navy);color:var(--paper);position:relative;overflow:hidden;}
.hero-simple::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--ledger-line) 1px, transparent 1px);
  background-size:100% 48px;opacity:0.35;pointer-events:none;
}
.hero-simple-inner{
  width:94%;max-width:1800px;margin:0 auto;padding:60px 32px 56px;position:relative;
}
.hero-simple h1{font-size:40px;line-height:1.16;color:var(--paper);margin-bottom:20px;}
.hero-simple h1 em{font-style:italic;color:var(--gold-bright);}
.hero-simple .hero-sub{max-width:640px;}

/* ===== BYLINE (small photo signature block on inner-page heroes) ===== */
.byline{
  display:flex;align-items:center;gap:14px;
  margin-top:30px;padding-top:22px;
  border-top:1px solid var(--ledger-line);
}
.byline img{
  width:48px;height:48px;border-radius:50%;
  object-fit:cover;border:1.5px solid var(--gold);
  filter:grayscale(15%) contrast(1.04);
}
.byline-text{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#AEB8C8;letter-spacing:0.02em;}
.byline-text strong{color:var(--gold-bright);font-weight:600;}

/* ===== SECTION SHARED ===== */
section{padding:72px 0;}
.section-inner{width:94%;max-width:1800px;margin:0 auto;}
.section-inner.narrow{max-width:820px;}
.section-head{display:grid;grid-template-columns:280px 1fr;gap:48px;margin-bottom:40px;}
.section-head .eyebrow{color:var(--gold);margin-bottom:14px;display:block;}
.section-head h2{font-size:32px;line-height:1.25;color:var(--ink-on-paper);}
.section-head .lede{font-size:16px;color:var(--slate);align-self:end;max-width:520px;}
.section-head.on-navy h2{color:var(--paper);}
.section-head.on-navy .lede{color:#B7C0D1;}

.body-text p{font-size:15.5px;color:var(--slate);margin-bottom:18px;max-width:720px;}
.body-text p strong{color:var(--ink-on-paper);}

/* ===== CHECKLIST (fail-style, reused for issue/assessment lists) ===== */
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #DAD4C4;}
.check-item{display:flex;gap:14px;padding:22px 24px;border-bottom:1px solid #DAD4C4;}
.check-num{
  font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:600;
  color:var(--gold);flex-shrink:0;width:36px;
}
.check-item:nth-child(odd){border-right:1px solid #DAD4C4;}
.check-grid > .check-item:last-child:nth-child(odd){grid-column:1 / -1;border-right:none;}
.check-mark{width:16px;height:16px;flex-shrink:0;margin-top:3px;}
.check-item p{font-size:14.5px;color:var(--ink-on-paper);}
.check-note{margin-top:28px;font-size:14.5px;color:var(--slate);font-style:italic;max-width:640px;}

/* ===== LEDGER LIST (navy numbered rows; principles / how-we-help / stage steps) ===== */
.ledger-block{background:var(--ledger-navy);color:var(--paper);}
.ledger-list{border-top:1px solid var(--ledger-line);}
.ledger-row{
  display:grid;grid-template-columns:80px 1fr 1.4fr;gap:24px;align-items:start;
  padding:26px 0;border-bottom:1px solid var(--ledger-line);
}
.ledger-num{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:600;color:var(--gold-bright);}
.ledger-row h3{font-family:'Inter',sans-serif;font-weight:600;font-size:16.5px;color:var(--paper);}
.ledger-row p{font-size:14.5px;color:#AEB8C8;max-width:460px;}
.ledger-closer{
  margin-top:30px;font-size:15px;color:#C7CEDB;max-width:640px;
  border-left:2px solid var(--gold);padding-left:18px;
}

/* ===== QUOTE BLOCK ===== */
.quote-block{
  border-left:3px solid var(--gold);
  padding:6px 0 6px 28px;
  margin:36px 0;
}
.quote-block p{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
  font-size:22px;line-height:1.45;color:var(--ink-on-paper);
}
.quote-block.on-navy p{color:var(--paper);}

/* ===== PROCESS STAGES (detailed) ===== */
.stage-list{border-top:1px solid #DAD4C4;}
.stage-card{
  display:grid;grid-template-columns:160px 1fr;gap:32px;
  padding:36px 0;border-bottom:1px solid #DAD4C4;
}
.stage-side{display:flex;flex-direction:column;gap:10px;}
.stage-side .stage-num{
  font-family:'IBM Plex Mono',monospace;font-size:34px;font-weight:600;color:var(--gold);
}
.stage-side .stage-tag{
  font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;
  text-transform:uppercase;color:#8B7A3E;background:#EFE6CC;
  display:inline-block;padding:3px 8px;width:fit-content;
}
.stage-body h3{font-size:19px;margin-bottom:14px;color:var(--ink-on-paper);}
.stage-body ul{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.stage-body ul li{
  font-size:14.5px;color:var(--slate);position:relative;padding-left:18px;
}
.stage-body ul li::before{
  content:"—";position:absolute;left:0;color:var(--gold);
}
.stage-note{
  display:inline-block;
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--ink-navy);background:var(--gold-bright);
  padding:6px 12px;margin-top:6px;
}

.pricing-strip{
  margin-top:36px;background:var(--ink-navy);color:var(--paper);
  padding:26px 32px;display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;
}
.pricing-strip .label{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--gold-bright);margin-bottom:6px;display:block;
}
.pricing-strip .amount{font-family:'Playfair Display',serif;font-size:22px;font-weight:600;}
.pricing-strip .amount span{color:var(--gold-bright);font-size:15px;font-weight:400;}
.note-box{
  margin-top:28px;background:var(--paper-dim);border-left:3px solid var(--slate);
  padding:18px 22px;font-size:14px;color:var(--slate);max-width:720px;
}

/* ===== ABOUT (photo block, used on Home) ===== */
.about-block{background:var(--paper-dim);}
.about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;}
.about-photo{border-top:3px solid var(--gold);padding-top:20px;}
.about-photo img{width:100%;filter:grayscale(20%) contrast(1.03);}
.about-photo .cap{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--slate);margin-top:12px;letter-spacing:0.03em;}
.about-text .eyebrow{color:var(--gold);display:block;margin-bottom:14px;}
.about-text h2{font-size:28px;margin-bottom:20px;color:var(--ink-on-paper);}
.about-text p{font-size:15.5px;color:var(--slate);margin-bottom:16px;max-width:560px;}
.about-photo-row{
  display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center;
  margin-bottom:32px;
}
.about-photo-row img{
  width:100%;height:auto;border-top:3px solid var(--gold);
  filter:grayscale(15%) contrast(1.03);
}
.about-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;}
.about-stats-grid .num{
  font-family:'Playfair Display',serif;font-weight:600;font-size:22px;
  color:var(--ink-navy);display:block;
}
.about-stats-grid .lbl{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--slate);
  text-transform:uppercase;letter-spacing:0.06em;
}

/* ===== CASE STUDIES (Success Stories) ===== */
.case-list{display:flex;flex-direction:column;gap:0;}
.case-card{border-top:1px solid #DAD4C4;padding:40px 0;}
.case-card:last-child{border-bottom:1px solid #DAD4C4;}

/* ===== FULL-WIDTH PHOTO BANNER ===== */
.banner-block{position:relative;padding:0;overflow:hidden;}
.banner-block img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;}
.banner-block::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(15,27,51,0.92) 0%, rgba(15,27,51,0.35) 45%, rgba(15,27,51,0.05) 70%);
}
.banner-caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:40px 32px;width:94%;max-width:1800px;margin:0 auto;
}
.banner-caption p{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
  font-size:22px;line-height:1.4;color:var(--paper);max-width:640px;
}
.banner-caption span{
  display:block;margin-top:10px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--gold-bright);
}

/* ===== BEFORE / AFTER TRANSITION PANELS ===== */
.transition-panels{
  display:grid;grid-template-columns:1fr 64px 1fr;align-items:stretch;
  margin-bottom:12px;
}
.transition-panel{padding:44px 30px;text-align:center;}
.transition-panel.before{background:var(--paper-dim);}
.transition-panel.after{background:var(--ledger-navy);}
.transition-panel svg{width:64px;height:64px;margin:0 auto 20px;display:block;}
.transition-panel .t-label{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;margin-bottom:10px;display:block;
}
.transition-panel.before .t-label{color:#8B4A4A;}
.transition-panel.after .t-label{color:var(--gold-bright);}
.transition-panel h4{font-size:17px;margin-bottom:8px;}
.transition-panel.before h4{color:var(--ink-on-paper);}
.transition-panel.after h4{color:var(--paper);}
.transition-panel p{font-size:13.5px;}
.transition-panel.before p{color:var(--slate);}
.transition-panel.after p{color:#B7C0D1;}
.transition-arrow{display:flex;align-items:center;justify-content:center;background:var(--paper);}
.transition-arrow svg{width:22px;height:22px;color:var(--gold);}

@media (max-width:640px){
  .transition-panels{grid-template-columns:1fr;}
  .transition-arrow{padding:10px 0;transform:rotate(90deg);}
}
.case-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:22px;}
.case-head .eyebrow{color:var(--gold);}
.case-head h3{font-size:24px;color:var(--ink-on-paper);max-width:640px;}
.case-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.case-col h4{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--slate);margin-bottom:12px;
}
.case-col p{font-size:14.5px;color:var(--slate);margin-bottom:12px;}
.case-col ul{display:flex;flex-direction:column;gap:8px;margin-bottom:4px;}
.case-col ul li{font-size:14px;color:var(--ink-on-paper);position:relative;padding-left:16px;}
.case-col ul li::before{content:"—";position:absolute;left:0;color:var(--gold);}
.case-result{
  margin-top:24px;background:var(--paper-dim);border-left:3px solid var(--gold);
  padding:18px 22px;
}
.case-result h4{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:#8B7A3E;margin-bottom:8px;
}
.case-result p{font-size:14.5px;color:var(--ink-on-paper);margin:0;}

/* ===== LEARNING CENTER (topic index) ===== */
.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #DAD4C4;}
.topic-col{border-bottom:1px solid #DAD4C4;padding:32px 28px;}
.topic-col:nth-child(odd){border-right:1px solid #DAD4C4;}
.topic-col .topic-eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--gold);margin-bottom:4px;display:block;
}
.topic-col h3{font-size:19px;margin-bottom:16px;color:var(--ink-on-paper);}
.topic-col ul{display:flex;flex-direction:column;gap:2px;}
.topic-col ul li a{
  display:flex;align-items:center;gap:10px;
  font-size:14.5px;color:var(--slate);padding:8px 0;
  border-bottom:1px dotted #DAD4C4;transition:color .15s;
}
.topic-col ul li:last-child a{border-bottom:none;}
.topic-col ul li a:hover{color:var(--ink-navy);}
.topic-col ul li a::before{
  content:"→";color:var(--gold);font-size:12px;flex-shrink:0;
}

/* ===== CTA ===== */
.cta-block{
  background:var(--ink-navy);color:var(--paper);text-align:center;
  padding:96px 32px;position:relative;overflow:hidden;
}
.cta-block::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:1px;height:100%;background:var(--ledger-line);
}
.cta-block h2{font-size:34px;max-width:640px;margin:0 auto 16px;color:var(--paper);position:relative;}
.cta-block p{color:#B7C0D1;font-size:15.5px;margin-bottom:34px;position:relative;}

footer{background:var(--ink-navy);border-top:1px solid var(--ledger-line);padding:28px 32px;text-align:center;}
footer p{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--slate-light);letter-spacing:0.03em;}

@media (max-width:860px){
  .hero-inner{grid-template-columns:1fr;padding:56px 24px 64px;}
  .hero h1{font-size:34px;}
  .hero-simple h1{font-size:30px;}
  .section-head{grid-template-columns:1fr;gap:14px;}
  .check-grid{grid-template-columns:1fr;}
  .check-item:nth-child(odd){border-right:none;}
  .ledger-row{grid-template-columns:1fr;gap:8px;}
  .about-grid{grid-template-columns:1fr;}
  .about-photo-row{grid-template-columns:1fr;}
  .case-cols{grid-template-columns:1fr;gap:24px;}
  .topic-grid{grid-template-columns:1fr;}
  .topic-col:nth-child(odd){border-right:none;}
  .stage-card{grid-template-columns:1fr;gap:16px;}
  nav{display:none;}
  section{padding:64px 0;}
}
