
  :root{
    --ink:#141C29; --ink-2:#1D2838;
    --paper:#F5F7F9; --card:#FFFFFF;
    --rule:#DBE1E9; --rule-dk:#2C3746;
    --muted:#5B6675; --muted-dk:#8A94A6;
    --accent:#1B44C8; --accent-lt:#5B84FF; --accent-soft:#E8EDFC;
    --wrap:1220px;
    --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
  .wrap{max-width:1220px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
  a{color:inherit;text-decoration:none}
  p{max-width:68ch;margin-bottom:16px}
  p:last-child{margin-bottom:0}
  .lbl,.hint,.note,.crumb,.fbot p,.stat span,.opt2 span,.qa p,.svc p{margin-bottom:0}
  .case p,.col p{margin-bottom:14px}
  .case p:last-of-type,.col p:last-of-type{margin-bottom:0}
  .article p{margin-bottom:19px}
  .hint{font-size:13px;color:var(--muted);margin:0;max-width:none}
  .lbl{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
  h2{font-family:Archivo,sans-serif;font-weight:600;letter-spacing:-.025em;font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1.15}
  h3{font-family:Archivo,sans-serif;font-weight:600;font-size:1.06rem;letter-spacing:-.012em}
  section{padding:clamp(52px,7.5vw,84px) 0}
  .shead{margin-bottom:32px}
  .shead h2{margin:10px 0 12px}
  .shead p{color:var(--muted);margin-bottom:0}

  .trust{background:var(--ink-2);color:#9AA5B6;font-size:12.5px}
  .trust .wrap{display:flex;flex-wrap:nowrap;gap:6px 22px;padding-top:9px;padding-bottom:9px;overflow:hidden}
  .trust b{color:#D4DAE4;font-weight:500}
  @media(max-width:1340px){.trust .wrap>span:nth-child(n+6){display:none}}
  @media(max-width:1100px){.trust .wrap>span:nth-child(n+4){display:none}}
  @media(max-width:820px){.trust .wrap>span:nth-child(n+3){display:none}}
  @media(max-width:560px){.trust .wrap>span:nth-child(n+2){display:none}}

  header{position:sticky;top:0;z-index:50;background:rgba(20,28,41,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule-dk)}
  .bar{display:flex;align-items:center;gap:14px;height:58px;flex-wrap:nowrap}
  .mark{font-family:Archivo,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:-.02em;color:#fff;margin-right:12px;white-space:nowrap;flex:none}
  .mark-w > span{color:var(--accent-lt)}
  nav{display:flex;gap:18px;margin-right:auto;white-space:nowrap}
  nav a{font-size:13.5px;color:#AEB8C7;position:relative;padding-bottom:3px;white-space:nowrap}
  nav a:hover{color:#fff}
  nav a[aria-current="page"]{color:#fff;font-weight:500}
  nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent-lt);border-radius:1px}
  @media(max-width:1080px){nav{display:none}}

  .bar .tel{font-family:var(--mono);font-size:12.5px;color:#AEB8C7;white-space:nowrap;letter-spacing:.02em}
  .bar .tel:hover{color:#fff}
  @media(max-width:1340px){.bar .tel{display:none}}
  .btn{display:inline-block;background:var(--accent);color:#fff;padding:9px 16px;border-radius:3px;font-size:13.5px;font-weight:500;white-space:nowrap}
  .btn:hover{background:#1638A8}
  .btn.lg{padding:13px 24px;font-size:15px}
  .btn.ghost{background:transparent;border:1px solid var(--rule-dk);color:#E6EAF0}
  .btn.ghost2{background:transparent;border:1px solid var(--rule-dk);color:#C2CBD8;white-space:nowrap}
  .btn.ghost2:hover{background:transparent;border-color:var(--accent-lt);color:#fff}
  .btn.ghost:hover{border-color:var(--accent-lt)}
  .btn.dark{background:var(--ink)}
  .btn.dark:hover{background:var(--ink-2)}
  .btn.outline{background:transparent;border:1px solid var(--rule);color:var(--ink)}
  .btn.outline:hover{border-color:var(--accent);color:var(--accent)}
  .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

  .hero{background:var(--ink);color:#fff;padding:clamp(52px,8vw,88px) 0 0}
  .hero .lbl{color:var(--accent-lt)}
  .hero h1{font-family:Archivo,sans-serif;font-weight:600;font-size:clamp(2.05rem,5.2vw,3.4rem);line-height:1.06;letter-spacing:-.035em;margin:18px 0 22px;max-width:20ch}
  .hero h1 em{font-style:normal;color:var(--muted-dk)}
  .hero p{color:#C2CBD8;font-size:clamp(1rem,2vw,1.1rem);max-width:60ch}
  .note{font-size:13.5px;color:#7A8698;margin-top:14px}

  .cov{margin-top:clamp(40px,5vw,58px);border-top:1px solid var(--rule-dk)}
  .cov-row{display:grid;grid-template-columns:1.7fr 110px 1fr 190px;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule-dk);align-items:baseline}
  .cov-row.head span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#6C7688}
  .cov-row.head span:nth-child(2),.cov-row.head span:nth-child(4){text-align:right}
  .cov-row b{font-weight:500;font-size:15.5px;color:#fff}
  .cov-row .n{font-family:var(--mono);font-size:14px;color:var(--accent-lt);text-align:right}
  .cov-row .c{font-family:var(--mono);font-size:13px;color:#94A0B2}
  .cov-row .v{font-size:13px;color:#7A8698;text-align:right}
  .cov-row .v a{color:#94A0B2;border-bottom:1px solid #46536A}
  .cov-row .v a:hover{color:#fff}
  .cov-row.soon b,.cov-row.soon .n{color:#5E6879}
  @media(max-width:760px){
    .cov-row{grid-template-columns:minmax(0,1fr) auto;gap:3px 14px}
    .cov-row.head{display:none}
    .cov-row .c{grid-column:1}
    .cov-row .v{grid-column:1/-1;font-size:12.5px}
  }

  .stats .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule-dk)}
  .stats{background:var(--ink-2);color:#fff}
  .stat{background:var(--ink-2);padding:24px clamp(16px,3vw,26px)}
  .stat b{display:block;font-family:Archivo,sans-serif;font-size:1.9rem;font-weight:600;letter-spacing:-.03em;line-height:1}
  .stat span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#7A8698;margin-top:8px}
  @media(max-width:760px){.stats .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

  .sits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .sit{background:var(--card);padding:26px 24px}
  .sit .q{font-family:Archivo,sans-serif;font-size:1.1rem;font-weight:600;line-height:1.35;letter-spacing:-.015em;margin-bottom:12px}
  .sit p{font-size:14.5px;color:var(--muted);margin-bottom:14px}
  .sit a{font-size:14px;color:var(--accent);font-weight:500}
  .sit a:hover{text-decoration:underline}
  @media(max-width:820px){.sits{grid-template-columns:1fr}}

  .grp{margin-bottom:32px}
  .grp>.lbl{display:block;padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
  .svc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:baseline;background:var(--card);border:1px solid var(--rule);border-top:none;padding:17px 20px}
  .svc .price{font-family:var(--mono);font-size:13.5px;white-space:nowrap;text-align:right}
  .svc .price small{display:block;color:var(--muted);font-size:11px;letter-spacing:.04em}
  .svc p{grid-column:1/-1;font-size:14px;color:var(--muted);max-width:80ch}
  @media(max-width:640px){.svc{grid-template-columns:1fr}.svc .price{text-align:left}}

  .cases{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .case{background:var(--card);padding:26px}
  .case .meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
  .case h3{font-size:1.18rem;margin-bottom:10px}
  .case p{font-size:14.5px;color:var(--muted)}
  .case .out{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px}
  .case .out b{font-family:var(--mono);color:var(--accent);font-weight:500}

  .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .col{background:var(--card);padding:24px}
  .col h3{margin-bottom:8px}
  .col p{font-size:14.5px;color:var(--muted)}
  @media(max-width:760px){.cols{grid-template-columns:1fr}}

  .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;counter-reset:s}
  .step{counter-increment:s}
  .step::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em;display:block;margin-bottom:10px}
  .step h3{margin-bottom:7px}
  .step p{font-size:14.5px;color:var(--muted)}
  @media(max-width:760px){.steps{grid-template-columns:1fr;gap:22px}}

  .scan{background:var(--accent-soft);border:1px solid #CBD8F7;padding:clamp(28px,5vw,44px)}
  .scan p{margin:14px 0 20px;color:#33405A}
  .scan ul{list-style:none;margin:0 0 22px;display:grid;gap:8px}
  .scan li{font-size:14.5px;color:#33405A;padding-left:20px;position:relative}
  .scan li::before{content:"\2192";position:absolute;left:0;color:var(--accent)}

  .lang{background:var(--card);border:1px solid var(--rule);padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:26px}
  .lang h3{margin-bottom:7px}
  .lang p{font-size:14.5px;color:var(--muted)}
  @media(max-width:700px){.lang{grid-template-columns:1fr;gap:20px}}

  .ver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .vcell{background:var(--card);padding:18px 20px;display:block}
  a.vcell:hover{background:#FAFBFD}
  .vcell .lbl{display:block;margin-bottom:5px}
  .vcell b{font-family:var(--mono);font-size:14px;font-weight:500}
  .vcell .go{display:block;font-size:12.5px;color:var(--accent);margin-top:8px;font-weight:500}
  a.vcell:hover .go{text-decoration:underline}
  @media(max-width:760px){.ver{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

  .founder{background:var(--ink);color:#fff}
  .fwrap{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:start}
  .photo{width:200px;height:200px;border-radius:4px;object-fit:cover;display:block;border:1px solid var(--rule-dk)}
  .founder h2{color:#fff;margin-bottom:14px}
  .founder p{color:#C2CBD8;font-size:1.02rem}
  .founder .who{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-lt);margin-bottom:10px}
  @media(max-width:700px){.fwrap{grid-template-columns:1fr;gap:24px}.photo{width:150px;height:150px}}

  footer{background:var(--ink-2);color:#8A94A6;padding:48px 0 40px;font-size:13.5px;line-height:1.75}
  footer a{color:#AEB8C7}
  footer a:hover{color:#fff}
  .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;margin-bottom:30px}
  .fgrid h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#6C7688;font-weight:500;margin-bottom:12px}
  .fgrid ul{list-style:none;display:grid;gap:7px}
  .fbot{border-top:1px solid var(--rule-dk);padding-top:22px;font-size:12.5px;color:#6C7688;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px 48px;align-items:start}
  .fbot p{max-width:none;margin:0}
  .fbot b{color:#8A94A6;font-weight:500}
  .fbot .fb-c{margin-top:9px}
  .fbot .fb-right p{line-height:1.7}
  @media(max-width:820px){.fbot{grid-template-columns:1fr;gap:16px}}
  @media(max-width:760px){.fgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

  .ask{background:var(--ink-2);border:1px solid var(--rule-dk);border-radius:4px;padding:20px clamp(18px,3vw,24px);margin-top:34px;max-width:620px}
  .ask .lbl{color:#7A8698;display:block;margin-bottom:12px}
  .askbox{display:flex;align-items:center;gap:10px;background:var(--ink);border:1px solid var(--rule-dk);border-radius:3px;padding:11px 14px}
  .askbox input{flex:1;background:none;border:0;color:#fff;font:inherit;font-size:14.5px;outline:none}
  .askbox input::placeholder{color:#6C7688}
  .askbox kbd{font-family:var(--mono);font-size:10.5px;color:#7A8698;border:1px solid var(--rule-dk);border-radius:3px;padding:3px 6px}
  .askor{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#5E6879;margin:14px 0 10px}
  .chips{display:grid;gap:7px}
  .chip{display:block;width:100%;text-align:left;background:var(--ink);border:1px solid var(--rule-dk);border-radius:3px;padding:11px 14px;color:#D4DAE4;font:inherit;font-size:14px;cursor:pointer}
  .chip:hover{border-color:var(--accent-lt);color:#fff}
  .ansbox{display:none;margin-top:12px;background:var(--ink);border:1px solid var(--rule-dk);border-left:2px solid var(--accent-lt);border-radius:3px;padding:15px 16px}
  .ansbox.on{display:block}
  .ansbox p{font-size:14.5px;color:#C2CBD8;margin:0 0 10px;max-width:none}
  .ansbox a{color:var(--accent-lt);border-bottom:1px solid rgba(91,132,255,.4);font-size:13.5px}
  .ansmeta{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#5E6879;margin-top:10px}

/* ===== wizard ===== */
#wzblock .wz{max-width:720px;margin:0 auto;background:var(--card);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
#wzblock .wz-top{background:var(--ink);color:#fff;padding:22px clamp(20px,4vw,30px) 18px}
#wzblock .wz-top .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent-lt)}
#wzblock .wz-top h2{font-family:Archivo,sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:-.022em;margin-top:8px;line-height:1.25}
#wzblock .prog{display:flex;gap:5px;margin-top:16px}
#wzblock .prog i{flex:1;height:3px;background:var(--rule-dk);border-radius:2px;transition:background .3s}
#wzblock .prog i.on{background:var(--accent-lt)}
#wzblock .wz-body{padding:clamp(22px,4vw,30px)}
#wzblock .q{font-family:Archivo,sans-serif;font-size:1.12rem;font-weight:600;letter-spacing:-.015em;margin-bottom:6px}
#wzblock .qs{font-size:14px;color:var(--muted);margin-bottom:18px}
#wzblock .opts{display:grid;gap:9px}
#wzblock .opt{
    display:block;width:100%;text-align:left;cursor:pointer;
    background:var(--card);border:1px solid var(--rule);border-radius:3px;
    padding:14px 16px;font:inherit;color:inherit;transition:border-color .15s,background .15s;
  }
#wzblock .opt:hover{border-color:var(--accent);background:#FBFCFE}
#wzblock .opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#wzblock .opt b{display:block;font-weight:500;font-size:15.5px}
#wzblock .opt span{display:block;font-size:13.5px;color:var(--muted);margin-top:3px}
#wzblock .nav{display:flex;align-items:center;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--rule)}
#wzblock .back{background:none;border:0;font:inherit;font-size:14px;color:var(--muted);cursor:pointer;padding:0}
#wzblock .back:hover{color:var(--accent)}
#wzblock .step-n{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#98A2B3}
/* wizard result */
  .res-head{background:var(--accent-soft);border-bottom:1px solid #CBD8F7;padding:clamp(20px,4vw,28px)}
#wzblock .res-head .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent)}
#wzblock .res-head h3{font-family:Archivo,sans-serif;font-size:1.35rem;font-weight:600;letter-spacing:-.02em;margin:8px 0 8px;line-height:1.2}
#wzblock .res-head p{font-size:14.5px;color:#33405A}
#wzblock .facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-bottom:1px solid var(--rule)}
#wzblock .fct{background:var(--card);padding:15px clamp(18px,3vw,22px)}
#wzblock .fct span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
#wzblock .fct b{display:block;font-size:15px;font-weight:500;margin-top:5px}
#wzblock .res-body{padding:clamp(20px,4vw,28px)}
#wzblock .res-body h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
#wzblock .res-body ul{list-style:none;display:grid;gap:9px;margin-bottom:22px}
#wzblock .res-body li{font-size:14.5px;padding-left:20px;position:relative;color:#2C3644}
#wzblock .res-body li::before{content:"\2192";position:absolute;left:0;color:var(--accent)}
#wzblock .note{font-size:13.5px;color:var(--muted);background:#F7F9FB;border-left:2px solid var(--rule);padding:12px 14px;margin-bottom:22px}
#wzblock .acts{display:flex;flex-wrap:wrap;gap:10px}
#wzblock .btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 22px;border-radius:3px;font-size:15px;font-weight:500;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
#wzblock .btn:hover{background:#1638A8}
#wzblock .btn.o{background:transparent;border:1px solid var(--rule);color:var(--ink)}
#wzblock .btn.o:hover{border-color:var(--accent);color:var(--accent)}
#wzblock .restart{margin-top:18px;font-size:13.5px}
#wzblock .restart button{background:none;border:0;font:inherit;font-size:13.5px;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline}
#wzblock .decline{background:#FFF8E8;border:1px solid #F0DFB8;border-radius:3px;padding:16px 18px;font-size:14.5px;color:#5A4A22;margin-bottom:20px}
#wzblock .note{margin-top:0;max-width:none}

/* ===== page-specific ===== */
.narrow{max-width:820px}
p:last-child{margin-bottom:0}
.crumb{font-size:13px;color:#7A8698;padding-top:26px}
.crumb a{color:#94A0B2}
.crumb a:hover{color:#fff}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule-dk);border:1px solid var(--rule-dk);margin-top:34px}
.fact{background:var(--ink);padding:18px 20px}
.fact b{display:block;font-family:Archivo,sans-serif;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}
.fact span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#7A8698;margin-top:7px}
.cost{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);padding:22px 24px;margin:26px 0}
.cost b{font-family:var(--mono);font-size:1.15rem}
.cost p{font-size:14.5px;color:var(--muted);margin:6px 0 0}
.stages{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);counter-reset:st}
.stage{background:var(--card);padding:22px 24px;counter-increment:st;display:grid;grid-template-columns:auto 1fr;gap:20px}
.stage::before{content:counter(st,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em;padding-top:3px}
.stage p{font-size:14.5px;color:var(--muted);margin:0}
.faq{border-top:1px solid var(--rule)}
.qa{border-bottom:1px solid var(--rule);padding:22px 0}
.qa h3{font-size:1.05rem;margin-bottom:8px}
.qa p{font-size:15px;color:var(--muted)}
.billing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule-dk);border:1px solid var(--rule-dk);margin-top:32px}
.bcell{background:var(--ink);padding:17px 20px}
.bcell b{display:block;font-family:var(--mono);font-size:1rem;font-weight:500}
.bcell span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#7A8698;margin-top:7px}
.svc:first-of-type{border-top:1px solid var(--rule)}
.svc a{color:var(--accent);font-weight:500}
.hours{background:var(--card);border:1px solid var(--rule)}
.hrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 20px;border-bottom:1px solid var(--rule);align-items:baseline;font-size:14.5px}
.hrow:last-child{border-bottom:none}
.hrow b{font-weight:500}
.hrow span{font-family:var(--mono);font-size:13px;color:var(--muted)}

  /* countries grid */
  .cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .ccc{background:var(--card);padding:11px 14px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:14px}
  .ccc b{font-weight:400}
  .ccc span{font-family:var(--mono);font-size:11.5px;color:var(--muted)}
  .ccc.lk b{color:var(--accent);font-weight:500}
  .ccc.lk:hover{background:#FBFCFE}
  .ccc.res b::after{content:" \2022";color:#C8922A}
  .ccc.res{background:#FFFCF5}

  /* world map */
  .mapwrap{background:var(--ink);border:1px solid var(--rule-dk);position:relative}
  .mapwrap svg{display:block;width:100%;height:auto}
  .mapwrap .c{stroke:#0E1520;stroke-width:.35;transition:fill .15s}
  .mapwrap .c.no{fill:#232D3D}
  .mapwrap .c.eu{fill:#1B44C8}
  .mapwrap .c.me{fill:#2E62E0}
  .mapwrap .c.au{fill:#4C7DF0}
  .mapwrap .c.as{fill:#3E73E8}
  .mapwrap .c.ca{fill:#6E97F5}
  .mapwrap .c.us{fill:#8A94A6}
  .mapwrap .d{stroke:#0E1520;stroke-width:.6}
  .mapwrap .d.eu{fill:#1B44C8}.mapwrap .d.me{fill:#2E62E0}
  .mapwrap .d.au{fill:#4C7DF0}.mapwrap .d.ca{fill:#6E97F5}.mapwrap .d.as{fill:#3E73E8}
  .mapwrap .c[data-n]:hover,.mapwrap .d:hover{fill:#fff;cursor:default}
  .mapwrap.dim-eu .c.as,.mapwrap.dim-eu .d.as,.mapwrap.dim-eu .c.me,.mapwrap.dim-eu .c.au,.mapwrap.dim-eu .c.ca,.mapwrap.dim-eu .c.us,
  .mapwrap.dim-eu .d.me,.mapwrap.dim-eu .d.au,.mapwrap.dim-eu .d.ca{fill:#2A3546}
  .mapwrap.dim-me .c.as,.mapwrap.dim-me .d.as,.mapwrap.dim-me .c.eu,.mapwrap.dim-me .c.au,.mapwrap.dim-me .c.ca,.mapwrap.dim-me .c.us,
  .mapwrap.dim-me .d.eu,.mapwrap.dim-me .d.au,.mapwrap.dim-me .d.ca{fill:#2A3546}
  .mapwrap.dim-au .c.as,.mapwrap.dim-au .d.as,.mapwrap.dim-au .c.eu,.mapwrap.dim-au .c.me,.mapwrap.dim-au .c.ca,.mapwrap.dim-au .c.us,
  .mapwrap.dim-au .d.eu,.mapwrap.dim-au .d.me,.mapwrap.dim-au .d.ca{fill:#2A3546}
  .mapwrap.dim-ca .c.as,.mapwrap.dim-ca .d.as,.mapwrap.dim-ca .c.eu,.mapwrap.dim-ca .c.me,.mapwrap.dim-ca .c.au,.mapwrap.dim-ca .c.us,
  .mapwrap.dim-ca .d.eu,.mapwrap.dim-ca .d.me,.mapwrap.dim-ca .d.au{fill:#2A3546}
  .mapwrap.dim-us .c.as,.mapwrap.dim-us .d.as,.mapwrap.dim-us .c.eu,.mapwrap.dim-us .c.me,.mapwrap.dim-us .c.au,.mapwrap.dim-us .c.ca,
  .mapwrap.dim-us .d.eu,.mapwrap.dim-us .d.me,.mapwrap.dim-us .d.au,.mapwrap.dim-us .d.ca{fill:#2A3546}
  .mapwrap.dim-as .c.eu,.mapwrap.dim-as .c.me,.mapwrap.dim-as .c.au,.mapwrap.dim-as .c.ca,.mapwrap.dim-as .c.us,
  .mapwrap.dim-as .d.eu,.mapwrap.dim-as .d.me,.mapwrap.dim-as .d.au,.mapwrap.dim-as .d.ca{fill:#2A3546}
  .maptip{position:absolute;pointer-events:none;background:#fff;color:var(--ink);border-radius:3px;padding:7px 11px;font-size:13px;line-height:1.35;box-shadow:0 4px 18px rgba(0,0,0,.35);opacity:0;transition:opacity .12s;white-space:nowrap;z-index:10}
  .maptip.on{opacity:1}
  .maptip b{display:block;font-weight:500}
  .maptip span{font-family:var(--mono);font-size:11px;color:var(--muted)}
  .maplegend{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule-dk);border-top:1px solid var(--rule-dk)}
  .maplegend button{flex:1 1 150px;background:var(--ink);border:0;color:#C2CBD8;font:inherit;font-size:13px;text-align:left;padding:12px 14px;cursor:pointer;display:flex;align-items:baseline;gap:9px}
  .maplegend button:hover{background:var(--ink-2);color:#fff}
  .maplegend button.on{background:var(--ink-2);color:#fff}
  .maplegend i{width:10px;height:10px;border-radius:2px;flex:none;position:relative;top:1px}
  .maplegend .n{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:#7A8698}
  .maplegend button.on .n{color:var(--accent-lt)}
  .mapnote{font-size:13px;color:var(--muted);margin-top:12px}

  /* country finder */
  .cfind{background:var(--ink-2);border:1px solid var(--rule-dk);border-radius:4px;padding:18px 20px;margin-top:34px;max-width:620px}
  .cfind .lbl{color:#7A8698;display:block;margin-bottom:10px}
  .cfbox{position:relative}
  .cfbox input{width:100%;background:var(--ink);border:1px solid var(--rule-dk);border-radius:3px;padding:12px 14px;color:#fff;font:inherit;font-size:15px;outline:none}
  .cfbox input:focus{border-color:var(--accent-lt)}
  .cfbox input::placeholder{color:#6C7688}
  .cflist{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--ink);border:1px solid var(--rule-dk);border-radius:3px;max-height:230px;overflow:auto;z-index:20;display:none}
  .cflist.on{display:block}
  .cflist button{display:flex;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--rule-dk);color:#D4DAE4;font:inherit;font-size:14px;padding:10px 14px;cursor:pointer;gap:12px;align-items:baseline}
  .cflist button:last-child{border-bottom:0}
  .cflist button:hover,.cflist button.sel{background:var(--ink-2);color:#fff}
  .cflist button i{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:11.5px;color:#7A8698}
  .cfans{display:none;margin-top:12px;background:var(--ink);border:1px solid var(--rule-dk);border-left:2px solid var(--accent-lt);border-radius:3px;padding:15px 16px}
  .cfans.on{display:block}
  .cfans.bad{border-left-color:#C8922A}
  .cfans b{display:block;font-family:Archivo,sans-serif;font-size:1.05rem;font-weight:600;color:#fff;margin-bottom:5px}
  .cfans p{font-size:14px;color:#C2CBD8;margin:0;max-width:none}
  .cfans .meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#7A8698;margin-top:9px}
  .cfans a{color:var(--accent-lt);border-bottom:1px solid rgba(91,132,255,.4);font-size:14px}
  .cfhint{font-size:12.5px;color:#6C7688;margin-top:9px}

  /* hero two-column layout */
  .herogrid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:start}
  .herogrid .hleft h1{margin-top:16px}
  .herogrid .hright{padding-top:6px;display:grid;gap:16px}
  .herogrid .ask,.herogrid .cfind{margin-top:0;max-width:none}
  @media(max-width:940px){
    .herogrid{grid-template-columns:1fr;gap:30px}
    .herogrid .hright{padding-top:0}
  }

  /* article typography */
  .article{font-size:17px;line-height:1.72}
  .article p{margin-bottom:19px;max-width:68ch;color:#232C39}
  .article h2{font-family:Archivo,sans-serif;font-weight:600;font-size:clamp(1.3rem,2.6vw,1.6rem);letter-spacing:-.02em;margin:40px 0 14px;line-height:1.2}
  .article b{font-weight:600;color:var(--ink)}
  .article .hours{margin:22px 0}
  .article a{color:var(--accent);border-bottom:1px solid rgba(27,68,200,.25)}
  .article a:hover{border-bottom-color:var(--accent)}

  /* blog index */
  .posts{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .post{background:var(--card);padding:26px clamp(20px,3vw,28px);display:block}
  a.post:hover{background:#FBFCFE}
  .post .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
  .post h3{font-family:Archivo,sans-serif;font-size:1.32rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:9px}
  a.post:hover h3{color:var(--accent)}
  .post p{font-size:15px;color:var(--muted);max-width:72ch;margin:0}
  .post .go{display:inline-block;margin-top:12px;font-size:14px;color:var(--accent);font-weight:500}

  /* service page template */
  .svc-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule-dk);border:1px solid var(--rule-dk);margin-top:32px}
  .svc-meta div{background:var(--ink);padding:15px 18px}
  .svc-meta span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7A8698;margin-bottom:6px}
  .svc-meta b{font-size:15px;font-weight:500}
  @media(max-width:760px){.svc-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
  .tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
  .tag2{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule-dk);border-radius:2px;padding:4px 9px;color:#94A0B2}

  .sec-n{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:10px}
  .lst{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .lst > div{background:var(--card);padding:16px 20px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;font-size:15px;line-height:1.6}
  .lst i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--accent);padding-top:2px}
  .lst.ok i{color:var(--accent)}
  .lst.no i{color:#B02020}
  .lst.warn > div{background:#FFFCF5}
  .lst.warn i{color:#C8922A}
  .lst b{font-weight:600}

  .phase{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--rule)}
  .phase:last-child{border-bottom:0}
  .phase .w{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.06em}
  .phase h3{margin-bottom:6px}
  .phase p{font-size:14.5px;color:var(--muted);margin:0}
  @media(max-width:700px){.phase{grid-template-columns:1fr;gap:4px}}

  .split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .split > div{background:var(--card);padding:22px}
  .split h3{margin-bottom:12px}
  .split ul{list-style:none;display:grid;gap:9px;margin:0}
  .split li{font-size:14.5px;color:var(--muted);padding-left:18px;position:relative;line-height:1.55}
  .split li::before{content:"\2013";position:absolute;left:0;color:var(--accent)}
  @media(max-width:700px){.split{grid-template-columns:1fr}}

  .rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .rel a{background:var(--card);padding:18px 20px;display:block}
  .rel a:hover{background:#FBFCFE}
  .rel b{display:block;font-weight:500;font-size:15px;margin-bottom:5px}
  .rel span{font-family:var(--mono);font-size:11.5px;color:var(--muted)}
  @media(max-width:760px){.rel{grid-template-columns:1fr}}

  /* closing block: photo + person + form panel */
  .closing{display:grid;grid-template-columns:200px 1fr 340px;gap:clamp(24px,3vw,40px);align-items:start}
  .closing .cwho h2{color:#fff;margin-bottom:14px;font-family:Archivo,sans-serif;font-weight:600;letter-spacing:-.025em;font-size:clamp(1.5rem,3vw,1.95rem);line-height:1.15}
  .closing .cwho p{color:#C2CBD8;font-size:1.02rem}
  .closing .who{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-lt);margin-bottom:10px}
  .cform{background:var(--ink-2);border:1px solid var(--rule-dk);border-radius:4px;padding:22px}
  .cform h3{color:#fff;font-family:Archivo,sans-serif;font-weight:600;font-size:1.2rem;letter-spacing:-.02em;margin:9px 0 10px}
  .cform p{color:#98A3B4;font-size:14.5px;margin:0;max-width:none}
  .cform .btn{display:inline-block}
  @media(max-width:1040px){
    .closing{grid-template-columns:180px 1fr;gap:26px}
    .cform{grid-column:1/-1}
  }
  @media(max-width:640px){
    .closing{grid-template-columns:1fr}
    .closing .photo{width:150px;height:150px}
  }

  /* services index rows */
  a.svcrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center;background:var(--card);border:1px solid var(--rule);border-top:none;padding:18px 22px}
  .grp a.svcrow:first-of-type{border-top:1px solid var(--rule)}
  a.svcrow:hover{background:#FBFCFE;border-color:#C3CFEA}
  a.svcrow b{display:block;font-family:Archivo,sans-serif;font-weight:600;font-size:1.08rem;letter-spacing:-.012em;margin-bottom:5px}
  a.svcrow:hover b{color:var(--accent)}
  a.svcrow p{font-size:14.5px;color:var(--muted);margin:0;max-width:74ch}
  a.svcrow .p{font-family:var(--mono);font-size:13px;text-align:right;white-space:nowrap;color:var(--ink)}
  a.svcrow .p small{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
  @media(max-width:700px){a.svcrow{grid-template-columns:1fr}a.svcrow .p{text-align:left}}

  .svc h3 a{color:var(--ink);border-bottom:1px solid var(--rule)}
  .svc h3 a:hover{color:var(--accent);border-bottom-color:var(--accent)}
  .shead h2 a{color:inherit}
  .shead h2 a:hover{color:var(--accent)}

  /* testimonials */
  .vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .vid{background:var(--card);padding:0}
  .vid .frame img,.vid .frame iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
  .vid .frame .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
  .vid .frame .play span{width:52px;height:52px;border-radius:50%;background:rgba(27,68,200,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;padding-left:4px}
  .vid .frame:hover .play span{background:var(--accent)}
  @media(max-width:900px){.vids{grid-template-columns:1fr}}

  /* video testimonials */
  .vids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  a.vid{background:var(--card);padding:20px 20px 18px;display:block;position:relative}
  a.vid:hover{background:#FBFCFE}
  a.vid .play{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;margin-bottom:12px;padding-left:2px}
  a.vid:hover .play{background:var(--accent)}
  a.vid b{display:block;font-family:Archivo,sans-serif;font-weight:600;font-size:1.02rem;letter-spacing:-.012em;margin-bottom:4px}
  a.vid .vl{font-size:12.5px;color:var(--muted)}
  a.vid:hover .vl{color:var(--accent)}
  @media(max-width:900px){.vids{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:480px){.vids{grid-template-columns:1fr}}
  .stats .wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
  @media(max-width:900px){.stats .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
  

  /* wide section header: heading left, intro right */
  .shead.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:clamp(28px,4vw,56px);row-gap:0;align-items:start}
  .shead.split2 > .lbl{grid-column:1;grid-row:1}
  .shead.split2 > h2{grid-column:1;grid-row:2;margin:10px 0 0;align-self:start}
  .shead.split2 > p:not(.lbl){grid-column:2;grid-row:2;max-width:none;margin:0;align-self:start;padding-top:6px}
  .shead.split2 > p:not(.lbl) ~ p:not(.lbl){grid-row:3;margin-top:12px;padding-top:0}
  @media(max-width:860px){
    .shead.split2{grid-template-columns:1fr;gap:0}
    .shead.split2 h2{grid-column:1;grid-row:auto;margin:10px 0 12px}
    .shead.split2 p{grid-column:1;grid-row:auto}
  }

  .hintrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 40px;align-items:baseline}
  .hintrow p{margin:0}
  @media(max-width:820px){.hintrow{grid-template-columns:1fr}.hintrow p:last-child{text-align:left !important}}

  /* narrow content keeps the container's left edge instead of hugging the viewport */
  .wrap.narrow{max-width:var(--wrap,1220px)}
  .wrap.narrow > *{max-width:820px}
  .wrap.narrow > .shead,.wrap.narrow > .faq,.wrap.narrow > .hours,.wrap.narrow > .lst,.wrap.narrow > .split,.wrap.narrow > .rel,.wrap.narrow > .midcta,.wrap.narrow > .review,.wrap.narrow > .posts{max-width:900px}
  /* pages that are entirely text keep the classic centred column */
  .allnarrow section > .wrap,.allnarrow .hero > .wrap{max-width:900px}
  .allnarrow header .wrap,.allnarrow .trust .wrap{max-width:var(--wrap,1220px)}
  .allnarrow .wrap.narrow{max-width:900px}
  .allnarrow .wrap.narrow > *{max-width:none}

  /* case cards: meta and title left, narrative right */
  .case{display:grid;grid-template-columns:300px 1fr;column-gap:clamp(28px,3.5vw,48px);row-gap:0;align-items:start}
  .caseside{grid-column:1;grid-row:1/span 30;align-self:start}
  .caseside .meta{margin-bottom:10px}
  .caseside h3{margin-bottom:0}
  .caseside .by{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#93A0B3;margin:10px 0 0;line-height:1.5;max-width:none}
  .case > p,.case > h4{grid-column:2;max-width:none}
  .case > p:first-of-type{margin-top:0}
  .case > h4:first-of-type{margin-top:0}
  .case > .out{grid-column:1/-1;margin-top:20px}
  @media(max-width:900px){
    .case{grid-template-columns:1fr}
    .caseside,.case > p,.case > h4,.case > .out{grid-column:1}
    .caseside{margin-bottom:12px}
  }

  /* nothing may exceed its container on small screens */
  input,select,textarea{max-width:100%}
  input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0}
  .calc select,.calc input:not([type=checkbox]):not([type=radio]),.ctrl select,.f select,.f input:not([type=checkbox]):not([type=radio]){width:100%}
  .calc-top,.ctrl-top,.row,.f{min-width:0}
  @media(max-width:640px){
    .calc-top{grid-template-columns:1fr}
    .row{grid-template-columns:1fr}
    .lever,.total{grid-template-columns:1fr 1fr 1fr}
  }
  @media(max-width:520px){
    .billing,.svc-meta,.facts,.stats .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
    .bcell b,.stat b{font-size:1.25rem}
    .case{grid-template-columns:1fr}
  }

  /* filter bars must wrap rather than push the page wider */
  .ctrl-top,.calc-top{min-width:0}
  .ctrl-top > .fld,.calc-top > .fld{min-width:0}
  .chk{white-space:normal;min-width:0}
  .chk input{flex:none}
  @media(max-width:820px){
    .ctrl-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  }
  @media(max-width:560px){
    .ctrl-top{grid-template-columns:minmax(0,1fr)}
    .lever,.total,.lhead{grid-template-columns:minmax(0,1fr)}
    .lhead{display:none}
  }

  /* blog index: two-column card grid */
  .posts.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .posts.grid2 .post{display:flex;flex-direction:column}
  .posts.grid2 .post p{max-width:none;flex:1}
  @media(max-width:800px){.posts.grid2{grid-template-columns:minmax(0,1fr)}}

  .cols.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
  @media(max-width:900px){.cols.cols3{grid-template-columns:minmax(0,1fr)}}
  .col p.ex{padding-left:14px;border-left:2px solid var(--rule);color:var(--muted);font-size:14px}
  .col h3{font-size:1.04rem}

  /* home: coverage map block inside the hero band */
  .homemap{margin-top:clamp(40px,5vw,58px);border-top:1px solid var(--rule-dk);padding-top:32px}
  .homemap-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 40px;align-items:end;margin-bottom:18px}
  @media(max-width:860px){.homemap-head{grid-template-columns:1fr}}
  .homemap .mapwrap{border-color:var(--rule-dk);background:#0F1620}
  .homemap .maplegend{border-top-color:var(--rule-dk)}
  /* card hover: lift, not colour */
  .col,.sit,.case,.post,.vid,.rel a,a.svcrow,.find,.ccc.lk{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
  a.post:hover,a.vid:hover,.rel a:hover,a.svcrow:hover,.ccc.lk:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(20,28,41,.10);position:relative;z-index:1}

  /* inline diagrams */
  .fig{margin:26px 0 30px;padding:22px 22px 14px;background:var(--card);border:1px solid var(--rule);border-radius:4px;max-width:none}
  .fig svg.diag{display:block;width:100%;height:auto}
  .fig figcaption{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.5}
  .wrap.narrow > .fig{max-width:900px}

/* ===== rhythm + hierarchy ===== */
section{padding:clamp(56px,7.5vw,88px) 0}
section.band{background:var(--ink);color:#fff;margin:0}
section.band .lbl{color:var(--accent-lt)}
section.band h2,section.band h3{color:#fff}
section.band .shead p,section.band .col p,section.band .vl{color:#98A3B4}
section.band .cols,section.band .vids,section.band .ver{background:var(--rule-dk);border-color:var(--rule-dk)}
section.band .col,section.band a.vid,section.band .vcell{background:var(--ink-2)}
section.band a.vid .play{background:var(--accent)}
section.band .vcell b{color:#fff}
section.band .vcell .lbl{color:#7A8698}
section.band .vcell .go{color:var(--accent-lt)}
section.band .shead + p,section.band > .wrap > p{color:#98A3B4}
#wzblock .wz{border-color:var(--rule-dk)}
/* hierarchy: section titles bigger, card titles calmer, blue only for actions */
.shead h2{font-size:clamp(1.9rem,3.8vw,2.5rem);letter-spacing:-.03em;line-height:1.1}
.shead > p{font-size:1.02rem}
.col h3,.sit .q,.case h3{font-size:1rem}
.sit .q{font-weight:600}
.stat b{color:#fff}
.case .out b{color:var(--ink)}
.lbl{color:var(--muted)}
.hero .lbl{color:var(--accent-lt)}
.step::before{color:var(--muted)}

section.band #wzblock .opt b,section.band #wzblock .opt span,section.band #wzblock .q,section.band #wzblock .qs{color:inherit}
section.band #wzblock .opt b{color:var(--ink)}
section.band #wzblock .wz-body .q{color:var(--ink)}
section.band #wzblock .wz-body{color:var(--ink)}
section.band #wzblock .qs{color:var(--muted)}
section.band .shead .lbl{color:var(--accent-lt)}

  /* dark band: everything that can land inside it */
  section.band .hours{background:var(--ink-2);border-color:var(--rule-dk)}
  section.band .hrow{border-color:var(--rule-dk);color:#fff}
  section.band .hrow span{color:#98A3B4}
  section.band .fig{background:var(--ink-2);border-color:var(--rule-dk)}
  section.band .fig figcaption{color:#98A3B4}
  section.band .fig text{fill:#C2CBD8}
  section.band .big{background:var(--ink-2);border-color:var(--rule-dk)}
  section.band .big p,section.band .big h2,section.band .big strong{color:#E6EAF0}
  section.band .sum{background:var(--ink)}
  section.band .sum span{color:#98A3B4}
  section.band .sums{background:var(--rule-dk);border-color:var(--rule-dk)}
  section.band .hint{color:#7A8698}
  section.band .cgrid{background:var(--rule-dk);border-color:var(--rule-dk)}
  section.band .ccc{background:var(--ink-2);color:#E6EAF0}
  section.band .ccc span{color:#98A3B4}
  section.band .ccc.lk b{color:var(--accent-lt)}
  section.band .maplegend{border-top-color:var(--rule-dk)}
  section.band p{color:#C2CBD8}
  section.band .shead > p,section.band .col p{color:#98A3B4}
  section.band a:not(.btn){color:var(--accent-lt)}
  section.band .cols{background:var(--rule-dk);border-color:var(--rule-dk)}
  section.band .col{background:var(--ink-2)}
  section.band .split2 h2{color:#fff}

  /* odd last card in a two-column grid spans the row instead of leaving a hole */
  .cols > .col:last-child:nth-child(odd){grid-column:1/-1}
  .cols.cols3 > .col:last-child:nth-child(3n+1){grid-column:1/-1}
  .cols.cols3 > .col:last-child:nth-child(3n+2){grid-column:2/-1}
  @media(max-width:760px){.cols > .col:last-child:nth-child(odd),.cols.cols3 > .col:last-child{grid-column:1}}

  /* hero network background */
  .hero{position:relative;overflow:hidden}
  .hero > .wrap{position:relative;z-index:1}
  .netbg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9;
         -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%)}

  /* amber callout: light on white, dark-tinted inside a dark band */
  .big.warn{background:#FFF8E8;border-color:#F0DFB8;border-left-color:#C8922A}
  section.band .big.warn{background:#1F2637;border-color:#3A4256;border-left-color:#E0B96B}
  section.band .big.warn h2,section.band .big.warn p,section.band .big.warn strong,section.band .big.warn em{color:#F3E7C9}
  section.band .big h2{color:#fff}

  /* mid-page call to action band (restored) */
  .midcta{background:var(--ink);color:#fff;border-radius:4px;padding:22px clamp(20px,3vw,28px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 26px;align-items:center;margin:8px 0 4px}
  .midcta h3{font-family:Archivo,sans-serif;font-weight:600;font-size:1.12rem;letter-spacing:-.015em;margin:0 0 6px;color:#fff}
  .midcta p{font-size:14.5px;color:#98A3B4;margin:0;max-width:62ch}
  .midcta .acts2{display:flex;gap:10px;flex-wrap:wrap}
  .midcta .btn{white-space:nowrap}
  .midcta .price2{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#7A8698;display:block;margin-top:10px}
  @media(max-width:820px){.midcta{grid-template-columns:1fr}}
  /* contrast inside dark bands */
  section.band .big .lbl,section.band .lbl{color:var(--accent-lt)}
  section.band a:not(.btn):not(.vid):not(.vcell):not(.ccc){color:var(--accent-lt) !important}
  #wzblock .step-n{color:#6E7A8C}

  .lbl.acc{color:var(--accent)}
  section.band .lbl.acc{color:var(--accent-lt)}

  /* testimonial transcript modal */
  a.vid .vq{display:block;font-size:14px;line-height:1.5;color:var(--ink);margin:2px 0 10px;font-style:italic}
  .tmodal{position:fixed;inset:0;background:rgba(20,28,41,.72);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
  .tmodal.on{display:flex}
  .tbox{background:var(--card);border-radius:6px;max-width:720px;width:100%;max-height:88vh;overflow:auto;padding:30px clamp(22px,4vw,36px);position:relative;box-shadow:0 30px 80px rgba(0,0,0,.4)}
  .tclose{position:absolute;top:12px;right:14px;background:none;border:0;font-size:28px;line-height:1;color:var(--muted);cursor:pointer;padding:6px}
  .tclose:hover{color:var(--ink)}
  .tbox .tname{font-family:Archivo,sans-serif;font-weight:600;font-size:1.45rem;letter-spacing:-.02em;margin:8px 0 4px}
  .tbox .tspk{font-size:14px;color:var(--muted);margin-bottom:18px}
  .tbox .ttext p{font-size:16px;line-height:1.7;color:#232C39;margin-bottom:14px;max-width:none}
  .tbox .tfoot{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);display:flex;gap:14px;align-items:center;flex-wrap:wrap}

  .fbot .build{font-family:var(--mono);font-size:11px;color:#4E5868;letter-spacing:.04em}

  /* pull quote from a client */
  blockquote.pull{margin:0;padding:26px clamp(22px,4vw,34px);border-left:3px solid var(--accent);background:var(--card);border-radius:0 4px 4px 0;max-width:none}
  blockquote.pull p{font-size:1.08rem;line-height:1.65;color:var(--ink);font-style:italic;max-width:none;margin-bottom:14px}
  blockquote.pull footer{font-size:13.5px;color:var(--muted);margin-top:6px;background:none;padding:0;border:0}
  blockquote.pull footer b{color:var(--ink);font-weight:600}
  blockquote.pull footer a{color:var(--accent)}

  /* glossary */
  .gl-az{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
  .gl-az a{color:var(--muted)}
  .gl-az a:hover{color:var(--accent)}
  .gl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .gl-item{background:var(--card);padding:22px 24px;scroll-margin-top:90px}
  .gl-item h3{font-family:Archivo,sans-serif;font-weight:600;font-size:1.08rem;letter-spacing:-.012em;margin-bottom:8px}
  .gl-item p{font-size:14.5px;color:#3A4455;margin-bottom:10px;max-width:none}
  .gl-item a{font-size:13px;color:var(--accent);font-weight:500}
  .gl-item:target{background:#F3F6FD}
  @media(max-width:820px){.gl-grid{grid-template-columns:minmax(0,1fr)}}
  /* download page */
  .dl-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,56px);align-items:start}
  .dl-form,.dl-done{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:26px}
  .dl-form label{display:block;font-size:13.5px;font-weight:500;margin:12px 0 5px}
  .dl-form input{width:100%;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--rule);border-radius:3px}
  .dl-form input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
  .dl-form .err{display:none;font-size:13px;color:#B02020;margin-top:8px}
  .dl-done{border-left:3px solid var(--accent)}
  @media(max-width:860px){.dl-grid{grid-template-columns:1fr}}

  /* facts table */
  .facts-t{width:100%;border-collapse:collapse;font-size:14px;background:var(--card)}
  .facts-t th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 14px;border-bottom:1.5px solid var(--ink)}
  .facts-t td{padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.5}
  .facts-t td.k{width:30%;font-weight:500}
  .facts-t td.v{width:38%}
  .facts-t td.s{color:var(--muted);font-size:13px}
  .facts-t td.s a{color:var(--accent);font-weight:500}
  .facts-t + p{margin-top:12px}
  h2[id]{scroll-margin-top:90px}
  /* comparison table */
  .cmp-t{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);min-width:900px}
  .cmp-t thead th{text-align:left;font-family:Archivo,sans-serif;font-weight:600;font-size:14px;padding:14px;border-bottom:1.5px solid var(--ink);vertical-align:bottom}
  .cmp-t thead th.us{background:var(--accent-soft);color:var(--accent)}
  .cmp-t tbody th{text-align:left;font-weight:500;padding:13px 14px;border-bottom:1px solid var(--rule);width:18%;vertical-align:top;color:var(--ink)}
  .cmp-t td{padding:13px 14px;border-bottom:1px solid var(--rule);vertical-align:top;color:#3A4455;line-height:1.5;width:20.5%}
  .cmp-t td.us{background:#F6F8FD;color:var(--ink)}

  .scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .scroller > table{min-width:0}
  .cmp-t{min-width:880px}

  /* email-me-the-numbers box under calculators */
  .calc-mail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 40px;align-items:center;background:var(--ink);color:#fff;border-radius:4px;padding:24px clamp(20px,3vw,30px);margin-top:20px}
  .calc-mail h3{font-family:Archivo,sans-serif;font-weight:600;font-size:1.15rem;letter-spacing:-.015em;margin:6px 0 8px;color:#fff}
  .calc-mail p{font-size:14px;color:#98A3B4;margin:0;max-width:none}
  .calc-mail-f{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
  .calc-mail-f input{flex:1;min-width:220px;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--rule-dk);border-radius:3px;background:var(--ink-2);color:#fff}
  .calc-mail-f input::placeholder{color:#6C7688}
  .calc-mail-f .btn{white-space:nowrap;padding:11px 18px}
  .calc-mail-f .err{display:none;font-size:13px;color:#F0A0A0;width:100%;margin:0}
  .calc-mail-f .ok{font-size:13.5px;color:#9FC7A0;width:100%;margin:0}
  @media(max-width:760px){.calc-mail{grid-template-columns:1fr}}

  section.band .lst{background:var(--rule-dk);border-color:var(--rule-dk)}
  section.band .lst > div{background:var(--ink-2);color:#E6EAF0}
  section.band .lst > div span{color:#E6EAF0}
  section.band .lst i{color:var(--accent-lt)}
  .calc-mail .lbl.acc{color:var(--accent-lt)}

  section.band .sec-n{color:var(--accent-lt)}

  .hero a:not(.btn){color:var(--accent-lt)}

  section.band a.vid .vq{color:#E6EAF0}
  section.band a.vid b{color:#fff}

  /* blog subscription */
  .subbox{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px 40px;align-items:center;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:0 4px 4px 0;padding:24px clamp(20px,3vw,30px);margin:8px 0 0}
  .subbox h3{font-family:Archivo,sans-serif;font-weight:600;font-size:1.15rem;letter-spacing:-.015em;margin:6px 0 8px}
  .subbox p{font-size:14px;color:var(--muted);margin:0;max-width:none}
  .subf{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
  .subf input{flex:1;min-width:200px;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--rule);border-radius:3px}
  .subf .btn{white-space:nowrap;padding:11px 18px}
  .subf .err{display:none;font-size:13px;color:#B02020;width:100%;margin:0}
  .subf .ok{font-size:13.5px;color:#2E7D32;width:100%;margin:0}
  @media(max-width:760px){.subbox{grid-template-columns:1fr}}
  .wrap.narrow > .subbox,.wrap.narrow > .share{max-width:900px}
  /* share row */
  .share{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--rule);font-size:13.5px}
  .share span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:6px}
  .share a,.share button{font:inherit;font-size:13.5px;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:7px 12px;cursor:pointer}
  .share a:hover,.share button:hover{border-color:var(--accent);color:var(--accent)}

  /* US visitor hint */
  .usbar{background:var(--accent);color:#fff;font-size:13.5px}
  .usbar .wrap{display:flex;align-items:center;gap:16px;padding-top:9px;padding-bottom:9px}
  .usbar a{color:#fff;font-weight:500;border-bottom:1px solid rgba(255,255,255,.5)}
  .usbar button{margin-left:auto;background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 4px;opacity:.85}
  .usbar button:hover{opacity:1}

  /* designation tooltips: text is in the DOM, shown on hover/focus */
  .dsg{position:relative;font-weight:600;color:var(--ink);border-bottom:1px dotted var(--accent);cursor:help;outline:none}
  section.band .dsg,.hero .dsg{color:#fff}
  .dsg .dsgbox{position:absolute;left:0;bottom:calc(100% + 10px);z-index:20;width:min(360px,calc(100vw - 48px));background:var(--ink);color:#E6EAF0;font-weight:400;font-size:13.5px;line-height:1.55;padding:14px 16px;border-radius:4px;box-shadow:0 14px 40px rgba(20,28,41,.28);
    opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none;display:none}
  .dsg:hover .dsgbox,.dsg:focus .dsgbox,.dsg:focus-within .dsgbox{display:block}
  .dsg .dsgbox{animation:none}
  .dsg .dsgbox b{display:block;font-weight:600;color:#fff;margin-bottom:6px;font-size:13.5px}
  .dsg .dsgbox::after{content:"";position:absolute;left:18px;top:100%;border:7px solid transparent;border-top-color:var(--ink)}
  .dsg:hover .dsgbox,.dsg:focus .dsgbox,.dsg:focus-within .dsgbox{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .dsg:hover,.dsg:focus{color:var(--accent)}
  @media(max-width:600px){.dsg .dsgbox{left:50%;transform:translate(-50%,4px)} .dsg:hover .dsgbox,.dsg:focus .dsgbox{transform:translate(-50%,0)} .dsg .dsgbox::after{left:50%;margin-left:-7px}}

  .article pre{background:var(--ink);color:#E6EAF0;border-radius:4px;padding:16px 18px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.6;margin:0 0 19px;max-width:none}
  .article code{font-family:var(--mono);font-size:.92em;background:#EEF1F5;padding:1px 5px;border-radius:2px}
  .article pre code{background:none;padding:0;font-size:inherit}

  /* blog tags */
  .tags2{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
  .tag3{font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:4px 9px;border-radius:2px;border:1px solid var(--rule-dk);color:#AEB8C7;background:rgba(255,255,255,.04)}
  .hero .tag3:hover{border-color:var(--accent-lt);color:#fff}
  .post .tags2{margin:12px 0 2px}
  .post .tag3{border-color:var(--rule);color:var(--muted);background:#F6F8FB;cursor:pointer}
  .post .tag3:hover{border-color:var(--accent);color:var(--accent)}
  .tagcloud{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
  .tagcloud span{font-size:13.5px;padding:7px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--card);color:var(--ink);cursor:pointer;user-select:none}
  .tagcloud span i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:5px}
  .tagcloud span:hover{border-color:var(--accent);color:var(--accent)}
  .tagcloud span.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .tagcloud span.on i{color:#98A3B4}
  .tagcloud span[style*="--w:1"]{opacity:.85}

  /* Microsoft Solutions Partner badge */
  .mspbadge{display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border:1px solid var(--rule-dk);border-radius:4px;background:rgba(255,255,255,.04);margin-bottom:18px;color:#fff;font-family:Archivo,sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em;transition:border-color .15s,background .15s}
  a.mspbadge:hover{border-color:var(--accent-lt);background:rgba(91,132,255,.08)}
  .mspbadge small{font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#98A3B4;margin-left:4px}
  .msp-mark{display:inline-grid;grid-template-columns:1fr 1fr;gap:2px;width:18px;height:18px;flex:none}
  .msp-mark::before,.msp-mark::after{content:"";display:block}
  .msp-mark{background:var(--accent-lt)}
  .msp-mark{-webkit-mask:linear-gradient(#000 0 0) 0 0/8px 8px,linear-gradient(#000 0 0) 10px 0/8px 8px,linear-gradient(#000 0 0) 0 10px/8px 8px,linear-gradient(#000 0 0) 10px 10px/8px 8px;-webkit-mask-repeat:no-repeat;mask:linear-gradient(#000 0 0) 0 0/8px 8px,linear-gradient(#000 0 0) 10px 0/8px 8px,linear-gradient(#000 0 0) 0 10px/8px 8px,linear-gradient(#000 0 0) 10px 10px/8px 8px;mask-repeat:no-repeat}
  .trust .wrap a{color:inherit}
  .trust .wrap a:hover b{color:#fff}
  .dsgcard p{margin-bottom:8px}

  /* header lockup: wordmark + descriptor */
  .mark{display:flex;flex-direction:column;line-height:1;gap:3px;margin-right:16px;flex:none;white-space:nowrap}
  .mark-w{font-family:Archivo,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:-.02em;color:#fff !important}
  .mark-w span{color:var(--accent-lt)}
  .mark-s{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:#7A8698 !important}
  .mark:hover .mark-s{color:#AEB8C7}
  @media(max-width:600px){.mark-s{display:none}}

  /* ===== rounded-corners ===== */
  :root{--r:12px;--r-sm:8px;--r-xs:6px}
  /* card containers and panels */
  .col,.sit,.case,a.post,a.vid,.scan,.ask,.cfind,.wz,.big,.fig,.dl-form,.dl-done,.subbox,.calc-mail,.midcta,.tbox,.hours,.phase,.qa,.step,.pull,.svc-meta > div,.stat,.bcell,.vcell,.ccc,.gl-item,.tagcloud span,.calc,.ctrl,.filters,.f,.prod,.basket,.mapwrap,.dsg .dsgbox,.mspbadge,.usbar,.midcta,.rel a,a.svcrow,.grp,.cmp-t,.facts-t{border-radius:var(--r)}
  /* grids that use 1px-gap backgrounds: round the outer box and clip the cells */
  .cols,.vids,.rel,.lst,.hours,.grp,.svc-meta,.stats .wrap,.billing,.facts,.sums,.cgrid,.ver,.scroller,.posts.grid2 > a.post{border-radius:var(--r);overflow:hidden}
  .cols > .col,.vids > a.vid,.rel > a,.lst > div,.hours > .hrow,.grp > a.svcrow,.svc-meta > div,.stats .wrap > .stat,.billing > .bcell,.facts > div,.cgrid > .ccc,.ver > .vcell{border-radius:0}
  /* buttons, inputs, chips */
  .btn,input,select,textarea,.chip,.opt,.tag2,.tag3,.share a,.share button,.copylink,.askbox,.cfbox,.cflist,.tclose,.play,.tc-all,.dsgbox{border-radius:var(--r-sm)}
  .tag,.tag2,.tag3,.chip,.tagcloud span{border-radius:999px}
  blockquote.pull{border-radius:0 var(--r) var(--r) 0}
  .subbox{border-radius:0 var(--r) var(--r) 0}
  .dl-done{border-radius:0 var(--r) var(--r) 0}
  .big{border-radius:0 var(--r) var(--r) 0}
  .midcta,.scan,.calc-mail{border-radius:var(--r)}
  .trust,.usbar{border-radius:0}
  .hero,.band,header,footer{border-radius:0}
  img.ava,.avatar{border-radius:var(--r)}
  .fig svg.diag rect{rx:6}

  #wzblock .wz{border-radius:var(--r);overflow:hidden}
  #wzblock .opt{border-radius:var(--r-sm)}

  /* support plans */
  .plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .plan{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column}
  .plan h3{font-family:Archivo,sans-serif;font-weight:600;font-size:1.5rem;letter-spacing:-.02em;margin:6px 0 10px}
  .plan .price3{font-family:Archivo,sans-serif;font-weight:600;font-size:1.25rem;letter-spacing:-.01em;margin-bottom:6px}
  .plan .price3 small{display:block;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}
  .plan .who{font-size:14px;color:var(--muted);margin:10px 0 16px;min-height:3.2em}
  .plan ul{list-style:none;padding:0;margin:0 0 14px}
  .plan .inc li{position:relative;padding-left:22px;font-size:14px;margin-bottom:8px;line-height:1.45}
  .plan .inc li::before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:700}
  .plan .exc li{position:relative;padding-left:22px;font-size:13px;color:var(--muted);margin-bottom:6px}
  .plan .exc li::before{content:"\2014";position:absolute;left:0}
  .plan .buy{margin-top:auto;width:100%}
  #plan-managed{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
  .buybox{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:0 var(--r) var(--r) 0;padding:26px}
  .buygrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
  .buygrid label{display:block;font-size:13.5px;font-weight:500;margin-bottom:5px}
  .buygrid input,.buygrid select{width:100%;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--rule);border-radius:var(--r-sm)}
  .buybox textarea{border-radius:var(--r-sm)}
  @media(max-width:900px){.plans{grid-template-columns:1fr}.buygrid{grid-template-columns:1fr}}

  section.band .cmp-t,section.band .facts-t{background:var(--ink-2)}
  section.band .cmp-t thead th,section.band .cmp-t tbody th,section.band .cmp-t td{color:#E6EAF0;border-color:var(--rule-dk)}
  section.band .cmp-t thead th{border-bottom-color:#5B84FF}
  section.band .cmp-t td{color:#C2CBD8}
