  :root{
    --bg:#f2f3ed;
    --surface:#ffffff;
    --ink:#16271d;
    --ink-soft:#4c5a50;
    --primary:#1c3a2a;
    --primary-deep:#0f2419;
    --accent:#c9a84c;
    --accent-glow:#e6c879;
    --line:rgba(20,40,30,.12);
    --hairline:rgba(20,40,30,.08);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:'Archivo',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--accent);color:#fff}

  /* ambient axis+spiral canvas — sits above body, below sections */
  #spiral{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:0;}

  /* reveal on scroll */
  [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  [data-reveal].in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important} #spiral{display:none}}

  /* ticker marquee */
  @keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .marq{display:flex;width:max-content;animation:marq 42s linear infinite}

  /* sticky header */
  .topbar{position:sticky;top:0;z-index:50}
  .ticker{overflow:hidden;background:var(--primary-deep)}
  .ticker .item{display:inline-flex;align-items:center;gap:10px;padding:9px 28px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.62);white-space:nowrap}
  .ticker .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}

  header.nav{
    backdrop-filter:saturate(180%) blur(14px);
    background:color-mix(in srgb,var(--bg) 90%,transparent);
    border-bottom:1px solid var(--line);
  }
  header.nav nav{
    max-width:1240px;margin:0 auto;padding:15px clamp(20px,5vw,64px);
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
  .brand .mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--primary);color:#fff;font-family:'Newsreader',serif;font-size:21px;font-weight:600}
  .brand .name{display:flex;flex-direction:column;line-height:1.05}
  .brand .name strong{font-family:'Archivo',sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em}
  .brand .name small{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--ink-soft)}
  .navlinks{display:flex;gap:26px;font-family:'Archivo',sans-serif;font-size:14px;font-weight:500}
  .navlinks a{color:var(--ink-soft);text-decoration:none;transition:color .2s ease}
  .navlinks a:hover{color:var(--ink)}
  .cta{
    font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#fff;
    background:var(--primary);padding:10px 20px;border-radius:8px;white-space:nowrap;
    transition:background .25s ease,transform .25s ease;
  }
  .cta:hover{background:var(--accent);transform:translateY(-1px)}

  /* sections: by default transparent so canvas shows; only explicit .opaque sections hide it */
  section{position:relative;z-index:2;background:transparent}
  .wrap{max-width:1240px;margin:0 auto;padding:clamp(80px,9vw,140px) clamp(20px,5vw,64px)}
  .eyebrow{font-family:'Newsreader',serif;font-style:italic;font-weight:500;font-size:17px;color:var(--accent);margin-bottom:14px}
  h1,h2,h3{font-family:'Newsreader',serif;font-weight:500;letter-spacing:-.015em;color:var(--ink);margin:0;text-wrap:balance}
  h1{font-size:clamp(40px,6vw,76px);line-height:1.02}
  h2{font-size:clamp(30px,3.8vw,50px);line-height:1.08}
  h3{font-size:21px}
  p{font-family:'Archivo',sans-serif;color:var(--ink-soft);margin:0;line-height:1.7}

  /* white sections — solid bg covers canvas */
  .opaque-surface{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

  /* hero */
  .hero{display:grid;grid-template-columns:1.55fr .85fr;gap:clamp(32px,5vw,72px);align-items:center}
  .hero .lede{display:inline-flex;align-items:center;gap:13px;font-family:'Newsreader',serif;font-style:italic;font-weight:500;font-size:16px;color:var(--accent);margin-bottom:26px}
  .hero .lede span.bar{width:26px;height:1px;background:var(--accent)}
  .hero em{font-style:italic;color:var(--primary)}
  .hero p.sub{font-size:clamp(16px,1.4vw,19px);max-width:54ch;margin-top:26px;margin-bottom:36px}
  .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
  .btn{display:inline-flex;align-items:center;gap:10px;font-family:'Archivo',sans-serif;font-size:15px;font-weight:600;text-decoration:none;padding:15px 28px;border-radius:9px;transition:all .25s ease;cursor:pointer}
  .btn-fill{color:#fff;background:var(--primary);border:1px solid var(--primary)}
  .btn-fill:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
  .btn-ghost{color:var(--ink);background:transparent;border:1px solid var(--line)}
  .btn-ghost:hover{background:var(--accent);border-color:var(--accent);color:#fff}
  .pills{display:flex;flex-wrap:wrap;gap:22px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.08em;color:var(--ink-soft)}
  .pills span{display:inline-flex;align-items:center;gap:7px}
  .pills .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}

  /* CREDENTIALS — now jump-links */
  .cred{
    position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 24px 24px;
    box-shadow:0 24px 60px -28px rgba(10,18,35,.32);
  }
  .cred .tag{position:absolute;top:-14px;right:24px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;color:var(--bg);background:var(--primary);padding:5px 12px;border-radius:6px}
  .cred a.row{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:16px 8px;border-bottom:1px solid var(--hairline);
    text-decoration:none;color:inherit;border-radius:8px;
    transition:background .25s ease,padding-left .25s ease,padding-right .25s ease;
  }
  .cred a.row:hover{background:var(--bg);padding-left:14px;padding-right:14px}
  .cred a.row:hover .arrow{transform:translateX(4px);opacity:1}
  .cred a.row:last-of-type{border-bottom:none}
  .cred .k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-soft)}
  .cred .v{font-family:'Newsreader',serif;font-size:21px;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:10px}
  .cred .arrow{font-family:'Newsreader',serif;font-size:18px;color:var(--accent);opacity:.55;transition:transform .25s ease,opacity .25s ease}
  .cred .status{display:flex;align-items:center;gap:10px;padding-top:18px;font-family:'Archivo',sans-serif;font-size:12.5px;color:var(--ink-soft)}
  .cred .status .led{width:7px;height:7px;border-radius:50%;background:#3aa06a;box-shadow:0 0 0 4px rgba(58,160,106,.18)}

  /* stats marquee — white background */
  .stats{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
  .stats .item{display:flex;align-items:center;gap:14px;padding:16px 38px;white-space:nowrap;border-right:1px solid var(--line)}
  .stats .n{font-family:'Newsreader',serif;font-size:32px;font-weight:500;line-height:1;color:var(--primary)}
  .stats .label{font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;color:var(--ink)}
  .stats .sub{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;color:var(--ink-soft)}

  /* about + slideshow */
  .about{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,88px);align-items:center}
  .slide-card{position:relative;aspect-ratio:1/1.05;border-radius:16px;overflow:hidden;background:var(--primary);box-shadow:0 24px 60px -30px rgba(10,18,35,.42)}
  .slide{position:absolute;inset:0;opacity:0;transform:scale(1);transition:opacity 1.1s ease,transform 5s ease}
  .slide.active{opacity:1;transform:scale(1.05)}
  .slide-cap{position:absolute;left:0;right:0;bottom:0;padding:30px 28px;background:linear-gradient(to top,rgba(8,14,28,.9),rgba(8,14,28,0))}
  .slide-cap .eb{font-family:'Newsreader',serif;font-style:italic;font-size:13px;color:var(--accent);margin-bottom:7px}
  .slide-cap .title{font-family:'Newsreader',serif;font-size:25px;font-weight:500;color:#fff;line-height:1.12}
  .slide-cap .body{font-family:'Archivo',sans-serif;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.72);margin-top:7px;max-width:34ch}
  .dots{position:absolute;top:22px;right:22px;display:flex;gap:8px;z-index:4}
  .dots span,.dots button{height:7px;width:7px;border-radius:4px;background:rgba(255,255,255,.30);cursor:pointer;transition:all .4s ease;border:none;padding:0}
  .dots span.active,.dots button.active{width:22px;background:var(--accent)}

  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
  .pillar{padding:20px;border-radius:12px;background:var(--surface);border:1px solid var(--line);transition:border-color .25s ease,transform .25s ease}
  .pillar:hover{border-color:var(--accent);transform:translateY(-2px)}
  .pillar .n{font-family:'Newsreader',serif;font-size:19px;font-weight:500;color:var(--accent);margin-bottom:10px}
  .pillar .t{font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}
  .pillar .b{font-family:'Archivo',sans-serif;font-size:13px;line-height:1.5;color:var(--ink-soft)}

  /* services — white section, no spiral; number glow pulse */
  @keyframes svcGlow{
    0%,100%{ color:var(--accent); text-shadow:0 0 0 rgba(201,168,76,0) }
    50%{ color:var(--accent-glow); text-shadow:0 0 12px rgba(230,200,121,.55), 0 0 24px rgba(230,200,121,.25) }
  }
  .services{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
  .service{background:var(--surface);padding:28px 24px 32px;display:flex;flex-direction:column;gap:12px;min-height:200px;transition:background .25s ease,transform .25s ease;cursor:pointer}
  .service:hover{background:var(--bg);transform:translateY(-1px)}
  .service .n{
    font-family:'Newsreader',serif;font-size:24px;font-weight:500;color:var(--accent);line-height:1;
    animation:svcGlow 4.2s ease-in-out infinite;
  }
  .service:nth-child(2) .n{ animation-delay:.6s }
  .service:nth-child(3) .n{ animation-delay:1.2s }
  .service:nth-child(4) .n{ animation-delay:1.8s }
  .service:nth-child(5) .n{ animation-delay:2.4s }
  .service:nth-child(6) .n{ animation-delay:3.0s }
  .service:nth-child(7) .n{ animation-delay:3.6s }
  .service:nth-child(8) .n{ animation-delay:4.2s }
  .service:hover .n{ color:var(--accent-glow); text-shadow:0 0 14px rgba(230,200,121,.6) }
  /* gold border glow on hover — for clickables on white sections */
  .service:hover{ box-shadow: inset 0 0 0 1px rgba(201,168,76,.45), 0 0 22px rgba(230,200,121,.22) }
  .service h3{font-family:'Archivo',sans-serif;font-size:16px;font-weight:600;color:var(--ink);margin:8px 0 0;letter-spacing:-.01em}
  .service p{font-size:13.5px;line-height:1.58}

  /* industries — accordion (no spiral hover arcs) */
  .ind-list{display:flex;flex-direction:column}
  .ind{border-top:1px solid var(--line)}
  .ind:last-child{border-bottom:1px solid var(--line)}
  .ind-head{display:grid;grid-template-columns:48px 1.1fr 2fr auto auto;gap:24px;align-items:center;padding:26px 8px;cursor:pointer;background:transparent;border:none;width:100%;text-align:left;transition:padding .3s ease,background .3s ease}
  .ind-head:hover{background:var(--surface);padding-left:20px;padding-right:20px}
  .ind.open .ind-head{background:var(--surface);padding-left:20px;padding-right:20px}
  .ind .no{font-family:'Newsreader',serif;font-style:italic;font-size:17px;color:var(--accent)}
  .ind .name{font-family:'Newsreader',serif;font-size:clamp(20px,2.4vw,28px);font-weight:500;color:var(--ink)}
  .ind .lede{font-family:'Archivo',sans-serif;font-size:14.5px;line-height:1.55;color:var(--ink-soft)}
  .ind .more{font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}
  .ind .chev{font-family:'Newsreader',serif;font-size:24px;color:var(--accent);line-height:1;transition:transform .3s ease}
  .ind.open .chev{transform:rotate(45deg)}
  .ind-body{max-height:0;overflow:hidden;transition:max-height .5s ease,padding .4s ease;background:var(--surface);padding-left:20px;padding-right:20px}
  .ind.open .ind-body{max-height:560px;padding-bottom:30px}
  .ind-body-inner{display:grid;grid-template-columns:2fr 1fr;gap:32px;padding:8px 0 8px 72px}
  .ind-body h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--ink-soft);font-weight:500;margin:0 0 12px}
  .ind-services{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;margin:0}
  .ind-services li{list-style:none;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-family:'Archivo',sans-serif;font-size:13.5px;color:var(--ink);transition:border-color .25s ease,background .25s ease}
  .ind-services li:hover{border-color:var(--accent);background:var(--bg)}
  .ind-cta{padding:20px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
  .ind-cta p{font-size:13px;margin-bottom:12px}
  .ind-cta .btn{padding:10px 18px;font-size:13px}

  /* deep-dive flash-card carousel inside expanded industry */
  .ind.open .ind-body{max-height:1600px}
  .deep-bar{display:flex;align-items:center;gap:14px;padding:24px 0 4px 72px;border-top:1px solid var(--hairline);margin-top:24px}
  .deep-open{font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;color:var(--accent);background:transparent;border:1px solid var(--line);border-radius:8px;padding:9px 16px;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;gap:8px}
  .deep-open:hover{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 1px rgba(201,168,76,.4),0 0 18px rgba(230,200,121,.22)}
  .deep-open .ico{font-family:'Newsreader',serif;font-size:16px;line-height:1;transition:transform .3s ease}
  .ind.deep-open .deep-open .ico{transform:rotate(45deg)}
  .deep{max-height:0;overflow:hidden;transition:max-height .55s ease,padding .35s ease;padding-left:72px}
  .ind.deep-open .deep{max-height:900px;padding-top:24px;padding-bottom:8px}
  .deep-stage{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden}
  .deep-track{display:flex;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
  .deep-card{flex:0 0 100%;padding:34px 36px;min-height:340px;display:flex;flex-direction:column;gap:14px}
  .deep-card .chip{align-self:flex-start;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--accent);background:var(--surface);border:1px solid var(--line);padding:5px 10px;border-radius:6px}
  .deep-card h3{font-family:'Newsreader',serif;font-size:28px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
  .deep-card p{font-family:'Archivo',sans-serif;font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:62ch}
  .mini-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
  .mini-step{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 14px 16px;transition:border-color .25s ease,box-shadow .25s ease}
  .mini-step:hover{border-color:var(--accent);box-shadow:0 0 0 1px rgba(201,168,76,.35),0 0 16px rgba(230,200,121,.18)}
  .mini-step .num{font-family:'Newsreader',serif;font-style:italic;font-size:14px;color:var(--accent);margin-bottom:8px}
  .mini-step h4{font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;color:var(--ink);margin:0 0 6px}
  .mini-step p{font-family:'Archivo',sans-serif;font-size:12.5px;line-height:1.55;color:var(--ink-soft);margin:0}
  .deep-faq{display:flex;flex-direction:column;gap:10px;margin-top:6px}
  .deep-faq details{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0;transition:border-color .25s ease,box-shadow .25s ease}
  .deep-faq details[open]{border-color:var(--accent);box-shadow:0 0 0 1px rgba(201,168,76,.25),0 0 16px rgba(230,200,121,.16)}
  .deep-faq summary{font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;color:var(--ink);padding:14px 16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
  .deep-faq summary::-webkit-details-marker{display:none}
  .deep-faq summary::after{content:'+';font-family:'Newsreader',serif;font-size:20px;color:var(--accent);transition:transform .25s ease}
  .deep-faq details[open] summary::after{transform:rotate(45deg)}
  .deep-faq details p{font-family:'Archivo',sans-serif;font-size:13.5px;line-height:1.6;color:var(--ink-soft);padding:0 16px 14px;margin:0}
  .deep-cta-card{background:linear-gradient(135deg, var(--primary), var(--primary-deep));color:#fff;border-radius:14px;padding:26px}
  .deep-cta-card h3{color:#fff;font-size:24px}
  .deep-cta-card p{color:rgba(255,255,255,.7);font-size:14px;margin-top:4px}
  .deep-cta-card .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
  .deep-cta-card .btn-fill{background:var(--accent);border-color:var(--accent)}
  .deep-cta-card .btn-fill:hover{background:var(--accent-glow);border-color:var(--accent-glow)}
  .deep-cta-card .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
  .deep-cta-card .btn-ghost:hover{background:#fff;color:var(--primary)}

  .deep-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--surface);border-top:1px solid var(--line)}
  .deep-nav .arr{font-family:'Newsreader',serif;font-size:22px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:8px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}
  .deep-nav .arr:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 0 1px rgba(201,168,76,.4),0 0 18px rgba(230,200,121,.22)}
  .deep-nav .arr[disabled]{opacity:.3;cursor:default}
  .deep-nav .arr[disabled]:hover{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none}
  .deep-dots{display:flex;gap:8px}
  .deep-dots span{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;transition:all .25s ease}
  .deep-dots span.active{width:24px;border-radius:4px;background:var(--accent)}
  .deep-counter{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--ink-soft)}

  /* process — SOLID forest, hides the canvas spiral */
  .process{background:var(--primary)}
  .process .wrap *{color:#fff}
  .process .wrap p{color:rgba(255,255,255,.62)}
  .process h2{color:#fff}
  .process .eyebrow{color:var(--accent)}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);margin-top:48px}
  .step .label{font-family:'Newsreader',serif;font-style:italic;font-size:16px;color:var(--accent);margin-bottom:18px}
  .step .rule{height:1px;background:rgba(255,255,255,.16);margin-bottom:22px;position:relative}
  .step .rule::before{content:'';position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
  .step h3{color:#fff;font-size:21px;margin:0 0 12px}
  .step p{font-size:14px;line-height:1.62}

  /* testimonials */
  .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .tcard{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:32px;border-radius:14px;background:var(--surface);border:1px solid var(--line);transition:border-color .25s ease,transform .25s ease}
  .tcard:hover{border-color:var(--accent);transform:translateY(-2px)}
  .tcard .qmark{font-family:'Newsreader',serif;font-size:44px;line-height:.5;color:var(--accent);height:24px}
  .tcard .quote{font-family:'Newsreader',serif;font-size:19px;line-height:1.5;color:var(--ink);margin:8px 0 0}
  .tcard .who{font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;color:var(--ink);border-top:1px solid var(--line);padding-top:18px}
  .tcard .meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--ink-soft);margin-top:4px}

  /* faq — white section */
  .faq-list{display:flex;flex-direction:column;max-width:1000px;margin:0 auto}
  .faq{border-top:1px solid var(--line)}
  .faq:last-child{border-bottom:1px solid var(--line)}
  .faq-head{width:100%;display:flex;align-items:center;gap:18px;padding:26px 4px;background:transparent;border:none;cursor:pointer;text-align:left;transition:padding .3s ease,background .3s ease}
  .faq-head:hover{background:var(--bg);padding-left:14px;padding-right:14px;box-shadow: inset 0 0 0 1px rgba(201,168,76,.35), 0 0 18px rgba(230,200,121,.18)}
  .faq.open .faq-head{background:var(--bg);padding-left:14px;padding-right:14px}
  .faq .code{font-family:'Newsreader',serif;font-style:italic;font-size:16px;color:var(--accent);flex:none;width:34px}
  .faq .q{flex:1;font-family:'Archivo',sans-serif;font-size:clamp(16px,1.6vw,19px);font-weight:600;color:var(--ink)}
  .faq .plus{flex:none;font-family:'Newsreader',serif;font-size:26px;color:var(--accent);line-height:1;transition:transform .3s ease}
  .faq.open .plus{transform:rotate(45deg)}
  .faq-body{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
  .faq.open .faq-body{max-height:300px;padding:0 4px 30px 52px}
  .faq-body p{font-size:15.5px;line-height:1.68;max-width:70ch}

  /* contact */
  .contact{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,80px);align-items:start}
  .contact .meta-list{display:flex;flex-direction:column}
  .contact .meta-list .row{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line)}
  .contact .meta-list .row:last-child{border-bottom:1px solid var(--line)}
  .contact .meta-list .k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--ink-soft)}
  .contact .meta-list .v{font-family:'Newsreader',serif;font-size:20px;font-weight:500;color:var(--ink)}
  form{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(26px,3vw,40px);box-shadow:0 24px 60px -34px rgba(10,18,35,.3)}
  form .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
  form h3{font-family:'Archivo',sans-serif;font-size:19px;font-weight:600;color:var(--ink)}
  form .head small{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;color:var(--ink-soft)}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  label{display:flex;flex-direction:column;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:var(--ink-soft)}
  label.full{grid-column:1/3}
  input,select,textarea{font-family:'Archivo',sans-serif;font-size:15px;color:var(--ink);padding:13px 14px;border-radius:9px;border:1px solid var(--line);background:var(--bg);outline:none;transition:border-color .2s ease}
  input:focus,select:focus,textarea:focus{border-color:var(--accent)}
  button.submit{margin-top:20px;width:100%;font-family:'Archivo',sans-serif;font-size:15px;font-weight:600;color:#fff;background:var(--primary);border:none;padding:16px;border-radius:9px;cursor:pointer;transition:background .25s ease}
  button.submit:hover{background:var(--accent)}

  /* footer */
  footer{background:var(--primary-deep);color:#fff;position:relative;z-index:2}
  footer .wrap{padding-bottom:40px}
  footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
  footer .col-title{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.5);margin-bottom:16px}
  footer .col a{display:block;font-family:'Archivo',sans-serif;font-size:14px;color:rgba(255,255,255,.72);text-decoration:none;margin-bottom:11px;transition:color .2s ease}
  footer .col a:hover{color:var(--accent)}
  footer .bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:28px}
  footer .copy{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.62)}
  footer .links{display:flex;gap:22px}
  footer .links a{font-family:'Archivo',sans-serif;font-size:13px;color:rgba(255,255,255,.55);text-decoration:none}
  footer .links a:hover{color:#fff}

  @media (max-width:980px){
    .hero,.about,.contact{grid-template-columns:1fr}
    .services,.steps,.tgrid,footer .cols{grid-template-columns:1fr 1fr}
    .navlinks{display:none}
    .ind-head{grid-template-columns:32px 1fr auto;gap:14px}
    .ind-head .lede,.ind-head .more{display:none}
    .ind-body-inner{grid-template-columns:1fr;padding-left:0}
  }

  /* ============= CROSS-PAGE "PAC-MAN" TRANSITION ============= */
  .view{position:relative;width:100%;z-index:2}
  /* leaving the current page — slide off to the left */
  html.nav-leaving .view{transform:translateX(-100vw);opacity:.35;transition:transform .5s cubic-bezier(.55,.05,.25,1),opacity .35s ease}
  /* incoming page: start off-screen right BEFORE first paint (no transition) */
  html.nav-enter .view{transform:translateX(100vw);opacity:.35}
  /* incoming page: run the slide-in */
  html.nav-enter.nav-go .view{transform:translateX(0);opacity:1;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .35s ease}
  @media (prefers-reduced-motion:reduce){
    html.nav-leaving .view, html.nav-enter .view, html.nav-enter.nav-go .view{transform:none!important;opacity:1!important;transition:none!important}
  }

  /* ============= INDUSTRY PAGE ============= */
  .ip-topbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
  .ip-topnav{max-width:1240px;margin:0 auto;padding:15px clamp(20px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px}
  .ip-back{display:inline-flex;align-items:center;gap:10px;font-family:'Archivo',sans-serif;font-size:14px;font-weight:500;color:var(--ink-soft);text-decoration:none;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:transparent;cursor:pointer;transition:all .25s ease}
  .ip-back:hover{color:var(--ink);background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 1px rgba(201,168,76,.3),0 0 14px rgba(230,200,121,.15)}
  .ip-back .arr{font-family:'Newsreader',serif;font-size:18px;line-height:1;color:var(--accent)}
  .ip-crumb{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:var(--ink-soft)}
  .ip-crumb b{color:var(--accent);font-weight:500}

  /* Industry section 1 — beige hero with side CTA */
  .ip-hero{max-width:1240px;margin:0 auto;padding:clamp(72px,9vw,128px) clamp(20px,5vw,64px) clamp(40px,5vw,64px);display:grid;grid-template-columns:1.55fr .85fr;gap:clamp(32px,5vw,72px);align-items:start}
  .ip-eb{display:inline-flex;align-items:center;gap:13px;font-family:'Newsreader',serif;font-style:italic;font-weight:500;font-size:16px;color:var(--accent);margin-bottom:22px}
  .ip-eb .bar{width:26px;height:1px;background:var(--accent)}
  .ip-hero h1{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(40px,5.5vw,68px);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin:0 0 22px;text-wrap:balance}
  .ip-hero .lede{font-family:'Archivo',sans-serif;font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:var(--ink-soft);margin:0 0 22px;max-width:58ch}
  .ip-hero .body{font-family:'Archivo',sans-serif;font-size:16px;line-height:1.72;color:var(--ink-soft);margin:0 0 18px;max-width:62ch}
  .ip-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;max-width:520px}
  .ip-stat{padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
  .ip-stat .n{font-family:'Newsreader',serif;font-size:26px;font-weight:500;color:var(--primary);line-height:1}
  .ip-stat .l{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;color:var(--ink-soft);margin-top:6px}

  .ip-side-cta{position:sticky;top:96px;background:linear-gradient(135deg,var(--primary),var(--primary-deep));color:#fff;border-radius:16px;padding:30px;box-shadow:0 24px 60px -28px rgba(10,18,35,.4)}
  .ip-side-cta .chip{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--accent);background:rgba(255,255,255,.08);padding:5px 10px;border-radius:6px;display:inline-block;margin-bottom:14px}
  .ip-side-cta h3{font-family:'Newsreader',serif;font-size:24px;font-weight:500;color:#fff;margin:0 0 10px}
  .ip-side-cta p{font-family:'Archivo',sans-serif;font-size:14px;line-height:1.6;color:rgba(255,255,255,.7);margin:0 0 20px}
  .ip-side-cta .ctas{display:flex;flex-direction:column;gap:10px}
  .ip-side-cta .btn-fill{background:var(--accent);border-color:var(--accent);color:var(--primary-deep);justify-content:center}
  .ip-side-cta .btn-fill:hover{background:var(--accent-glow);border-color:var(--accent-glow)}
  .ip-side-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4);justify-content:center}
  .ip-side-cta .btn-ghost:hover{background:#fff;color:var(--primary)}
  .ip-side-cta .meta{display:flex;align-items:center;gap:10px;margin-top:22px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:rgba(255,255,255,.55)}
  .ip-side-cta .meta .led{width:7px;height:7px;border-radius:50%;background:var(--accent-glow);box-shadow:0 0 0 4px rgba(230,200,121,.18)}

  /* Brag bar — semi-transparent over animation */
  .ip-brag{position:relative;z-index:3;background:color-mix(in srgb,var(--primary-deep) 88%,transparent);overflow:hidden;border-top:1px solid rgba(201,168,76,.2);border-bottom:1px solid rgba(201,168,76,.2);padding:18px 0}
  .ip-brag .marq{animation:marq 38s linear infinite}
  .ip-brag .ti{display:inline-flex;align-items:center;gap:18px;padding:0 36px;white-space:nowrap}
  .ip-brag .ti .qm{font-family:'Newsreader',serif;font-style:italic;font-size:24px;color:var(--accent);line-height:.5}
  .ip-brag .ti .q{font-family:'Newsreader',serif;font-style:italic;font-size:16px;color:rgba(255,255,255,.88);max-width:56ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ip-brag .ti .who{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;color:var(--accent-glow)}
  .ip-brag .ti::after{content:'·';color:rgba(201,168,76,.4);margin-left:12px}

  /* Industry section 2 — forest process (no animation) */
  .ip-process{background:var(--primary);position:relative}
  .ip-process::before{content:'';position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:100% 150px;pointer-events:none}
  .ip-process .ip-wrap{max-width:1240px;margin:0 auto;padding:clamp(80px,9vw,140px) clamp(20px,5vw,64px);position:relative}
  .ip-process h2{color:#fff;font-family:'Newsreader',serif;font-weight:500;font-size:clamp(30px,3.8vw,50px);line-height:1.08;letter-spacing:-.015em;margin:0 0 14px}
  .ip-process .ip-eb{color:var(--accent)}
  .ip-process p.intro{font-family:'Archivo',sans-serif;font-size:17px;line-height:1.7;color:rgba(255,255,255,.62);max-width:60ch;margin:0 0 48px}
  .ip-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px)}
  .ip-step{position:relative}
  .ip-step .label{font-family:'Newsreader',serif;font-style:italic;font-size:16px;color:var(--accent);margin-bottom:18px}
  .ip-step .rule{height:1px;background:rgba(255,255,255,.16);margin-bottom:22px;position:relative}
  .ip-step .rule::before{content:'';position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--accent);transition:transform .25s ease,box-shadow .25s ease}
  .ip-step:hover .rule::before{transform:scale(1.6);box-shadow:0 0 14px rgba(230,200,121,.6)}
  .ip-step h3{color:#fff;font-family:'Newsreader',serif;font-size:21px;font-weight:500;margin:0 0 12px}
  .ip-step p{font-family:'Archivo',sans-serif;font-size:14px;line-height:1.62;color:rgba(255,255,255,.66);margin:0}

  /* Industry section 3 — beige services + FAQ + final CTA */
  .ip-third{max-width:1240px;margin:0 auto;padding:clamp(80px,9vw,140px) clamp(20px,5vw,64px)}
  .ip-third-head{max-width:620px;margin-bottom:clamp(36px,4vw,52px)}
  .ip-third-head h2{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.08;letter-spacing:-.015em;color:var(--ink);margin:0 0 14px}
  .ip-third-head p{font-family:'Archivo',sans-serif;font-size:16px;line-height:1.7;color:var(--ink-soft);margin:0}
  .ip-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:80px}
  .ip-svc{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;cursor:default}
  .ip-svc:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(201,168,76,.35),0 0 20px rgba(230,200,121,.18)}
  .ip-svc .ico{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--bg);color:var(--accent);font-family:'Newsreader',serif;font-size:18px;font-weight:500;margin-bottom:12px;transition:all .25s ease}
  .ip-svc:hover .ico{background:var(--primary);color:var(--accent-glow)}
  .ip-svc h4{font-family:'Archivo',sans-serif;font-size:14.5px;font-weight:600;color:var(--ink);margin:0}
  .ip-faq-list{display:flex;flex-direction:column;max-width:900px;margin:0 auto 80px}
  .ip-faq{border-top:1px solid var(--line)}
  .ip-faq:last-child{border-bottom:1px solid var(--line)}
  .ip-faq summary{list-style:none;padding:22px 8px;display:flex;align-items:center;gap:16px;cursor:pointer;font-family:'Archivo',sans-serif;font-size:17px;font-weight:600;color:var(--ink);transition:padding .25s ease,box-shadow .25s ease,background .25s ease}
  .ip-faq summary::-webkit-details-marker{display:none}
  .ip-faq summary:hover{background:var(--surface);padding-left:18px;padding-right:18px;box-shadow:inset 0 0 0 1px rgba(201,168,76,.3),0 0 16px rgba(230,200,121,.16)}
  .ip-faq[open] summary{background:var(--surface);padding-left:18px;padding-right:18px}
  .ip-faq .qmark{font-family:'Newsreader',serif;font-style:italic;font-size:16px;color:var(--accent);min-width:34px}
  .ip-faq summary::after{content:'+';margin-left:auto;font-family:'Newsreader',serif;font-size:24px;color:var(--accent);transition:transform .25s ease}
  .ip-faq[open] summary::after{transform:rotate(45deg)}
  .ip-faq p{font-family:'Archivo',sans-serif;font-size:15.5px;line-height:1.68;color:var(--ink-soft);margin:0;padding:0 18px 26px 68px;max-width:70ch}

  .ip-final{background:linear-gradient(135deg,var(--primary),var(--primary-deep));color:#fff;border-radius:18px;padding:clamp(36px,5vw,64px);display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;box-shadow:0 32px 80px -36px rgba(10,18,35,.45)}
  .ip-final h2{color:#fff;font-family:'Newsreader',serif;font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:1.08;letter-spacing:-.015em;margin:0 0 14px}
  .ip-final p{font-family:'Archivo',sans-serif;font-size:16px;line-height:1.65;color:rgba(255,255,255,.7);margin:0;max-width:50ch}
  .ip-final .ctas{display:flex;flex-direction:column;gap:12px;justify-content:center}
  .ip-final .btn-fill{background:var(--accent);border-color:var(--accent);color:var(--primary-deep);justify-content:center}
  .ip-final .btn-fill:hover{background:var(--accent-glow);border-color:var(--accent-glow)}
  .ip-final .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4);justify-content:center}
  .ip-final .btn-ghost:hover{background:#fff;color:var(--primary)}

  /* hide unused inline carousel in v4 */
  .deep,.deep-bar{display:none}

  @media (max-width:980px){
    .ip-hero,.ip-final{grid-template-columns:1fr}
    .ip-svc-grid,.ip-steps{grid-template-columns:1fr 1fr}
    .ip-side-cta{position:static;margin-top:24px}
  }

  /* ============= DOC UPDATE — new components ============= */

  /* services: expandable cards */
  .service{position:relative}
  .svc-toggle{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);cursor:pointer;background:transparent;border:none;padding:0;text-align:left}
  .svc-plus{font-family:'Newsreader',serif;font-size:17px;line-height:1;transition:transform .3s ease}
  .service.open .svc-plus{transform:rotate(45deg)}
  .svc-detail{max-height:0;overflow:hidden;transition:max-height .45s ease}
  .service.open .svc-detail{max-height:1100px}
  .svc-detail-in{margin-top:14px;padding-top:14px;border-top:1px solid var(--hairline)}
  .svc-detail-in p{font-size:13px;line-height:1.62}
  .svc-detail-in p + p{margin-top:10px}
  @media (max-width:640px){ .services{grid-template-columns:1fr} }

  /* creditors we serve — link-out card grid */
  .cr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .cr-card{display:flex;flex-direction:column;gap:11px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
  .cr-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(201,168,76,.35),0 0 22px rgba(230,200,121,.18)}
  .cr-card .cr-no{font-family:'Newsreader',serif;font-style:italic;font-size:15px;color:var(--accent)}
  .cr-card h3{font-family:'Newsreader',serif;font-size:20px;font-weight:500;color:var(--ink);line-height:1.15}
  .cr-card p{font-family:'Archivo',sans-serif;font-size:13.5px;line-height:1.55;color:var(--ink-soft);flex:1}
  .cr-card .cr-link{display:inline-flex;align-items:center;gap:8px;font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;color:var(--accent);margin-top:4px}
  .cr-card .cr-link .ar{transition:transform .25s ease}
  .cr-card:hover .cr-link .ar{transform:translateX(4px)}
  @media (max-width:1120px){ .cr-grid{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:600px){ .cr-grid{grid-template-columns:1fr} }

  /* process — Our Standard block */
  .our-standard{margin-top:clamp(48px,6vw,72px);padding-top:clamp(32px,4vw,44px);border-top:1px solid rgba(255,255,255,.14);max-width:760px}

  /* testimonials — Google review cards */
  .tcard .stars{font-size:16px;letter-spacing:3px;color:var(--accent)}
  .tcard .quote{margin-top:14px;font-size:15.5px;line-height:1.6}
  .tcard .src{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;color:var(--ink-soft);margin-top:4px}

  /* contact — clickable meta values */
  .contact .meta-list a.v{text-decoration:none;transition:color .2s ease}
  .contact .meta-list a.v:hover{color:var(--accent)}

  /* creditor deep pages — recover desc + related chips */
  .ip-svc p{font-family:'Archivo',sans-serif;font-size:12.5px;line-height:1.55;color:var(--ink-soft);margin:7px 0 0}
  .ip-related{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(56px,7vw,80px)}
  .ip-related a{font-family:'Archivo',sans-serif;font-size:13px;font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:9px 16px;text-decoration:none;transition:all .25s ease}
  .ip-related a:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px rgba(201,168,76,.3)}

  /* legal / static pages */
  .legal-body p{font-family:'Archivo',sans-serif;font-size:16px;line-height:1.72;color:var(--ink-soft);margin:0 0 18px;max-width:80ch}

  /* service → creditor cross-links (inside expanded detail) */
  .svc-crs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--hairline)}
  .svc-crs-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
  .svc-cr{font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:5px 11px;transition:all .25s ease}
  .svc-cr:hover{border-color:var(--accent);box-shadow:0 0 0 1px rgba(201,168,76,.3)}

  /* accessibility: visible keyboard focus, required markers, reduced motion */
  a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
  input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
  label .req{color:var(--accent);font-size:12px}
  @media (prefers-reduced-motion:reduce){
    .marq{animation:none}
    .service .n{animation:none}
  }
  /* legal/404/hub page H1 — same visual scale as section h2 */
  .ip-third-head h1.ip-h1{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.08;letter-spacing:-.015em;color:var(--ink);margin:0 0 14px}

  /* phone readability: slightly heavier body text + darker secondary ink
     so copy stays crisp over the (already edge-hugging, dimmed) spiral */
  @media (max-width:700px){
    :root{--ink-soft:#3e4b42}
    p{font-weight:500}
    .cred .k,.pills,.slide-cap .body{font-weight:500}
  }

  /* sticky mobile CTA bar */
  .sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;padding:10px clamp(14px,4vw,20px) calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--line);transition:transform .3s ease,opacity .3s ease}
  .sticky-cta.hide{transform:translateY(110%);opacity:0;pointer-events:none}
  .sticky-cta .sc-call{flex:0 0 auto;display:grid;place-items:center;font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:9px;padding:13px 18px;text-decoration:none}
  .sticky-cta .sc-main{flex:1;display:grid;place-items:center;font-family:'Archivo',sans-serif;font-size:15px;font-weight:600;color:#fff;background:var(--primary);border-radius:9px;padding:13px 16px;text-decoration:none}
  @media (max-width:980px){
    .sticky-cta{display:flex}
    body{padding-bottom:70px}
  }

  /* keep the hero CTA above the fold on laptop screens */
  #top .wrap{padding-top:clamp(32px,4.2vw,60px);padding-bottom:clamp(48px,6vw,84px)}
  #top h1{font-size:clamp(34px,4.2vw,56px);line-height:1.05}
  #top .hero .lede{margin-bottom:18px}
  #top .hero .sub{margin-top:16px;margin-bottom:24px;font-size:clamp(15px,1.2vw,17px)}

  /* ============= MOBILE NAV + RESPONSIVE TIGHTENING ============= */
  .navtoggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;padding:0 10px;background:transparent;border:1px solid var(--line);border-radius:9px;cursor:pointer}
  .navtoggle span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;transition:transform .3s ease,opacity .2s ease}
  .navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:none;flex-direction:column;padding:6px clamp(20px,5vw,64px) 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 96%,transparent)}
  .mobile-menu a{font-family:'Archivo',sans-serif;font-size:16px;font-weight:500;color:var(--ink);text-decoration:none;padding:14px 4px;border-bottom:1px solid var(--hairline)}
  .mobile-menu a:last-child{border-bottom:none}
  .mobile-menu a.cta{color:#fff;text-align:center;margin-top:14px;padding:15px;border-radius:9px}

  /* form fields must be allowed to shrink and fill their label */
  form input, form select, form textarea{width:100%;min-width:0}
  /* honeypot spam trap — visually hidden, off-screen */
  .hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

  @media (max-width:980px){
    .navtoggle{display:flex}
    .nav-right > .cta{display:none}
    .mobile-menu.open{display:flex}
    /* prevent grid tracks blowing out to min-content on small screens */
    .hero,.about,.contact{grid-template-columns:minmax(0,1fr)}
    .hero > div,.about > div,.contact > *{min-width:0}
    .pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
    .grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  }
  @media (max-width:640px){
    .ip-svc-grid,.ip-steps{grid-template-columns:1fr}
    .ip-crumb{display:none}
    .ip-topnav{gap:12px}
    .brand .name small{font-size:9px;letter-spacing:.1em}
  }
  @media (max-width:560px){
    footer .cols{grid-template-columns:1fr}
    footer .links{flex-wrap:wrap;gap:14px 18px}
    .contact .meta-list .v{font-size:15px}
    .services,.tgrid,.steps,.pillars,.grid{grid-template-columns:1fr}
    h1{font-size:clamp(34px,8vw,44px)}
  }
