/* EU Servers: navy, white, one amber accent. Tables first. */
:root{
  --navy:#0b1f3a; --navy-2:#132d52; --navy-3:#1e3f6e;
  --text:#1b2a41; --muted:#56657d; --line:#dbe2ec; --line-2:#c8d2e0;
  --bg:#ffffff; --bg-2:#f3f6fa; --bg-3:#e9eef5;
  --amber:#f2a900; --amber-dk:#b67f00; --link:#174ea6;
  --ok-bg:#e6eefb; --ok-tx:#174ea6;
  --f:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  --bs-body-font-family:var(--f);
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--f);-webkit-font-smoothing:antialiased}
a{color:var(--link);text-underline-offset:.15em}
a:hover{color:var(--navy)}
h1,h2,h3{color:var(--navy);font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.12}
h2{font-size:1.45rem;line-height:1.25}
h3{font-size:1.1rem}
code{font-family:var(--f-mono);font-size:.88em;color:var(--navy);background:var(--bg-3);padding:.08em .35em;border-radius:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--amber);color:var(--navy);padding:.5rem 1rem}
.skip:focus{left:1rem}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.small{font-size:.88rem}
.muted{color:#9fb0c8}
.mt{margin-top:2.5rem}
.fine{font-size:.83rem;color:var(--muted);margin:.8rem 0 0}

/* Buttons */
.btn-pri,.btn-sec,.btn-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:600 .95rem/1 var(--f);border-radius:4px;padding:.7rem 1.1rem;text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap}
.btn-pri{background:var(--navy);color:#fff}
.btn-pri:hover{background:var(--navy-3);color:#fff}
.btn-sec{background:#fff;color:var(--navy);border-color:var(--line-2)}
.btn-sec:hover{border-color:var(--navy);color:var(--navy)}
.btn-link{background:none;border:0;color:var(--link);padding:.4rem 0;text-decoration:underline}
.btn-lg{font-size:1.02rem;padding:.85rem 1.4rem}
.btn-sm{font-size:.85rem;padding:.45rem .75rem}
.btn-xs{font-size:.78rem;padding:.3rem .5rem}
.btn-block{display:flex;width:100%}
.btn-inv{background:var(--amber);color:var(--navy)}
.btn-inv:hover{background:#ffc02e;color:var(--navy)}
.btn-inv-sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn-inv-sec:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}

/* Utility bar and header */
.util{background:var(--navy);color:#c7d3e6;font-size:.82rem}
.util-in{display:flex;justify-content:space-between;gap:1rem;padding-top:.4rem;padding-bottom:.4rem}
.util p{margin:0}
.util a{color:#fff;text-decoration:none}
@media (max-width:640px){.util-in p:last-child{display:none}}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.top-in{display:flex;align-items:center;gap:2rem;min-height:68px}
.brand img{display:block;height:40px;width:auto}
.nav-main{display:flex;align-items:center;gap:1.6rem;margin-left:auto}
.nav-main>ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.nav-main>ul>li{position:relative}
.nav-main>ul>li>a{display:block;font-weight:500;color:var(--text);text-decoration:none;padding:1.4rem 0;border-bottom:2px solid transparent;margin-bottom:-1px}
.nav-main>ul>li>a:hover,.nav-main>ul>li>a[aria-current]{color:var(--navy);border-bottom-color:var(--amber)}
.has-sub>a::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 0 .2em .45em}
.nav-sub{display:none;position:absolute;top:100%;left:-1rem;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 30px rgba(11,31,58,.12);list-style:none;margin:0;padding:.4rem 0}
.has-sub:hover .nav-sub,.has-sub:focus-within .nav-sub{display:block}
.nav-sub a{display:block;padding:.5rem 1rem;color:var(--text);text-decoration:none}
.nav-sub a:hover{background:var(--bg-2);color:var(--navy)}
.nav-toggle{display:none;margin-left:auto;font:600 .9rem var(--f);background:#fff;color:var(--navy);border:1px solid var(--line-2);border-radius:4px;padding:.45rem .8rem}
@media (max-width:991.98px){
  .top{position:relative}
  .nav-toggle{display:block}
  .nav-main{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:.5rem 20px 1rem;margin:0;gap:.6rem}
  .nav-main.open{display:flex}
  .nav-main>ul{flex-direction:column;gap:0}
  .nav-main>ul>li>a{padding:.6rem 0;border:0}
  .nav-sub{display:block;position:static;box-shadow:none;border:0;padding:0 0 0 1rem;min-width:0}
  .nav-sub a{padding:.35rem 0}
}

/* Hero */
.hero{background:var(--navy) linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);color:#dbe4f2;padding:3.2rem 0 3.4rem}
.hero h1{color:#fff;margin:0 0 1rem}
.hero .lead{font-size:1.12rem;color:#c7d3e6;max-width:620px;margin:0 0 1.6rem}
.hero a:not([class]){color:#fff}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem;align-items:start}
@media (max-width:991.98px){.hero-grid{grid-template-columns:1fr;gap:2rem}}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 2rem}
.hero .btn-pri{background:var(--amber);color:var(--navy)}
.hero .btn-pri:hover{background:#ffc02e}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border-top:1px solid rgba(255,255,255,.15)}
.kpis>div{padding:1rem 1rem 0 0}
.kpis>div+div{border-left:1px solid rgba(255,255,255,.12);padding-left:1rem}
.kpis dt{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#9fb0c8}
.kpis dd{margin:.15rem 0 0;font:600 1.6rem/1.1 var(--f);color:#fff;font-variant-numeric:tabular-nums}
.kpis small{font-size:.85rem;font-weight:500;color:#9fb0c8}
@media (max-width:560px){.kpis{grid-template-columns:repeat(2,1fr)}.kpis>div:nth-child(3){border-left:0;padding-left:0}}
.where{background:#fff;color:var(--text);border-radius:6px;padding:1.3rem 1.4rem 1rem;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.where h2{font-size:1.05rem;margin:0 0 .6rem}
.where-t{width:100%;border-collapse:collapse;font-size:.92rem}
.where-t th,.where-t td{padding:.5rem .3rem;border-bottom:1px solid var(--line);vertical-align:middle}
.where-t thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:500}
.where-t tbody th{font-weight:600}
.hero .where-t tbody th a{color:var(--navy);text-decoration:none}
.where-t tbody th a:hover{text-decoration:underline}
.where-t .sub{display:block;font-weight:400;font-size:.8rem;color:var(--muted)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.where-note{margin:.7rem 0 0;font-size:.9rem;font-weight:500}
.badge-eu,.badge-non{display:inline-block;font:600 .7rem/1 var(--f);letter-spacing:.05em;padding:.28rem .45rem;border-radius:3px;vertical-align:1px;white-space:nowrap}
.badge-eu{background:var(--ok-bg);color:var(--ok-tx)}
.badge-non{background:var(--bg-3);color:var(--muted)}

/* Sub-page hero */
.hero.hero-sub{padding:2rem 0 2.3rem}
.hero-sub h1{margin:.5rem 0 .7rem}
.hero-sub .lead{margin:0;max-width:760px}
.hero-sub .lead p{margin:0}
.sub-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2.5rem;align-items:end}
@media (max-width:860px){.sub-grid{grid-template-columns:1fr;gap:1.2rem}}
.kpis-sm{grid-template-columns:repeat(3,auto);border-top:0}
.kpis-sm>div{padding-top:0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0;font-size:.85rem}
.crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.5}
.hero .crumbs,.hero .crumbs a{color:#9fb0c8}
.hero .crumbs [aria-current]{color:#dbe4f2}

/* Points */
.points{background:var(--bg-2);border-bottom:1px solid var(--line)}
.points-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding-top:2.2rem;padding-bottom:2.2rem}
.points h2{font-size:1rem;margin:0 0 .4rem;padding-top:.8rem;border-top:3px solid var(--amber);display:inline-block}
.points p{margin:0;font-size:.93rem;color:var(--muted)}
@media (max-width:900px){.points-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.points-grid{grid-template-columns:1fr;gap:1.2rem}}

/* Requirements form */
.req{margin:2.5rem 0 0;border:1px solid var(--line);border-radius:6px;background:var(--bg-2);scroll-margin-top:90px}
.req-in{display:flex;flex-wrap:wrap;gap:.8rem 1rem;align-items:flex-end;padding:1rem 1.1rem}
.fld{display:flex;flex-direction:column;gap:.25rem;margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.fld select,.fld input{font:400 .95rem var(--f);color:var(--text);background:#fff;border:1px solid var(--line-2);border-radius:4px;padding:.48rem .6rem;min-width:130px;text-transform:none;letter-spacing:0}
.fld-q{flex:1 1 200px}
.fld-q input{width:100%}
.checks{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;flex-basis:100%}
.chk{display:flex;align-items:center;gap:.45rem;font-size:.92rem;font-weight:500;cursor:pointer;margin:0}
.chk input{width:17px;height:17px;accent-color:var(--navy)}

/* Listing table */
.listing{margin:1.8rem 0 3rem;scroll-margin-top:90px}
.list-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.list-head h2{margin:0}
.count{margin:.2rem 0 0;color:var(--muted);font-size:.93rem}
.count strong{color:var(--navy)}
.list-tools{display:flex;gap:.5rem;flex-wrap:wrap}
.tbl-wrap{border:1px solid var(--line);border-radius:6px;overflow:hidden}
table.srv{width:100%;border-collapse:collapse;font-size:.93rem}
.srv thead th{background:var(--bg-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding:.7rem .9rem;border-bottom:1px solid var(--line);text-align:left}
.srv thead th.num{text-align:right}
.srv tbody td{padding:.8rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}
.srv tbody tr:last-child td{border-bottom:0}
.srv tbody tr{cursor:pointer;transition:background .1s}
.srv tbody tr:hover{background:#f8fafd}
.srv .loc{font-weight:600;color:var(--navy);text-decoration:none;white-space:nowrap;margin-right:.3rem}
.srv .loc:hover{text-decoration:underline}
.srv strong{color:var(--navy);font-weight:600}
.srv .sub{display:block;font-size:.82rem;color:var(--muted)}
.srv .price{white-space:nowrap}
.p-eur{display:inline-block;font:600 1.15rem/1.1 var(--f);color:var(--navy);font-variant-numeric:tabular-nums}
.p-unit{font-size:.75rem;color:var(--muted);margin-left:.2rem}
.p-usd,.p-was{display:block;font-size:.78rem;color:var(--muted)}
.p-was{color:var(--amber-dk);font-weight:500}
.srv .act{white-space:nowrap;text-align:right}
.srv .act .btn-sec{padding:.45rem .7rem;font-size:.85rem;margin-right:.35rem}
.srv .act .btn-pri{padding:.47rem .9rem;font-size:.85rem}
.tag{display:inline-block;font:600 .66rem/1 var(--f);letter-spacing:.05em;padding:.24rem .38rem;border-radius:3px;background:var(--navy);color:#fff;vertical-align:1px;margin-left:.15rem}
.tag-hdd{background:var(--bg-3);color:var(--muted)}
.empty{padding:2rem;text-align:center;background:var(--bg-2)}
.ctry td.small{color:var(--muted);max-width:420px}
@media (max-width:860px){
  .tbl-wrap{border:0;border-radius:0;overflow:visible}
  table.srv thead{display:none}
  table.srv,table.srv tbody,table.srv tr,table.srv td{display:block;width:100%}
  table.srv tr{border:1px solid var(--line);border-radius:6px;margin-bottom:.8rem;padding:.4rem .9rem .8rem;background:#fff}
  table.srv tbody td{border:0;padding:.35rem 0;display:block;text-align:right;overflow:hidden}
  table.srv tbody td::before{content:attr(data-l);float:left;margin-right:1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;text-align:left;padding-top:.15rem}
  table.srv tbody td.act{display:flex;justify-content:flex-end;gap:.4rem;padding-top:.7rem;border-top:1px solid var(--line);margin-top:.4rem}
  table.srv tbody td.act::before{content:none}
  .srv .act .btn-pri{flex:1}
  .srv .sub{display:inline;margin-left:.4rem}
}
.pager ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;list-style:none;padding:0;margin:1.6rem 0 0}
.pager a,.pager span{display:block;min-width:2.4rem;text-align:center;padding:.45rem .7rem;border-radius:4px;border:1px solid var(--line-2);color:var(--navy);text-decoration:none;font-weight:500}
.pager span[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.pager .gap{padding:.45rem .2rem}

/* Bands, solutions, guides */
.band{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.6rem 0}
.band h2{margin:0 0 1.2rem}
.sol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem;list-style:none;margin:0;padding:0}
.sol-grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem;text-decoration:none;color:var(--text);border-left:3px solid var(--amber)}
.sol-grid a:hover{border-color:var(--navy);border-left-color:var(--amber)}
.sol-name{display:block;font-weight:600;color:var(--navy)}
.sol-meta{display:block;font-size:.88rem;color:var(--muted)}
.two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:3.5rem;padding-top:3rem;padding-bottom:3rem}
@media (max-width:991.98px){.two-col{grid-template-columns:1fr;gap:2rem}}
.two-col h2{margin:0 0 1rem}
.guide-list{list-style:none;padding:0;margin:0}
.guide-list li{padding:.9rem 0;border-bottom:1px solid var(--line)}
.guide-list li:first-child{padding-top:0}
.guide-list a{font-weight:600;font-size:1.05rem;text-decoration:none;color:var(--navy)}
.guide-list a:hover{text-decoration:underline}
.guide-list p{margin:.2rem 0 0;color:var(--muted);font-size:.93rem}
.guide-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.guide-cards a{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:6px;padding:1.3rem 1.4rem;text-decoration:none;color:var(--text)}
.guide-cards a:hover{border-color:var(--navy)}
.guide-cards h2{font-size:1.15rem;margin:0 0 .5rem}
.guide-cards p{color:var(--muted);margin:0 0 1rem}
.guide-cards span{margin-top:auto;font-weight:600;color:var(--link)}
.guide-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3.5rem;padding-top:2.5rem;padding-bottom:3rem}
@media (max-width:991.98px){.guide-grid{grid-template-columns:1fr}}
.guide{max-width:740px;font-size:1.04rem;line-height:1.7}
@media (min-width:992px){.guide-side{position:sticky;top:90px;align-self:start}}

/* Prose, facts, FAQ */
.prose h2{margin:2.2rem 0 .7rem}
.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li{margin-bottom:.35rem}
.prose .note{font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}
.narrow{max-width:820px}
.facts{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.93rem;border:1px solid var(--line)}
.facts th,.facts td{padding:.6rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.facts thead th{background:var(--bg-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.facts tbody th{font-weight:500;color:var(--muted);width:36%}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-weight:600;color:var(--navy);padding:.9rem 2rem .9rem 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.75rem;font-size:1.3rem;font-weight:400;color:var(--muted)}
.faq details[open] summary::after{content:"\2212"}
.faq-a{padding:0 0 .9rem;color:var(--text)}
.faq-a p:last-child{margin:0}
.related{border:1px solid var(--line);border-radius:6px;padding:1.1rem 1.2rem;margin-bottom:2rem}
.related h2{font-size:1rem;margin:0 0 .5rem}
.related ul{list-style:none;padding:0;margin:0}
.related li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.93rem}
.related li:last-child{border:0}
.related a{font-weight:500}
.related span{color:var(--muted);font-size:.85rem}
.info{border-top:1px solid var(--line)}

/* Side boxes, minis */
.side-box{border:1px solid var(--line);border-radius:6px;padding:1.2rem 1.3rem;margin-bottom:1.2rem;background:#fff}
.side-box h2{font-size:1rem;margin:0 0 .6rem}
.side-box h2+p,.side-box address{font-size:.93rem}
.side-box h2:not(:first-child){margin-top:1.2rem}
.plain{list-style:none;padding:0;margin:0}
.plain li{padding:.25rem 0;font-size:.93rem}
.mini{list-style:none;padding:0;margin:0 0 .6rem}
.mini li{display:flex;justify-content:space-between;gap:.8rem;padding:.65rem 0;border-bottom:1px solid var(--line);cursor:pointer}
.mini-a{display:flex;flex-direction:column;font-size:.83rem;color:var(--muted);line-height:1.4}
.mini-a strong{font-size:.93rem;color:var(--navy)}
.mini-b{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-size:.8rem;color:var(--muted);white-space:nowrap}
.mini-b b{font-size:1.05rem;color:var(--navy)}

/* Forms */
.page-body{padding-top:2.5rem;padding-bottom:3rem}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:start}
@media (max-width:991.98px){.contact-grid{grid-template-columns:1fr}}
.panel{border:1px solid var(--line);border-radius:6px;padding:1.6rem;background:#fff;margin-bottom:1.2rem}
.panel h2{font-size:1.15rem;margin:0 0 1rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:575.98px){.two{grid-template-columns:1fr}}
.fieldset{margin-bottom:1rem}
.fieldset label,.lg-tests legend{display:block;font-weight:600;font-size:.88rem;color:var(--navy);margin-bottom:.3rem}
.opt{font-weight:400;color:var(--muted);font-size:.8rem}
.fieldset input,.fieldset textarea,.fieldset select{width:100%;font:400 .97rem var(--f);color:var(--text);background:#fff;border:1px solid var(--line-2);border-radius:4px;padding:.6rem .7rem}
.fieldset input:focus,.fieldset textarea:focus,.fieldset select:focus{border-color:var(--navy);outline:2px solid rgba(242,169,0,.5);outline-offset:0}
[aria-invalid=true]{border-color:#b42318!important}
.field-err{color:#b42318;font-size:.85rem;margin:.3rem 0 0}
.form-alert{background:#fdecea;border-left:4px solid #b42318;padding:.7rem 1rem}
.captcha{display:grid;grid-template-columns:auto auto 1fr;gap:.8rem;align-items:end;margin-bottom:1.2rem}
.captcha img{border:1px solid var(--line);border-radius:4px}
.captcha .fieldset{margin:0}
@media (max-width:575.98px){.captcha{grid-template-columns:1fr}}
.sent{border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:6px;padding:1.8rem;background:var(--bg-2)}

/* CTA band, footer */
.cta-band{background:var(--bg-2);border-top:1px solid var(--line)}
.cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;padding-top:2.2rem;padding-bottom:2.2rem}
.cta-band h2{margin:0 0 .3rem;font-size:1.35rem}
.cta-band p{margin:0;color:var(--muted);max-width:640px}
.cta-band .btn-inv{background:var(--navy);color:#fff}
.cta-band .btn-inv:hover{background:var(--navy-3)}
.foot{background:var(--navy);color:#b8c5da;padding:3rem 0 2rem;font-size:.92rem}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-brand img{height:40px;width:auto}
.foot-brand p{margin:1rem 0}
.foot h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#8fa2bf;margin:0 0 .7rem;font-weight:600}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{padding:.18rem 0}
.foot-legal{margin:2.5rem 0 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#8fa2bf}
.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:640px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 40px rgba(11,31,58,.2);padding:1rem 1.2rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between}
.consent p{margin:0;font-size:.9rem;flex:1 1 300px}

/* Looking glass */
.lg{padding-top:2.5rem;padding-bottom:2rem}
.lg-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:1.5rem}
@media (max-width:991.98px){.lg-grid{grid-template-columns:1fr}}
.lg-tests{border:0;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.lg-tests legend{grid-column:1/-1;float:none}
.radio{display:flex;align-items:center;gap:.4rem;font-size:.92rem;cursor:pointer}
.radio input{accent-color:var(--navy)}
#lg-run,#lg-stop{margin-top:.25rem}
.btn-line{display:inline-flex;align-items:center;justify-content:center;font:600 .95rem var(--f);border-radius:4px;padding:.7rem 1.1rem;background:#fff;color:var(--navy);border:1px solid var(--line-2);cursor:pointer;width:100%}
.lg-controls .btn-buy{display:flex;width:100%;justify-content:center;font:600 .95rem var(--f);border-radius:4px;padding:.75rem 1.1rem;background:var(--navy);color:#fff;border:0;cursor:pointer}
.lg-ips{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}
.lg-ips li{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--line);font-size:.88rem}
.lg-ips span{color:var(--muted)}
.lg-use-ip{font:500 .85rem var(--f-mono);background:none;border:0;padding:0;color:var(--link);cursor:pointer;text-decoration:underline}
.lg-out{display:flex;flex-direction:column;border:1px solid var(--navy);border-radius:6px;overflow:hidden;min-height:520px;background:#0a1628}
.lg-out-head{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:var(--navy);color:#fff;font-weight:600;font-size:.9rem}
.lg-copy{font:600 .8rem var(--f);background:var(--amber);color:var(--navy);border:0;border-radius:3px;padding:.25rem .6rem;cursor:pointer}
#lg-output{flex:1;margin:0;padding:1rem 1.1rem;color:#d7e3f5;font:.85rem/1.6 var(--f-mono);white-space:pre-wrap;word-break:break-all;overflow-y:auto}
.lg-help{margin-top:2.5rem;max-width:820px}
.nf-links{font-size:1.1rem;font-weight:500}

/* Spec sheet */
.sheet{border:0;border-radius:6px;overflow:hidden}
.sheet .modal-header{background:var(--navy);color:#fff;border:0;align-items:flex-start;padding:1.1rem 1.4rem}
.sheet .modal-title{color:#fff;font-size:1.35rem;margin:0}
.sheet .btn-close{filter:invert(1) grayscale(1) brightness(2)}
.m-loc{margin:0 0 .2rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#9fb0c8}
.m-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem}
@media (max-width:767.98px){.m-grid{grid-template-columns:1fr}}
.m-spec{width:100%;border-collapse:collapse;font-size:.92rem}
.m-spec th,.m-spec td{padding:.5rem .3rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.m-spec th{color:var(--muted);font-weight:500;width:34%}
.m-buy{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:1.1rem;display:flex;flex-direction:column;gap:.55rem}
.m-price{margin-bottom:.3rem}
.m-price strong{display:block;font-size:2rem;font-weight:600;color:var(--navy);line-height:1.1}
.m-price span{display:block;font-size:.82rem;color:var(--muted)}
.m-code{font-size:.82rem;color:var(--muted);margin:.3rem 0 0}

/* Print: spec sheet or page */
@media print{
  .util,.top,.cta-band,.foot,.req,.list-tools,.pager,.consent,.act,.modal-backdrop,.btn-close,.m-buy a,.m-buy button{display:none!important}
  body.printing-sheet main{display:none}
  body.printing-sheet .modal{position:static!important;display:block!important}
  body.printing-sheet .modal-dialog{max-width:none;margin:0;transform:none!important}
  .hero{background:#fff!important;color:#000}
  .hero h1{color:#000}
}

/* Flags */
.flag{display:inline-block;width:16px;height:11px;background:#ddd no-repeat center/100% 100%;vertical-align:-1px;border-radius:1.5px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.flag-FR{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'><path fill='%230055A4' d='M0 0h1v2H0z'/><path fill='%23fff' d='M1 0h1v2H1z'/><path fill='%23EF4135' d='M2 0h1v2H2z'/></svg>")}
.flag-IT{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'><path fill='%23009246' d='M0 0h1v2H0z'/><path fill='%23fff' d='M1 0h1v2H1z'/><path fill='%23CE2B37' d='M2 0h1v2H2z'/></svg>")}
.flag-DE{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 3'><path d='M0 0h5v1H0z'/><path fill='%23DD0000' d='M0 1h5v1H0z'/><path fill='%23FFCE00' d='M0 2h5v1H0z'/></svg>")}
.flag-NL{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 6'><path fill='%23AE1C28' d='M0 0h9v2H0z'/><path fill='%23fff' d='M0 2h9v2H0z'/><path fill='%2321468B' d='M0 4h9v2H0z'/></svg>")}
.flag-ES{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'><path fill='%23AA151B' d='M0 0h3v2H0z'/><path fill='%23F1BF00' d='M0 .5h3v1H0z'/></svg>")}
.flag-CH{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path fill='%23DA291C' d='M0 0h32v32H0z'/><path fill='%23fff' d='M13 6h6v7h7v6h-7v7h-6v-7H6v-6h7z'/></svg>")}
.flag-UK{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'><clipPath id='t'><path d='M30 15h30v15zv15H0zH0V0zV0h30z'/></clipPath><path fill='%23012169' d='M0 0v30h60V0z'/><path stroke='%23fff' stroke-width='6' d='M0 0l60 30m0-30L0 30'/><path stroke='%23C8102E' stroke-width='4' d='M0 0l60 30m0-30L0 30' clip-path='url(%23t)'/><path stroke='%23fff' stroke-width='10' d='M30 0v30M0 15h60'/><path stroke='%23C8102E' stroke-width='6' d='M30 0v30M0 15h60'/></svg>")}
.flag-US{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 10'><path fill='%23B22234' d='M0 0h19v10H0z'/><path stroke='%23fff' stroke-width='.77' d='M0 1.15h19M0 2.69h19M0 4.23h19M0 5.77h19M0 7.31h19M0 8.85h19'/><path fill='%233C3B6E' d='M0 0h7.6v5.38H0z'/></svg>")}
.flag-CA{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 2'><path fill='%23D52B1E' d='M0 0h1v2H0zM3 0h1v2H3z'/><path fill='%23fff' d='M1 0h2v2H1z'/><path fill='%23D52B1E' d='M2 .35l.13.27.22-.08-.07.4.2-.18.06.14.2-.04-.07.24.08.04-.32.24.04.13-.3-.03v.3h-.06v-.3l-.3.03.04-.13-.32-.24.08-.04-.07-.24.2.04.06-.14.2.18-.07-.4.22.08z'/></svg>")}
.flag-CH{width:11px}
@media (max-width:600px){.prose table.facts{display:block;overflow-x:auto;font-size:.85rem}}
