  :root{
    --ink:#172033;
    --ink-soft:#535d75;
    --ink-faint:#8a92a8;
    --paper:#FBF4E6;
    --paper-alt:#F2E7D0;
    --paper-deep:#EADFC4;
    --marigold:#E8A33D;
    --marigold-deep:#BE7E1F;
    --coral:#FF6B52;
    --sage:#3F8F63;
    --sage-soft:#DCEBE0;
    --line:rgba(23,32,51,0.14);
    --line-soft:rgba(23,32,51,0.08);
    --shadow: 0 30px 60px -30px rgba(23,32,51,0.35);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{ background:var(--marigold); color:var(--ink); }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:600;
    line-height:1.08;
    margin:0;
    letter-spacing:-0.01em;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--marigold-deep);
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:500;
  }
  .eyebrow::before{
    content:"";
    width:22px;
    height:1px;
    background:var(--marigold-deep);
    display:inline-block;
  }
  .folio{
    position:absolute;
    left:-6px;
    top:0;
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    color:var(--ink-faint);
    writing-mode:vertical-rl;
    text-orientation:mixed;
  }

  /* ===== Nav ===== */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(251,244,230,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line-soft);
  }
  nav.wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:78px;
  }
  .logo{
    display:flex;
    align-items:baseline;
    gap:2px;
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:22px;
    letter-spacing:-0.01em;
  }
  .logo em{
    font-style:italic;
    color:var(--coral);
    font-weight:500;
  }
  .logo .tick{
    color: var(--marigold-deep);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 12px;
    margin-left: 6px;
    font-weight: 500;
    letter-spacing: 0.06em;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 3px 9px;
  }
  .navlinks{
    display:flex;
    gap:34px;
    font-size:14.5px;
    font-weight:500;
  }
  .navlinks a{
    text-decoration:none;
    color:var(--ink-soft);
    position:relative;
    padding:6px 0;
  }
  .navlinks a:hover{color:var(--ink);}
  .navcta{
    display:flex;
    align-items:center;
    gap:18px;
  }
  .btn{
    font-family:'IBM Plex Sans', sans-serif;
    font-weight:600;
    font-size:14.5px;
    border-radius:100px;
    padding:12px 24px;
    border:1px solid transparent;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .btn-primary{
    background:var(--ink);
    color:var(--paper);
  }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:var(--shadow); background:#0d1424;}
  .btn-ghost{
    border-color:var(--line);
    color:var(--ink);
    background:transparent;
  }
  .btn-ghost:hover{ border-color:var(--ink); }
  .navburger{display:none;}

  /* ===== Hero ===== */
  .hero{
    position:relative;
    padding:100px 0 70px;
    overflow:hidden;
  }
  .hero-grid{
    display:grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap:56px;
    align-items:center;
  }
  .hero h1{
    font-size:clamp(38px, 4.6vw, 62px);
    margin-top:22px;
  }
  .hero h1 i{
    font-style:italic;
    font-weight:500;
    color:var(--coral);
  }
  .hero p.lede{
    font-size:18.5px;
    color:var(--ink-soft);
    max-width:520px;
    margin-top:22px;
  }
  .hero-actions{
    display:flex;
    align-items:center;
    gap:22px;
    margin-top:36px;
    flex-wrap:wrap;
  }
  .hero-link{
    font-size:14.5px;
    font-weight:600;
    text-decoration:none;
    border-bottom:1px solid var(--ink);
    padding-bottom:2px;
  }
  .hero-note{
    margin-top:44px;
    display:flex;
    gap:14px;
    align-items:flex-start;
    max-width:480px;
  }
  .hero-note .mark{
    font-family:'Fraunces', serif;
    font-style:italic;
    color:var(--marigold-deep);
    font-size:26px;
    line-height:1;
  }
  .hero-note p{
    margin:0;
    font-size:13.5px;
    color:var(--ink-faint);
    font-family:'IBM Plex Mono', monospace;
    line-height:1.6;
  }
  .firm-banner{
    margin-top:22px;
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:var(--ink);
    background:#fff;
    border:1px solid var(--line);
    border-radius:100px;
    padding:10px 20px 10px 16px;
    max-width:fit-content;
    font-size:13.5px;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .firm-banner:hover{ transform:translateY(-2px); box-shadow:var(--shadow); }
  .firm-banner-icon{
    width:26px; height:26px;
    border-radius:50%;
    background:var(--marigold);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    font-size:13px;
  }
  .firm-banner strong{ font-weight:600; }

  /* ===== Ledger signature widget ===== */
  .ledger{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:26px 26px 22px;
    transform:rotate(1.4deg);
  }
  .ledger::before{
    content:"";
    position:absolute;
    inset:14px -14px -14px 14px;
    border:1px solid var(--line-soft);
    border-radius:18px;
    z-index:-1;
    transform:rotate(-1.4deg);
  }
  .ledger-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid var(--line);
    padding-bottom:14px;
    margin-bottom:6px;
  }
  .ledger-head span{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    color:var(--ink-faint);
    letter-spacing:0.08em;
    text-transform:uppercase;
  }
  .ledger-title{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:17px;
    color:var(--ink);
  }
  .ledger-row{
    display:grid;
    grid-template-columns: 1fr auto auto;
    gap:10px;
    align-items:center;
    padding:10px 0;
    border-bottom:1px dashed var(--line-soft);
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    opacity:0;
    transform:translateX(-8px);
    animation:rowIn .5s ease forwards;
  }
  .ledger-row:nth-child(1){animation-delay:.15s;}
  .ledger-row:nth-child(2){animation-delay:.35s;}
  .ledger-row:nth-child(3){animation-delay:.55s;}
  .ledger-row:nth-child(4){animation-delay:.75s;}
  @keyframes rowIn{ to{opacity:1; transform:translateX(0);} }
  .ledger-row .label{ color:var(--ink-soft); }
  .ledger-row .delta{ color:var(--coral); text-align:right; }
  .ledger-row .delta.pos{ color:var(--sage); }
  .ledger-row .amt{ text-align:right; color:var(--ink); font-weight:500; }
  .ledger-strike{
    position:relative;
  }
  .ledger-strike::after{
    content:"";
    position:absolute;
    left:0; right:0; top:50%;
    height:1px;
    background:var(--coral);
    opacity:0;
    animation:strikeIn .4s ease forwards;
    animation-delay:1.2s;
  }
  @keyframes strikeIn{ to{opacity:.55;} }
  .ledger-total{
    margin-top:14px;
    padding-top:16px;
    border-top:2px solid var(--ink);
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .ledger-total .label{
    font-family:'Fraunces', serif;
    font-size:16px;
  }
  .ledger-total .value{
    font-family:'IBM Plex Mono', monospace;
    font-size:20px;
    font-weight:500;
    color:var(--sage);
    display:flex;
    align-items:center;
    gap:8px;
  }
  .stamp{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:var(--sage-soft);
    color:var(--sage);
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:0.08em;
    padding:5px 10px;
    border-radius:100px;
    border:1px solid rgba(63,143,99,0.35);
    transform:scale(0) rotate(-8deg);
    animation:stampIn .5s cubic-bezier(.2,1.6,.4,1) forwards;
    animation-delay:1.5s;
  }
  @keyframes stampIn{ to{transform:scale(1) rotate(-6deg);} }

  /* ===== Marquee band ===== */
  .band{
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    background:var(--paper-alt);
    padding:20px 0;
    overflow:hidden;
  }
  .marquee{
    display:flex;
    gap:52px;
    white-space:nowrap;
    animation:scroll 32s linear infinite;
    width:max-content;
  }
  .marquee span{
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    color:var(--ink-soft);
    letter-spacing:0.03em;
  }
  .marquee span b{ color:var(--marigold-deep); font-weight:600;}
  @keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion: reduce){
    .marquee{animation:none;}
    .ledger-row{animation:none; opacity:1; transform:none;}
    .stamp{animation:none; transform:scale(1) rotate(-6deg);}
  }

  /* ===== Section shell ===== */
  section{ padding:104px 0; position:relative;}
  .section-head{
    max-width:640px;
    margin-bottom:56px;
  }
  .section-head h2{
    font-size:clamp(30px,3.4vw,42px);
    margin-top:16px;
  }
  .section-head p{
    color:var(--ink-soft);
    font-size:17px;
    margin-top:16px;
    max-width:520px;
  }

  /* ===== Pillars ===== */
  .pillars{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
  .pillar{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:38px 34px 34px;
    padding-left:56px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .pillar:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
  .pillar .num{
    position:absolute;
    left:24px; top:38px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    color:var(--ink-faint);
  }
  .pillar-icon{
    width:46px; height:46px;
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:22px;
  }
  .pillar-icon.gold{ background:var(--marigold); }
  .pillar-icon.sage{ background:var(--sage); }
  .pillar h3{
    font-size:24px;
    font-weight:600;
  }
  .pillar h3 i{ font-style:italic; font-weight:500; color:var(--coral); }
  .pillar p{ color:var(--ink-soft); margin-top:12px; font-size:15.5px;}
  .pillar ul{
    list-style:none;
    padding:0;
    margin:22px 0 0;
    display:grid;
    gap:10px;
  }
  .pillar li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:14.5px;
    color:var(--ink);
  }
  .pillar li::before{
    content:"—";
    color:var(--marigold-deep);
    flex-shrink:0;
  }

  /* ===== Industries ===== */
  .industry-wrap{
    background:var(--ink);
    color:var(--paper);
    border-radius:26px;
    padding:56px;
  }
  .industry-wrap .section-head h2{ color:var(--paper); }
  .industry-wrap .section-head p{ color:#aeb5c8; }
  .industry-wrap .eyebrow{ color:var(--marigold); }
  .industry-wrap .eyebrow::before{ background:var(--marigold); }
  .chips{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }
  .chip{
    border:1px solid rgba(251,244,230,0.22);
    border-radius:100px;
    padding:10px 20px;
    font-size:14px;
    font-weight:500;
    display:flex; align-items:center; gap:8px;
  }
  .chip .dot{
    width:6px; height:6px; border-radius:50%;
    background:var(--marigold);
  }

  /* ===== Partnership rhythm ===== */
  .rhythm{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
  }
  .rhythm-card{
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:34px 30px;
    position:relative;
  }
  .rhythm-card .tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--marigold-deep);
  }
  .rhythm-card h4{
    margin-top:14px;
    font-size:21px;
  }
  .rhythm-card p{
    margin-top:10px;
    color:var(--ink-soft);
    font-size:14.5px;
  }

  /* ===== Why us ===== */
  .why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
  }
  .why-card{ padding-right:10px; }
  .why-card .glyph{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:34px;
    color:var(--marigold-deep);
    margin-bottom:14px;
  }
  .why-card h4{ font-size:18px; margin-bottom:8px;}
  .why-card p{ font-size:14.5px; color:var(--ink-soft); }

  /* ===== For Consulting Firms ===== */
  .firms-wrap{
    background:var(--ink);
    color:var(--paper);
    border-radius:26px;
    padding:64px 60px;
    position:relative;
    overflow:hidden;
  }
  .firms-wrap::before{
    content:"";
    position:absolute;
    right:-120px; bottom:-160px;
    width:380px; height:380px;
    border-radius:50%;
    border:1px solid rgba(251,244,230,0.1);
  }
  .firms-wrap::after{
    content:"";
    position:absolute;
    right:-40px; bottom:-40px;
    width:220px; height:220px;
    border-radius:50%;
    border:1px solid rgba(251,244,230,0.1);
  }
  .firms-wrap .section-head{ margin-bottom:48px; }
  .firms-wrap .section-head h2{ color:var(--paper); }
  .firms-wrap .section-head p{ color:#aeb5c8; }
  .firms-wrap .eyebrow{ color:var(--marigold); }
  .firms-wrap .eyebrow::before{ background:var(--marigold); }

  .firm-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-bottom:48px;
  }
  .firm-step{
    background:rgba(251,244,230,0.05);
    border:1px solid rgba(251,244,230,0.14);
    border-radius:16px;
    padding:28px 24px;
  }
  .firm-step .step-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--marigold);
  }
  .firm-step h4{
    font-family:'Fraunces', serif;
    font-size:20px;
    margin-top:12px;
    color:var(--paper);
    font-weight:600;
  }
  .firm-step p{
    margin-top:10px;
    font-size:14px;
    color:#aeb5c8;
  }

  .firm-models{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-bottom:48px;
  }
  .firm-model{
    background:rgba(251,244,230,0.05);
    border:1px solid rgba(251,244,230,0.14);
    border-radius:16px;
    padding:28px 26px;
  }
  .firm-model .model-tag{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    background:rgba(232,163,61,0.14);
    color:var(--marigold);
    padding:5px 12px;
    border-radius:100px;
    margin-bottom:16px;
  }
  .firm-model h4{
    font-family:'Fraunces', serif;
    font-size:22px;
    color:var(--paper);
    font-weight:600;
  }
  .firm-model p{
    margin-top:10px;
    font-size:14.5px;
    color:#aeb5c8;
  }

  .firm-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    flex-wrap:wrap;
    border-top:1px solid rgba(251,244,230,0.14);
    padding-top:36px;
  }
  .firm-cta-text{ max-width:460px; }
  .firm-cta-text h4{
    font-family:'Fraunces', serif;
    color:var(--paper);
    font-size:22px;
    font-weight:600;
  }
  .firm-cta-text p{
    margin-top:8px;
    color:#aeb5c8;
    font-size:14.5px;
  }
  .partner-form{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:10px;
    background:rgba(251,244,230,0.06);
    border:1px solid rgba(251,244,230,0.16);
    border-radius:100px;
    padding:6px;
    min-width:420px;
  }
  .partner-form input{
    border:none; outline:none; background:transparent;
    padding:12px 16px;
    color:var(--paper);
    font-family:'IBM Plex Sans', sans-serif;
    font-size:14px;
  }
  .partner-form input::placeholder{ color:#7f88a0; }
  .partner-form button{
    border:none;
    background:var(--marigold);
    color:#1c1206;
    border-radius:100px;
    padding:12px 22px;
    font-weight:600;
    font-size:14px;
    cursor:pointer;
    white-space:nowrap;
  }

  /* ===== Lineage strip ===== */
  .lineage{
    display:flex;
    align-items:center;
    gap:28px;
    background:var(--paper-alt);
    border:1px solid var(--line);
    border-radius:18px;
    padding:28px 32px;
  }
  .lineage .badge{
    flex-shrink:0;
    width:64px; height:64px;
    border-radius:14px;
    background:var(--ink);
    color:var(--paper);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces', serif; font-style:italic; font-size:22px;
  }
  .lineage p{ margin:0; color:var(--ink-soft); font-size:15px; }
  .lineage strong{ color:var(--ink); }

  /* ===== CTA ===== */
  .cta{
    background:linear-gradient(135deg, var(--marigold) 0%, var(--coral) 100%);
    border-radius:28px;
    padding:70px 60px;
    color:#1c1206;
    display:grid;
    grid-template-columns:1.3fr 0.9fr;
    gap:40px;
    align-items:center;
    position:relative;
    overflow:hidden;
  }
  .cta::after{
    content:"";
    position:absolute;
    right:-60px; top:-60px;
    width:220px; height:220px;
    border-radius:50%;
    border:1px solid rgba(28,18,6,0.18);
  }
  .cta h2{ font-size:clamp(28px,3.4vw,40px); color:#1c1206;}
  .cta p{ color:#3a2a10; margin-top:14px; font-size:16px; max-width:420px;}
  .cta-actions{ display:flex; flex-direction:column; gap:14px; align-items:flex-start;}
  .cta .btn-primary{ background:#1c1206; color:var(--paper); }
  .cta-form{
    display:flex; gap:0;
    background:#fff;
    border-radius:100px;
    padding:6px;
    width:100%;
    max-width:380px;
  }
  .cta-form input{
    border:none; outline:none; background:transparent;
    padding:12px 16px;
    flex:1;
    font-family:'IBM Plex Sans', sans-serif;
    font-size:14px;
  }
  .cta-form button{
    border:none;
    background:#1c1206;
    color:var(--paper);
    border-radius:100px;
    padding:12px 20px;
    font-weight:600;
    font-size:14px;
    cursor:pointer;
    white-space:nowrap;
  }

  /* ===== Footer ===== */
  footer{
    padding:60px 0 40px;
    border-top:1px solid var(--line);
    margin-top:40px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:40px;
  }
  .footer-brand .logo{ margin-bottom:14px; }
  .footer-brand p{ color:var(--ink-soft); font-size:14px; max-width:280px; }
  .footer-col h5{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:16px;
  }
  .footer-col a{
    display:block;
    text-decoration:none;
    color:var(--ink-soft);
    font-size:14.5px;
    margin-bottom:12px;
  }
  .footer-col a:hover{ color:var(--ink); }
  .footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:56px;
    padding-top:24px;
    border-top:1px solid var(--line-soft);
    font-size:13px;
    color:var(--ink-faint);
    font-family:'IBM Plex Mono', monospace;
  }

  /* ===== Reveal ===== */
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* ===== Focus ===== */
  a:focus-visible, button:focus-visible{
    outline:2px solid var(--coral);
    outline-offset:3px;
  }

  /* ===== Responsive ===== */
  @media (max-width: 980px){
    .hero-grid{ grid-template-columns:1fr; }
    .ledger{ transform:none; max-width:440px; }
    .pillars{ grid-template-columns:1fr; }
    .rhythm{ grid-template-columns:1fr; }
    .why-grid{ grid-template-columns:repeat(2,1fr); }
    .footer-grid{ grid-template-columns:1fr 1fr; gap:32px; }
    .industry-wrap{ padding:36px 26px; }
    .cta{ grid-template-columns:1fr; padding:44px 30px;}
    .firms-wrap{ padding:44px 28px; }
    .firm-steps{ grid-template-columns:1fr; }
    .firm-models{ grid-template-columns:1fr; }
    .partner-form{ min-width:0; width:100%; grid-template-columns:1fr; }
  }
  @media (max-width: 680px){
    .navlinks, .navcta .btn-ghost{ display:none; }
    .wrap{ padding:0 20px; }
    section{ padding:70px 0; }
    .why-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr; }
    .lineage{ flex-direction:column; text-align:center; }
    .firm-cta{ flex-direction:column; align-items:flex-start; }
  }

  /* ===== Partner page hero ===== */
  .phero{
    position:relative;
    padding:76px 0 40px;
  }
  .phero-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:56px;
    align-items:center;
  }
  .phero h1{
    font-size:clamp(36px,4.2vw,54px);
    margin-top:20px;
  }
  .phero h1 i{ font-style:italic; font-weight:500; color:var(--coral); }
  .phero p.lede{
    font-size:18px;
    color:var(--ink-soft);
    max-width:520px;
    margin-top:20px;
  }
  .phero-stats{
    display:flex;
    gap:34px;
    margin-top:38px;
    flex-wrap:wrap;
  }
  .phero-stat .n{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:30px;
    color:var(--marigold-deep);
  }
  .phero-stat .l{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    color:var(--ink-faint);
    letter-spacing:0.06em;
    text-transform:uppercase;
    margin-top:4px;
  }
  .phero-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    padding:30px 30px 26px;
  }
  .phero-card .tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-faint);
    border-bottom:1px solid var(--line);
    padding-bottom:14px;
    margin-bottom:16px;
    display:block;
  }
  .phero-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:11px 0;
    border-bottom:1px dashed var(--line-soft);
    font-size:14px;
  }
  .phero-row span:first-child{ color:var(--ink-soft); }
  .phero-row span:last-child{ font-family:'IBM Plex Mono', monospace; font-weight:500; color:var(--sage); }

  /* breadcrumb */
  .crumb{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    color:var(--ink-faint);
    margin-bottom:6px;
  }
  .crumb a{ text-decoration:none; color:var(--ink-faint); }
  .crumb a:hover{ color:var(--ink); }

  /* ===== FAQ ===== */
  .faq{
    max-width:760px;
  }
  .faq-item{
    border-bottom:1px solid var(--line);
    padding:26px 0;
  }
  .faq-item h4{
    font-family:'Fraunces', serif;
    font-size:19px;
    font-weight:600;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:default;
  }
  .faq-item p{
    margin-top:10px;
    color:var(--ink-soft);
    font-size:15px;
    max-width:640px;
  }

  /* teaser card on homepage */
  .firm-teaser{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:26px;
    align-items:center;
    background:var(--ink);
    color:var(--paper);
    border-radius:22px;
    padding:34px 38px;
  }
  .firm-teaser .badge-icon{
    width:52px; height:52px;
    border-radius:12px;
    background:var(--marigold);
    display:flex; align-items:center; justify-content:center;
    font-size:22px;
    flex-shrink:0;
  }
  .firm-teaser h3{
    font-family:'Fraunces', serif;
    color:var(--paper);
    font-size:22px;
    font-weight:600;
  }
  .firm-teaser p{
    margin-top:6px;
    color:#aeb5c8;
    font-size:14.5px;
    max-width:480px;
  }
  .firm-teaser .btn-primary{
    background:var(--marigold);
    color:#1c1206;
    flex-shrink:0;
  }
  .firm-teaser .btn-primary:hover{ background:#f0b358; box-shadow:none; }
  @media (max-width:780px){
    .firm-teaser{ grid-template-columns:1fr; text-align:left; }
    .phero-grid{ grid-template-columns:1fr; }
  }
