:root{
    --blue:#1541F0;--blue-deep:#0E2FB8;--cyan:#2FC6E8;--cyan-bright:#6FE4F5;
    --ink:#0B0F1A;--ink-2:#141B2E;--ink-3:#080B14;--ink-body:#1A2333;--ink-soft:#5A6472;
    --paper:#F4F6FB;--paper-2:#FFFFFF;--mist:#E9EDF7;
    --line-light:rgba(11,15,26,0.10);--line-dark:rgba(255,255,255,0.12);
    --shadow:0 26px 64px -30px rgba(8,15,40,0.42);
    --tb-icon:url("assets/logo-icon.png");
    --tb-lock:url("assets/logo-lockup.png");
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--ink-body);background:var(--paper-2);line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px}
  section[id]{scroll-margin-top:100px}
  .serif{font-family:"Newsreader",Georgia,serif}
  .mono{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
  h1,h2,h3{font-family:"Newsreader",Georgia,serif;font-weight:500;line-height:1.09;letter-spacing:-0.01em;color:var(--ink);text-wrap:balance}
  .eyebrow{font-size:12px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:10px}
  .eyebrow::before{content:"";width:22px;height:2px;background:var(--cyan)}
  a{color:inherit;text-decoration:none}
  .btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:15px 26px;border-radius:3px;cursor:pointer;border:1px solid transparent;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s}
  .btn-primary{background:var(--blue);color:#fff}
  .btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:0 16px 32px -14px rgba(21,65,240,.6)}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-light)}
  .btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
  .btn-arrow{font-size:17px;transition:transform .25s}
  .btn:hover .btn-arrow{transform:translateX(4px)}
  :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}

  /* Photos */
  .photo{position:relative;border-radius:8px;overflow:hidden;background:#0d1530;border:1px solid var(--line-light)}
  .photo img{width:100%;height:100%;object-fit:cover;display:block}
  .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,12,26,.35));pointer-events:none}

  /* Loader */
  #loader{position:fixed;inset:0;z-index:1000;background:radial-gradient(120% 120% at 50% 30%,#ffffff,#eef2fb);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .8s ease,visibility .8s}
  #loader.hide{opacity:0;visibility:hidden}
  #loader video{width:min(360px,72vw);height:min(360px,72vw);border-radius:22px;object-fit:cover;background:#fff;box-shadow:0 40px 90px -30px rgba(21,65,240,.4)}
  #loader .lock{width:230px;height:74px;background:var(--tb-lock) center/contain no-repeat;margin-top:4px}
  #loader .ltag{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--blue);font-weight:700;margin-top:-6px}
  #loader .lbar{width:200px;height:3px;background:rgba(21,65,240,.14);border-radius:3px;overflow:hidden}
  #loader .lbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan-bright));border-radius:3px}
  #loaderSkip{position:absolute;bottom:28px;right:28px;background:none;border:1px solid var(--line-light);color:var(--ink-soft);font-family:inherit;font-size:12.5px;padding:8px 16px;border-radius:40px;cursor:pointer;transition:.2s}
  #loaderSkip:hover{border-color:var(--blue);color:var(--blue)}

  /* Nav */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-light)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:88px;gap:18px}
  .brand{display:flex;align-items:center;flex:0 0 auto}
  .brand .brand-lock{width:150px;height:62px;background:var(--tb-lock) left center/contain no-repeat;display:block}
  .nav-links{display:flex;gap:23px;align-items:center}
  .nav-links a{font-size:14px;font-weight:500;color:var(--ink-soft);transition:color .2s;cursor:pointer;white-space:nowrap}
  .nav-links a:hover{color:var(--ink)}
  .nav-right{display:flex;align-items:center;gap:14px;flex:0 0 auto}
  .login-link{font-size:13.5px;font-weight:600;color:var(--blue);cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
  .login-link:hover{color:var(--blue-deep)}
  .nav-cta{font-size:13px;padding:11px 16px}
  .menu-btn{display:none;background:none;border:1px solid var(--line-light);border-radius:3px;padding:9px 12px;font-size:14px;color:var(--ink);cursor:pointer}

  .hero{background:var(--ink);color:#EAF1FF;position:relative;overflow:hidden}
  .hero::after{content:"";position:absolute;right:-8%;top:-26%;width:660px;height:660px;border-radius:50%;background:radial-gradient(circle,rgba(21,65,240,.30),transparent 62%);pointer-events:none}
  .hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:80px;padding-bottom:88px}
  .hero .eyebrow{color:var(--cyan-bright)}
  .hero .eyebrow::before{background:var(--cyan-bright)}
  .hero h1{color:#F7FAFF;font-size:clamp(2.6rem,5.2vw,4rem);margin:22px 0 22px;max-width:14ch}
  .hero p.lede{font-size:17.5px;color:#B4C3E0;max-width:52ch;margin-bottom:16px}
  .promise-line{font-family:"Newsreader",serif;font-size:20px;color:#EAF1FF;margin-bottom:30px}
  .promise-line b{color:var(--cyan-bright);font-weight:500}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
  .hero .btn-ghost{color:#EAF1FF;border-color:var(--line-dark)}
  .hero .btn-ghost:hover{border-color:var(--cyan-bright);color:var(--cyan-bright)}
  .hero-visual{position:relative}
  .hero-photo{aspect-ratio:4/5}
  .health-card{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(9,13,24,.82);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:16px 18px;z-index:4}
  .hc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
  .hc-label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#9fb0d0;font-weight:600}
  .hc-tag{font-size:10px;color:var(--cyan-bright);border:1px solid rgba(111,228,245,.4);border-radius:2px;padding:3px 7px}
  .hc-gauge{display:flex;align-items:center;gap:14px}
  .gauge{width:66px;height:66px;flex:0 0 66px;position:relative}
  .gauge svg{transform:rotate(-90deg)}
  .gauge-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
  .gauge-num .val{font-family:"IBM Plex Mono",monospace;font-size:21px;font-weight:500;color:#F7FAFF}
  .hc-note{flex:1}
  .hc-note .t{font-family:"Newsreader",serif;font-size:15px;color:#EAF1FF;line-height:1.2}
  .hc-note .s{font-size:11px;color:#9fb0d0;margin-top:3px}
  .hc-bars{display:flex;gap:5px}
  .hc-bars i{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.14)}
  .hc-bars i.on{background:var(--cyan-bright)}

  .trust-strip{border-top:1px solid var(--line-dark);position:relative;z-index:2}
  .trust-strip .wrap{display:flex;flex-wrap:wrap;gap:14px 38px;padding:20px 32px}
  .trust-strip span{font-size:13px;letter-spacing:.06em;color:#8093B5;display:flex;align-items:center;gap:11px;text-transform:uppercase;font-weight:500}
  .trust-strip span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cyan)}

  section{padding:96px 0}
  .sec-head{max-width:648px;margin-bottom:52px}
  .sec-head h2{font-size:clamp(2rem,3.6vw,2.9rem);margin:18px 0 16px}
  .sec-head p{font-size:17px;color:var(--ink-soft)}
  .paper{background:var(--paper)}
  .mist{background:var(--mist)}

  .band{background:var(--ink-3);color:#EAF1FF;text-align:center;padding:80px 0}
  .band .k{font-family:"Newsreader",serif;font-size:clamp(1.7rem,3.4vw,2.5rem);color:#F7FAFF;line-height:1.2;max-width:28ch;margin:0 auto;text-wrap:balance}
  .band .tagline{font-family:"Newsreader",serif;font-style:italic;font-size:clamp(1.6rem,3.2vw,2.3rem);color:#EAF1FF;margin-top:24px}
  .band .tagline .accent{color:var(--cyan-bright);font-style:normal}

  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);border-radius:8px;overflow:hidden}
  .svc{background:var(--paper-2);padding:34px 30px 36px;transition:background .3s}
  .svc:hover{background:#F8FAFF}
  .svc .idx{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--blue);letter-spacing:.1em}
  .svc h3{font-size:22px;margin:16px 0 12px}
  .svc p{font-size:14.5px;color:var(--ink-soft)}

  .serve-grid{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 44px}
  .serve-tag{display:flex;align-items:center;gap:12px;background:var(--paper-2);border:1px solid var(--line-light);padding:15px 22px;border-radius:3px;font-size:15px;font-weight:500;color:var(--ink);transition:.25s}
  .serve-tag:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow)}
  .serve-tag .n{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--cyan)}
  .serve-media{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .serve-media .photo{aspect-ratio:4/5}
  .serve-media .cap{position:absolute;left:14px;bottom:12px;z-index:2;color:#fff;font-family:"Newsreader",serif;font-size:16px;text-shadow:0 2px 12px rgba(0,0,0,.5)}

  /* Animated flowchart */
  .flow{position:relative;margin-top:20px}
  .flow-track{position:absolute;top:33px;left:11%;right:11%;height:3px;background:rgba(21,65,240,.16);border-radius:3px}
  .flow-track .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:3px;transition:width 2s cubic-bezier(.4,0,.2,1)}
  .flow.in .fill{width:100%}
  .flow-track .dot{position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:50%;background:var(--cyan-bright);box-shadow:0 0 0 5px rgba(111,228,245,.22);transform:translate(-50%,-50%);animation:travel 3.4s ease-in-out infinite}
  @keyframes travel{0%,100%{left:0%}50%{left:100%}}
  .flow-nodes{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative;z-index:2}
  .fnode{text-align:center;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}
  .flow.in .fnode{opacity:1;transform:none}
  .flow.in .fnode:nth-child(2){transition-delay:.18s}
  .flow.in .fnode:nth-child(3){transition-delay:.36s}
  .flow.in .fnode:nth-child(4){transition-delay:.54s}
  .fnode .circle{width:68px;height:68px;border-radius:50%;background:#fff;border:2px solid var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--blue);position:relative}
  .fnode .circle .num{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-family:"IBM Plex Mono",monospace;font-size:11px;display:flex;align-items:center;justify-content:center}
  .fnode h3{font-size:18px;margin-bottom:8px}
  .fnode p{font-size:13.5px;color:var(--ink-soft)}

  .score-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
  .score-list{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:16px}
  .score-list li{display:flex;gap:14px;font-size:15.5px;color:var(--ink-body)}
  .score-list .chk{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:rgba(21,65,240,.10);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:2px}
  .score-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
  .score-visual{position:relative}
  .hs-photo{aspect-ratio:4/5}
  .score-float{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(9,13,24,.86);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:18px 20px;z-index:4}
  .sf-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
  .sf-label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#9fb0d0;font-weight:600}
  .sf-tag{font-size:10px;color:var(--cyan-bright);border:1px solid rgba(111,228,245,.4);border-radius:2px;padding:3px 7px}
  .sf-big{font-family:"IBM Plex Mono",monospace;font-size:38px;color:var(--cyan-bright);line-height:1;margin-bottom:14px}
  .sf-big span:last-child{font-size:16px;color:#7E8CAE}
  .sf-bars{display:flex;flex-direction:column;gap:10px}
  .sf-bl{display:flex;justify-content:space-between;font-size:12px;color:#cdd8ee;margin-bottom:5px}
  .sf-bl .mono{color:var(--cyan-bright)}
  .sf-track{height:6px;background:rgba(255,255,255,.14);border-radius:4px;overflow:hidden}
  .sf-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan-bright));border-radius:4px;transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
  .hs-measures{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
  .hsm{border-left:2px solid var(--cyan);padding-left:14px;font-size:13.5px;color:var(--ink-soft)}
  .hsm b{display:block;color:var(--ink);font-family:"Hanken Grotesk",sans-serif;font-weight:600;font-size:14.5px;margin-bottom:2px}
  .hs-bands{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px;border-top:1px solid var(--line-light);padding-top:40px}
  .hsb{font-size:14px;color:var(--ink-soft)}
  .hsb b{display:block;color:var(--ink);font-size:15px;margin:8px 0 6px;font-family:"Hanken Grotesk",sans-serif;font-weight:600}
  .hsb .dot{width:12px;height:12px;border-radius:50%;display:inline-block}
  .hsb .dot.red{background:#E5734E}.hsb .dot.amber{background:#E0A93B}.hsb .dot.green{background:#35A79E}
  /* catch-up */
  .catchup-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
  .cc-card{background:var(--ink);border:1px solid var(--line-dark);border-radius:12px;padding:30px 32px;color:#EAF1FF;box-shadow:var(--shadow)}
  .cc-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:14px;color:#B4C3E0}
  .cc-row:last-of-type{border-bottom:none}
  .cc-row b{font-family:"IBM Plex Mono",monospace;color:#F7FAFF;font-size:17px}
  .cc-row b.ok{color:var(--cyan-bright);font-family:"Hanken Grotesk",sans-serif;font-size:15px}
  .cc-note{font-size:12px;color:#7E8CAE;margin-top:14px}
  /* pricing */
  .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
  .price{background:#fff;border:1px solid var(--line-light);border-radius:14px;padding:32px 28px;display:flex;flex-direction:column}
  .price.feat{border-color:var(--blue);box-shadow:0 30px 70px -34px rgba(21,65,240,.5);position:relative}
  .price .pop{position:absolute;top:-13px;left:28px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 13px;border-radius:20px}
  .price .ptier{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:700}
  .price h3{font-size:24px;margin:6px 0 4px}
  .price .pdesc{font-size:13.5px;color:var(--ink-soft);min-height:40px}
  .price .amt{font-family:"IBM Plex Mono",monospace;font-size:40px;color:var(--ink);margin:18px 0 2px;line-height:1}
  .price .amt span{font-size:15px;color:var(--ink-soft)}
  .price .gst{font-size:12.5px;color:var(--ink-soft);margin-bottom:22px}
  .price ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:26px;flex:1}
  .price li{font-size:14px;color:var(--ink-body);display:flex;gap:10px;line-height:1.45}
  .price li .c{flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:rgba(21,65,240,.1);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:10px;margin-top:2px}
  .price .btn{width:100%;justify-content:center}
  .ent{background:var(--ink);color:#EAF1FF;border-radius:14px;padding:36px 34px;margin-top:20px;display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:center}
  .ent .ptier{color:var(--cyan-bright)}
  .ent h3{color:#F7FAFF;font-size:26px;margin:6px 0 8px}
  .ent p{color:#9fb0d0;font-size:15px}
  .ent .ent-cta{text-align:right}
  .ent .ent-cta .price-note{font-size:12.5px;color:#7E8CAE;margin-top:10px}
  .price-note-lead{font-size:13px;color:var(--ink-soft);margin-top:14px}
  .track{height:5px;background:rgba(255,255,255,.12);border-radius:3px;overflow:hidden}
  .track i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan-bright));border-radius:3px;width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}

  /* Payments */
  .pay-inner{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}
  .pay-list{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:14px}
  .pay-list li{display:flex;gap:13px;font-size:15px;color:var(--ink-body)}
  .pay-list .chk{flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:rgba(21,65,240,.10);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:2px}
  .pay-card{background:#fff;border:1px solid var(--line-light);border-radius:14px;padding:32px 32px 28px;box-shadow:var(--shadow)}
  .pay-card .pc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
  .pay-card .pc-head b{font-family:"Newsreader",serif;font-size:21px;color:var(--ink);font-weight:500}
  .pay-card .pc-head .sec{font-size:11px;color:var(--ink-soft);display:flex;align-items:center;gap:6px}
  .pay-field{margin-bottom:14px}
  .pay-field label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:6px}
  .pay-field input{width:100%;border:1px solid var(--line-light);border-radius:6px;padding:12px 14px;font-family:inherit;font-size:14px;color:var(--ink)}
  .pay-field input:focus{outline:none;border-color:var(--blue)}
  .pay-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .pay-methods{display:flex;gap:8px;margin:8px 0 18px;flex-wrap:wrap}
  .pay-methods span{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-light);border-radius:4px;padding:6px 10px}
  .pay-card .btn{width:100%;justify-content:center}
  .pay-note{margin-top:14px;font-size:12px;color:var(--ink-soft);text-align:center;display:flex;gap:7px;align-items:center;justify-content:center}
  #payNote{display:none;margin-top:14px;font-size:13px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line-light);border-radius:8px;padding:12px 14px;text-align:center}

  .portal{background:var(--ink);color:#EAF1FF}
  .portal .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
  .portal .eyebrow{color:var(--cyan-bright)}.portal .eyebrow::before{background:var(--cyan-bright)}
  .portal h2{color:#F7FAFF;font-size:clamp(2rem,3.6vw,2.8rem);margin:18px 0 16px}
  .portal p.sub{color:#9fb0d0;font-size:17px}
  .portal-list{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:14px}
  .portal-list li{display:flex;gap:13px;font-size:15px;color:#cdd8ee}
  .portal-list .chk{flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:rgba(111,228,245,.14);color:var(--cyan-bright);display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:2px}
  .portal-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
  .pbadge{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#9fb0d0;border:1px solid var(--line-dark);border-radius:3px;padding:7px 12px;display:flex;align-items:center;gap:7px}
  .pbadge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan)}
  .login-card{background:rgba(255,255,255,.04);border:1px solid var(--line-dark);border-radius:12px;padding:30px 30px 26px;box-shadow:var(--shadow)}
  .login-card .lc-head{display:flex;align-items:center;gap:11px;margin-bottom:20px}
  .login-card .lc-head .ico{width:34px;height:31px;background:var(--tb-icon) center/contain no-repeat}
  .login-card .lc-head b{font-family:"Newsreader",serif;font-size:19px;color:#F7FAFF;font-weight:500}
  .login-card .lc-head span{font-size:11px;color:#8FA0C4;display:block}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:12px;color:#9fb0d0;margin-bottom:6px}
  .field input{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);border-radius:5px;padding:12px 14px;color:#EAF1FF;font-family:inherit;font-size:14px}
  .field input::placeholder{color:#6E7DA0}
  .field input:focus{outline:none;border-color:var(--cyan)}
  .login-card .btn{width:100%;justify-content:center;margin-top:6px}
  .lc-secure{margin-top:16px;font-size:11px;color:#8FA0C4;display:flex;align-items:center;gap:7px;justify-content:center}

  .why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:8px;overflow:hidden}
  .why{background:var(--ink);padding:30px 32px}
  .why .mono{font-size:12px;color:var(--cyan);letter-spacing:.08em}
  .why h3{color:#F7FAFF;font-size:20px;margin:12px 0 9px}
  .why p{font-size:14px;color:#9fb0d0}

  .about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
  .about-photo{aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#101a3a,#1c2b57);border:1px solid var(--line-light);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
  .about-photo .ph{color:#9fb4d8;font-size:13px}
  .about-photo .ph .t{color:#EAF1FF;font-family:"Newsreader",serif;font-size:17px;margin:12px 0 6px}
  .about-name{font-family:"Newsreader",serif;font-size:clamp(1.8rem,3vw,2.3rem);color:var(--ink);margin:16px 0 6px}
  .about-role{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:600}
  .about-poc{display:inline-flex;align-items:center;gap:9px;margin-top:20px;background:var(--paper);border:1px solid var(--line-light);border-radius:40px;padding:9px 18px;font-size:14px;font-weight:600;color:var(--ink)}
  .about-poc .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan)}
  .about-bio{margin-top:22px;font-size:16px;color:var(--ink-soft);max-width:52ch}
  .about-pending{margin-top:18px;font-size:13px;color:var(--ink-soft);border-left:2px solid var(--cyan);padding-left:14px;font-style:italic}
  .about-contact{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
  .about-contact a{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--ink);border:1px solid var(--line-light);border-radius:4px;padding:11px 16px;transition:.2s}
  .about-contact a:hover{border-color:var(--blue);color:var(--blue)}

  .areas-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
  .region-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
  .region{font-family:"IBM Plex Mono",monospace;font-size:13.5px;color:var(--ink);border:1px solid var(--line-light);padding:9px 15px;border-radius:3px;background:var(--paper-2)}
  .remote-note{font-size:14px;color:var(--ink-soft);margin-top:24px;padding-left:16px;border-left:2px solid var(--cyan)}
  .areas-photo{aspect-ratio:4/3}

  .faq-list{max-width:820px;border-top:1px solid var(--line-light)}
  .faq-item{border-bottom:1px solid var(--line-light)}
  .faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:24px 40px 24px 0;font-family:"Newsreader",serif;font-size:19px;color:var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
  .faq-q .pm{flex:0 0 auto;width:24px;height:24px;border:1px solid var(--line-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:18px;transition:.25s;line-height:1;margin-top:3px}
  .faq-item.open .pm{background:var(--blue);color:#fff;border-color:var(--blue);transform:rotate(45deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
  .faq-a p{padding:0 40px 26px 0;font-size:15.5px;color:var(--ink-soft)}

  .cta-final{background:var(--ink);color:#EAF1FF;text-align:center}
  .cta-final h2{color:#F7FAFF;font-size:clamp(2.1rem,4vw,3.1rem);max-width:20ch;margin:0 auto 20px}
  .cta-final p{color:#9fb0d0;font-size:17px;max-width:48ch;margin:0 auto 30px}
  .cta-contact{display:flex;gap:14px 30px;justify-content:center;flex-wrap:wrap;margin-top:30px}
  .cta-contact a{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:#EAF1FF;font-weight:500}
  .cta-contact a:hover{color:var(--cyan-bright)}
  .cta-contact .ci{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;color:var(--cyan-bright)}

  footer{background:var(--ink-3);color:#8093B5;padding:56px 0 40px}
  .foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;padding-bottom:34px;border-bottom:1px solid var(--line-dark)}
  .foot-lock{width:180px;height:96px;background:var(--tb-lock) left center/contain no-repeat}
  .foot-cols{display:flex;gap:56px;flex-wrap:wrap}
  .foot-col h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6E7DA0;margin-bottom:14px;font-weight:600}
  .foot-col a{display:block;font-size:14px;color:#9fb0d0;margin-bottom:9px;transition:color .2s;cursor:pointer}
  .foot-col a:hover{color:var(--cyan-bright)}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:26px;font-size:12.5px;color:#6E7DA0}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
  .reveal.in{opacity:1;transform:none}

  .modal-backdrop{position:fixed;inset:0;background:rgba(6,10,22,.62);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}
  .modal-backdrop.open{display:flex}
  .modal{background:#fff;border-radius:14px;max-width:540px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 40px 90px -30px rgba(6,12,30,.6);position:relative}
  .modal-head{padding:28px 30px 20px;border-bottom:1px solid var(--line-light)}
  .modal-head .eyebrow{margin-bottom:12px}
  .modal-head h3{font-size:25px}
  .modal-head p{font-size:14px;color:var(--ink-soft);margin-top:8px}
  .modal-body{padding:24px 30px 30px}
  .modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-light);background:#fff;cursor:pointer;font-size:18px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;z-index:2}
  .modal-close:hover{color:var(--ink);border-color:var(--ink)}
  .m-field{margin-bottom:14px}.m-field label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:6px}
  .m-field input{width:100%;background:#fff;border:1px solid var(--line-light);border-radius:6px;padding:12px 14px;font-family:inherit;font-size:14px;color:var(--ink)}
  .m-field input:focus{outline:none;border-color:var(--blue)}
  .bk-connect{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line-light);border-radius:8px;padding:12px 14px;font-size:13px;color:var(--ink-soft);margin-bottom:22px}
  .bk-connect b{color:var(--ink)}
  .bk-days{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
  .bk-day{border:1px solid var(--line-light);border-radius:8px;padding:10px 14px;cursor:pointer;text-align:center;min-width:62px;transition:.2s;background:#fff}
  .bk-day.sel{border-color:var(--blue);background:rgba(21,65,240,.06)}
  .bk-day .dow{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}
  .bk-day .dnum{font-family:"IBM Plex Mono",monospace;font-size:18px;color:var(--ink);font-weight:500}
  .bk-slots-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-weight:600}
  .bk-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}
  .bk-slot{border:1px solid var(--line-light);border-radius:6px;padding:10px 6px;text-align:center;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--ink);transition:.2s;background:#fff}
  .bk-slot:hover{border-color:var(--blue)}
  .bk-slot.sel{background:var(--blue);color:#fff;border-color:var(--blue)}
  .bk-form{display:none}.bk-form.show{display:block}
  .bk-success{display:none;text-align:center;padding:14px 0}.bk-success.show{display:block}
  .bk-success .ok{width:56px;height:56px;border-radius:50%;background:rgba(21,65,240,.1);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 16px}
  .bk-success h4{font-family:"Newsreader",serif;font-size:22px;color:var(--ink);margin-bottom:8px}
  .bk-success p{font-size:14px;color:var(--ink-soft);max-width:36ch;margin:0 auto}
  .bk-alt{margin-top:18px;text-align:center;font-size:13px;color:var(--ink-soft)}.bk-alt a{color:var(--blue);font-weight:600}
  .auth-hint{margin-top:6px;font-size:11.5px;color:var(--ink-soft);display:flex;gap:7px;align-items:flex-start}

  @media (max-width:940px){
    .hero .wrap{grid-template-columns:1fr;gap:48px;padding-top:60px;padding-bottom:64px}
    .hero-visual{max-width:400px}
    .svc-grid{grid-template-columns:repeat(2,1fr)}
    .serve-media{grid-template-columns:repeat(2,1fr)}
    .flow-nodes{grid-template-columns:repeat(2,1fr);gap:34px 24px}
    .flow-track{display:none}
    .score-feature{grid-template-columns:1fr;gap:44px}
    .pay-inner{grid-template-columns:1fr;gap:40px}
    .catchup-grid{grid-template-columns:1fr;gap:40px}
    .price-grid{grid-template-columns:1fr}
    .ent{grid-template-columns:1fr;gap:22px}.ent .ent-cta{text-align:left}
    .hs-bands{grid-template-columns:1fr;gap:24px}
    .portal .wrap{grid-template-columns:1fr;gap:44px}
    .why-grid{grid-template-columns:1fr}
    .about-grid{grid-template-columns:1fr;gap:36px}.about-photo{max-width:340px}
    .areas-inner{grid-template-columns:1fr;gap:40px}
    .nav-links{display:none}.menu-btn{display:inline-block}
    .nav-links.open{display:flex;position:absolute;top:88px;left:0;right:0;flex-direction:column;background:var(--paper-2);border-bottom:1px solid var(--line-light);padding:22px 32px;gap:18px}
    .nav-links.open a{font-size:16px}
    .login-link span{display:none}
  }
  @media (max-width:560px){
    .wrap{padding:0 22px}
    section{padding:70px 0}
    .svc-grid,.serve-media{grid-template-columns:1fr}
    .flow-nodes{grid-template-columns:1fr}
    .nav-cta{display:none}
    .pay-row{grid-template-columns:1fr}
    .bk-slots{grid-template-columns:repeat(3,1fr)}
  }
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.fnode{opacity:1;transform:none}.flow .fill{width:100%}}