:root{
  --paper:#FAF8F4;
  --ink:#17211D;
  --spruce:#1E3A2F;
  --spruce-deep:#152A22;
  --copper:#B4682F;
  --copper-soft:#C98A55;
  --mist:#E8E4DA;
  --slate:#5A665F;
  --card:#FFFFFF;
  --maxw:1040px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
body{
  font-family:'Libre Franklin',system-ui,sans-serif;
  font-size:17px;line-height:1.65;
  color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Besley',Georgia,serif;line-height:1.15;color:var(--ink);}
a{color:var(--copper);text-decoration:none;}
a:hover{text-decoration:underline;}
a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:3px;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--copper);font-weight:500;
  display:block;margin-bottom:14px;
}

/* Nav */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,248,244,.94);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--mist);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px;}
.wordmark{font-family:'Besley',serif;font-weight:700;font-size:19px;color:var(--spruce);letter-spacing:.01em;text-decoration:none;}
.wordmark span{color:var(--copper);}
.wordmark:hover{text-decoration:none;}
.nav-cta{
  background:var(--spruce);color:#fff!important;padding:8px 16px;border-radius:3px;
  font-size:14px;font-weight:600;
}
.nav-cta:hover{background:var(--spruce-deep);text-decoration:none;}

/* Audience switcher */
.switcher{border-bottom:1px solid var(--mist);background:var(--paper);}
.switch-inner{display:grid;grid-template-columns:repeat(3,1fr);}
.switch-inner a{
  text-align:center;padding:13px 8px;font-size:14px;font-weight:600;color:var(--slate);
  border-bottom:3px solid transparent;letter-spacing:.01em;
}
.switch-inner a:hover{color:var(--ink);text-decoration:none;}
.switch-inner a.active{color:var(--spruce);border-bottom-color:var(--copper);}
@media(max-width:560px){.switch-inner a{font-size:12.5px;padding:11px 4px;}}

/* Hero */
.hero{padding:72px 0 64px;border-bottom:1px solid var(--mist);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:44px;}}
.hero h1{font-size:clamp(32px,4.4vw,46px);font-weight:600;margin-bottom:20px;}
.hero h1 em{font-style:normal;color:var(--spruce);border-bottom:3px solid var(--copper);}
.hero p.lede{font-size:18.5px;color:var(--slate);max-width:34em;margin-bottom:30px;}
.page-hero{padding:64px 0 20px;}
.page-hero h1{font-size:clamp(30px,4vw,42px);font-weight:600;margin-bottom:18px;max-width:20em;}
.page-hero .lede{font-size:18px;color:var(--slate);max-width:42em;}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:13px 22px;border-radius:3px;font-weight:600;font-size:15px;
  border:1px solid transparent;
}
.btn-primary{background:var(--spruce);color:#fff;}
.btn-primary:hover{background:var(--spruce-deep);text-decoration:none;}
.btn-copper{background:var(--copper);color:#fff;}
.btn-copper:hover{background:#9A5626;text-decoration:none;}
.btn-secondary{border-color:var(--spruce);color:var(--spruce);background:transparent;}
.btn-secondary:hover{background:var(--spruce);color:#fff;text-decoration:none;}

/* Route card */
.route-card{
  background:var(--card);border:1px solid var(--mist);border-radius:4px;
  box-shadow:0 18px 40px rgba(23,33,29,.08);
  padding:22px 22px 16px;
  animation:rise .7s ease both;
}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.route-head{
  display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:1px solid var(--mist);padding-bottom:12px;margin-bottom:6px;
}
.route-head .rc-title{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;color:var(--slate);}
.route-head .rc-proj{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink);}
.opt{border:1px solid var(--mist);border-radius:4px;padding:14px 16px;margin-top:12px;}
.opt-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:2px;}
.lender-name{font-weight:600;font-size:15px;}
.lender-sub{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--slate);display:block;margin-bottom:10px;}
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
@media(max-width:420px){.figs{grid-template-columns:repeat(2,1fr);row-gap:10px;}}
.fig b{display:block;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:14.5px;color:var(--ink);}
.fig span{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--slate);}
.route-note{font-size:12px;color:var(--slate);margin-top:12px;line-height:1.5;}

/* Sections */
section{padding:64px 0;}
section h2{font-size:clamp(25px,3.2vw,34px);font-weight:600;margin-bottom:18px;max-width:24em;}
.section-lede{font-size:17.5px;color:var(--slate);max-width:44em;margin-bottom:8px;}
.band{background:#F2EFE7;border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);}
.band-dark{background:var(--spruce-deep);}
.band-dark h2,.band-dark p,.band-dark li,.band-dark h3{color:#EDEBE3;}
.band-dark .section-lede{color:#B9C4BC;}
.band-dark .eyebrow{color:var(--copper-soft);}
.prose{max-width:46em;}
.prose p{margin-bottom:18px;}
.prose p:last-child{margin-bottom:0;}

/* Spec lists */
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;}
@media(max-width:820px){.cols-2{grid-template-columns:1fr;}}
.spec{border-top:2px solid var(--copper);padding-top:18px;}
.band-dark .spec{border-top-color:var(--copper-soft);}
.spec h3{font-size:19px;margin-bottom:12px;}
.spec ul{list-style:none;}
.spec li{
  padding:9px 0 9px 22px;position:relative;font-size:15.5px;line-height:1.55;
  border-bottom:1px solid var(--mist);
}
.band-dark .spec li{border-bottom:1px solid rgba(232,228,218,.14);color:#CBD4CD;}
.spec li::before{
  content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border-radius:1px;
  background:var(--copper);
}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px;}
@media(max-width:920px){.steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.steps{grid-template-columns:1fr;}}
.step{border-top:1px solid var(--ink);padding-top:16px;}
.step .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--copper);letter-spacing:.1em;display:block;margin-bottom:8px;}
.step h3{font-size:18px;margin-bottom:8px;}
.step p{font-size:14.5px;color:var(--slate);line-height:1.6;}

/* Standards */
.standards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px;}
@media(max-width:760px){.standards{grid-template-columns:1fr;}}
.std{background:var(--card);border:1px solid var(--mist);border-radius:4px;padding:24px;}
.std h3{font-size:17px;margin-bottom:8px;}
.std h3 .mono-k{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--copper);letter-spacing:.1em;display:block;margin-bottom:6px;font-weight:500;}
.std p{font-size:14.5px;color:var(--slate);line-height:1.6;}

/* Audience cards on landing */
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
@media(max-width:820px){.aud-grid{grid-template-columns:1fr;}}
.aud{
  display:block;background:var(--card);border:1px solid var(--mist);border-radius:4px;
  padding:26px;color:var(--ink);
}
.aud:hover{text-decoration:none;border-color:var(--copper);box-shadow:0 10px 26px rgba(23,33,29,.07);}
.aud h3{font-size:20px;margin-bottom:10px;}
.aud p{font-size:14.5px;color:var(--slate);line-height:1.6;margin-bottom:16px;}
.aud .go{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--copper);letter-spacing:.06em;}

/* Contact */
.contact-card{background:var(--spruce);border-radius:4px;padding:30px;color:#EDEBE3;}
.contact-card h3{color:#fff;font-size:20px;margin-bottom:12px;}
.contact-card p{font-size:15px;color:#C6CFC8;margin-bottom:18px;line-height:1.6;}
.contact-card a.line{
  display:block;font-family:'IBM Plex Mono',monospace;font-size:14.5px;color:#fff;
  padding:10px 0;border-top:1px solid rgba(255,255,255,.16);
}
.contact-card a.line:hover{color:var(--copper-soft);text-decoration:none;}
.contact-strip{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start;}
@media(max-width:820px){.contact-strip{grid-template-columns:1fr;}}

/* Footer */
footer{border-top:1px solid var(--mist);padding:40px 0 52px;background:var(--paper);}
footer .wordmark{font-size:16px;margin-bottom:16px;display:block;}
.legal{font-size:12.5px;color:var(--slate);line-height:1.7;max-width:60em;}
.legal p{margin-bottom:10px;}
