

html{overflow-x:clip}
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Inter',sans-serif;
    background:#04293a;
    color:#d6ecf3;
    overflow-x:hidden;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block}
  button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
  a{color:inherit;text-decoration:none}
  ::selection{background:#039bc5;color:#04293a}

  /* ============ COLOR SYSTEM ============ */
  :root{
    --bg:#04293a;
    --bg-2:#063349;
    --bg-3:#0d415a;
    --ink:#eef7fa;
    --ink-2:#d6ecf3;
    --ink-3:rgba(240,249,252,.97);
    --ink-4:rgba(240,249,252,.92);
    --ink-5:rgba(240,249,252,.8);
    --line:rgba(3,155,197,.15);
    --line-2:rgba(3,155,197,.08);
    --cyan:#039bc5;
    --cyan-glow:rgba(3,155,197,.4);
    --magenta:#039bc5;
    --purple:#039bc5;
    --grad:linear-gradient(135deg,#039bc5 0%,#039bc5 100%);
    --grad-soft:linear-gradient(135deg,rgba(3,155,197,.15),rgba(3,155,197,.15));
  }

  /* ============ CONTROL BAR ============ */
  .control-bar{
    position:fixed;top:0;left:0;right:0;z-index:9999;
    background:rgba(6,7,13,.92);backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(3,155,197,.18);
    padding:12px 22px;
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    flex-wrap:wrap;
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  }
  .control-bar .brand{color:var(--ink);display:flex;align-items:center;gap:10px;font-weight:600;font-family:'Syne',sans-serif;font-size:13px;letter-spacing:.04em}
  .control-bar .brand .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
  .control-bar .group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .control-bar .lbl{color:var(--ink-4);font-size:10px;letter-spacing:.15em}
  .control-bar .pill{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
  .control-bar .pill button{padding:7px 14px;font-size:10.5px;color:var(--ink-4);transition:all .15s}
  .control-bar .pill button:hover{color:var(--ink)}
  .control-bar .pill button.active{background:var(--cyan);color:var(--bg);font-weight:600}
  .control-bar .menu-pill button.active{background:var(--grad);color:var(--bg);font-weight:600}

  .mockup-frame{position:relative}
  .page{display:none}
  .page.active{display:block}
  .container{max-width:1320px;margin:0 auto;padding:0 28px}
  .container-narrow{max-width:1100px;margin:0 auto;padding:0 28px}

  /* ============ ATMOSPHERIC BG ============ */
  .glow-bg{
    position:absolute;inset:0;pointer-events:none;z-index:0;
    background:
      radial-gradient(900px 600px at 5% -10%,rgba(3,155,197,.18),transparent 60%),
      radial-gradient(800px 500px at 95% 10%,rgba(3,155,197,.14),transparent 60%),
      radial-gradient(600px 400px at 50% 100%,rgba(3,155,197,.10),transparent 70%);
  }
  .grid-lines{
    position:absolute;inset:0;pointer-events:none;z-index:0;
    background-image:linear-gradient(rgba(3,155,197,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(3,155,197,.04) 1px,transparent 1px);
    background-size:56px 56px;
    mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 80%);
  }
  .noise{
    position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.03;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' /%3E%3C/svg%3E");
  }

  /* ============ NAV + MEGA-MENUS ============ */
  .nav-shell{position:relative;z-index:50}
  .nav{position:relative;z-index:500;
    padding:18px 0;border-bottom:1px solid var(--line-2);
    background:rgba(6,7,13,.75);backdrop-filter:blur(16px);
  }
  .nav .row{display:flex;align-items:center;gap:34px;position:relative}
  .nav .logo{display:flex;align-items:center;gap:12px;font-family:'Syne',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.01em;flex-shrink:0}
  .logo-mark{width:34px;height:34px;flex-shrink:0;filter:drop-shadow(0 0 9px var(--cyan-glow))}
  .footer .brand-block .logo .logo-mark{width:32px;height:32px}
  .nav .logo .mark{
    width:34px;height:34px;background:var(--grad);border-radius:8px;position:relative;
    box-shadow:0 0 24px rgba(3,155,197,.4);
  }
  .nav .logo .mark::after{
    content:"";position:absolute;inset:3px;background:var(--bg);border-radius:5px;
  }
  .nav .logo .mark::before{
    content:"";position:absolute;inset:9px;background:var(--grad);border-radius:2px;
    z-index:1;
  }
  .nav .logo span{
    background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  }

  .nav .links{display:flex;gap:4px;flex:1}
  .nav .links > li{position:relative;list-style:none}
  .nav .links > li[data-key="locations"]{position:relative}
  .nav .links > li[data-key="services"]{position:static}
  .nav .links > li[data-key="resources"]{position:relative}
  .nav .links > li > a,.nav .links > li > button{
    padding:10px 14px;border-radius:8px;font-size:13.5px;font-weight:500;
    color:var(--ink-3);transition:all .2s;display:flex;align-items:center;gap:6px;
    font-family:'Inter',sans-serif;
  }
  .nav .links > li > a:hover,.nav .links > li > button:hover,.nav .links > li.open > button{
    color:var(--ink);background:rgba(3,155,197,.06);
  }
  .nav .links .chev{
    width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);transition:transform .2s;display:inline-block;
  }
  .nav .links > li.open .chev{transform:rotate(-135deg) translateY(2px)}

  .nav .right{display:flex;align-items:center;gap:14px;flex-shrink:0}
  .nav .phone-tag{
    display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-3);
    padding-right:14px;border-right:1px solid var(--line-2);
  }
  .nav .phone-tag strong{color:var(--cyan);font-weight:700;font-size:16px}
  .nav .phone-tag .live{
    width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;
    animation:pulse 2s infinite;
  }
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
  .nav .cta{
    padding:11px 18px;border-radius:10px;font-size:13px;font-weight:600;
    background:var(--grad);color:var(--bg);
    box-shadow:0 0 24px rgba(3,155,197,.35);
    display:inline-flex;align-items:center;gap:6px;transition:all .2s;
  }
  .nav .cta:hover{transform:translateY(-1px);box-shadow:0 4px 30px rgba(3,155,197,.5)}
  .nav .hamburger{display:none}

  /* Mega-menu base */
  .mega{
    z-index:600;position:absolute;top:calc(100% + 14px);left:0;
    background:linear-gradient(180deg,rgba(10,12,20,.98),rgba(6,7,13,.98));
    border:1px solid var(--line);border-radius:18px;
    box-shadow:0 30px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(3,155,197,.05);
    padding:28px;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .2s,transform .2s,visibility .2s;
    backdrop-filter:blur(20px);
    z-index:100;
  }
  .nav .links > li.open .mega{opacity:1;visibility:visible;transform:translateY(0)}
  .mega::before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--cyan),var(--magenta),transparent);
    opacity:.5;
  }

  /* Services mega */
  .mega-services{width:920px;max-width:calc(100vw - 56px);display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:28px}
  .mega-col h5{
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--cyan);margin-bottom:14px;font-weight:500;
    padding-bottom:10px;border-bottom:1px solid var(--line-2);
  }
  .mega-col ul{list-style:none;display:flex;flex-direction:column;gap:2px}
  .mega-col ul a{
    display:flex;align-items:center;justify-content:space-between;
    padding:9px 10px;margin-left:-10px;margin-right:-10px;
    border-radius:7px;font-size:13.5px;color:var(--ink-2);font-weight:500;
    transition:all .15s;
  }
  .mega-col ul a:hover{background:rgba(3,155,197,.07);color:var(--ink)}
  .mega-col ul a .arr{opacity:0;color:var(--cyan);transition:opacity .15s}
  .mega-col ul a:hover .arr{opacity:1}
  .mega-col ul a .badge-new{
    font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.05em;
    background:rgba(3,155,197,.15);color:var(--magenta);padding:2px 6px;border-radius:4px;
  }
  .mega-feature{
    padding:20px;border-radius:14px;
    background:linear-gradient(135deg,rgba(3,155,197,.08),rgba(3,155,197,.08));
    border:1px solid rgba(3,155,197,.18);
    display:flex;flex-direction:column;justify-content:space-between;gap:14px;
  }
  .mega-feature .top{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan)}
  .mega-feature h4{font-family:'Syne',sans-serif;font-weight:600;font-size:18px;line-height:1.2}
  .mega-feature p{font-size:13px;color:var(--ink-3);line-height:1.5}
  .mega-feature .num{
    font-family:'IBM Plex Mono',monospace;font-size:20px;color:var(--cyan);font-weight:600;letter-spacing:-.01em;
  }
  .mega-feature .btn{
    align-self:flex-start;padding:9px 14px;border-radius:8px;font-size:12.5px;font-weight:600;
    background:var(--grad);color:var(--bg);
  }

  /* Devices mega */
  .mega-devices{width:480px;display:grid;grid-template-columns:1fr 1fr;gap:26px}
  #devRotate{transition:opacity .4s ease}
  .mega-col .device-link{
    display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:8px 10px;
    margin-left:-10px;margin-right:-10px;border-radius:7px;
  }
  .mega-col .device-link:hover{background:rgba(3,155,197,.07)}
  .mega-col .device-link .ico{
    width:32px;height:32px;border-radius:7px;background:rgba(3,155,197,.1);border:1px solid var(--line);
    display:grid;place-items:center;color:var(--cyan);font-size:13px;
  }
  .mega-col .device-link .text strong{display:block;font-size:13px;color:var(--ink);font-weight:600;line-height:1.2}
  .mega-col .device-link .text small{font-size:11px;color:var(--ink-4);font-family:'IBM Plex Mono',monospace}

  /* Locations mega */
  .mega-locations{width:940px;max-width:calc(100vw - 56px);left:auto;right:0;display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:24px}
  .mega-locations .area-chip{
    display:inline-flex;padding:7px 11px;border:1px solid var(--line);border-radius:999px;
    font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-2);
    transition:all .15s;margin:0 4px 4px 0;
  }
  .mega-locations .area-chip:hover{border-color:var(--cyan);background:rgba(3,155,197,.08);color:var(--cyan)}
  .mega-locations .area-list{display:flex;flex-wrap:wrap}

  /* Resources mega (smaller) */
  .mega-resources{width:460px;max-width:calc(100vw - 56px);left:auto;right:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .mega-resources .item{
    display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:12px;
    border-radius:10px;transition:all .15s;border:1px solid transparent;
  }
  .mega-resources .item:hover{background:rgba(3,155,197,.05);border-color:var(--line)}
  .mega-resources .item .ico{
    width:36px;height:36px;border-radius:9px;background:var(--grad-soft);border:1px solid var(--line);
    display:grid;place-items:center;color:var(--cyan);font-size:15px;
  }
  .mega-resources .item strong{display:block;font-size:13.5px;color:var(--ink);font-weight:600;margin-bottom:3px}
  .mega-resources .item small{font-size:12px;color:var(--ink-4);line-height:1.4}

  /* Menu showcase pinning */
  .nav .links > li.pinned .mega{opacity:1;visibility:visible;transform:translateY(0)}
  .nav .links > li.pinned > button{color:var(--ink);background:rgba(3,155,197,.06)}

  /* Mobile menu */
  .mobile-menu{
    position:fixed;inset:0;z-index:200;display:none;
    background:linear-gradient(180deg,#04293a,#052e40);
  }
  .mobile-menu.open{display:flex;flex-direction:column}
  .mobile-menu .mm-top{
    display:flex;justify-content:space-between;align-items:center;padding:18px 22px;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu .mm-close{
    width:36px;height:36px;border-radius:8px;border:1px solid var(--line);
    display:grid;place-items:center;color:var(--ink);font-size:18px;
  }
  .mobile-menu .mm-body{
    flex:1;overflow-y:auto;padding:24px 22px 40px;
  }
  .mobile-menu .mm-section{margin-bottom:28px}
  .mobile-menu .mm-section h5{
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--cyan);margin-bottom:14px;
  }
  .mobile-menu .mm-section ul{list-style:none}
  .mobile-menu .mm-section ul a{
    display:flex;justify-content:space-between;align-items:center;
    padding:14px 0;border-bottom:1px solid var(--line-2);
    font-family:'Syne',sans-serif;font-weight:500;font-size:18px;
  }
  .mobile-menu .mm-section ul a:last-child{border-bottom:0}
  .mobile-menu .mm-section ul a .arr{color:var(--cyan)}
  /* mobile menu accordion */
  .mobile-menu .mm-section{margin-bottom:0;border-bottom:1px solid var(--line-2)}
  .mobile-menu .mm-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:0;cursor:pointer;padding:17px 2px;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
  .mobile-menu .mm-ind{font-family:'Syne',sans-serif;font-size:20px;line-height:1;color:var(--ink-3);font-weight:400}
  .mobile-menu .mm-panel{display:none;padding-bottom:14px}
  .mobile-menu .mm-section.open > .mm-panel{display:block}
  .mobile-menu .mm-more{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:12px 0 4px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;color:var(--ink-3)}
  .mobile-menu .mm-more-list{display:none}
  .mobile-menu .mm-more-list.open{display:block}
  .mobile-menu .mm-bottom{
    padding:24px 22px;border-top:1px solid var(--line);
    background:rgba(3,155,197,.05);
  }
  .mobile-menu .mm-bottom .phone{
    font-family:'Syne',sans-serif;font-weight:700;font-size:24px;color:var(--ink);margin-bottom:6px;
  }
  .mobile-menu .mm-bottom .phone span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .mobile-menu .mm-bottom .hrs{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-4);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
  .mobile-menu .mm-bottom .cta{
    display:block;width:100%;text-align:center;padding:16px;border-radius:12px;
    background:var(--grad);color:var(--bg);font-weight:700;font-size:15px;
  }

  /* Menu showcase mode: shrinks page below so menu doesn't get cropped */
  body.showcasing .below-nav{filter:blur(2px) brightness(.5);pointer-events:none}

  /* ============ HERO ============ */
  .hero{position:relative;padding:64px 0 32px;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;align-items:center;position:relative;z-index:2}
  .hero .eyebrow{
    display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;
    border:1px solid var(--line);background:rgba(3,155,197,.05);
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);
  }
  .hero .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:pulse 2s infinite}
  .hero h1{
    font-family:'Syne',sans-serif;font-weight:700;font-size:clamp(46px,7.8vw,96px);line-height:.95;
    letter-spacing:-.025em;margin:24px 0;color:var(--ink);
  }
  .hero h1 .gradient{
    background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
    display:inline-block;
  }
  .hero h1 .underline-acc{position:relative;display:inline-block}
  .hero h1 .underline-acc::after{
    content:"";position:absolute;left:0;right:0;bottom:6px;height:8px;
    background:var(--grad);opacity:.18;border-radius:2px;z-index:-1;
  }
  .hero .lead{font-size:18px;line-height:1.6;color:var(--ink-3);max-width:520px;margin-bottom:34px}
  .hero .actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:34px}
  .hero .actions .primary{
    padding:15px 26px;border-radius:11px;font-weight:600;font-size:14px;
    background:var(--grad);color:var(--bg);
    box-shadow:0 0 30px rgba(3,155,197,.4);
    display:inline-flex;align-items:center;gap:8px;
    transition:transform .15s;
  }
  .hero .actions .primary:hover{transform:translateY(-1px)}
  .hero .actions .ghost{
    padding:15px 22px;border-radius:11px;border:1px solid rgba(240,249,252,.18);font-size:14px;font-weight:500;
    display:inline-flex;align-items:center;gap:8px;color:var(--ink);
  }
  .hero .actions .hero-phone{font-family:'Syne',sans-serif;font-weight:700;font-size:22px;color:var(--ink);display:inline-flex;align-items:center;gap:10px;margin-left:8px}
  .hero .actions .hero-phone .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
  .hero .actions .hero-phone .num{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero .trust-row{
    display:flex;gap:30px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line-2);
    font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-4);
  }
  .hero .trust-row .t{display:flex;align-items:center;gap:8px}
  .hero .trust-row .t::before{content:"";width:6px;height:6px;background:var(--cyan);border-radius:50%}

  /* Terminal card */
  .terminal-card{
    background:linear-gradient(180deg,rgba(3,155,197,.07),rgba(3,155,197,.05));
    border:1px solid rgba(3,155,197,.3);border-radius:22px;padding:6px;
    backdrop-filter:blur(20px);
    box-shadow:0 40px 90px rgba(3,155,197,.18),0 0 0 1px rgba(3,155,197,.08);
    position:relative;
  }
  .terminal-card::before{
    content:"";position:absolute;inset:-2px;border-radius:24px;
    background:linear-gradient(135deg,rgba(3,155,197,.4),transparent 30%,transparent 70%,rgba(3,155,197,.4));
    z-index:-1;opacity:.6;filter:blur(8px);
  }
  .terminal-card .inner{
    background:rgba(6,7,13,.85);border-radius:17px;padding:24px;
  }
  .terminal-card .head{display:flex;gap:6px;margin-bottom:18px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
  .terminal-card .head .dot{width:10px;height:10px;border-radius:50%}
  .terminal-card .head .dot:nth-child(1){background:#ff5e57}
  .terminal-card .head .dot:nth-child(2){background:#ffbd2e}
  .terminal-card .head .dot:nth-child(3){background:#28c940}
  .terminal-card .head .ttl{margin-left:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-4);letter-spacing:.05em}
  .terminal-card .head .live{
    margin-left:auto;display:flex;align-items:center;gap:6px;
    font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#22c55e;
  }
  .terminal-card .head .live::before{content:"";width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;animation:pulse 2s infinite}
  .terminal-card pre{font-family:'IBM Plex Mono',monospace;font-size:12.5px;line-height:1.85;color:var(--ink-2);white-space:pre-wrap;margin:0;transition:opacity .45s ease}
  .terminal-card .green{color:var(--cyan)}
  .terminal-card .pink{color:var(--magenta)}
  .terminal-card .yellow{color:#fcd34d}
  .terminal-card .dim{color:var(--ink-5)}
  .terminal-card .ok{color:#22c55e}
  .terminal-card .cursor{display:inline-block;width:8px;height:14px;background:var(--cyan);margin-left:2px;vertical-align:middle;animation:blink 1s infinite}
  @keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}

  /* ============ STATS STRIP ============ */
  .stats-strip{
    margin-top:50px;position:relative;z-index:2;
    border:1px solid var(--line);border-radius:18px;
    background:linear-gradient(180deg,rgba(3,155,197,.04),rgba(3,155,197,.02));
    overflow:hidden;
  }
  .stats-strip .row{display:grid;grid-template-columns:repeat(4,1fr)}
  .stats-strip .stat{padding:28px 32px;border-right:1px solid var(--line-2);position:relative}
  .stats-strip .stat:last-child{border-right:0}
  .stats-strip .num{
    font-family:'Syne',sans-serif;font-weight:700;font-size:42px;line-height:1;letter-spacing:-.02em;
    background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .stats-strip .lbl{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--ink-4);margin-top:10px;
  }
  .stats-strip .stat::before{
    content:"";position:absolute;top:0;left:0;width:30px;height:1px;background:var(--cyan);
  }

  /* ============ SECTION COMMONS ============ */
  .section{padding:24px 0;position:relative;z-index:2}
  .section.alt{
    background:linear-gradient(180deg,transparent,rgba(10,12,20,.5) 30%,rgba(10,12,20,.5) 70%,transparent);
  }
  .sec-head{margin-bottom:26px;max-width:780px}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
  .sec-tag{
    display:inline-block;padding:6px 12px;border-radius:6px;
    background:rgba(3,155,197,.08);border:1px solid rgba(3,155,197,.25);
    color:var(--cyan);font-family:'IBM Plex Mono',monospace;font-size:11px;
    letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;
  }
  .sec-head h2{
    font-family:'Syne',sans-serif;font-weight:700;font-size:clamp(34px,5.5vw,64px);
    letter-spacing:-.025em;line-height:1.05;color:var(--ink);
  }
  .sec-head h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .sec-head .desc{margin-top:18px;color:var(--ink-3);font-size:16.5px;line-height:1.65;max-width:640px}
  .sec-head.center .desc{margin-left:auto;margin-right:auto}

  /* ============ SERVICES GRID ============ */
  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:2}
  .svc{
    padding:30px;border-radius:18px;
    background:linear-gradient(180deg,rgba(3,155,197,.04),rgba(3,155,197,.01));
    border:1px solid var(--line);position:relative;transition:all .3s;cursor:pointer;overflow:hidden;
  }
  .svc::before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.4;
  }
  .svc::after{
    content:"";position:absolute;inset:0;border-radius:18px;
    background:radial-gradient(600px 200px at 50% 0%,rgba(3,155,197,.08),transparent 60%);
    opacity:0;transition:opacity .3s;pointer-events:none;
  }
  .svc:hover{border-color:rgba(3,155,197,.4);transform:translateY(-4px);box-shadow:0 18px 50px rgba(3,155,197,.18)}
  .svc:hover::after{opacity:1}
  .svc .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}
  .svc .ico{
    width:48px;height:48px;border-radius:12px;
    background:var(--grad-soft);border:1px solid var(--line);
    display:grid;place-items:center;color:var(--cyan);font-size:22px;
  }
  .svc .num{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-5);letter-spacing:.1em}
  .svc h3{font-family:'Syne',sans-serif;font-weight:600;font-size:21px;letter-spacing:-.01em;margin-bottom:10px;color:var(--ink)}
  .svc p{font-size:13.5px;line-height:1.6;color:var(--ink-3);margin-bottom:18px}
  .svc .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
  .svc .tags span{
    font-family:'IBM Plex Mono',monospace;font-size:10px;padding:3px 8px;
    border:1px solid var(--line);border-radius:4px;color:var(--ink-4);letter-spacing:.04em;
  }
  .svc .more{
    display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--cyan);
  }

  /* ============ WHY US ============ */
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
  .why-list{display:flex;flex-direction:column;gap:14px}
  .why-item{
    display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
    padding:22px 24px;border-radius:14px;
    background:rgba(3,155,197,.03);border:1px solid var(--line-2);
    transition:all .2s;
  }
  .why-item:hover{background:rgba(3,155,197,.06);border-color:var(--line)}
  .why-item .num{
    font-family:'Syne',sans-serif;font-weight:700;font-size:32px;line-height:1;letter-spacing:-.02em;
    background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
    min-width:48px;
  }
  .why-item h4{font-family:'Syne',sans-serif;font-weight:600;font-size:17px;margin-bottom:4px;color:var(--ink)}
  .why-item p{font-size:13.5px;color:var(--ink-3);line-height:1.5}
  .why-item .check{
    width:32px;height:32px;border-radius:50%;background:rgba(3,155,197,.1);border:1px solid var(--line);
    display:grid;place-items:center;color:var(--cyan);font-size:14px;
  }

  .why-visual{
    position:relative;padding:36px;border-radius:24px;
    background:linear-gradient(135deg,rgba(3,155,197,.08),rgba(3,155,197,.08));
    border:1px solid var(--line);overflow:hidden;
    min-height:480px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .why-visual::before{
    content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;border-radius:50%;
    background:radial-gradient(circle,rgba(3,155,197,.3),transparent 60%);
  }
  .why-visual .label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase;position:relative;z-index:1}
  .why-visual h3{font-family:'Syne',sans-serif;font-weight:700;font-size:42px;letter-spacing:-.025em;line-height:1.05;margin:14px 0 20px;position:relative;z-index:1}
  .why-visual h3 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .why-visual .lead{color:var(--ink-3);font-size:15px;line-height:1.6;position:relative;z-index:1;margin-bottom:24px}
  .why-visual .meta-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;z-index:1;
  }
  .why-visual .meta{
    padding:18px;border-radius:12px;background:rgba(6,7,13,.5);border:1px solid var(--line);
  }
  .why-visual .meta .v{font-family:'Syne',sans-serif;font-weight:700;font-size:24px;color:var(--cyan)}
  .why-visual .meta .k{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-4);letter-spacing:.1em;text-transform:uppercase;margin-top:4px}

  /* ============ CASE STUDIES ============ */
  .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .case{
    padding:0;border-radius:18px;overflow:hidden;
    background:linear-gradient(180deg,rgba(3,155,197,.05),rgba(3,155,197,.01));
    border:1px solid var(--line);transition:all .3s;cursor:pointer;
  }
  .case:hover{border-color:rgba(3,155,197,.35);transform:translateY(-4px)}
  .case .head{
    padding:18px 22px;border-bottom:1px solid var(--line-2);
    display:flex;justify-content:space-between;align-items:center;
    background:rgba(6,7,13,.4);
  }
  .case .head .id{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--cyan);letter-spacing:.1em}
  .case .head .status{
    font-family:'IBM Plex Mono',monospace;font-size:10px;padding:3px 8px;border-radius:4px;
    background:rgba(34,197,94,.15);color:#4ade80;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  }
  .case .body{padding:22px}
  .case .device-line{
    display:flex;gap:10px;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-4);
    margin-bottom:14px;flex-wrap:wrap;
  }
  .case .device-line span{padding:2px 7px;background:rgba(3,155,197,.08);border-radius:4px;color:var(--cyan)}
  .case h4{font-family:'Syne',sans-serif;font-weight:600;font-size:19px;letter-spacing:-.01em;margin-bottom:10px;color:var(--ink);line-height:1.25}
  .case p{font-size:13.5px;color:var(--ink-3);line-height:1.55;margin-bottom:18px}
  .case .footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:18px;border-top:1px solid var(--line-2)}
  .case .footer .m{font-family:'IBM Plex Mono',monospace}
  .case .footer .v{font-size:15px;color:var(--ink);font-weight:600}
  .case .footer .k{font-size:9.5px;color:var(--ink-5);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}

  /* ============ TESTIMONIALS ============ */
  .tests{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .test{
    padding:28px;border-radius:18px;
    background:linear-gradient(180deg,rgba(3,155,197,.04),transparent);
    border:1px solid var(--line);position:relative;
  }
  .test::before{
    content:"“";position:absolute;top:14px;right:24px;
    font-family:'Syne',sans-serif;font-size:80px;line-height:1;color:var(--magenta);opacity:.25;
  }
  .test .stars{color:var(--cyan);letter-spacing:3px;margin-bottom:14px;font-size:14px}
  .test blockquote{font-family:'Inter',sans-serif;font-size:15px;line-height:1.55;color:var(--ink-2);margin-bottom:20px;font-weight:400}
  .test cite{font-style:normal;display:flex;align-items:center;gap:12px}
  .test cite .avatar{
    width:38px;height:38px;border-radius:50%;background:var(--grad);
    display:grid;place-items:center;font-family:'Syne',sans-serif;font-weight:700;color:var(--bg);font-size:14px;
  }
  .test cite strong{display:block;font-family:'Syne',sans-serif;font-weight:600;font-size:14px;color:var(--ink)}
  .test cite small{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-4);letter-spacing:.04em;display:block;margin-top:2px}

  /* ============ LOCATIONS BLOCK ============ */
  .locations-block{
    padding:50px;border-radius:24px;position:relative;overflow:hidden;
    background:linear-gradient(135deg,rgba(3,155,197,.08),rgba(3,155,197,.08));
    border:1px solid var(--line);
  }
  .locations-block::before{
    content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle,rgba(3,155,197,.15),transparent 60%);
  }
  .locations-block .top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:30px;position:relative;z-index:1}
  .locations-block h3{font-family:'Syne',sans-serif;font-weight:700;font-size:38px;letter-spacing:-.02em;line-height:1.05;margin-bottom:12px}
  .locations-block h3 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .locations-block .desc{color:var(--ink-3);max-width:520px;line-height:1.6;font-size:15px}
  .locations-block .areas{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
  .locations-block .area-list{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1;margin-bottom:20px}
  .locations-block .area-chip{display:inline-flex;font-family:'IBM Plex Mono',monospace;font-size:12px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(6,7,13,.3);color:var(--ink-2);transition:all .2s;text-decoration:none}
  .locations-block .area-chip:hover{border-color:var(--cyan);background:rgba(3,155,197,.1);color:var(--cyan)}
  .locations-block .area{
    font-family:'IBM Plex Mono',monospace;font-size:12px;padding:8px 14px;border-radius:999px;
    border:1px solid var(--line);background:rgba(6,7,13,.3);color:var(--ink-2);
    transition:all .2s;
  }
  .locations-block .area:hover{border-color:var(--cyan);background:rgba(3,155,197,.1);color:var(--cyan)}

  /* ============ CTA BLOCK ============ */
  .cta-block{
    padding:70px 50px;border-radius:24px;position:relative;overflow:hidden;
    background:linear-gradient(135deg,rgba(3,155,197,.12),rgba(3,155,197,.12));
    border:1px solid rgba(3,155,197,.3);text-align:center;
  }
  .cta-block::before{
    content:"";position:absolute;inset:0;background:
      radial-gradient(800px 300px at 50% 0%,rgba(3,155,197,.2),transparent 60%),
      radial-gradient(600px 300px at 50% 100%,rgba(3,155,197,.15),transparent 60%);
    pointer-events:none;
  }
  .cta-block .label{position:relative;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase}
  .cta-block h2{position:relative;font-family:'Syne',sans-serif;font-weight:700;font-size:clamp(36px,5.5vw,60px);letter-spacing:-.02em;line-height:1.05;margin:16px auto 18px;max-width:780px}
  .cta-block h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .cta-block .desc{position:relative;color:var(--ink-3);max-width:580px;margin:0 auto 30px;font-size:16px;line-height:1.6}
  .cta-block .actions{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
  .cta-block .primary{padding:16px 28px;border-radius:12px;background:var(--grad);color:var(--bg);font-weight:600;font-size:15px;box-shadow:0 0 40px rgba(3,155,197,.4)}
  .cta-block .phone{
    font-family:'Syne',sans-serif;font-weight:700;font-size:24px;color:var(--ink);display:flex;align-items:center;gap:10px;
  }
  .cta-block .phone span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

  /* ============ FOOTER ============ */
  .footer{padding:80px 0 30px;border-top:1px solid var(--line);position:relative;z-index:2}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:50px}
  .footer h4{font-family:'Syne',sans-serif;font-size:13px;font-weight:600;margin-bottom:16px;color:var(--cyan);letter-spacing:.04em;text-transform:uppercase}
  .footer .brand-block .logo{display:flex;align-items:center;gap:12px;font-family:'Syne',sans-serif;font-weight:700;font-size:19px;margin-bottom:16px}
  .footer .brand-block .logo .mark{width:32px;height:32px;background:var(--grad);border-radius:8px;position:relative}
  .footer .brand-block .logo .mark::after{content:"";position:absolute;inset:3px;background:var(--bg);border-radius:5px}
  .footer .brand-block .logo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .footer .brand-block p{font-size:13.5px;line-height:1.65;color:var(--ink-3);margin-bottom:20px;max-width:300px}
  .footer .brand-block .phone-blk{
    padding:14px;border-radius:10px;border:1px solid var(--line);background:rgba(3,155,197,.04);
    font-family:'IBM Plex Mono',monospace;
  }
  .footer .brand-block .phone-blk .num{font-size:18px;font-weight:600;color:var(--cyan)}
  .footer .brand-block .phone-blk .hrs{font-size:11px;color:var(--ink-4);margin-top:4px;letter-spacing:.04em}
  .footer ul{list-style:none}
  .footer ul li{margin-bottom:9px}
  .footer ul a{font-size:13.5px;color:var(--ink-3);transition:color .15s}
  .footer ul a:hover{color:var(--cyan)}
  .footer .bottom{
    padding-top:24px;border-top:1px solid var(--line-2);font-size:12px;color:var(--ink-5);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
    font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;
  }
  .footer .bottom .socials{display:flex;gap:14px}
  .footer .bottom .loc-line a{color:var(--ink-4);transition:color .15s}
  .footer .bottom .loc-line a:hover{color:var(--cyan)}

  /* ============ DEVICES PAGE ============ */
  .page-hero{position:relative;padding:60px 0 30px;overflow:hidden;z-index:2}
  .crumbs{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-bottom:24px}
  .crumbs span{color:var(--cyan)}
  .page-hero h1{font-family:'Syne',sans-serif;font-weight:700;font-size:clamp(46px,7.5vw,88px);letter-spacing:-.025em;line-height:.95;color:var(--ink)}
  .page-hero h1 .gradient{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .page-hero .lead{font-size:17px;color:var(--ink-3);max-width:640px;margin-top:20px;line-height:1.6}

  .device-filter{
    display:flex;gap:8px;flex-wrap:wrap;margin:36px 0 28px;
    padding:8px;background:rgba(3,155,197,.04);border:1px solid var(--line-2);border-radius:14px;
    position:relative;z-index:2;
  }
  .device-filter button{
    padding:9px 16px;border-radius:9px;font-size:12.5px;font-weight:500;color:var(--ink-3);
    font-family:'Inter',sans-serif;transition:all .15s;display:inline-flex;align-items:center;gap:7px;
  }
  .device-filter button:hover{color:var(--ink);background:rgba(3,155,197,.06)}
  .device-filter button.active{background:var(--grad);color:var(--bg);font-weight:600;box-shadow:0 0 18px rgba(3,155,197,.3)}
  .device-filter button .count{font-family:'IBM Plex Mono',monospace;font-size:10px;padding:1px 5px;border-radius:3px;background:rgba(255,255,255,.18)}
  .device-filter button:not(.active) .count{background:rgba(3,155,197,.1);color:var(--cyan)}

  .device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:80px;position:relative;z-index:2}
  .device-card{
    padding:26px;border-radius:16px;border:1px solid var(--line);
    background:linear-gradient(180deg,rgba(3,155,197,.04),rgba(3,155,197,.01));
    cursor:pointer;transition:all .3s;position:relative;overflow:hidden;
  }
  .device-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(3,155,197,.5),transparent)}
  .device-card:hover{border-color:rgba(3,155,197,.4);transform:translateY(-3px);box-shadow:0 12px 36px rgba(3,155,197,.18)}
  .device-card .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
  .device-card .ico{width:44px;height:44px;border-radius:11px;background:var(--grad-soft);border:1px solid var(--line);display:grid;place-items:center;font-size:19px;color:var(--cyan)}
  .device-card .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;padding:3px 8px;background:rgba(3,155,197,.08);border-radius:4px;color:var(--cyan);letter-spacing:.06em}
  .device-card h3{font-family:'Syne',sans-serif;font-weight:600;font-size:18px;margin-bottom:8px;letter-spacing:-.01em;color:var(--ink)}
  .device-card p{font-size:13px;line-height:1.55;color:var(--ink-3);margin-bottom:14px}
  .device-card .price{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line-2)}
  .device-card .price .from{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-4);letter-spacing:.05em}
  .device-card .price .v{font-family:'Syne',sans-serif;font-weight:600;color:var(--cyan);font-size:14px}

  /* responsive */
  @media (max-width:1100px){
    .nav .phone-tag{display:none}
    .nav .links > li > a,.nav .links > li > button{padding:8px 10px;font-size:12.5px}
  }
  @media (max-width:900px){
    .nav .links,.nav .right .cta,.nav .right .phone-tag{display:none}
    .nav .hamburger{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);color:var(--ink);font-size:18px;margin-left:auto}
    .control-bar .menu-pill,.control-bar .lbl{display:none}
    .hero-grid,.why-grid{grid-template-columns:1fr;gap:40px}
    .stats-strip .row{grid-template-columns:repeat(2,1fr)}
    .services,.cases,.tests,.device-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
    .control-bar{padding:10px 14px}
    .control-bar .brand{font-size:11px}
  }

  /* categorised services */
  .svc-cat{margin-bottom:42px;position:relative;z-index:2}
  .svc-cat:last-child{margin-bottom:0}
  .cat-head{display:flex;align-items:center;gap:18px;margin-bottom:20px}
  .cat-head h3{font-family:'Syne',sans-serif;font-weight:700;font-size:21px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
  .cat-head .cat-line{flex:1;height:1px;background:linear-gradient(90deg,var(--cyan-glow),transparent)}
  .svc-grid2{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
  .svc2{display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(180deg,rgba(15,18,32,.6),rgba(10,12,20,.6));border:1px solid var(--line);border-radius:15px;padding:22px 20px;transition:border-color .18s ease,transform .18s ease}
  .svc2:hover{border-color:var(--cyan-glow);transform:translateY(-3px)}
  .svc2 .s2-ico{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:var(--grad-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--cyan);font-size:20px;margin-bottom:15px}
  .svc2 .s2-title{font-family:'Syne',sans-serif;font-weight:600;font-size:16.5px;color:var(--ink);margin-bottom:8px}
  .svc2 .s2-desc{font-size:13.5px;color:var(--ink-3);line-height:1.55;margin-bottom:14px}
  .svc2 .s2-tags{display:flex;flex-wrap:wrap;gap:7px}
  .svc2 .s2-tags span{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-4);background:rgba(3,155,197,.05);border:1px solid var(--line);border-radius:6px;padding:4px 8px;letter-spacing:.02em;line-height:1}
  .svc2 .s2-tx{display:flex;flex-direction:column;min-width:0}
  .svc2 .s2-tx strong{font-family:'Syne',sans-serif;font-weight:600;font-size:15px;color:var(--ink);margin-bottom:2px}
  .svc2 .s2-tx span{font-size:12.5px;color:var(--ink-3);line-height:1.4}
  @media(max-width:820px){.svc-grid2{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.svc-grid2{grid-template-columns:1fr}}

  /* ---- service page additions ---- */
  .notice{display:flex;gap:18px;align-items:flex-start;background:linear-gradient(180deg,rgba(3,155,197,.06),rgba(3,155,197,.04));border:1px solid var(--line);border-left:3px solid var(--magenta);border-radius:14px;padding:22px 24px}
  .notice-ico{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--grad-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--magenta);font-family:'Syne',sans-serif;font-weight:800;font-size:18px}
  .notice h3{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;color:var(--ink);margin-bottom:6px}
  .notice p{font-size:14.5px;color:var(--ink-3);line-height:1.6}
  .mfr-grid{display:flex;flex-wrap:wrap;gap:12px}
  .mfr{font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--ink);background:linear-gradient(180deg,rgba(15,18,32,.6),rgba(10,12,20,.6));border:1px solid var(--line);border-radius:10px;padding:11px 18px;transition:border-color .18s,transform .18s}
  .mfr:hover{border-color:var(--cyan-glow);transform:translateY(-2px)}
  .mfr-note{margin-top:22px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-4);line-height:1.7}
  .price-box{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:linear-gradient(180deg,rgba(15,18,32,.6),rgba(10,12,20,.6));border:1px solid var(--line);border-radius:18px;padding:34px}
  .price-label{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}
  .price-val{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(44px,7vw,68px);line-height:1;margin:12px 0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .price-val span{font-size:24px;-webkit-text-fill-color:var(--ink-3);color:var(--ink-3);font-weight:600}
  .price-val .cur{font-style:normal;font-size:.6em;vertical-align:.28em;margin-right:.02em}
  .price-sub{color:var(--ink-3);font-size:14.5px;line-height:1.55}
  .price-list{list-style:none;display:flex;flex-direction:column;gap:13px}
  .price-list li{position:relative;padding-left:28px;font-size:14.5px;color:var(--ink-2,#cfd8f7);line-height:1.5}
  .price-list li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--cyan);font-weight:700}
  .faq{display:flex;flex-direction:column;gap:12px}
  .faq-item{background:linear-gradient(180deg,rgba(15,18,32,.55),rgba(10,12,20,.55));border:1px solid var(--line);border-radius:13px;overflow:hidden}
  .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;background:none;border:0;cursor:pointer;padding:20px 22px;font-family:'Syne',sans-serif;font-weight:600;font-size:16px;color:var(--ink)}
  .faq-ico{flex-shrink:0;width:26px;height:26px;border-radius:7px;background:var(--grad-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--cyan);font-size:18px;transition:transform .25s}
  .faq-item.open .faq-ico{transform:rotate(45deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .faq-a p{padding:0 22px 20px;font-size:14.5px;color:var(--ink-3);line-height:1.65}
  @media(max-width:760px){.price-box{grid-template-columns:1fr;gap:22px}}

  /* ---- quote form ---- */
  .why-col{display:flex;flex-direction:column;gap:24px}
  .quote-form{background:linear-gradient(180deg,rgba(15,18,32,.6),rgba(10,12,20,.6));border:1px solid var(--line);border-radius:24px;padding:44px}
  .qf-tag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase}
  .qf-head h3{font-family:'Syne',sans-serif;font-weight:700;font-size:36px;letter-spacing:-.02em;margin:12px 0 8px;color:var(--ink)}
  .qf-head p{font-size:16px;color:var(--ink-3);line-height:1.6;margin-bottom:30px}
  .qf-form{display:flex;flex-direction:column;gap:20px}
  .qf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .qf-field{display:flex;flex-direction:column;gap:10px}
  .qf-field>span{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
  .qf-field>span i{color:var(--magenta);font-style:normal}
  .qf-field>span i.opt{color:var(--ink-4);text-transform:lowercase;letter-spacing:0}
  .qf-field input,.qf-field textarea{width:100%;background:rgba(6,7,13,.6);border:1px solid var(--line);border-radius:12px;padding:16px 18px;color:var(--ink);font-family:'Inter',sans-serif;font-size:16px;transition:border-color .18s,box-shadow .18s;resize:vertical}
  .qf-field input::placeholder,.qf-field textarea::placeholder{color:var(--ink-4)}
  .qf-field input:focus,.qf-field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow)}
  .qf-submit{margin-top:8px;background:var(--grad);color:#04293a;font-family:'Syne',sans-serif;font-weight:700;font-size:18px;border:0;border-radius:13px;padding:18px 28px;cursor:pointer;transition:transform .18s,box-shadow .18s}
  .qf-submit:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px var(--cyan-glow)}
  .qf-note{font-size:12.5px;color:var(--ink-4);text-align:center;margin-top:2px}
  .qf-note a{color:var(--cyan);text-decoration:none;font-weight:600}
  .qf-success{display:flex;gap:16px;align-items:flex-start;padding:6px 2px}
  .qf-success[hidden]{display:none}
  .qf-check{flex-shrink:0;width:42px;height:42px;border-radius:11px;background:var(--grad-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--cyan);font-size:22px;font-weight:700}
  .qf-success h4{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;color:var(--ink);margin-bottom:4px}
  .qf-success p{font-size:14px;color:var(--ink-3);line-height:1.55}
  @media(max-width:760px){.qf-row{grid-template-columns:1fr}}
  /* Send us your device panel (two columns: send + enquiry form) */
  .res-next{padding-top:4px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
  .res-step .rs-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
  .res-step .rs-num{width:30px;height:30px;flex:none;border-radius:50%;background:var(--grad);color:#05060c;font-weight:800;font-family:'Syne',sans-serif;font-size:15px;display:grid;place-items:center}
  .res-step .rs-head h4{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;margin:0;color:var(--ink)}
  .res-step .rs-text{color:var(--ink-3);font-size:14px;line-height:1.6;margin-bottom:16px}
  .rs-sub{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin:0 0 13px}
  .rs-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:12px}
  .rs-list li{position:relative;padding-left:24px;font-size:13.5px;color:var(--ink-3);line-height:1.55}
  .rs-list li::before{content:'';position:absolute;left:2px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan-glow)}
  .rs-addr{background:rgba(3,155,197,.05);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--ink-2);line-height:1.55}
  .rs-addr .rs-addr-l{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
  .rs-addr b{color:var(--ink)}
  .dl-btn{display:flex;align-items:center;gap:13px;background:rgba(3,155,197,.05);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:11px;transition:.16s;cursor:pointer;text-decoration:none}
  .dl-btn:hover{border-color:var(--cyan);background:rgba(3,155,197,.1)}
  .dl-btn .di{width:38px;height:38px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--grad-soft);border:1px solid var(--line);color:var(--cyan);font-size:18px}
  .dl-btn .dt{display:block;font-weight:600;font-size:14.5px;color:var(--ink)}
  .dl-btn .ds{display:block;font-size:12px;color:var(--ink-4);font-family:'IBM Plex Mono',monospace;margin-top:2px}
  .dl-btn .da{margin-left:auto;color:var(--cyan);font-size:13px;font-family:'IBM Plex Mono',monospace}
  .rs-note{font-size:14px;color:var(--ink-2);line-height:1.65;margin:18px 0 0;padding:12px 15px;background:rgba(3,155,197,.05);border-left:3px solid var(--cyan);border-radius:0 8px 8px 0}
  .rs-right{display:flex;flex-direction:column}
  .rs-form{margin-top:2px}
  .rs-right .rs-form{flex:1;display:flex;flex-direction:column;min-height:0}
  .rs-right .field-grow{flex:1;display:flex;flex-direction:column;min-height:0}
  .rs-right .field-grow textarea{flex:1 1 0;min-height:120px}
  .field{display:block;margin-bottom:15px}
  .field span{display:block;font-size:13px;color:var(--ink-2);margin-bottom:7px;font-weight:500}
  .field span i{color:var(--cyan);font-style:normal}
  .field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink);font-family:inherit;font-size:14.5px;transition:.15s}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--cyan);background:rgba(3,155,197,.04)}
  .field textarea{resize:vertical;min-height:96px}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:13px}
  .cf-submit{width:100%;background:var(--grad);color:#05060c;font-family:'Inter',sans-serif;font-weight:700;font-size:15.5px;padding:14px;border-radius:11px;border:0;cursor:pointer;margin-top:6px;transition:transform .15s}
  .cf-submit:hover{transform:translateY(-2px)}
  .cf-note{font-size:12.5px;color:var(--ink-4);margin-top:13px;text-align:center}
  .cf-note a{color:var(--cyan)}
  .cf-success{display:none;text-align:center;padding:30px 10px}
  .cf-success.show{display:block;animation:sdfade .3s}
  .cf-success .ck{width:54px;height:54px;border-radius:50%;background:rgba(34,197,94,.15);border:1px solid #22c55e;color:#22c55e;display:grid;place-items:center;font-size:26px;margin:0 auto 16px}
  .cf-success h4{font-family:'Syne',sans-serif;font-size:20px;margin-bottom:8px}
  .cf-success p{color:var(--ink-3);font-size:14.5px}
  @keyframes sdfade{from{opacity:0}to{opacity:1}}
  @media(max-width:760px){.res-next{grid-template-columns:1fr;gap:30px}}
  @media(max-width:520px){.frow{grid-template-columns:1fr}}

    /* ===== brand refresh: footer band ===== */
    .footer .bottom{background:rgba(6,7,13,.8);border-top:1px solid var(--line-2);margin:28px calc(50% - 50vw) 0;padding:18px calc(50vw - 50%) 22px}
    footer.footer{padding-bottom:0}
  
    /* ===== BDR lockup ===== */
    .logo-bdr{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1;flex-shrink:0;text-decoration:none}
    .bdr-mark{font-family:'Syne',sans-serif;font-weight:800;font-size:34px;letter-spacing:.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px var(--cyan-glow))}
    .bdr-sub{margin-top:-1px;margin-left:4px;font-family:'IBM Plex Mono',monospace;font-size:7.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
    .footer .logo-bdr .bdr-mark{font-size:30px}
    .logo.logo-bdr, .brand-block .logo.logo-bdr{flex-direction:column;align-items:flex-start;gap:0}
    .logo.logo-bdr .bdr-mark{margin-left:-1px}
    .logo.logo-bdr .bdr-sub, .brand-block .logo.logo-bdr .bdr-sub{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--ink-3);-webkit-text-fill-color:var(--ink-3)}
  .nav .row{position:relative}


  #bdr-chat-fab{position:fixed;right:22px;bottom:22px;z-index:2147483000;width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,#039bc5,#039bc5 50%,#039bc5);box-shadow:0 12px 30px rgba(3,155,197,.34),0 4px 12px rgba(0,0,0,.4);display:grid;place-items:center;transition:transform .18s ease,opacity .18s ease}
  #bdr-chat-fab:hover{transform:translateY(-2px) scale(1.04)}
  #bdr-chat-fab svg{width:26px;height:26px;stroke:#04293a;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
  #bdr-chat-fab .bdr-badge{position:absolute;top:-2px;right:-2px;width:15px;height:15px;border-radius:50%;background:#22c55e;border:2.5px solid #04293a}
  #bdr-chat-fab.bdr-hidden{transform:scale(.4);opacity:0;pointer-events:none}
  @media (max-width:600px){#bdr-chat-fab{right:16px;bottom:16px;width:54px;height:54px}}
  
.container-narrow > p,.container-narrow > ul,.container-narrow > ol{max-width:68ch}
.container-narrow > p{font-size:16.5px;line-height:1.7;color:var(--ink-3);margin:0 0 18px}.nav .links{align-items:center}.nav .links>li{display:flex;align-items:center}.nav ul.links>li>a{color:var(--ink-3)}.nav ul.links>li>a:hover{color:var(--ink);background:rgba(3,155,197,.06)}html{background:#04293a!important;color-scheme:dark}body{background:#04293a!important}
/* ==========================================================================
   CASE FILE ARTICLE
   Typography for /case-files/ pages. Uses the site's existing tokens only:
   --bg #04293a, --bg-2 #063349, --cyan #039bc5, --ink #eef7fa.
   Syne for display, Inter for body, IBM Plex Mono for labels and data —
   the same division of labour used everywhere else on the site.
   ========================================================================== */

.cf{
  max-width:820px;margin:0 auto;padding:46px 28px 100px;
  font-family:'Inter',sans-serif;font-size:16.5px;line-height:1.75;
  color:var(--ink-4);
}

/* breadcrumb ------------------------------------------------------------- */
.cf .crumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-5);opacity:.8;margin-bottom:34px;
}
.cf .crumb a{border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.cf .crumb a:hover,.cf .crumb a:focus-visible{color:var(--cyan);border-bottom-color:var(--cyan)}
.cf .crumb .sep{opacity:.35}

/* masthead --------------------------------------------------------------- */
.cf .kicker{
  display:flex;align-items:center;gap:9px;margin:0 0 15px;
  font-family:'IBM Plex Mono',monospace;font-size:12px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);
}
.cf .kicker::before{
  content:"";flex:none;width:7px;height:7px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 12px var(--cyan);
}
.cf h1{
  font-family:'Syne',sans-serif;font-weight:800;
  font-size:clamp(28px,4.4vw,43px);line-height:1.13;letter-spacing:-.02em;
  color:var(--ink);margin:0 0 18px;
}
.cf .standfirst{
  font-size:19px;line-height:1.62;font-weight:300;
  color:var(--ink-5);margin:0 0 36px;
}

/* spec table ------------------------------------------------------------- */
.cf table.spec{
  width:100%;border-collapse:separate;border-spacing:0;
  margin:0 0 40px;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  font-family:'IBM Plex Mono',monospace;font-size:13px;line-height:1.55;
  background:var(--bg-2);
}
.cf table.spec td{padding:11px 16px;border-top:1px solid var(--line-2);vertical-align:top}
.cf table.spec tr:first-child td{border-top:0}
.cf table.spec td:first-child{
  width:34%;white-space:nowrap;color:var(--cyan);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(3,155,197,.05);
}
.cf table.spec td:last-child{color:var(--ink-3)}

/* body ------------------------------------------------------------------- */
.cf h2{
  font-family:'Syne',sans-serif;font-weight:700;
  font-size:clamp(19px,2.4vw,24px);line-height:1.25;letter-spacing:-.01em;
  color:var(--ink);margin:46px 0 14px;padding-top:22px;
  border-top:1px solid var(--line-2);
}
.cf p{margin:0 0 20px}
.cf strong{color:var(--ink);font-weight:600}
.cf em{color:var(--ink-3)}
.cf a:not(.quote){color:var(--cyan);border-bottom:1px solid rgba(3,155,197,.35);transition:border-color .2s}
.cf a:not(.quote):hover{border-bottom-color:var(--cyan)}

.cf blockquote{
  margin:26px 0;padding:20px 24px;
  background:var(--bg-2);border-left:3px solid var(--cyan);border-radius:0 10px 10px 0;
  font-size:17px;line-height:1.68;color:var(--ink-3);
}
.cf blockquote p:last-child{margin-bottom:0}

/* takeaway panel --------------------------------------------------------- */
.cf .advice{
  margin:44px 0 0;padding:26px 28px;
  background:rgba(3,155,197,.06);border:1px solid var(--line);border-radius:14px;
}
.cf .advice h2{margin:0 0 12px;padding-top:0;border-top:0;font-size:18px}
.cf .advice p:last-child{margin-bottom:0}

/* call to action --------------------------------------------------------- */
.cf .cta{
  display:block;margin:36px 0 0;padding:26px 28px;
  background:var(--bg-2);border:1px solid var(--line);border-radius:14px;
  text-align:left;box-shadow:none;font-size:16px;line-height:1.7;
  font-weight:400;color:var(--ink-4);
}
.cf .cta strong{
  display:block;font-family:'Syne',sans-serif;font-weight:700;
  font-size:19px;line-height:1.3;color:var(--ink);margin:0 0 10px;
}
/* the heading is already display:block, so only the break after it is
   redundant. The second <br> must survive - it separates the sentence
   from the button. */
.cf .cta strong + br{display:none}
/* the phone sits inside a sentence, so it stays at body size */
.cf .cta a[href^="tel:"]{
  font-family:'IBM Plex Mono',monospace;font-size:inherit;font-weight:500;
  color:var(--cyan);white-space:nowrap;
  border-bottom:1px solid rgba(3,155,197,.35);
}
.cf .cta a[href^="tel:"]:hover{border-bottom-color:var(--cyan)}
.cf .cta a.quote{
  display:inline-flex;align-items:center;gap:6px;margin-top:18px;
  padding:12px 22px;border-radius:10px;
  background:var(--grad);color:var(--bg);border-bottom:0;
  font-size:13.5px;font-weight:600;letter-spacing:.01em;
  box-shadow:0 0 24px rgba(3,155,197,.35);transition:transform .2s,box-shadow .2s;
}
.cf .cta a.quote:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(3,155,197,.5)}

.cf .note{
  margin:26px 0 0;font-size:13px;line-height:1.6;
  color:var(--ink-5);opacity:.75;
}

/* pager ------------------------------------------------------------------ */
.cf .pager{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  margin:56px 0 0;padding-top:26px;border-top:1px solid var(--line);
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;
}
.cf .pager a{color:var(--cyan);border-bottom:0}
.cf .pager a:hover{text-decoration:underline}
.cf .pager span{color:var(--ink-5);opacity:.6}
.cf .pager .mid{display:flex;gap:16px;opacity:1}

/* small screens ---------------------------------------------------------- */
@media (max-width:640px){
  .cf{padding:32px 20px 72px;font-size:16px}
  .cf table.spec{font-size:12px}
  .cf table.spec td{padding:9px 12px}
  .cf table.spec td:first-child{width:42%;white-space:normal}
  .cf .pager{flex-direction:column;align-items:flex-start;gap:10px}
}

@media (prefers-reduced-motion:reduce){
  .cf *,.cf *::before{transition:none!important;animation:none!important}
}

/* ==========================================================================
   LIBRARY INDEX + VOLUME LISTINGS
   ========================================================================== */

.cf header.lib{margin-bottom:8px}
.cf .eyebrow{
  display:flex;align-items:center;gap:9px;margin:0 0 15px;
  font-family:'IBM Plex Mono',monospace;font-size:12px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);
}
.cf .eyebrow::before{
  content:"";flex:none;width:7px;height:7px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 12px var(--cyan);
}
.cf .intro{
  font-size:18px;line-height:1.65;font-weight:300;
  color:var(--ink-5);margin:0 0 40px;max-width:68ch;
}

/* volume cards on the library index --------------------------------------- */
.cf ul.vols{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:14px}
.cf ul.vols li{
  padding:22px 24px;background:var(--bg-2);
  border:1px solid var(--line);border-radius:14px;
  transition:border-color .2s,transform .2s;
}
.cf ul.vols li:hover{border-color:rgba(3,155,197,.4);transform:translateY(-1px)}
.cf a.vol{
  font-family:'Syne',sans-serif;font-weight:700;font-size:20px;
  color:var(--ink);border-bottom:0;margin-right:12px;
}
.cf ul.vols li:hover a.vol{color:var(--cyan)}
.cf .range{
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-5);opacity:.75;
}
.cf .blurb{margin:10px 0 0;font-size:15px;color:var(--ink-5);line-height:1.6}

/* case listing inside a volume -------------------------------------------- */
.cf ul:not(.vols){list-style:none;margin:0 0 34px;padding:0}
.cf ul:not(.vols) li{
  padding:0;border-top:1px solid var(--line-2);
}
.cf ul:not(.vols) li:first-child{border-top:0}
.cf ul:not(.vols) li a{
  display:block;padding:14px 0;font-size:15.5px;line-height:1.55;
  color:var(--ink-4);border-bottom:0;transition:color .2s,padding-left .2s;
}
.cf ul:not(.vols) li a:hover,.cf ul:not(.vols) li a:focus-visible{
  color:var(--cyan);padding-left:8px;
}

.cf .backlink{
  display:inline-block;margin-top:8px;
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);border-bottom:0;
}
.cf .backlink:hover{text-decoration:underline}

@media (max-width:640px){
  .cf ul.vols li{padding:18px}
  .cf a.vol{font-size:18px;display:block;margin-bottom:4px}
}

/* ==========================================================================
   CAMBRIDGE ADDITIONS — numbered cases and volume category lists
   ========================================================================== */
.cf .cn{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  color:var(--cyan);opacity:.85;letter-spacing:.06em;
  margin-right:12px;flex:none;min-width:62px;display:inline-block;
}
.cf h2.cat{
  font-family:'Syne',sans-serif;font-weight:700;
  font-size:clamp(18px,2.2vw,22px);color:var(--ink);
  margin:40px 0 12px;padding-top:20px;border-top:1px solid var(--line-2);
}
.cf ul.cases{list-style:none;margin:0 0 30px;padding:0}
.cf ul.cases li{
  display:flex;align-items:baseline;gap:0;
  border-top:1px solid var(--line-2);
}
.cf ul.cases li:first-child{border-top:0}
.cf ul.cases li a{
  display:block;padding:12px 0;font-size:15.5px;line-height:1.5;
  color:var(--ink-4);border-bottom:0;transition:color .2s,padding-left .2s;
}
.cf ul.cases li a:hover{color:var(--cyan);padding-left:8px}
@media (max-width:640px){
  .cf ul.cases li{flex-direction:column;gap:0}
  .cf .cn{margin-bottom:-6px}
}


/* --- Top-level nav alignment -------------------------------------------------
   The four dropdown items are <button> elements; Contact is an <a>. The site's
   reset (button{font:inherit;border:none;background:none}) does not cover the
   remaining UA differences: Firefox adds internal padding via ::-moz-focus-inner,
   and buttons resolve their line box differently from an anchor. Both element
   types are pinned here so the five items share one box.                      */
.nav .links > li{align-items:center}
.nav .links > li > a,
.nav .links > li > button{
  align-self:center;
  line-height:1.5;
  margin:0;
  border:0;
  text-align:left;
  vertical-align:middle;
  -webkit-appearance:none;
  appearance:none;
}
.nav .links > li > button::-moz-focus-inner{border:0;padding:0}

/* --- Case-file headline scales to its own length ------------------------- */
.cf h1.h1-m{font-size:clamp(26px,3.6vw,36px);line-height:1.20}
.cf h1.h1-l{font-size:clamp(25px,3.1vw,32px);line-height:1.26}
.cf h1.h1-xl{font-size:clamp(24px,2.8vw,29px);line-height:1.30}

/* ------------------------------------------------------------------
   Hero layout — September 2026
   1. The hero grid was built for two columns. With the second column
      removed, let the remaining column span the full width instead of
      leaving dead space to the right.
   2. .lead inherits `margin:0 auto` from the generic rule, which centred
      the hero paragraph inside its column so it sat indented relative to
      the heading. Align it left, matching every other site.
   ------------------------------------------------------------------ */
.hero-grid > div:only-child{grid-column:1 / -1;max-width:900px}
.hero .lead{margin-left:0;margin-right:0;max-width:640px}
/* 3. .actions likewise inherits justify-content:center from the generic
      rule, which centred the call-to-action instead of aligning it left. */
.hero .actions{justify-content:flex-start}
.hero .trust-row{justify-content:flex-start}
