/* Banksman site styles */
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-800-normal.woff2) format('woff2');}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-900-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-700-normal.woff2) format('woff2');}
:root{
    color-scheme:dark;
    --bg:#0d1120;
    --surface:#171c30;
    --surface-2:#1f2740;
    --ink:#f5f3ec;
    --ink-soft:#c3c9de;
    --muted:#8890a8;
    --accent:#ff7a2e;
    --accent-ink:#180d04;
    --accent-soft:#3d2410;
    --line:rgba(245,243,236,0.10);
    --line-strong:rgba(245,243,236,0.22);
    --shadow:0 1px 2px rgba(0,0,0,0.4), 0 16px 44px rgba(0,0,0,0.5);
    --glow:0 0 44px rgba(255,122,46,0.28);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  section[id]{scroll-margin-top:88px;}
  body{
    margin:0; position:relative;
    background:var(--bg); color:var(--ink);
    font-family:'IBM Plex Sans', system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing:antialiased; line-height:1.55;
  }
  body::before{
    content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:
      radial-gradient(760px 560px at 88% -6%, rgba(255,122,46,0.24), rgba(255,122,46,0) 68%),
      radial-gradient(620px 620px at -8% 32%, rgba(255,122,46,0.14), rgba(255,122,46,0) 70%),
      radial-gradient(900px 700px at 105% 78%, rgba(255,154,77,0.13), rgba(255,154,77,0) 70%),
      repeating-linear-gradient(0deg, rgba(245,243,236,0.05) 0 1px, rgba(245,243,236,0) 1px 96px),
      repeating-linear-gradient(90deg, rgba(245,243,236,0.05) 0 1px, rgba(245,243,236,0) 1px 96px);
  }
  header.site, main, footer{position:relative; z-index:1;}
  img{max-width:100%;}
  a{color:inherit;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
  h1,h2,h3{font-family:'Big Shoulders Display','Arial Narrow',sans-serif; text-wrap:balance; margin:0; letter-spacing:0.01em;}
  .mono{font-family:'IBM Plex Mono', ui-monospace, monospace;}
  .eyebrow{
    font-family:'IBM Plex Mono', ui-monospace, monospace;
    font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--accent); display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:"";width:22px;height:2px;background:var(--accent);display:inline-block;}
  section{padding:80px 0;}
  h2.big{font-size:clamp(28px,4.4vw,44px); margin:14px 0 30px;}
  @media (max-width:720px){ section{padding:52px 0;} }

  /* ---------- header ---------- */
  header.site{
    position:sticky; top:0; z-index:40;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 24px; max-width:1120px; margin:0 auto; flex-wrap:wrap; row-gap:10px;}
  .brand{display:flex; align-items:center; text-decoration:none; flex-shrink:0;}
  .brand img{display:block; height:34px; width:auto;}
  .navlinks{display:flex; gap:26px; font-size:14px; font-weight:500; align-items:center;}
  .navlinks a{text-decoration:none; color:var(--ink-soft);}
  .navlinks a:hover{color:var(--ink);}
  @media (max-width:860px){ .navlinks{display:none;} }
  .nav-right{display:flex; align-items:center; gap:14px; flex-shrink:0;}
  .nav-call{font-family:'IBM Plex Mono', ui-monospace, monospace; font-weight:600; font-size:14px; color:var(--accent); text-decoration:none; white-space:nowrap;}
  .nav-call:hover{text-decoration:underline;}
  @media (max-width:479px){ .nav-right{gap:0;} .nav-right .nav-demo{display:none;} .nav-call{font-size:13.5px;} }
  @media (max-width:400px){ .nav-call{font-size:13px;} }
  .brand{gap:10px;}
  .brand img{height:34px; width:auto; display:block;}
  .brand .wm{font-family:'Archivo Black',sans-serif; font-size:22px; letter-spacing:.02em; color:var(--accent); line-height:1;}
  .brand .wm span{font-family:'Quicksand',sans-serif; font-weight:700; color:var(--ink); letter-spacing:0;}
  @media (max-width:400px){ .brand img{height:28px;} }


  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:'IBM Plex Sans'; font-weight:600; font-size:15px;
    padding:13px 22px; border-radius:3px; text-decoration:none;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
  }
  .btn-primary{background:var(--accent); color:var(--accent-ink);}
  .btn-primary:hover{background:color-mix(in srgb, var(--accent) 88%, black); box-shadow:var(--glow);}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--line-strong);}
  .btn-ghost:hover{border-color:var(--accent); color:var(--accent);}
  .btn-sm{padding:9px 14px; font-size:13px;}
  .btn-block{width:100%;}

  /* ---------- hero ---------- */
  .hero{padding:64px 0 84px; position:relative; overflow:hidden;}
  .hero::before{
    content:""; position:absolute; top:-220px; right:-160px; width:620px; height:620px;
    background:radial-gradient(circle, rgba(255,122,46,0.22), rgba(255,122,46,0) 70%);
    pointer-events:none; z-index:0;
  }
  .hero .wrap{position:relative; z-index:1;}
  .hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:52px; align-items:center;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:40px;} }
  .hero h1{font-size:clamp(38px,6.2vw,70px); line-height:1.0; font-weight:800;}
  .hero h1 span{color:var(--accent);}
  .hero p.lede{font-size:18px; color:var(--ink-soft); max-width:48ch; margin:20px 0 28px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  .reassure{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:8px;}
  .reassure li{font-size:14.5px; color:var(--ink-soft); display:flex; gap:9px; align-items:flex-start;}
  .reassure li::before{content:"✓"; color:var(--accent); font-weight:700; flex-shrink:0;}

  /* phone + dashboard mock */
  .mock{position:relative; display:flex; justify-content:center; align-items:flex-end; gap:0;}
  .mock-desk{
    position:absolute; left:0; top:8%; width:78%;
    background:var(--surface); border:1px solid var(--line-strong); border-radius:6px;
    box-shadow:var(--shadow); overflow:hidden; transform:rotate(-1.5deg);
  }
  @media (max-width:520px){ .mock-desk{display:none;} }
  .mock-desk-bar{display:flex; align-items:center; gap:6px; padding:9px 12px; background:var(--surface-2); border-bottom:1px solid var(--line);}
  .dot{width:8px;height:8px;border-radius:50%;background:var(--muted);opacity:.5;}
  .mock-desk-body{padding:14px;}
  .stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px;}
  .stat{background:var(--surface-2); border:1px solid var(--line); border-radius:4px; padding:8px 10px;}
  .stat b{display:block; font-family:'IBM Plex Mono'; font-size:18px; line-height:1.2;}
  .stat span{font-size:10px; color:var(--muted); letter-spacing:.04em; text-transform:uppercase;}
  .bar{height:7px; border-radius:3px; background:var(--surface-2); margin-bottom:7px;}
  .bar.a{width:88%;} .bar.b{width:64%;} .bar.c{width:75%;}
  .bar.fill{background:linear-gradient(90deg, var(--accent), rgba(255,122,46,.25));}

  .phone{
    position:relative; z-index:2; width:248px; margin-left:auto;
    background:#05070f; border:8px solid #1b2138; border-radius:30px;
    box-shadow:var(--shadow); overflow:hidden;
  }
  @media (max-width:520px){ .phone{margin:0 auto;} }
  .phone-top{background:var(--accent); color:var(--accent-ink); padding:12px 14px 11px;}
  .phone-top .mono{font-size:10px; letter-spacing:.1em; text-transform:uppercase; opacity:.85;}
  .phone-top h4{font-family:'Big Shoulders Display'; font-size:21px; font-weight:800; margin:2px 0 0;}
  .phone-body{padding:12px; display:grid; gap:9px; background:var(--bg);}
  .task{background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:10px 11px;}
  .task .t{font-size:12.5px; font-weight:600;}
  .task .m{font-size:10.5px; color:var(--muted); margin-top:3px; font-family:'IBM Plex Mono';}
  .task.done{border-color:rgba(255,122,46,.45);}
  .task.done .t::before{content:"✓ "; color:var(--accent); font-weight:800;}
  .thumb{height:52px; border-radius:4px; margin-top:8px; background:
      linear-gradient(135deg, rgba(255,122,46,.35), rgba(255,122,46,.06)),
      repeating-linear-gradient(45deg, rgba(245,243,236,.06) 0 6px, rgba(245,243,236,0) 6px 12px);
      border:1px solid var(--line);}
  .phone-nav{display:flex; justify-content:space-around; padding:9px 4px 11px; border-top:1px solid var(--line); background:var(--surface);}
  .phone-nav span{font-size:9px; color:var(--muted); font-family:'IBM Plex Mono';}
  .phone-nav span.on{color:var(--accent);}

  /* ---------- comparison ---------- */
  .compare{border:1px solid var(--line-strong); border-radius:4px; overflow:hidden; background:var(--surface);}
  .compare-head{display:grid; grid-template-columns:1fr 1fr;}
  .compare-head div{padding:14px 18px; font-family:'IBM Plex Mono'; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;}
  .compare-head .old{background:var(--surface-2); color:var(--muted);}
  .compare-head .new{background:var(--accent); color:var(--accent-ink);}
  .compare-row{display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line);}
  .compare-row > div{padding:15px 18px; font-size:15px; display:flex; gap:10px; align-items:flex-start;}
  .compare-row .old{color:var(--muted); border-right:1px solid var(--line);}
  .compare-row .old::before{content:"✕"; color:var(--muted); font-weight:700; flex-shrink:0;}
  .compare-row .new{color:var(--ink);}
  .compare-row .new::before{content:"✓"; color:var(--accent); font-weight:700; flex-shrink:0;}
  @media (max-width:640px){
    .compare-head{display:none;}
    .compare-row{grid-template-columns:1fr;}
    .compare-row .old{border-right:none; border-bottom:1px dashed var(--line); font-size:14.5px;}
    .compare-row > div{padding:13px 16px;}
  }

  /* ---------- features ---------- */
  .feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:3px; overflow:hidden;}
  @media (max-width:860px){ .feat-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .feat-grid{grid-template-columns:1fr;} }
  .feat{background:var(--surface); padding:26px 22px;}
  .feat .form-no{font-family:'IBM Plex Mono'; font-size:11px; color:var(--muted); letter-spacing:.08em;}
  .feat svg{margin:14px 0 10px; color:var(--accent);}
  .feat h3{font-family:'IBM Plex Sans'; font-size:17.5px; font-weight:700; margin-bottom:8px;}
  .feat p{font-size:14.5px; color:var(--ink-soft); margin:0;}

  /* ---------- white label ---------- */
  .whitelabel{background:var(--surface-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .wl-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center;}
  @media (max-width:820px){ .wl-grid{grid-template-columns:1fr; gap:30px;} }
  .wl-card{border:1px solid var(--accent); background:var(--accent-soft); border-radius:4px; padding:26px 24px;}
  .wl-card .price{font-family:'Big Shoulders Display'; font-size:40px; font-weight:800; line-height:1;}
  .wl-card .price span{font-family:'IBM Plex Sans'; font-size:14px; font-weight:500; color:var(--ink-soft);}

  /* ---------- pricing ---------- */
  .price-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  @media (max-width:760px){ .price-grid{grid-template-columns:1fr;} }
  .quote{border:1px solid var(--line-strong); border-radius:3px; background:var(--surface); overflow:hidden; display:flex; flex-direction:column;}
  .quote-head{padding:22px 24px; border-bottom:1px solid var(--line);}
  .quote-head .mono{color:var(--muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase;}
  .quote-head .price{font-family:'Big Shoulders Display'; font-size:44px; font-weight:800; margin-top:6px; line-height:1;}
  .quote-head .price span{font-family:'IBM Plex Sans'; font-size:15px; font-weight:500; color:var(--muted);}
  .quote-head .tier{font-size:15px; color:var(--ink-soft); margin-top:4px;}
  .quote ul{list-style:none; margin:0; padding:18px 24px 8px; flex:1;}
  .quote li{padding:9px 0; font-size:14.5px; color:var(--ink-soft); display:flex; gap:9px; border-top:1px solid var(--line);}
  .quote li:first-child{border-top:none;}
  .quote li::before{content:"✓"; color:var(--accent); font-weight:700;}
  .quote .foot{padding:0 24px 24px;}
  .quote.featured{border-color:var(--accent); box-shadow:var(--shadow);}
  .price-note{
    margin-top:24px; padding:16px 22px; text-align:center; border-radius:4px;
    background:var(--accent-soft); border:1px solid var(--line-strong);
    font-size:15.5px; font-weight:600; color:var(--ink); line-height:1.5;
  }
  .price-note a{color:var(--accent); text-decoration:underline;}
  .small-print{font-size:13px; color:var(--muted); margin-top:14px; text-align:center;}

  /* ---------- demo passes ---------- */
  .demo-band{background:var(--surface-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .pass-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:32px;}
  @media (max-width:760px){ .pass-grid{grid-template-columns:1fr;} }
  .pass{background:var(--surface); border:1px solid var(--line-strong); border-radius:6px; box-shadow:var(--shadow); overflow:hidden;}
  .pass-top{background:var(--accent); color:var(--accent-ink); padding:12px 20px; display:flex; justify-content:space-between; align-items:center;}
  .pass-top span{font-family:'IBM Plex Mono'; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
  .pass-body{padding:20px;}
  .pass-role{font-size:22px; font-family:'Big Shoulders Display'; font-weight:700;}
  .pass-cred{margin-top:12px; background:var(--surface-2); border:1px dashed var(--line-strong); border-radius:3px; padding:12px 14px;}
  .pass-cred div{font-family:'IBM Plex Mono'; font-size:13.5px; padding:3px 0; word-break:break-all;}
  .pass-cred .k{color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase;}
  .pass .btn{margin-top:16px; width:100%;}

  /* ---------- lead form ---------- */
  .lead{border:1px solid var(--line-strong); background:var(--surface); border-radius:4px; padding:28px 24px;}
  .lead-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  @media (max-width:640px){ .lead-grid{grid-template-columns:1fr;} }
  .field label{display:block; font-size:13px; font-weight:600; color:var(--ink-soft); margin-bottom:6px;}
  .field input{
    width:100%; padding:12px 14px; font-size:16px; font-family:inherit;
    background:var(--bg); color:var(--ink);
    border:1px solid var(--line-strong); border-radius:3px;
  }
  .field input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}
  .lead .btn{margin-top:18px;}
  .hp{position:absolute; left:-9999px;}
  .check{display:flex; gap:10px; align-items:flex-start; margin-top:16px; font-size:14.5px; color:var(--ink-soft); cursor:pointer;}
  .check input{width:20px; height:20px; accent-color:var(--accent); flex-shrink:0; margin:0;}

  /* ---------- about ---------- */
  .about{display:grid; grid-template-columns:0.9fr 1.1fr; gap:46px; align-items:center;}
  @media (max-width:820px){ .about{grid-template-columns:1fr; gap:28px;} }
  .about-card{border:1px solid var(--line-strong); border-radius:3px; background:var(--surface); padding:26px;}
  .about-card .mono{font-size:11px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase;}
  .about-card .biz{font-family:'Big Shoulders Display'; font-size:26px; font-weight:700; margin:8px 0 2px;}
  .about-card .loc{font-size:14px; color:var(--muted);}
  .about-card .work{margin-top:14px; font-size:14.5px; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:14px;}
  .about p.lede{font-size:17.5px; color:var(--ink-soft);}
  .about h2{font-size:clamp(28px,4vw,42px); margin-bottom:16px;}

  /* ---------- final ---------- */
  .final{text-align:center;}
  .final h2{font-size:clamp(32px,5.2vw,54px); margin-bottom:16px;}
  .final .hero-ctas{justify-content:center;}
  .contact-panel{
    margin:34px auto 0; max-width:540px; text-align:center;
    border:1px solid var(--accent); background:var(--accent-soft);
    border-radius:4px; padding:26px 20px;
  }
  .contact-panel a{
    display:block; text-decoration:none; color:var(--accent);
    font-family:'Big Shoulders Display','Arial Narrow',sans-serif; font-weight:800;
    font-size:clamp(28px,6.4vw,42px); line-height:1.14; word-break:break-word;
  }
  .contact-panel a + a{margin-top:4px;}
  .contact-panel a:hover{text-decoration:underline;}
  .contact-panel p{margin:16px 0 0; font-size:15.5px; font-weight:600; color:var(--ink); line-height:1.45;}

  footer{border-top:1px solid var(--line); padding:36px 0;}
  .foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:13px; color:var(--muted);}
  .foot-row a{text-decoration:none; color:var(--muted);}
  .foot-row a:hover{color:var(--accent);}

  @media (max-width:600px){
    .wrap{padding:0 18px;}
    section{padding:44px 0;}
    .nav{padding:10px 18px;}
    .hero{padding:32px 0 46px;}
    .hero p.lede{font-size:16.5px; margin:16px 0 22px;}
    .hero-ctas{gap:10px;}
    .hero-ctas .btn{flex:1 1 100%;}
    .feat{padding:22px 18px;}
    .lead{padding:22px 18px;}
    .about-card{padding:22px 20px;}
    .price-note{font-size:15px; padding:14px 16px; text-align:left;}
    .foot-row{flex-direction:column; align-items:flex-start; gap:8px;}
  }

/* ================= multi-page additions ================= */
.navlinks a[aria-current="page"]{color:var(--accent);}
.menu-btn{display:none; background:transparent; border:1px solid var(--line-strong); color:var(--ink);
  border-radius:3px; width:42px; height:40px; align-items:center; justify-content:center; cursor:pointer; margin-left:6px;}
.menu-btn svg{width:20px; height:20px;}
.mobile-menu{display:none; border-top:1px solid var(--line); background:var(--bg);}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block; padding:14px 24px; text-decoration:none; color:var(--ink); font-weight:600; font-size:16px; border-bottom:1px solid var(--line);}
.mobile-menu a[aria-current="page"]{color:var(--accent);}
.mobile-menu .mm-cta{padding:16px 24px 20px; border-bottom:0;}
.mobile-menu .mm-cta .btn{width:100%; justify-content:center;}
@media (max-width:860px){ .menu-btn{display:inline-flex;} }
@media (max-width:600px){ .mobile-menu a{padding:14px 18px;} .mobile-menu .mm-cta{padding:16px 18px 20px;} }

/* page header for inner pages */
.page-head{padding:64px 0 30px;}
.page-head h1{font-size:clamp(36px,6vw,64px); line-height:1; font-weight:800; margin-top:14px;}
.page-head p{color:var(--ink-soft); font-size:18px; max-width:62ch; margin:18px 0 0;}
@media (max-width:600px){ .page-head{padding:40px 0 18px;} .page-head p{font-size:16.5px;} }

/* long-form text */
.prose{max-width:720px; font-size:17px; color:var(--ink-soft); padding-bottom:70px;}
.prose h2{font-size:clamp(26px,3.6vw,34px); color:var(--ink); margin:44px 0 12px; line-height:1.1;}
.prose h3{font-family:'IBM Plex Sans',system-ui,sans-serif; font-size:19px; font-weight:700; color:var(--ink); margin:30px 0 8px;}
.prose p, .prose ul, .prose ol{margin:0 0 18px;}
.prose li{margin-bottom:8px;}
.prose a{color:var(--accent);}
.prose strong{color:var(--ink);}
.prose blockquote{margin:24px 0; padding:4px 0 4px 20px; border-left:3px solid var(--accent); color:var(--ink);}
.prose table{width:100%; border-collapse:collapse; margin:0 0 22px; font-size:15px; display:block; overflow-x:auto;}
.prose th, .prose td{border:1px solid var(--line-strong); padding:10px 12px; text-align:left; vertical-align:top;}
.prose th{background:var(--surface); color:var(--ink);}
.prose hr{border:0; border-top:1px solid var(--line); margin:36px 0;}
.prose .todo{background:#5a3a00; color:#ffd699; padding:1px 6px; border-radius:3px; font-family:'IBM Plex Mono',monospace; font-size:14px;}
.meta{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--muted); letter-spacing:.04em; margin-top:16px;}

/* blog */
.post-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; padding-bottom:80px;}
.post-card{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:26px 24px; text-decoration:none; transition:border-color .15s;}
.post-card:hover{border-color:var(--accent);}
.post-card .tag{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent);}
.post-card h2{font-size:28px; line-height:1.05; margin:12px 0 10px; color:var(--ink);}
.post-card p{color:var(--ink-soft); font-size:15px; margin:0 0 18px; flex:1;}
.post-card .meta{margin:0;}
.post-cta{margin:46px 0 0; border:1px solid var(--accent); background:var(--accent-soft); border-radius:4px; padding:26px 24px;}
.post-cta h3{font-family:'Big Shoulders Display','Arial Narrow',sans-serif; font-size:30px; margin:0 0 8px;}
.post-cta p{margin:0 0 16px; color:var(--ink);}
.crumbs{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--muted);}
.crumbs a{color:var(--muted); text-decoration:none;} .crumbs a:hover{color:var(--accent);}

/* footer (multi-column) */
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; padding-bottom:26px; border-bottom:1px solid var(--line); margin-bottom:22px;}
.foot-grid h4{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin:0 0 12px;}
.foot-grid a, .foot-grid button.linklike{display:block; color:var(--muted); text-decoration:none; font-size:14px; margin-bottom:8px;}
.foot-grid a:hover, .foot-grid button.linklike:hover{color:var(--accent);}
.foot-grid p{color:var(--muted); font-size:14px; margin:10px 0 0; max-width:34ch;}
.foot-grid img{height:28px; width:auto;}
button.linklike{background:none; border:0; padding:0; font:inherit; cursor:pointer; text-align:left;}
.legal-line{font-size:12.5px; color:var(--muted);}
@media (max-width:760px){ .foot-grid{grid-template-columns:1fr 1fr;} .foot-grid .fg-brand{grid-column:1/-1;} }

/* cookie banner (only shown when a tracking tool is switched on in consent.js) */
.cookie-bar{position:fixed; left:16px; right:16px; bottom:16px; z-index:100; max-width:560px; margin-left:auto;
  background:var(--surface-2); border:1px solid var(--line-strong); border-radius:6px; padding:18px 18px 16px; box-shadow:var(--shadow); font-size:14.5px; color:var(--ink-soft);}
.cookie-bar p{margin:0 0 14px;} .cookie-bar a{color:var(--accent);}
.cookie-bar .row{display:flex; gap:10px; flex-wrap:wrap;}
.cookie-bar .btn{flex:1 1 140px; justify-content:center;}
.consent-note{font-size:12.5px; color:var(--muted); margin-top:10px; text-align:center;}
.consent-note a{color:var(--muted);}
@media (max-width:479px){ .nav-call .num{display:none;} .nav{flex-wrap:nowrap;} .brand img{height:28px;} }
