  :root{
    /* GoAddress brand palette */
    --bg: #ffffff;
    --bg-2: #f4f7fb;
    --ink: #00145A;          /* primary deep navy */
    --ink-2: #4b5d85;        /* muted navy */
    --line: #e3e8ef;
    --accent: #17DEFD;       /* primary cyan */
    --accent-2: #0ec4e0;     /* darker cyan */
    --accent-soft: #e6fbff;
    --navy: #00145A;
  }
  *{ box-sizing:border-box; -webkit-font-smoothing:antialiased; }
  html{ scroll-padding-top:88px; }
  html,body{ background:var(--bg); color:var(--ink); font-family:"Inter Tight", system-ui, sans-serif; }
  body{ overflow-x:hidden; }
  img,video{ max-width:100%; height:auto; }
  .mono{ font-family:"JetBrains Mono", ui-monospace, monospace; }
  .eyebrow{
    font-family:"JetBrains Mono", monospace;
    font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink-2);
  }
  .eyebrow .dot{ display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-right:8px; vertical-align:middle; transform:translateY(-1px);}
  h1,h2,h3{ font-family:"Inter Tight", sans-serif; font-weight:600; letter-spacing:-.02em; text-wrap:balance;}
  .display{ font-size:clamp(2.6rem, 6.4vw, 5.6rem); font-weight:600; line-height:.98; letter-spacing:-.035em;}
  .h-section{ font-size:clamp(2rem, 3.6vw, 3.4rem); line-height:1; letter-spacing:-.03em;}

  /* Nav */
  .nav-wrap{
    position:fixed; top:0; left:0; right:0; z-index:60;
    padding:18px 0;
    transition:all .35s ease;
    backdrop-filter: blur(14px);
    background: color-mix(in oklab, var(--bg) 60%, transparent);
    border-bottom:1px solid transparent;
  }
  .nav-wrap.scrolled{
    background: color-mix(in oklab, var(--bg) 88%, transparent);
    border-bottom:1px solid var(--line);
    padding:12px 0;
  }
  .brand-mark{
    display:inline-flex; align-items:center; gap:10px; font-weight:600; color:var(--ink); text-decoration:none;
  }
  .brand-mark .glyph{
    width:30px; height:30px; border-radius:8px;
    background: var(--accent); position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-weight:700; font-size:1rem; font-family:"Inter Tight";
  }
  .brand-mark .glyph::after{
    content:""; position:absolute; right:-4px; bottom:-4px; width:14px; height:14px; border-radius:50%;
    background: #fff; border: 3px solid var(--accent);
  }
  .nav-link-x{
    color:#0e0f89; text-decoration:none; font-size:1rem; padding:8px 12px; border-radius:8px;
    font-family: "Inter Tight", sans-serif;
    transition:color .2s;
  }
  .nav-link-x:hover{ color:var(--ink); }
  .btn-pill{
    background:var(--ink); color:var(--bg); border:1px solid var(--ink);
    border-radius:999px; padding:10px 20px; font-size:.92rem; font-weight:500;
    display:inline-flex; align-items:center; gap:8px;
    transition:transform .2s, background .2s;
  }
  .btn-pill:hover{ background:var(--accent); border-color:var(--accent); color:var(--ink); transform:translateY(-1px);}
  .btn-ghost{
    background:transparent; color:var(--ink); border:1px solid var(--ink);
    border-radius:999px; padding:10px 20px; font-size:.92rem; font-weight:500;
    display:inline-flex; align-items:center; gap:8px;
  }
  .btn-ghost:hover{ border-color:var(--ink); }

  /* Mobile nav toggle */
  .nav-toggle{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    width:40px; height:40px; flex:0 0 auto;
    background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:0;
  }
  .nav-toggle span{
    display:block; width:18px; height:2px; border-radius:2px; background:var(--ink);
    transition: transform .25s ease, opacity .25s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
  @media (max-width: 575.98px){
    .nav-toggle{ margin-right:12px; }
  }

  .mobile-menu{
    max-height:0; overflow:hidden;
    display:flex; flex-direction:column;
    transition: max-height .3s ease;
  }
  .nav-wrap.menu-open .mobile-menu{ max-height:60vh; overflow-y:auto; }
  .nav-wrap.menu-open{
    background: var(--bg);
    border-bottom:1px solid var(--line);
  }
  .mobile-menu-link{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    color:var(--ink); text-decoration:none; font-size:1.02rem; font-weight:500;
    padding:14px 4px; border-top:1px solid var(--line);
  }
  @media (min-width: 992px){ .mobile-menu{ display:none !important; } }
  @media (max-width: 991.98px){
    .mobile-menu{ padding:0 24px; margin-top:14px; }
  }

  /* Hero */
  .hero{
    padding: 160px 0 80px;
    position:relative;
    background: url('logos/herobg.png');
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .hero-grid-bg{
    position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.55;
    background-image:
      linear-gradient(to right, var(--line) 1px, transparent 1px),
      linear-gradient(to bottom, var(--line) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 35%, transparent 75%);
  }
  .hero-lines{
    position:absolute; inset:0; pointer-events:none; z-index:0;
    overflow:hidden;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 30%, transparent 75%);
  }
  .hero-lines .ln{
    position:absolute; background: linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity:0;
  }
  .hero-lines .ln.h{ height:1.5px; left:-30%; right:-30%;
    animation: rollH var(--d, 6s) linear var(--delay, 0s) infinite;
  }
  .hero-lines .ln.v{ width:1.5px; top:-30%; bottom:-30%;
    background: linear-gradient(180deg, transparent, var(--accent), transparent);
    animation: rollV var(--d, 7s) linear var(--delay, 0s) infinite;
  }
  @keyframes rollH{
    0%   { transform:translateX(-40%); opacity:0; }
    15%  { opacity:.85; }
    85%  { opacity:.85; }
    100% { transform:translateX(40%); opacity:0; }
  }
  @keyframes rollV{
    0%   { transform:translateY(-40%); opacity:0; }
    15%  { opacity:.7; }
    85%  { opacity:.7; }
    100% { transform:translateY(40%); opacity:0; }
  }
  .hero .container{ position:relative; z-index:1;}

  /* word reveal */
  .reveal-words .w{
    display:inline-block; opacity:0; transform:translateY(28px);
    transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .reveal-words.in .w{ opacity:1; transform:none; }
  .reveal-words .w.accent{ color:var(--accent); font-style:italic; font-weight:500;}

  .hero-sub{ font-size:1.15rem; color:#fff; max-width:560px; line-height:1.5; text-shadow:0 2px 18px rgba(0,20,90,.4);}

  .hero-meta{ display:flex; gap:28px; flex-wrap:wrap; margin-top:28px;}
  .hero-meta .stat{ display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.82); font-size:.88rem;}
  .hero-meta .stat strong{ color:#fff; font-weight:600; font-size:1.1rem; font-family:"JetBrains Mono", monospace; text-shadow:0 2px 14px rgba(0,20,90,.4);}
  @media (min-width: 992px){
    .hero-meta .stat{ color:var(--ink-2); text-shadow:none; }
    .hero-meta .stat strong{ color:var(--ink); text-shadow:none; }
  }

  /* Terminal card */
  .terminal{
    background: var(--navy); color:#e7eaf3;
    border-radius:18px; box-shadow: 0 30px 80px -30px rgba(10,37,64,.45), 0 0 0 1px rgba(255,255,255,.04) inset;
    overflow:hidden; font-family:"JetBrains Mono", monospace;
    position:relative;
  }
  .terminal .bar{
    display:flex; align-items:center; gap:8px; padding:12px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:.78rem; color:#9ec5ff;
  }
  .terminal .bar .dots{ display:flex; gap:6px;}
  .terminal .bar .dots i{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.18);}
  .terminal .body{ padding:22px 22px 26px; font-size:.86rem; line-height:1.7;}
  .tk-key{ color:#9ad2ff;} .tk-str{ color:#ffb997;} .tk-num{ color:#c5b1ff;} .tk-com{ color:#7e95b3;} .tk-fn{ color:#7be3a8;}
  .cursor{ display:inline-block; width:8px; height:1.05em; background:var(--accent); vertical-align:-2px; animation:blink 1s steps(2) infinite;}
  @keyframes blink{ 50%{ opacity:0;} }

  .terminal .float-chip{
    position:absolute; right:18px; top:18px;
    background:rgba(123,227,168,.12); border:1px solid rgba(123,227,168,.25);
    border-radius:999px; padding:6px 12px; font-size:.7rem; letter-spacing:.12em;
    color:#7be3a8; display:flex; align-items:center; gap:8px;
  }
  .terminal .float-chip i{ width:7px; height:7px; border-radius:50%; background:#7be3a8; box-shadow:0 0 0 4px rgba(123,227,168,.18); animation:pulse 2s ease-in-out infinite;}
  @keyframes pulse{ 50%{ box-shadow:0 0 0 8px rgba(123,227,168,0);} }

  /* Address lookup demo */
  .lookup-demo{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 30px 80px -34px rgba(10,37,64,.32);
    padding:22px;
    position:relative;
    overflow:hidden;
  }
  .lookup-demo::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(to right, rgba(0,20,90,.05) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(0,20,90,.05) 1px, transparent 1px);
    background-size:32px 32px;
    mask-image:linear-gradient(#000, transparent 78%);
    pointer-events:none;
  }
  .lookup-demo > *{ position:relative; z-index:1; }
  .lookup-video-demo{
    padding:0;
    background:#fff;
    background-image:url("Live_lookup.mov.png");
    background-position:center;
    background-size:cover;
  }
  .lookup-video-demo::before{ display:none; }
  .lookup-demo-video{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:734 / 1000;
    object-fit:cover;
    border:0;
  }
  .lookup-demo-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
  }
  .lookup-kicker{
    display:block;
    color:var(--ink-2);
    font-family:"JetBrains Mono", monospace;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-bottom:8px;
  }
  .lookup-demo h2{
    font-size:1.85rem;
    line-height:1;
    margin:0;
    color:var(--ink);
  }
  .lookup-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#16864c;
    background:rgba(123,227,168,.16);
    border:1px solid rgba(22,134,76,.16);
    border-radius:999px;
    padding:7px 10px;
    font-family:"JetBrains Mono", monospace;
    font-size:.72rem;
    white-space:nowrap;
  }
  .lookup-status i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#18a65d;
    box-shadow:0 0 0 4px rgba(24,166,93,.14);
  }
  .lookup-search{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    background:var(--bg-2);
    border:1px solid var(--line);
    border-radius:14px;
    padding:8px;
  }
  .lookup-search i{ color:var(--ink-2); padding-left:6px; }
  .lookup-search input{
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ink);
    font:600 1rem "Inter Tight", system-ui, sans-serif;
  }
  .lookup-search input::placeholder{ color:#7a89a8; }
  .lookup-search button{
    border:0;
    border-radius:10px;
    background:var(--ink);
    color:#fff;
    padding:10px 14px;
    font-weight:600;
  }
  .lookup-tabs{
    display:flex;
    gap:8px;
    margin:14px 0 16px;
  }
  .lookup-tabs button{
    border:1px solid var(--line);
    background:#fff;
    color:var(--ink-2);
    border-radius:999px;
    padding:7px 12px;
    font-size:.86rem;
  }
  .lookup-tabs button.active{
    background:var(--accent-soft);
    border-color:var(--accent);
    color:var(--ink);
  }
  .lookup-result-count{
    color:var(--ink-2);
    font-size:.88rem;
    margin-bottom:10px;
  }
  .lookup-results{
    display:flex;
    flex-direction:column;
    gap:8px;
    max-height:292px;
    overflow:auto;
    padding-right:4px;
  }
  .lookup-item{
    width:100%;
    text-align:left;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    transition:transform .2s ease, border-color .2s ease, background .2s ease;
  }
  .lookup-item:hover,
  .lookup-item.active{
    transform:translateY(-1px);
    border-color:var(--ink);
    background:#f9fcff;
  }
  .lookup-item strong{
    display:block;
    color:var(--ink);
    font-size:.96rem;
    line-height:1.2;
  }
  .lookup-item span{
    display:block;
    color:var(--ink-2);
    font-size:.84rem;
    margin-top:3px;
  }
  .lookup-item code{
    align-self:start;
    color:var(--ink);
    background:var(--accent-soft);
    border-radius:999px;
    padding:5px 8px;
    font-size:.72rem;
  }
  .selected-address{
    margin-top:16px;
    background:linear-gradient(135deg, var(--ink) 0%, #103a66 100%);
    color:#fff;
    border-radius:14px;
    padding:16px;
  }
  .selected-address .selected-label{
    color:#9ec5ff;
    font-family:"JetBrains Mono", monospace;
    font-size:.7rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-bottom:8px;
  }
  .selected-address strong,
  .selected-address span{ display:block; }
  .selected-address span{
    color:#cfdcef;
    font-size:.9rem;
    margin-top:3px;
  }
  @media (max-width: 480px){
    .lookup-demo{ }
    .lookup-demo-head{ flex-direction:column; }
    .lookup-search{ grid-template-columns:auto 1fr; }
    .lookup-search button{ grid-column:1 / -1; }
    .lookup-item{ grid-template-columns:1fr; }
    .lookup-item code{ width:fit-content; }
  }

  /* logos marquee */
  .marquee{
    overflow:hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    border-block:1px solid var(--line);
    padding:28px 0;
    background:var(--bg-2);
  }
  .marquee-track{
    display:flex;
    align-items:center;
    width:max-content;
    animation: scroll 60s linear infinite;
    will-change:transform;
  }
  .marquee-group{
    display:flex;
    align-items:center;
    gap:20px;
    flex:0 0 auto;
    padding-right:20px;
  }
  @keyframes scroll{ to { transform: translateX(-50%);} }
  .logo-item{
    width:156px;
    height:54px;
    padding:8px 14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    overflow:hidden;
  }
  .logo-item img{
    display:block;
    max-width:133px;
    max-height:50px !important;
    width:auto;
    height:auto;
    object-fit:contain;
    margin-right:0 !important;
  }
  .logo-item-dark{
    background:var(--ink);
    border-color:var(--ink);
  }
  .logo-item .pip{ width:8px; height:8px; background:currentColor; border-radius:2px; opacity:.4;}

  /* Section base */
  section{ padding: 100px 0; position:relative;}
  .reveal{ opacity:0; transform:translateY(40px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{ opacity:1; transform:none;}
  .reveal-scale{ opacity:0; transform:scale(.92); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal-scale.in{ opacity:1; transform:scale(1);}
  .reveal-left{ opacity:0; transform:translateX(-60px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal-left.in{ opacity:1; transform:none;}
  .reveal-right{ opacity:0; transform:translateX(60px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal-right.in{ opacity:1; transform:none;}

  /* scroll progress bar */
  .scroll-progress{
    position:fixed; top:0; left:0; height:3px; width:0;
    background:linear-gradient(90deg, var(--accent), #6aa6ff);
    z-index:200; transition: width .15s linear;
  }

  /* shimmer text */
  .shimmer{
    background: linear-gradient(90deg, var(--ink) 30%, var(--accent) 50%, var(--ink) 70%);
    background-size: 200% 100%;
    -webkit-background-clip:text; background-clip:text; color:transparent;
    animation: shimmerMove 4s linear infinite;
  }
  @keyframes shimmerMove{ to { background-position: -200% 0; } }

  /* number counter section */
  .stats-band{
    background: linear-gradient(135deg, var(--ink) 0%, #103a66 100%);
    color:#fff; border-radius:24px; padding:64px 48px; position:relative; overflow:hidden;
  }
  .stats-band::before{
    content:""; position:absolute; inset:0; opacity:.4;
    background-image:
      radial-gradient(circle at 20% 20%, #1a73e8 0 2px, transparent 3px),
      radial-gradient(circle at 80% 70%, #6aa6ff 0 2px, transparent 3px),
      linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 56px 56px, 56px 56px;
    mask-image: radial-gradient(ellipse at center, #000, transparent 80%);
  }
  .stats-band .container-i{ position:relative; z-index:1;}
  .stats-grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 36px;
  }
  @media (max-width: 800px){ .stats-grid{ grid-template-columns: repeat(2, 1fr);} }
  .stat-cell{ border-left:1px solid rgba(255,255,255,.18); padding-left:22px;}
  .stat-cell .num{
    font-size:clamp(2.6rem, 5vw, 4.4rem); font-weight:600; line-height:1; letter-spacing:-.03em;
    background: linear-gradient(135deg, #fff 0%, #9ec5ff 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .stat-cell .lbl{ color:#9ec5ff; font-family:"JetBrains Mono", monospace; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; margin-top:10px;}
  .stat-cell .desc{ color:#cfdcef; font-size:.95rem; margin-top:6px;}

  /* tilt card on hover */
  .tilt{ transition: transform .35s cubic-bezier(.2,.7,.2,1); transform-style:preserve-3d;}

  /* Floating decorative blobs in hero */
  .float-blob{
    position:absolute; border-radius:50%; filter: blur(60px);
    pointer-events:none; opacity:.5; z-index:0;
  }
  .float-blob.b1{ width:360px; height:360px; background:#6aa6ff; top:-80px; right:-60px; animation: floatBlob 12s ease-in-out infinite;}
  .float-blob.b2{ width:300px; height:300px; background:#1a73e8; bottom:-120px; left:-80px; opacity:.25; animation: floatBlob 15s ease-in-out infinite reverse;}
  @keyframes floatBlob{ 50%{ transform:translate(20px, 30px) scale(1.06);} }

  /* Feature cards */
  .feat-grid{ display:grid; grid-template-columns: repeat(12, 1fr); gap:14px;}
  .feat-card{
    background:var(--bg-2); border:1px solid var(--line); border-radius:18px; padding:28px;
    position:relative; overflow:hidden;
    transition: transform .35s ease, border-color .35s ease, background .35s ease;
  }
  .feat-card:hover{ transform:translateY(-4px); border-color:var(--ink); }
  .feat-card .num{
    font-family:"JetBrains Mono", monospace; font-size:.72rem; letter-spacing:.16em; color:var(--ink-2);
  }
  .feat-card h3{ font-size:1.45rem; margin:18px 0 10px; line-height:1.1;}
  .feat-card p{ color:var(--ink-2); font-size:.95rem; line-height:1.55; margin:0;}
  .feat-card .icon{
    width:42px; height:42px; border-radius:11px; background:var(--bg);
    border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--ink);
    font-size:1.15rem;
  }
  .span-6{ grid-column: span 6;} .span-4{ grid-column: span 4;} .span-8{ grid-column: span 8;} .span-12{grid-column: span 12;}
  @media (max-width: 900px){ .span-6,.span-4,.span-8{ grid-column: span 12;} }

  .live-fast-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:18px;
  }
  .live-fast-card{
    min-height:220px;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--bg);
    padding:28px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    box-shadow: 0 18px 45px -34px rgba(0,20,90,.45);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
  }
  .live-fast-card:hover{
    transform:translateY(-4px);
    border-color:var(--accent);
    box-shadow: 0 24px 55px -36px rgba(0,20,90,.55);
  }
  .live-fast-card .icon{
    width:48px;
    height:48px;
    border-radius:15px;
    background:var(--bg-2);
    border:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--accent);
    font-size:1.25rem;
  }
  .live-fast-card h3{
    margin:22px 0 10px;
    font-size:1.55rem;
    line-height:1.12;
  }
  .live-fast-card p{
    color:var(--ink-2);
    line-height:1.6;
    margin:0;
  }
  .live-fast-card .link-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:22px;
    color:var(--accent);
    font-weight:700;
    text-decoration:none;
  }
  @media (max-width: 900px){
    .live-fast-grid{ grid-template-columns:1fr; }
    .live-fast-card{ min-height:auto; }
  }

  .feat-big{
    background: linear-gradient(135deg, var(--ink) 0%, #103a66 100%);
    color:#fff;
    min-height:340px; padding:36px;
  }
  .feat-big:hover{ border-color:var(--accent);}
  .feat-big h3{ font-size:2rem; line-height:1.05; margin-bottom:14px; color:#fff;}
  .feat-big p{ color:#cfdcef;}
  .feat-big .map{
    position:absolute; right:-30px; bottom:-30px; width:340px; height:340px; opacity:.7;
    background-image:
      radial-gradient(circle at 40% 60%, #4d96f0 0 4px, transparent 5px),
      radial-gradient(circle at 70% 30%, #9ec5ff 0 3px, transparent 4px),
      radial-gradient(circle at 25% 25%, #6aa6ff 0 2px, transparent 3px),
      radial-gradient(circle at 60% 75%, #cfdcef 0 2px, transparent 3px),
      linear-gradient(to right, rgba(255,255,255,.08) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 28px 28px, 28px 28px;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000, transparent 75%);
    animation: floatMap 18s ease-in-out infinite;
  }
  @keyframes floatMap{ 50%{ transform:translate(-12px,-8px);} }

  /* Stacking service cards */
  .stack-section{
    padding:100px 0 120px;
    background:
      linear-gradient(to right, rgba(0,20,90,.04) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(0,20,90,.04) 1px, transparent 1px),
      var(--bg);
    background-size:56px 56px;
  }
  .stack-track{
    display:flex;
    flex-direction:column;
    gap:34px;
  }
  .stack-card{
    position:sticky;
    top:calc(92px + (var(--stack-i) * 22px));
    min-height:520px;
    border-radius:22px;
    padding:40px;
    background:#fff;
    border:1px solid var(--line);
    display:grid;
    grid-template-columns:minmax(0, .88fr) minmax(320px, 1.12fr);
    gap:38px;
    align-items:stretch;
    box-shadow: 0 28px 70px -34px rgba(10,37,64,.28);
    transform:scale(calc(1 - (var(--stack-i) * .025)));
    transform-origin:top center;
    z-index:calc(10 + var(--stack-i));
  }
  .stack-card.dark{ background:var(--ink); color:#fff; border-color:var(--ink);}
  .stack-card.dark h3{ color:#fff;}
  .stack-card .step{ font-family:"JetBrains Mono", monospace; font-size:.78rem; letter-spacing:.16em; color:var(--accent); font-weight:600;}
  .stack-card h3{ font-size:clamp(2.1rem, 4vw, 3.4rem); line-height:1; letter-spacing:-.03em; margin:20px 0 14px; color:var(--ink);}
  .stack-card p{ font-size:1.08rem; line-height:1.5; color:var(--ink-2); max-width:440px;}
  .stack-card.dark p{ color:#cfdcef;}
  .stack-card.dark .step{ color:#9ec5ff;}
  .stack-vis{
    min-height:320px;
    border-radius:14px;
    background-image:
      linear-gradient(to right, var(--line) 1px, transparent 1px),
      linear-gradient(to bottom, var(--line) 1px, transparent 1px);
    background-size: 28px 28px; background-color: var(--bg);
    position:relative; overflow:hidden;
  }
  .stack-card.dark .stack-vis{
    background-color:#0f3360;
    background-image:
      linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  }
  .code-demo{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .code-demo-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-width:0;
  }
  .code-tabs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:thin;
  }
  .code-tabs button,
  .copy-code-btn{
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#cfdcef;
    border-radius:999px;
    padding:8px 12px;
    font-size:.78rem;
    font-weight:600;
    white-space:nowrap;
  }
  .code-tabs button.active{
    background:var(--accent);
    border-color:var(--accent);
    color:var(--ink);
  }
  .copy-code-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .copy-code-btn.copied{
    background:rgba(123,227,168,.16);
    border-color:rgba(123,227,168,.45);
    color:#7be3a8;
  }
  .code-scroll{
    flex:1;
    min-height:0;
    overflow-x:auto;
    overflow-y:auto;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    background:rgba(1,18,48,.56);
    scrollbar-width:thin;
  }
  .code-panel{
    display:none;
    min-width:max-content;
    margin:0;
    padding:18px;
    color:#9ad2ff;
    font-size:.84rem;
    line-height:1.75;
    white-space:pre;
  }
  .code-panel.active{ display:block; }
  @media (max-width: 900px){
    .stack-section{ padding:80px 0; }
    .stack-track{ gap:22px; }
    .stack-card{
      position:relative;
      top:auto;
      min-height:0;
      grid-template-columns:1fr;
      padding:28px;
      transform:none;
    }
    .stack-vis{ min-height:260px; }
    .code-demo-top{
      align-items:flex-start;
      flex-direction:column;
    }
  }

  /* postcode pill demo */
  .pc-input{
    background:var(--bg); border:1px solid var(--line); border-radius:12px;
    padding:14px 18px; font-family:"JetBrains Mono", monospace; font-size:1rem; display:flex; align-items:center; gap:10px;
    width:fit-content;
  }
  .pc-input .typed{ color:var(--ink); }
  .pc-input .placeholder{ color:var(--ink-2); }
  .pc-results{ margin-top:14px; display:flex; flex-direction:column; gap:6px;}
  .pc-row{
    background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:10px 14px;
    font-size:.88rem; display:flex; justify-content:space-between; align-items:center;
    transform: translateX(-8px); opacity:0; transition: all .5s ease;
  }
  .pc-row.show{ transform:none; opacity:1;}
  .pc-row .id{ font-family:"JetBrains Mono", monospace; color:var(--ink-2); font-size:.78rem;}

  /* Reviews */
  #reviewViewport{
    margin-top:-6px;
    padding-top:6px;
  }
  .review-strip{
    display:grid; grid-template-columns: repeat(2, 1fr); gap:18px;
  }
  @media (max-width: 768px){ .review-strip{ grid-template-columns: 1fr; }}
  .review-card{
    background:var(--bg-2); border:1px solid var(--line); border-radius:18px; padding:30px;
    display:flex; flex-direction:column; gap:18px;
    transition: transform .4s ease, box-shadow .4s ease;
  }
  .review-card:hover{
    border-color:color-mix(in oklab, var(--line) 48%, var(--accent));
    transform:translateY(-3px);
    box-shadow: 0 18px 40px -24px oklch(0.22 0.04 260 / .25);
  }
  .stars{ color:var(--accent); letter-spacing:2px;}
  .quote{ font-size:1.15rem; line-height:1.45; letter-spacing:-.01em;}
  .reviewer{ display:flex; align-items:center; gap:14px; margin-top:auto;}
  .avatar{
    width:42px; height:42px; border-radius:50%; background:var(--ink); color:var(--bg);
    display:flex; align-items:center; justify-content:center; font-weight:600; font-family:"Inter Tight";
  }
  .avatar.a2{ background:var(--accent); }
  .avatar.a3{ background:#5d8fcc;}
  .avatar.a4{ background:#0a4cab;}
  .reviewer .name{ font-weight:600; font-size:.95rem;}
  .reviewer .role{ font-size:.82rem; color:var(--ink-2);}

  .review-pager{ display:flex; gap:8px; margin-top:30px; justify-content:center;}
  .review-pager button{
    width:36px; height:6px; background:var(--line); border:0; border-radius:3px; cursor:pointer; transition: background .3s, width .3s;
  }
  .review-pager button.active{ background:var(--ink); width:54px;}

  /* Pricing */
  .price-tabs{
    display:inline-flex; padding:4px; background:var(--bg-2); border:1px solid var(--line); border-radius:999px;
  }
  .price-tabs button{
    background:transparent; border:0; padding:8px 18px; border-radius:999px; font-size:.9rem; color:var(--ink-2);
    font-family:"Inter Tight";
  }
  .price-tabs button.active{ background:var(--ink); color:#fff;}

  /* Volume pills */
  .vol-pills{
    display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:32px;
    max-width: 760px; margin-left:auto; margin-right:auto;
  }
  .vol-pill{
    background:var(--bg-2); border:1px solid var(--line); color:var(--ink-2);
    padding:9px 16px; border-radius:999px; font-family:"JetBrains Mono", monospace;
    font-size:.82rem; cursor:pointer; transition: all .25s ease; font-weight:500;
  }
  .vol-pill:hover{ border-color:var(--ink); color:var(--ink);}
  .vol-pill.active{
    background:var(--ink); color:var(--accent); border-color:var(--ink);
    box-shadow: 0 8px 24px -10px rgba(0,20,90,.4);
  }

  /* Plan stage */
  .plan-stage{ max-width:1100px; margin:0 auto;}
  .plan-card{
    background: linear-gradient(135deg, var(--ink) 0%, #1a2d80 100%);
    color:#fff; border-radius:24px; padding:48px;
    display:grid; grid-template-columns: 1.4fr 1fr; gap:48px;
    position:relative; overflow:hidden;
    box-shadow: 0 30px 80px -30px rgba(0,20,90,.55);
  }
  .plan-card::before{
    content:""; position:absolute; right:-100px; top:-100px; width:420px; height:420px; border-radius:50%;
    background: radial-gradient(circle, var(--accent), transparent 65%);
    opacity:.25; pointer-events:none;
  }
  .plan-card::after{
    content:""; position:absolute; inset:0; pointer-events:none;
    background-image:
      linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 100% 80% at 100% 0%, #000, transparent 70%);
  }
  @media (max-width: 900px){ .plan-card{ grid-template-columns: 1fr; padding:32px; gap:28px;} }
  .plan-left, .plan-right{ position:relative; z-index:1;}
  .plan-tier{
    background: rgba(23,222,253,.16); color:var(--accent); padding:6px 14px; border-radius:999px;
    font-family:"JetBrains Mono", monospace; font-size:.78rem; letter-spacing:.16em; font-weight:600;
    border:1px solid rgba(23,222,253,.3);
  }
  .plan-badge{
    background: var(--accent); color:var(--ink); padding:5px 12px; border-radius:999px;
    font-family:"JetBrains Mono", monospace; font-size:.7rem; letter-spacing:.14em; font-weight:700;
  }
  .plan-amt{
    font-size: clamp(3rem, 6vw, 5rem); font-weight:600; letter-spacing:-.04em; line-height:1; margin:8px 0 8px;
    color:#fff;
  }
  .plan-amt .plan-per{ font-size:1rem; color:#9ec5ff; font-weight:400; letter-spacing:0;}
  .plan-sub{ color:#bcd2f5; font-size:1.05rem; max-width:420px; line-height:1.45;}

  .plan-grid{
    display:grid; grid-template-columns: 1fr 1fr; gap:18px; margin-top:30px;
  }
  @media (max-width: 600px){ .plan-grid{ grid-template-columns:1fr;} }
  .plan-feat{
    display:flex; gap:12px; align-items:flex-start;
  }
  .plan-feat .ic{
    width:36px; height:36px; flex-shrink:0; border-radius:10px;
    background: rgba(23,222,253,.14); color:var(--accent); display:flex; align-items:center; justify-content:center;
    font-size:1rem;
  }
  .plan-feat strong{ display:block; color:#fff; font-size:.95rem; font-weight:500;}
  .plan-feat span{ display:block; color:#9ec5ff; font-size:.8rem; margin-top:2px;}

  /* Right side */
  .plan-meter{
    background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:16px;
    padding:20px;
  }
  .meter-label{ font-size:.7rem; letter-spacing:.16em; color:#ffffff; margin-bottom:12px; font-weight:600;}
  .meter-bar{
    background: rgba(255,255,255,.18); height:10px; border-radius:5px; overflow:hidden; position:relative;
  }
  .meter-fill{
    display:block; height:100%; width:0%;
    background: linear-gradient(90deg, var(--accent), #6aa6ff);
    border-radius:5px; transition: width .8s cubic-bezier(.2,.7,.2,1);
    box-shadow: 0 0 20px rgba(23,222,253,.5);
  }
  .meter-vals{ display:flex; justify-content:space-between; margin-top:10px; color:#ffffff;}
  .meter-tick{ display:none;}

  .plan-savings{
    margin-top:16px;
    padding:20px;
    background:linear-gradient(135deg, rgba(23,222,253,.28), rgba(123,227,168,.18));
    border:1px solid rgba(23,222,253,.65);
    border-radius:16px;
    position:relative;
    overflow:hidden;
    box-shadow:0 18px 42px -24px rgba(23,222,253,.7), inset 0 1px 0 rgba(255,255,255,.24);
  }
  .plan-savings::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 85% 18%, rgba(255,255,255,.26), transparent 28%),
      linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
    transform:translateX(-100%);
    animation:savingShine 4s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes savingShine{
    0%, 42%{ transform:translateX(-100%); }
    68%, 100%{ transform:translateX(100%); }
  }
  .plan-savings .saving-kicker{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:8px;
    color:#ffffff;
    font-size:.75rem;
    letter-spacing:.16em;
    font-weight:700;
  }
  .plan-savings .saving-kicker i{
    color:var(--accent);
    font-size:1rem;
  }
  .plan-savings .save-amt{
    position:relative;
    z-index:1;
    color:#ffffff; font-size:2.35rem; font-weight:700; letter-spacing:-.02em;
    display:flex; align-items:baseline; gap:8px;
    margin-top:6px;
  }
  .plan-savings .save-amt .small{ color:#ffffff; font-size:.78rem; letter-spacing:.1em; opacity:.85;}
  .plan-savings p{
    position:relative;
    z-index:1;
    margin:4px 0 0;
    color:#dffbff;
    font-size:.88rem;
    line-height:1.35;
  }

  .plan-perks{
    display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;
  }
  .perk{
    display:inline-flex; align-items:center; gap:6px; font-size:.78rem;
    background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.55);
    padding:6px 12px; border-radius:999px; transition: all .3s ease;
  }
  .perk i{ font-size:.85rem;}
  .perk.on{
    background: rgba(23,222,253,.18); border-color: rgba(23,222,253,.5); color:#ffffff; font-weight:500;
  }
  .perk.on i{ color:var(--accent);}
  .price-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16px;}
  @media (max-width: 900px){ .price-grid{ grid-template-columns: 1fr;}}
  .price-card{
    background:var(--bg-2); border:1px solid var(--line); border-radius:18px; padding:30px;
    display:flex; flex-direction:column; gap:18px;
    transition: border-color .3s, transform .3s;
  }
  .price-card:hover{ border-color:var(--ink); transform:translateY(-3px);}
  .price-card.featured{ background:var(--ink); color:#fff; border-color:var(--ink); position:relative;}
  .price-card.featured .tier{ color:var(--accent) !important;}
  .price-card.featured .small,.price-card.featured .ftr li{ color:#e2ecff;}
  .price-card.featured .ftr li::before{
    background:#fff; border-color:#fff;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6 L5 9 L10 3' stroke='%231a73e8' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat:no-repeat; background-position:center;
  }
  .price-card.featured .badge-pop{
    position:absolute; top:-12px; right:24px; background:var(--ink); color:#fff;
    font-size:.7rem; padding:5px 12px; border-radius:999px; letter-spacing:.1em; font-family:"JetBrains Mono", monospace;
  }
  .price-card .tier{ font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; font-family:"JetBrains Mono", monospace;}
  .price-card .amt{ font-size:3rem; font-weight:600; letter-spacing:-.03em; line-height:1;}
  .price-card .small{ color:var(--ink-2); font-size:.85rem;}
  .ftr{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
  .ftr li{ font-size:.92rem; color:var(--ink-2); display:flex; gap:10px; align-items:flex-start;}
  .ftr li::before{
    content:""; width:14px; height:14px; border-radius:50%; background: var(--accent-soft);
    border:1px solid var(--accent); flex-shrink:0; margin-top:3px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6 L5 9 L10 3' stroke='%231a73e8' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat:no-repeat; background-position:center;
  }
  .price-card.featured .ftr li::before{ filter: brightness(1.6);}

  /* FAQ */
  .faq-item{
    border-bottom:1px solid var(--line); padding:20px 0; cursor:pointer;
  }
  .faq-q{ display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:1.15rem; font-weight:500;}
  .faq-q .ic{
    width:30px; height:30px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition: transform .3s, background .3s, color .3s;
  }
  .faq-item[open] .faq-q .ic{ background:var(--ink); color:var(--bg); transform:rotate(45deg);}
  .faq-a{ color:var(--ink-2); padding-top:12px; max-width:760px; line-height:1.55;}

  /* CTA */
  .cta-block{
    background: linear-gradient(135deg, var(--ink) 0%, #1a2d80 100%); color:#fff; border-radius:24px; padding:80px 56px; position:relative; overflow:hidden;
  }
  .cta-block::before{
    content:""; position:absolute; right:-100px; top:-100px; width:480px; height:480px; border-radius:50%;
    background: radial-gradient(circle, var(--accent), transparent 70%);
    opacity:.3;
  }
  .cta-block h2{ font-size: clamp(2.4rem, 5vw, 4.2rem); line-height:.98; letter-spacing:-.03em;}
  .cta-input{
    display:flex; align-items:center; gap:8px; background:oklch(1 0 0 / .08); border:1px solid oklch(1 0 0 / .15); border-radius:999px;
    padding:6px 6px 6px 22px; max-width:480px;
  }
  .cta-input input{ background:transparent; border:0; outline:0; flex:1; color:var(--bg); font-family:"JetBrains Mono", monospace; padding:10px 0;}
  .cta-input input::placeholder{ color:#bcd2f5;}
  .cta-input input{ color:#fff;}
  .cta-input button,
  .cta-input a{
    background:var(--accent); color:var(--ink); border:0; border-radius:999px; padding:10px 22px; font-weight:600;
    text-decoration:none;
  }

  /* Footer */
  footer{ padding:60px 0 40px; border-top:1px solid var(--line); margin-top:80px;}
  footer .col h6{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); font-family:"JetBrains Mono", monospace; margin-bottom:14px;}
  footer .col a{ display:block; color:var(--ink); text-decoration:none; padding:5px 0; font-size:.95rem;}
  footer .col a:hover{ color:var(--accent);}

  /* Cookie consent */
  .cookie-banner{
    position:fixed;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:1000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    max-width:920px;
    margin:0 auto;
    padding:18px 20px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:0 24px 70px -32px rgba(10,37,64,.45);
  }
  .cookie-banner[hidden]{
    display:none;
  }
  .cookie-copy strong{
    display:block;
    color:var(--ink);
    font-size:1rem;
    margin-bottom:4px;
  }
  .cookie-copy p{
    margin:0;
    color:var(--ink-2);
    font-size:.94rem;
    line-height:1.45;
  }
  .cookie-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
  }
  .cookie-btn{
    border:1px solid var(--ink);
    border-radius:999px;
    padding:9px 18px;
    font-weight:600;
    font-size:.9rem;
  }
  .cookie-btn-primary{
    background:var(--ink);
    color:#fff;
  }
  .cookie-btn-secondary{
    background:#fff;
    color:var(--ink);
  }

  /* utility */
  .badge-soft{
    display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; background:var(--bg-2); border:1px solid var(--line);
    border-radius:999px; padding:6px 14px; font-size:.78rem; line-height:1.4; color:var(--ink-2); font-family:"JetBrains Mono", monospace;
    max-width:100%;
  }
  .badge-soft i{ width:6px; height:6px; border-radius:50%; background:var(--accent);}

  /* Compliance row */
  .comp-row{ display:flex; flex-wrap:wrap; gap:10px;}
  .comp-pill{
    border:1px solid var(--line); background:var(--bg-2); border-radius:999px; padding:8px 16px; font-size:.85rem;
    display:flex; align-items:center; gap:10px;
  }
  .comp-pill .check{ color:var(--accent);}

  /* Responsive hardening */
  @media (max-width: 991.98px){
    .hero{
      padding:128px 0 64px;
    }
    .hero .row{
      row-gap:36px;
    }
    .lookup-video-demo{
      max-width:520px;
      margin-inline:auto;
    }
    section{
      padding:76px 0;
    }
    .stats-band{
      padding:44px 28px;
      border-radius:18px;
    }
    .feat-big{
      min-height:280px;
    }
    .feat-big .map{
      width:260px;
      height:260px;
      opacity:.45;
    }
    #reviewTrack{
      gap:0 !important;
    }
    .plan-card{
      border-radius:20px;
    }
    .cta-block{
      padding:56px 34px;
      border-radius:20px;
    }
  }

  @media (max-width: 767.98px){
    html{
      scroll-padding-top:76px;
    }
    .nav-wrap{
      padding:12px 0;
      background:color-mix(in oklab, var(--bg) 90%, transparent);
      border-bottom:1px solid rgba(227,232,239,.75);
      backdrop-filter:blur(12px);
    }
    .brand-mark img{
      max-width:150px;
      height:auto;
    }
    .btn-pill,
    .btn-ghost{
      padding:9px 14px;
      font-size:.86rem;
      min-height:42px;
      justify-content:center;
    }
    .nav-wrap .btn-pill{
      padding-inline:12px;
      white-space:nowrap;
    }
    .hero{
      padding:106px 0 52px;
    }
    .display{
      font-size:2.8rem;
      line-height:1;
    }
    .h-section{
      font-size:2.18rem;
      line-height:1.05;
    }
    .hero-sub{
      font-size:1.02rem;
    }
    .hero-meta{
      gap:14px;
    }
    .hero-meta .stat{
      width:100%;
    }
    .reveal-left,
    .reveal-right{
      transform:translateY(32px);
    }
    .float-blob{
      filter:blur(48px);
      opacity:.28;
    }
    .float-blob.b1{
      width:220px;
      height:220px;
      right:-100px;
      top:40px;
    }
    .float-blob.b2{
      width:200px;
      height:200px;
    }
    .marquee{
      padding:20px 0;
    }
    .marquee-group{
      gap:12px;
      padding-right:12px;
    }
    .logo-item{
      width:128px;
      height:48px;
      padding:7px 10px;
    }
    .logo-item img{
      max-width:108px;
      max-height:36px !important;
    }
    section{
      padding:64px 0;
    }
    .stats-band{
      padding:34px 22px;
    }
    .stats-grid{
      grid-template-columns:1fr;
      gap:24px;
    }
    .stat-cell{
      border-left:0;
      border-top:1px solid rgba(255,255,255,.18);
      padding:20px 0 0;
    }
    .stat-cell:first-child{
      border-top:0;
      padding-top:0;
    }
    .feat-card,
    .feat-big{
      padding:24px;
      border-radius:14px;
    }
    .feat-card h3{
      font-size:1.28rem;
    }
    .feat-big h3{
      font-size:1.7rem;
    }
    .stack-section{
      padding:64px 0;
    }
    .stack-card{
      border-radius:16px;
      padding:22px;
    }
    .stack-card h3{
      font-size:2rem;
    }
    .stack-card p{
      font-size:1rem;
    }
    .stack-vis{
      min-height:220px;
    }
    .stack-vis .mono{
      overflow-x:auto;
      white-space:nowrap;
      display:block;
      padding-bottom:4px;
    }
    .pc-input{
      width:100%;
      flex-wrap:wrap;
      font-size:.9rem;
    }
    .pc-row{
      display:grid;
      grid-template-columns:1fr;
      gap:4px;
      align-items:start;
    }
    .review-card{
      padding:24px;
    }
    .quote{
      font-size:1.04rem;
    }
    .price-tabs{
      width:100%;
      max-width:360px;
    }
    .price-tabs button{
      flex:1;
      padding-inline:10px;
    }
    .vol-pills{
      justify-content:flex-start;
      flex-wrap:nowrap;
      overflow-x:auto;
      padding:2px 2px 10px;
      margin-inline:-2px;
      scrollbar-width:none;
    }
    .vol-pills::-webkit-scrollbar{
      display:none;
    }
    .vol-pill{
      flex:0 0 auto;
      padding:9px 13px;
    }
    .plan-card{
      padding:28px 22px;
      border-radius:18px;
    }
    .plan-amt{
      font-size:3.25rem;
    }
    .plan-grid{
      gap:14px;
    }
    .plan-savings{
      padding:18px;
    }
    .plan-savings .save-amt{
      font-size:2rem;
      flex-wrap:wrap;
    }
    .plan-perks{
      gap:7px;
    }
    .perk{
      font-size:.74rem;
      padding:6px 10px;
    }
    .comp-row{
      justify-content:flex-start !important;
    }
    .comp-pill{
      border-radius:12px;
      width:100%;
    }
    .faq-q{
      align-items:flex-start;
      font-size:1.02rem;
      line-height:1.28;
    }
    .cta-block{
      padding:42px 22px;
      border-radius:18px;
    }
    .cta-input{
      display:grid;
      grid-template-columns:auto 1fr;
      border-radius:18px;
      padding:12px;
      gap:10px;
    }
    .cta-input input{
      min-width:0;
      width:100%;
    }
    .cta-input button,
    .cta-input a{
      grid-column:1 / -1;
      width:100%;
      min-height:44px;
    }
    .cookie-banner{
      left:14px;
      right:14px;
      bottom:14px;
      display:block;
      padding:16px;
    }
    .cookie-actions{
      margin-top:14px;
      width:100%;
    }
    .cookie-btn{
      flex:1;
      min-height:42px;
    }
    footer{
      margin-top:52px;
      padding:44px 0 32px;
    }
  }

  @media (max-width: 420px){
    .container{
      --bs-gutter-x:1.25rem;
    }
    .brand-mark img{
      max-width:130px;
    }
    .nav-wrap .btn-pill{
      font-size:.8rem;
      padding-inline:10px;
    }
    .display{
      font-size:2.42rem;
    }
    .h-section{
      font-size:1.94rem;
    }
    .badge-soft{
      border-radius:14px;
      font-size:.72rem;
    }
    .lookup-video-demo{
      border-radius:14px;
    }
    .stats-band{
      padding:28px 18px;
    }
    .feat-card,
    .feat-big,
    .stack-card,
    .review-card,
    .plan-card,
    .cta-block{
      border-radius:14px;
    }
    .stack-card{
      padding:18px;
    }
    .stack-vis{
      min-height:190px;
    }
    .plan-tier,
    .plan-badge{
      white-space:normal;
      line-height:1.2;
    }
    .plan-amt{
      font-size:2.82rem;
    }
    .plan-amt .plan-per{
      display:block;
      margin-top:4px;
    }
    .saving-kicker{
      line-height:1.3;
    }
    .cta-block h2{
      font-size:2.28rem;
    }
  }
