@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-sans-latin.woff2") format("woff2");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/jetbrains-mono-latin.woff2") format("woff2");
}
:root{
    /* Soft monochrome surface — inherited from YembiPay neumorphic system */
    --bg:#e4e8f0;
    --bg-light:#f2f5fb;
    --bg-dark:#c2c8d6;
    /* Shadows */
    --sh-dark:#bdc4d4;
    --sh-light:#ffffff;
    /* Text — darkened for AA on the soft surface */
    --ink:#242b3b;
    --ink-2:#3c4459;
    --ink-3:#525b71;
    --ink-mute:#646d83;
    /* Accent — strengthened for AA contrast on light surface */
    --green:#0f7042;
    --green-bg:#cfe6da;
    --accent:#33429f;
    --accent-deep:#26318a;
    --accent-bright:#3a4cc4;

    --r-xl:30px;
    --r-lg:24px;
    --r-md:18px;
    --r-sm:12px;
    --r-pill:999px;

    --raise:6px 6px 14px var(--sh-dark), -6px -6px 14px var(--sh-light);
    --raise-lg:9px 9px 22px var(--sh-dark), -9px -9px 22px var(--sh-light);
    --raise-sm:4px 4px 9px var(--sh-dark), -4px -4px 9px var(--sh-light);
    --inset:inset 4px 4px 9px var(--sh-dark), inset -4px -4px 9px var(--sh-light);
    --inset-sm:inset 3px 3px 6px var(--sh-dark), inset -3px -3px 6px var(--sh-light);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{
    font-family:'IBM Plex Sans',system-ui,sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.5;
    min-height:100vh;
    font-weight:600;
    overflow-x:hidden;
  }
  .mono{font-family:'JetBrains Mono',monospace;letter-spacing:-.02em}

  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
  ul{list-style:none}

  :focus-visible{
    outline:3px solid var(--accent);
    outline-offset:3px;
    border-radius:8px;
  }

  .wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 28px}

  /* ============ SKIP LINK ============ */
  .skip{
    position:absolute;left:-999px;top:8px;z-index:200;
    padding:12px 20px;border-radius:var(--r-pill);
    background:var(--bg);box-shadow:var(--raise);
    color:var(--accent-deep);font-weight:800;
  }
  .skip:focus{left:16px}

  /* ============ BUTTONS ============ */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 24px;border-radius:var(--r-pill);
    font-size:.95rem;font-weight:800;
    box-shadow:var(--raise);background:var(--bg);
    transition:box-shadow .15s, transform .05s, color .15s;
    color:var(--ink-2);
  }
  .btn:hover{box-shadow:var(--raise-sm)}
  .btn:active{box-shadow:var(--inset);transform:translateY(1px)}
  .btn svg{width:18px;height:18px;flex:none}
  .btn.primary{color:var(--accent-deep)}
  .btn.solid{
    color:#fff;background:linear-gradient(135deg,var(--accent-bright),var(--accent-deep));
    box-shadow:6px 6px 14px var(--sh-dark), -6px -6px 14px var(--sh-light);
  }
  .btn.solid:hover{box-shadow:4px 4px 9px var(--sh-dark), -4px -4px 9px var(--sh-light)}
  .btn.solid:active{box-shadow:var(--inset);transform:translateY(1px)}

  /* ============ NAV ============ */
  .nav-outer{position:sticky;top:0;z-index:100;padding:16px 0;background:var(--bg)}
  .nav{
    display:flex;align-items:center;gap:22px;
    padding:12px 14px 12px 20px;
    border-radius:var(--r-pill);
    box-shadow:var(--raise);background:var(--bg);
  }
  .brand{display:flex;align-items:center;gap:13px}
  .brand .logo{
    width:42px;height:42px;border-radius:13px;flex:none;
    background:var(--bg);box-shadow:var(--raise-sm);
    display:grid;place-items:center;
  }
  .brand .logo svg{width:24px;height:24px}
  .brand b{font-weight:900;font-size:1.18rem;color:var(--ink);letter-spacing:-.01em}
  .nav-links{display:flex;gap:6px;margin-left:8px}
  .nav-links a{
    padding:10px 16px;border-radius:var(--r-pill);
    font-size:.92rem;font-weight:700;color:var(--ink-2);
    transition:box-shadow .16s, color .16s;
  }
  .nav-links a:hover{box-shadow:var(--inset-sm);color:var(--accent-deep)}
  .nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px}
  .nav-cta .btn{padding:11px 20px;font-size:.9rem}
  .menu-btn{display:none;width:46px;height:46px;border-radius:14px;flex:none;
    box-shadow:var(--raise-sm);background:var(--bg);color:var(--ink-2);place-items:center}
  .menu-btn svg{width:22px;height:22px}

  /* ============ SECTIONS ============ */
  section{padding:74px 0}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    padding:8px 17px;border-radius:var(--r-pill);
    box-shadow:var(--inset-sm);background:var(--bg);
    font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
    color:var(--accent-deep);margin-bottom:22px;
  }
  .eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-bg)}
  h2.sec-title{font-size:2.3rem;font-weight:900;color:var(--ink);letter-spacing:-.025em;line-height:1.1;max-width:18ch}
  .sec-head{margin-bottom:46px;max-width:640px}
  .sec-head p{margin-top:16px;font-size:1.08rem;font-weight:600;color:var(--ink-3);line-height:1.6}

  /* ============ HERO ============ */
  .hero{padding:54px 0 64px}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
  .hero h1{
    font-size:3.3rem;font-weight:900;color:var(--ink);
    letter-spacing:-.03em;line-height:1.04;
  }
  .hero h1 .hl{color:var(--accent-deep)}
  .hero .sub{margin-top:24px;font-size:1.18rem;font-weight:600;color:var(--ink-3);line-height:1.62;max-width:50ch}
  .hero-cta{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap}
  .hero-meta{margin-top:34px;display:flex;gap:26px;flex-wrap:wrap}
  .hero-meta .m{display:flex;flex-direction:column;gap:3px}
  .hero-meta .m b{font-size:1.5rem;font-weight:900;color:var(--ink);letter-spacing:-.02em}
  .hero-meta .m span{font-size:.82rem;font-weight:700;color:var(--ink-mute)}

  /* Hero certificate card visual */
  .cert{
    padding:28px;border-radius:var(--r-xl);
    box-shadow:var(--raise-lg);background:var(--bg);
    position:relative;
  }
  .cert-top{display:flex;align-items:center;gap:14px;margin-bottom:22px}
  .cert-seal{
    width:54px;height:54px;border-radius:16px;flex:none;
    display:grid;place-items:center;box-shadow:var(--raise-sm);background:var(--bg);color:var(--accent-deep);
  }
  .cert-seal svg{width:28px;height:28px}
  .cert-top h3{font-size:1.06rem;font-weight:900;color:var(--ink);line-height:1.2}
  .cert-top span{font-size:.78rem;font-weight:700;color:var(--ink-mute)}
  .cert-rows{display:flex;flex-direction:column;gap:12px}
  .cert-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:14px 16px;border-radius:var(--r-sm);box-shadow:var(--inset-sm);
  }
  .cert-row .lab{font-size:.8rem;font-weight:700;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em}
  .cert-row .val{font-size:.92rem;font-weight:700;color:var(--ink)}
  .cert-row .val.ok{color:var(--green);display:inline-flex;align-items:center;gap:7px}
  .cert-row .val.ok svg{width:16px;height:16px}
  .cert-foot{
    margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:15px 18px;border-radius:var(--r-md);box-shadow:var(--raise-sm);
  }
  .cert-foot .csub{display:flex;flex-direction:column;gap:2px}
  .cert-foot .csub b{font-size:.9rem;font-weight:900;color:var(--ink)}
  .cert-foot .csub span{font-size:.74rem;font-weight:700;color:var(--ink-mute)}
  .cert-dl{padding:9px 16px;border-radius:var(--r-pill);font-size:.8rem;font-weight:800;color:var(--accent-deep);box-shadow:var(--raise-sm);background:var(--bg)}

  /* ============ VALUE PROPS ============ */
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .card{
    padding:26px;border-radius:var(--r-lg);
    box-shadow:var(--raise);background:var(--bg);
    display:flex;flex-direction:column;gap:14px;
  }
  .card .orb{
    width:50px;height:50px;border-radius:15px;flex:none;
    display:grid;place-items:center;box-shadow:var(--raise-sm);background:var(--bg);color:var(--accent-deep);
  }
  .card .orb svg{width:25px;height:25px}
  .card h3{font-size:1.12rem;font-weight:900;color:var(--ink);letter-spacing:-.01em}
  .card p{font-size:.95rem;font-weight:600;color:var(--ink-3);line-height:1.55}

  /* ============ HOW IT WORKS ============ */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .step{
    padding:30px 26px;border-radius:var(--r-lg);
    box-shadow:var(--raise);background:var(--bg);
    display:flex;flex-direction:column;gap:16px;position:relative;
  }
  .step .num{
    width:46px;height:46px;border-radius:50%;flex:none;
    display:grid;place-items:center;box-shadow:var(--inset-sm);background:var(--bg);
    font-size:1.1rem;font-weight:900;color:var(--accent-deep);
  }
  .step h3{font-size:1.18rem;font-weight:900;color:var(--ink);letter-spacing:-.01em}
  .step p{font-size:.96rem;font-weight:600;color:var(--ink-3);line-height:1.55}
  .step .rail-tag{
    margin-top:2px;align-self:flex-start;
    padding:6px 14px;border-radius:var(--r-pill);box-shadow:var(--inset-sm);
    font-size:.78rem;font-weight:800;color:var(--ink-2);
  }

  /* ============ TRUST ============ */
  .trust{background:var(--bg)}
  .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

  /* ============ CORRIDORS ============ */
  .corr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .corr{
    padding:26px;border-radius:var(--r-lg);
    box-shadow:var(--raise);background:var(--bg);
    display:flex;flex-direction:column;gap:16px;
    transition:box-shadow .18s;
  }
  .corr:hover{box-shadow:var(--raise-sm)}
  .corr-route{display:flex;align-items:center;gap:11px}
  .corr-cc{
    font-size:.82rem;font-weight:900;padding:6px 12px;border-radius:10px;
    box-shadow:var(--inset-sm);color:var(--accent-deep);letter-spacing:.04em;
  }
  .corr-route .arr{color:var(--ink-mute)}
  .corr-route .arr svg{width:20px;height:20px;display:block}
  .corr h3{font-size:1.14rem;font-weight:900;color:var(--ink)}
  .corr .country{font-size:.92rem;font-weight:700;color:var(--ink-3)}
  .corr .rail{
    margin-top:4px;align-self:flex-start;
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 15px;border-radius:var(--r-pill);box-shadow:var(--raise-sm);background:var(--bg);
    font-size:.84rem;font-weight:800;color:var(--ink-2);
  }
  .corr .rail .sd{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-bg)}

  /* ============ DEVELOPERS ============ */
  .dev-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
  .dev-copy h2{font-size:2.3rem;font-weight:900;color:var(--ink);letter-spacing:-.025em;line-height:1.1}
  .dev-copy p{margin-top:18px;font-size:1.06rem;font-weight:600;color:var(--ink-3);line-height:1.6}
  .dev-list{margin-top:24px;display:flex;flex-direction:column;gap:13px}
  .dev-list li{display:flex;align-items:center;gap:12px;font-size:.98rem;font-weight:700;color:var(--ink-2)}
  .dev-list .ck{
    width:28px;height:28px;border-radius:9px;flex:none;display:grid;place-items:center;
    box-shadow:var(--raise-sm);background:var(--bg);color:var(--green);
  }
  .dev-list .ck svg{width:16px;height:16px}
  .code{
    padding:10px;border-radius:var(--r-lg);
    box-shadow:var(--raise);background:var(--bg);
  }
  .code-bar{display:flex;align-items:center;gap:8px;padding:12px 16px}
  .code-bar .d{width:11px;height:11px;border-radius:50%;box-shadow:var(--inset-sm)}
  .code-bar .fname{margin-left:8px;font-size:.8rem;font-weight:700;color:var(--ink-mute)}
  .code pre{
    margin:0;padding:20px 22px;border-radius:var(--r-md);
    box-shadow:var(--inset);overflow-x:auto;
    font-family:'JetBrains Mono',monospace;font-size:.86rem;line-height:1.75;
    color:var(--ink-2);
  }
  .code .k{color:var(--accent-deep);font-weight:700}
  .code .s{color:var(--green);font-weight:600}
  .code .c{color:var(--ink-mute);font-weight:500}
  .code .p{color:var(--ink)}

  /* ============ CTA ============ */
  .cta-card{
    padding:58px 48px;border-radius:var(--r-xl);
    box-shadow:var(--raise-lg);background:var(--bg);
    text-align:center;display:flex;flex-direction:column;align-items:center;
  }
  .cta-card h2{font-size:2.5rem;font-weight:900;color:var(--ink);letter-spacing:-.025em;line-height:1.08;max-width:20ch}
  .cta-card p{margin-top:18px;font-size:1.12rem;font-weight:600;color:var(--ink-3);max-width:52ch;line-height:1.6}
  .cta-card .hero-cta{justify-content:center}

  /* ============ FOOTER ============ */
  footer{padding:52px 0 44px}
  .foot-card{
    padding:38px 40px;border-radius:var(--r-xl);
    box-shadow:var(--raise);background:var(--bg);
  }
  .foot-top{display:flex;gap:40px;justify-content:space-between;flex-wrap:wrap}
  .foot-brand{max-width:300px}
  .foot-brand .brand{margin-bottom:16px}
  .foot-brand p{font-size:.92rem;font-weight:600;color:var(--ink-3);line-height:1.6}
  .foot-cols{display:flex;gap:56px;flex-wrap:wrap}
  .foot-col h4{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:16px}
  .foot-col ul{display:flex;flex-direction:column;gap:11px}
  .foot-col a{font-size:.92rem;font-weight:700;color:var(--ink-2)}
  .foot-col a:hover{color:var(--accent-deep)}
  .foot-bottom{
    margin-top:32px;padding-top:24px;
    border-top:1px solid var(--bg-dark);
    display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  }
  .foot-bottom .copy{font-size:.84rem;font-weight:700;color:var(--ink-mute)}
  .foot-legal{display:flex;gap:20px}
  .foot-legal a{font-size:.84rem;font-weight:700;color:var(--ink-2)}
  .foot-legal a:hover{color:var(--accent-deep)}

  /* ============ RESPONSIVE ============ */
  @media (max-width:980px){
    .hero-grid,.dev-grid{grid-template-columns:1fr;gap:40px}
    .grid-4,.corr-grid{grid-template-columns:repeat(2,1fr)}
    .steps,.trust-grid{grid-template-columns:1fr}
    .hero h1{font-size:2.7rem}
    h2.sec-title,.dev-copy h2,.cta-card h2{font-size:2rem}
    .nav-links{display:none}
    .menu-btn{display:grid}
    .nav-cta .btn.ghost{display:none}
    .nav-cta{margin-left:auto}
  }
  @media (max-width:560px){
    .wrap{padding:0 18px}
    section{padding:54px 0}
    .grid-4,.corr-grid{grid-template-columns:1fr}
    .hero h1{font-size:2.2rem}
    .hero .sub{font-size:1.06rem}
    .hero-meta{gap:18px}
    .cta-card{padding:40px 24px}
    .cta-card h2{font-size:1.7rem}
    .foot-card{padding:28px 22px}
    .btn{padding:13px 20px}
    .hero-cta .btn{flex:1;justify-content:center}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none!important;scroll-behavior:auto!important}
  }
  /* Lead capture form (S26-002) — posts to the public /v1/leads endpoint */
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .lead-form{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:stretch}
  .lead-input{
    font:inherit;font-weight:600;color:var(--ink);
    background:var(--bg);border:none;border-radius:16px;
    padding:14px 20px;min-width:240px;flex:1 1 240px;max-width:340px;
    box-shadow:inset 5px 5px 10px var(--sh-dark),inset -5px -5px 10px var(--sh-light);
  }
  /* WEB-5: placeholder raised to --ink-3 (#525b71 ≈ 5.5:1 on --bg) for WCAG AA */
  .lead-input::placeholder{color:var(--ink-3)}
  .lead-input:focus{outline:3px solid var(--accent);outline-offset:2px}
  .lead-status{margin-top:14px;font-weight:700;font-size:.92rem;min-height:1.4em}
  .lead-status.ok{color:var(--green)}
  .lead-status.err{color:#8a1f2d}
/* Functional multipage compatibility for the preserved neumorphic visual contract. */
:root {
  /* The archived value measured 4.21:1 on --bg; this equivalent muted tone clears AA. */
  --ink-mute: #5b6478;
}

.mobile-nav {
  display: none;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
  padding: 14px;
  border-radius: var(--r-lg);
  background: var(--bg);
  box-shadow: var(--raise);
}

.mobile-nav[data-open="true"] {
  display: flex;
}

.code-figure {
  margin: 0;
}

.public-body {
  background: var(--bg);
  color: var(--ink);
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  font-weight: 600;
}

.public-body .container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
}

.public-body .skip-link {
  position: absolute;
  top: 8px;
  left: -999px;
  z-index: 200;
  padding: 12px 20px;
  border-radius: var(--r-pill);
  background: var(--bg);
  color: var(--accent-deep);
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--raise);
  transform: none;
}

.public-body .skip-link:focus {
  left: 16px;
}

.public-body .site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 16px 0;
  border: 0;
  background: var(--bg);
  backdrop-filter: none;
}

.public-body .site-nav {
  display: flex;
  min-height: 0;
  align-items: center;
  gap: 22px;
  padding: 12px 14px 12px 20px;
  border-radius: var(--r-pill);
  background: var(--bg);
  box-shadow: var(--raise);
}

.public-body .brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--ink);
  font-size: 1.18rem;
  font-weight: 900;
  letter-spacing: -0.01em;
  text-decoration: none;
}

.public-body .brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: var(--bg);
  color: var(--accent-deep);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.9rem;
  box-shadow: var(--raise-sm);
}

.public-body .site-nav-links {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
}

.public-body .site-nav-links a {
  min-height: 44px;
  padding: 11px 16px;
  border-radius: var(--r-pill);
  color: var(--ink-2);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
}

.public-body .site-nav-links a:is(:hover, [aria-current="page"]) {
  background: var(--bg);
  color: var(--accent-deep);
  box-shadow: var(--inset-sm);
}

.public-body .site-nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.public-body .menu-button {
  display: none;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 0;
  border-radius: 14px;
  background: var(--bg);
  color: var(--ink-2);
  box-shadow: var(--raise-sm);
}

.public-body .button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--bg);
  color: var(--ink-2);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: var(--raise);
}

.public-body .button:hover {
  color: var(--accent-deep);
  box-shadow: var(--raise-sm);
  transform: none;
}

.public-body .button:active {
  box-shadow: var(--inset);
  transform: translateY(1px);
}

.public-body .button-primary {
  background: linear-gradient(135deg, var(--accent-bright), var(--accent-deep));
  color: #fff;
}

.public-body .button-secondary,
.public-body .button-quiet {
  border: 0;
  background: var(--bg);
  color: var(--ink-2);
}

.public-body .icon {
  width: 18px;
  height: 18px;
}

.public-body .page-main {
  overflow: visible;
}

.public-body .page-hero {
  position: static;
  padding: 70px 0 58px;
}

.public-body .page-hero::after {
  display: none;
}

.public-body .page-hero-copy {
  position: static;
  max-width: 760px;
}

.public-body .page-hero h1 {
  max-width: 18ch;
  margin-top: 18px;
  color: var(--ink);
  font-size: clamp(2.35rem, 6vw, 3.5rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.03em;
}

.public-body .page-hero-lede {
  max-width: 58ch;
  margin-top: 22px;
  color: var(--ink-3);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.62;
}

.public-body .hero-actions,
.public-body .section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 30px;
}

.public-body .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 8px 17px;
  border-radius: var(--r-pill);
  background: var(--bg);
  color: var(--accent-deep);
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: var(--inset-sm);
}

.public-body .eyebrow::before {
  display: none;
}

.public-body .section {
  padding: 68px 0;
  background: var(--bg);
}

.public-body .section-tint,
.public-body .section-inverse {
  background: var(--bg);
  color: var(--ink);
}

.public-body .section-header {
  max-width: 680px;
  margin-bottom: 42px;
}

.public-body .section-header h2 {
  max-width: 20ch;
  margin-top: 18px;
  color: var(--ink);
  font-size: clamp(1.9rem, 4vw, 2.35rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.public-body .section-header > p:last-child {
  max-width: 62ch;
  margin-top: 15px;
  color: var(--ink-3);
  font-size: 1.04rem;
  line-height: 1.6;
}

.public-body .grid-2,
.public-body .grid-3,
.public-body .grid-4,
.public-body .split-grid,
.public-body .status-grid,
.public-body .login-shell {
  display: grid;
  gap: 22px;
}

.public-body .grid-2,
.public-body .split-grid,
.public-body .login-shell {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-body .grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-body .grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-body .card {
  border: 0;
  border-radius: var(--r-lg);
  background: var(--bg);
  color: var(--ink);
  box-shadow: var(--raise);
}

.public-body .card-pad,
.public-body .feature-card,
.public-body .corridor-card,
.public-body .login-panel,
.public-body .login-context,
.public-body .status-row,
.public-body .resource-link {
  padding: 26px;
}

.public-body .feature-card,
.public-body .corridor-card,
.public-body .resource-link {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.public-body .number,
.public-body .step-id {
  color: var(--accent-deep);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.78rem;
  font-weight: 800;
}

.public-body .feature-card h3,
.public-body .corridor-card h3,
.public-body .process-step h3,
.public-body .resource-link h3,
.public-body .status-row h2 {
  color: var(--ink);
  font-size: 1.12rem;
  font-weight: 900;
}

.public-body .feature-card p,
.public-body .corridor-card p,
.public-body .process-step p,
.public-body .resource-link p,
.public-body .status-row p,
.public-body .login-context p {
  color: var(--ink-3);
  line-height: 1.55;
}

.public-body .feature-card a,
.public-body .resource-link a,
.public-body .panel-head a {
  color: var(--accent-deep);
  font-weight: 800;
}

.public-body .corridor-top,
.public-body .corridor-facts,
.public-body .status-row,
.public-body .code-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.public-body .corridor-facts {
  align-items: flex-start;
  flex-direction: column;
  padding: 14px 16px;
  border-radius: var(--r-sm);
  box-shadow: var(--inset-sm);
}

.public-body .process-list,
.public-body .resource-list {
  display: grid;
  gap: 16px;
  list-style: none;
}

.public-body .process-step {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 18px;
  padding: 24px;
  border-radius: var(--r-lg);
  background: var(--bg);
  box-shadow: var(--raise);
}

.public-body .process-step .step-id {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  box-shadow: var(--inset-sm);
}

.public-body .cta-band,
.public-body .quote-block {
  padding: clamp(32px, 6vw, 56px);
  border: 0;
  border-radius: var(--r-xl);
  background: var(--bg);
  color: var(--ink);
  box-shadow: var(--raise-lg);
}

.public-body .cta-band h2,
.public-body .quote-block blockquote {
  max-width: 24ch;
  color: var(--ink);
  font-size: clamp(1.7rem, 4vw, 2.5rem);
  font-weight: 900;
  line-height: 1.1;
}

.public-body .cta-band p,
.public-body .quote-block p {
  margin-top: 16px;
  color: var(--ink-3);
}

.public-body .tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.public-body .tab {
  min-height: 44px;
  padding: 10px 18px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--bg);
  color: var(--ink-2);
  font-weight: 800;
  box-shadow: var(--raise-sm);
}

.public-body .tab[aria-selected="true"] {
  color: var(--accent-deep);
  box-shadow: var(--inset-sm);
}

.public-body .code-panel,
.public-body .route-code {
  padding: 10px;
  overflow: hidden;
  border: 0;
  border-radius: var(--r-lg);
  background: var(--bg);
  color: var(--ink-2);
  box-shadow: var(--raise);
}

.public-body .code-panel pre,
.public-body .route-code pre,
.public-body .code-panel code,
.public-body .route-code code {
  font-family: "JetBrains Mono", monospace;
}

.public-body .code-panel pre,
.public-body .route-code pre {
  margin: 0;
  padding: 20px 22px;
  overflow-x: auto;
  border-radius: var(--r-md);
  color: var(--ink-2);
  line-height: 1.7;
  box-shadow: var(--inset);
}

.public-body .code-toolbar {
  padding: 10px 12px 16px;
  color: var(--ink-2);
  font-size: 0.78rem;
  font-weight: 700;
}

.public-body .copy-button {
  min-height: 44px;
  padding: 9px 16px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--bg);
  color: var(--accent-deep);
  font-weight: 800;
  box-shadow: var(--raise-sm);
}

.public-body .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.public-body .form-span-2 {
  grid-column: 1 / -1;
}

.public-body .field {
  display: grid;
  gap: 8px;
}

.public-body .field label {
  color: var(--ink-2);
  font-weight: 800;
}

.public-body .field input,
.public-body .field select,
.public-body .field textarea {
  width: 100%;
  min-height: 48px;
  padding: 13px 16px;
  border: 0;
  border-radius: var(--r-md);
  background: var(--bg);
  color: var(--ink);
  box-shadow: var(--inset-sm);
}

.public-body .field textarea {
  min-height: 130px;
  resize: vertical;
}

.public-body .field-help {
  color: var(--ink-mute);
  font-size: 0.84rem;
}

.public-body .notice {
  display: block;
  padding: 16px 18px;
  border: 0;
  border-radius: var(--r-md);
  background: var(--bg);
  color: var(--ink-2);
  box-shadow: var(--inset-sm);
}

.public-body .notice-error {
  color: #8a1f2d;
}

.public-body .notice-success,
.public-body .status-success {
  color: var(--green);
}

.public-body .status-grid {
  grid-template-columns: 1fr;
}

.public-body .status-row {
  border-radius: var(--r-lg);
  background: var(--bg);
  box-shadow: var(--raise);
}

.public-body .status-badge {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 6px 12px;
  border-radius: var(--r-pill);
  background: var(--bg);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.76rem;
  font-weight: 800;
  box-shadow: var(--inset-sm);
}

.public-body .login-shell {
  align-items: start;
}

.public-body .login-proof {
  display: grid;
  gap: 12px;
  margin-top: 22px;
  list-style: none;
}

.public-body .login-proof li {
  padding: 12px 14px;
  border-radius: var(--r-sm);
  color: var(--ink-2);
  box-shadow: var(--inset-sm);
}

.public-body .legal-content {
  max-width: 760px;
  padding: 34px;
  border-radius: var(--r-xl);
  background: var(--bg);
  box-shadow: var(--raise);
}

.public-body .legal-content h2 {
  margin-top: 30px;
  color: var(--ink);
  font-size: 1.4rem;
}

.public-body .legal-content p,
.public-body .legal-content li {
  margin-top: 12px;
  color: var(--ink-3);
  line-height: 1.7;
}

.public-body .site-footer {
  padding: 52px 0 44px;
  border: 0;
  background: var(--bg);
  color: var(--ink);
}

.public-body .footer-grid {
  display: grid;
  grid-template-columns: minmax(15rem, 1.4fr) repeat(3, minmax(8rem, 0.6fr));
  gap: 36px;
  padding: 38px 40px;
  border-radius: var(--r-xl);
  background: var(--bg);
  box-shadow: var(--raise);
}

.public-body .footer-intro p,
.public-body .footer-bottom {
  color: var(--ink-mute);
}

.public-body .footer-intro p {
  max-width: 32ch;
  margin-top: 16px;
  line-height: 1.6;
}

.public-body .footer-group h2 {
  margin-bottom: 14px;
  color: var(--ink-mute);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.public-body .footer-group ul {
  display: grid;
  gap: 10px;
  list-style: none;
}

.public-body .footer-group a {
  color: var(--ink-2);
  font-weight: 700;
  text-decoration: none;
}

.public-body .footer-group a:hover {
  color: var(--accent-deep);
}

.public-body .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 24px;
  font-size: 0.84rem;
}

@media (max-width: 980px) {
  .public-body .site-nav-links {
    position: absolute;
    top: calc(100% + 10px);
    right: 28px;
    left: 28px;
    display: none;
    margin: 0;
    padding: 14px;
    flex-direction: column;
    align-items: stretch;
    border-radius: var(--r-lg);
    background: var(--bg);
    box-shadow: var(--raise);
  }

  .public-body .site-nav-links[data-open="true"] {
    display: flex;
  }

  .public-body .menu-button {
    display: grid;
  }

  .public-body .site-nav-actions .button-secondary {
    display: none;
  }

  .public-body .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-body .grid-3,
  .public-body .grid-2,
  .public-body .split-grid,
  .public-body .login-shell,
  .public-body .footer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .public-body .container {
    padding: 0 18px;
  }

  .public-body .site-nav {
    gap: 10px;
    padding-left: 14px;
  }

  .public-body .brand span:last-child {
    display: none;
  }

  .public-body .site-nav-actions {
    gap: 8px;
  }

  .public-body .site-nav-actions .button-primary {
    padding-inline: 14px;
  }

  .public-body .page-hero,
  .public-body .section {
    padding: 54px 0;
  }

  .public-body .grid-4,
  .public-body .grid-3,
  .public-body .form-grid {
    grid-template-columns: 1fr;
  }

  .public-body .form-span-2 {
    grid-column: auto;
  }

  .public-body .page-hero h1 {
    font-size: 2.2rem;
  }

  .public-body .footer-grid {
    padding: 28px 22px;
  }

  .public-body .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}
