@font-face{font-family:BL;src:url(fonts/f_3.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:BL;src:url(fonts/f_4.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:BL;src:url(fonts/f_5.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --bg:#F3F1EC;--sf:#FFFFFF;--sf2:#F8F6F2;--ln:#D9D4CA;--ln2:#E9E5DD;
  --tx:#16303A;--tx2:#4F6069;--tx3:#5A6870;
  --ink:#0E3A47;--ink2:#134A59;--ink3:#1C6376;--hl:rgba(255,255,255,.13);--htx:#F4F8F9;--htx2:#A9C4CC;
  --ac:#EE6A3F;--ac2:#FCE7DE;--act:#8A2E12;--acd:#2A0E05;
  --gr:#178A5E;--gr2:#DDF3E8;--grt:#0F5E3F;
  --rd:#B9261C;--rd2:#F9E1DE;--rdt:#7F1A12;
  --lk:#0F5B71;--fc:#EE6A3F;--acb:#D4522A;
  --sh:0 1px 0 rgba(22,48,58,.05);
  --fd:"BL","Avenir Next","Segoe UI",sans-serif;
  --fb:"BL","Helvetica Neue",Arial,sans-serif;
}
:root[data-theme="dark"]{
  --bg:#0E1A1F;--sf:#15252C;--sf2:#1A2E36;--ln:#2A414B;--ln2:#22363F;
  --tx:#E8EEF0;--tx2:#AEBFC5;--tx3:#7E9299;
  --ink:#174A5B;--ink2:#1C586B;--ink3:#2E8AA3;--hl:rgba(255,255,255,.10);--htx:#F4F8F9;--htx2:#A9C4CC;
  --ac:#F5825B;--ac2:#3D1F14;--act:#F8B49B;--acd:#2A0E05;
  --gr:#3FBF84;--gr2:#10301F;--grt:#7ADBAE;
  --rd:#F0685C;--rd2:#3A1815;--rdt:#F5A39B;
  --lk:#7FC3D8;--fc:#F5825B;--acb:#E9663C;
  --sh:none;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0E1A1F;--sf:#15252C;--sf2:#1A2E36;--ln:#2A414B;--ln2:#22363F;
    --tx:#E8EEF0;--tx2:#AEBFC5;--tx3:#7E9299;
    --ink:#174A5B;--ink2:#1C586B;--ink3:#2E8AA3;--hl:rgba(255,255,255,.10);--htx:#F4F8F9;--htx2:#A9C4CC;
    --ac:#F5825B;--ac2:#3D1F14;--act:#F8B49B;--acd:#2A0E05;
    --gr:#3FBF84;--gr2:#10301F;--grt:#7ADBAE;
    --rd:#F0685C;--rd2:#3A1815;--rdt:#F5A39B;
    --lk:#7FC3D8;--fc:#F5825B;--acb:#E9663C;
    --sh:none;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--tx);font:300 1rem/1.6 var(--fb);font-feature-settings:"tnum" 1,"cv02" 1;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:var(--lk);text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.16em}
a:hover{text-decoration-thickness:.12em}
:focus-visible{outline:.15rem solid var(--fc);outline-offset:.15rem;border-radius:.2rem}
h1,h2,h3,h4,.sh-h,.tc-h{font-family:var(--fd);margin:0;letter-spacing:-.01em;line-height:1.15;font-weight:500}
h2,.sh-h{font-size:1.5rem}
h3,.tc-h{font-size:1.125rem;display:block}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
strong{font-weight:400}
table{border-collapse:collapse;width:100%}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
.wr{max-width:76rem;margin:0 auto;padding:0 1.25rem}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:1.1rem;height:1.1rem;flex:none}

/* header */
.hd{background:var(--sf);border-bottom:1px solid var(--ln);position:sticky;top:0;z-index:40}
.hd .wr{display:flex;align-items:center;height:3.75rem;gap:1.5rem}
.lg{display:flex;align-items:center;gap:.15rem;white-space:nowrap;color:var(--tx);text-decoration:none;font-family:var(--fd);font-weight:500;font-size:1.1rem;letter-spacing:-.01em}
.lg svg{width:1.6rem;height:1.6rem;color:var(--ac)}
.nv{display:flex;gap:.25rem;margin-inline-start:auto}
.nv a{color:var(--tx2);text-decoration:none;padding:.45rem .7rem;border-radius:.25rem;font-size:.95rem}
.nv a:hover{background:var(--sf2);color:var(--tx)}
.nv a[aria-current]{color:var(--tx);font-weight:400}
.tl{display:flex;align-items:center;gap:.4rem}
.tb{display:inline-flex;align-items:center;gap:.4rem;height:2.1rem;padding:0 .65rem;border:1px solid var(--ln);border-radius:.25rem;font-size:.85rem;color:var(--tx2);background:var(--sf)}
.tb:hover{border-color:var(--tx3);color:var(--tx)}
.tb svg{width:1rem;height:1rem}
.mb{display:none}
.dd{position:relative}
.dm{position:absolute;right:0;top:calc(100% + .35rem);min-width:10rem;background:var(--sf);border:1px solid var(--ln);border-radius:.25rem;padding:.3rem;box-shadow:0 .75rem 2rem rgba(10,20,40,.14);display:none;z-index:50}
.dm[data-open]{display:block}
.dm a,.dm button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .6rem;border-radius:.2rem;color:var(--tx);text-decoration:none;font-size:.9rem;text-align:start}
.dm a:hover,.dm button:hover{background:var(--sf2)}
.dm [aria-current],.dm [aria-pressed="true"]{font-weight:400}
.dm small{color:var(--tx3);font-size:.75rem}
@media (max-width:52rem){
  .hd .wr{gap:.75rem}
  .mb{display:inline-flex;margin-inline-start:auto}
  .nv{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--sf);border-bottom:1px solid var(--ln);padding:0 1rem;margin:0;
      max-height:0;overflow:hidden;opacity:0;transform:translateY(-.4rem);pointer-events:none;visibility:hidden;
      transition:max-height .3s cubic-bezier(.2,.7,.2,1),opacity .2s ease,transform .3s cubic-bezier(.2,.7,.2,1),padding .3s cubic-bezier(.2,.7,.2,1),visibility 0s linear .3s}
  .mn-open .nv{max-height:80vh;opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible;padding:.5rem 1rem 1rem;transition-delay:0s}
  .mn-open .nv a{padding:.7rem .5rem;font-size:1.05rem}
}
.mbdr{position:fixed;left:0;right:0;top:3.75rem;bottom:0;background:rgba(14,26,31,.32);backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:30}
.mbdr.is-on{opacity:1;pointer-events:auto}
@media (min-width:52.01rem){.mbdr{display:none}}
/* burger to X icon */
.bg{padding:.5rem}
.bg__i{position:relative;display:inline-block;width:1.25rem;height:.9rem;vertical-align:middle}
.bg__i > span{position:absolute;left:0;right:0;height:.125rem;background:currentColor;border-radius:.1rem;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .18s ease,top .28s cubic-bezier(.2,.7,.2,1)}
.bg__i > span:nth-child(1){top:0}
.bg__i > span:nth-child(2){top:calc(50% - .0625rem)}
.bg__i > span:nth-child(3){top:auto;bottom:0}
.mn-open .bg__i > span:nth-child(1){top:calc(50% - .0625rem);transform:rotate(45deg)}
.mn-open .bg__i > span:nth-child(2){opacity:0;transform:scaleX(0)}
.mn-open .bg__i > span:nth-child(3){top:calc(50% - .0625rem);bottom:auto;transform:rotate(-45deg)}
/* every country flag renders as the SVG alone: no background, no border, no radius, no padding */
/* Flag SVGs are square with a built-in circular mask, so keep them square, never stretch. */
img[src*="/flags/"]{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;aspect-ratio:1;object-fit:contain}
/* back to top with scroll progress ring */
.btt{position:fixed;inset-inline-end:1.25rem;bottom:1.25rem;width:2.75rem;height:2.75rem;border-radius:.3rem;background:var(--sf);color:var(--tx);border:1px solid var(--ln);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 .5rem 1.2rem rgba(14,26,31,.14),0 .1rem .3rem rgba(14,26,31,.08);z-index:45;opacity:0;transform:translateY(.6rem);pointer-events:none;transition:opacity .22s ease,transform .22s ease,background .18s ease}
.btt.is-on{opacity:1;transform:translateY(0);pointer-events:auto}
.btt:hover{background:var(--sf2)}
.btt:focus-visible{outline:.15rem solid var(--fc);outline-offset:.2rem}

/* cookie choice
   A bar rather than a modal: the reader can keep reading while it is up, so there
   is no focus trap to build and nothing to trap them in. It starts hidden and the
   script reveals it only when no answer is stored, which keeps it out of the way
   of anyone who already answered and off the critical path for everyone.
   Fixed, so it shifts nothing on the page. The back to top button lifts above it. */
.cns{position:fixed;inset-inline:0;bottom:0;z-index:50;background:var(--sf);border-top:1px solid var(--ln);box-shadow:0 -.4rem 1.4rem rgba(14,26,31,.12)}
.cns[hidden]{display:none}
.cns__in{max-width:76rem;margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.cns__tx{flex:1 1 24rem;min-width:0}
.cns__tx b{display:block;font-family:var(--fd);font-weight:500;font-size:1rem;color:var(--tx);margin-bottom:.15rem}
.cns__tx p{margin:0;color:var(--tx2);font-size:.875rem;line-height:1.55;max-width:74ch}
.cns__tx a{color:var(--lk)}
.cns__bt{display:flex;gap:.6rem;margin-inline-start:auto}
.cns__b{min-height:2.75rem;padding:.6rem 1.3rem;border-radius:.3rem;font-family:inherit;font-size:.95rem;font-weight:400;white-space:nowrap;cursor:pointer;transition:background .15s ease}
.cns__b--no{background:transparent;color:var(--tx);border:1px solid var(--ln)}
.cns__b--no:hover{background:var(--sf2)}
.cns__b--yes{background:var(--acb);color:#fff;border:1px solid var(--acb)}
.cns__b--yes:hover{background:var(--ac);border-color:var(--ac)}
.cns__b:focus-visible{outline:.15rem solid var(--fc);outline-offset:.2rem}
.cns-on .btt{bottom:calc(1.25rem + var(--cns-h,6rem))}
@media (max-width:44rem){
  .cns__in{padding:.9rem 1rem;gap:.85rem}
  .cns__bt{margin-inline-start:0;width:100%}
  .cns__b{flex:1 1 0}
}
.btt__ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.btt__trk{fill:none;stroke:var(--ln2);stroke-width:2}
.btt__prg{fill:none;stroke:var(--ac);stroke-width:2;stroke-linecap:butt;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .12s linear}
.btt__ico{width:1rem;height:1rem;color:var(--tx)}
:root[data-theme="dark"] .btt,:root:not([data-theme="light"]) .btt{box-shadow:0 .5rem 1.2rem rgba(0,0,0,.5),0 .1rem .3rem rgba(0,0,0,.3)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btt{box-shadow:0 .5rem 1.2rem rgba(0,0,0,.5),0 .1rem .3rem rgba(0,0,0,.3)}}
@media (prefers-reduced-motion:reduce){.nv,.mbdr,.btt,.btt__prg{transition:none!important}}

/* breadcrumb */
.bc{padding:.9rem 0 0;font-size:.85rem;color:var(--tx3)}
.bc ol{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}
.bc li+li::before{content:"/";margin-inline-end:.35rem;color:var(--ln)}
.bc a{color:var(--tx2);text-decoration:none}
.bc a:hover{text-decoration:underline}

/* hero */
.hr{padding:1.25rem 0 0}
.hr .wr{padding:0 1.25rem}
.hg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:var(--ink);color:var(--htx);border-radius:.3rem;overflow:hidden}
.hg--solo{grid-template-columns:1fr}
.hl{padding:2.5rem 2.25rem 2.25rem;display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.al{display:flex;align-items:center;gap:1rem}
.al img{width:4rem;height:4rem;object-fit:contain;background:#fff;border-radius:.3rem;padding:.35rem}
.al div{font-size:.9rem;color:var(--htx2)}
.al b{display:flex;align-items:center;gap:.4rem;color:var(--htx);font-weight:400;font-size:1rem}
.al b img{width:1.15rem;height:1.15rem;padding:0;background:none;border:0;box-shadow:none}
.hr h1{font-size:2.75rem;line-height:1.02;letter-spacing:-.025em;max-width:16ch}
.ld{font-size:1.05rem;line-height:1.55;color:var(--htx2);max-width:44ch;margin:0}
.ld b{color:var(--htx);font-weight:400}
.hk{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding:1rem 0 0;border-top:1px solid var(--hl);font-size:.9rem}
.hk div{display:flex;flex-direction:column;gap:.1rem}
.hk span{color:var(--htx2);font-size:.8rem}
.hk b{font-weight:400}
.st{display:inline-flex;gap:.1rem;color:var(--ac)}
.st svg{width:.85rem;height:.85rem}
.ha{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:auto}
.bt{display:inline-flex;align-items:center;gap:.5rem;height:2.6rem;padding:0 1.1rem;border-radius:.25rem;text-decoration:none;font-weight:400;font-size:.95rem;background:var(--acb);color:#fff;border:1px solid transparent}
.bt:hover{background:var(--ac);text-decoration:none}
.bt svg{width:1rem;height:1rem}
.bo{background:transparent;color:var(--htx);border-color:var(--hl)}
.bo:hover{background:var(--hl)}
.vd{font-size:.85rem;color:var(--htx2);display:inline-flex;align-items:center;gap:.4rem}
.vd svg{width:.95rem;height:.95rem;color:var(--gr)}
/* The correction link borrows .vd for its size and colour, but not the green of
   the verified tick: it is an invitation, not a claim. */
/* The padding and the equal negative margin grow the tap area to the 44px the rest
   of the site uses, without moving the link a pixel. */
.vd--rep{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:var(--hl);padding-block:.7rem;margin-block:-.7rem}
.vd--rep svg{color:currentColor}
.vd--rep:hover,.vd--rep:focus-visible{color:var(--htx);text-decoration-color:currentColor}
.hb{position:relative;background:var(--ink2);padding:1.5rem 1.5rem 1.25rem;min-width:0;display:flex;flex-direction:column;justify-content:center;
  background-image:linear-gradient(var(--hl) 1px,transparent 1px),linear-gradient(90deg,var(--hl) 1px,transparent 1px);
  background-size:2rem 2rem;background-position:center}
.hb::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 60%,transparent 40%,var(--ink2) 100%);pointer-events:none}
.hb>*{position:relative;z-index:1}
.hb figure{margin:0}
.hb figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;font-size:.8rem;color:var(--htx2);margin-top:.5rem}
.hb figcaption span{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.hb figcaption i{width:1.2rem;height:0;border-top:2px dashed var(--ac)}
.bp{width:100%;height:auto;font-family:var(--fb)}
.bp .o{fill:rgba(255,255,255,.05);stroke:#fff;stroke-width:1.5;stroke-linejoin:round}
.bp .oo{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.5;stroke-dasharray:5 4}
.bp .d{stroke:var(--ac);stroke-width:1;fill:none}
.bp .t{fill:var(--ac);font-size:13px;font-weight:500;font-family:var(--fb)}
.bp .l{fill:#fff;font-size:14px;font-weight:400;font-family:var(--fd)}
.bp .s{fill:rgba(255,255,255,.7);font-size:12px;font-family:var(--fb)}
.bp .tg{fill:var(--ac)}
.bp .tt{fill:#fff;font-size:14px;font-weight:500;font-family:var(--fd)}
.bp .ts{fill:rgba(255,255,255,.85);font-size:11px;font-family:var(--fb)}
.bp .w{fill:rgba(255,255,255,.35)}
@media (max-width:64rem){
  .hg{grid-template-columns:1fr}
  .hl{padding:1.75rem 1.5rem 1.5rem}
  .hr h1{font-size:2.25rem}
}
@media (max-width:40rem){
  .hb{display:none}
}

/* quick answer strip */
.qk{margin:1.25rem 0 0;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;overflow:hidden}
.qk table{table-layout:fixed}
.qk th,.qk td{padding:.9rem 1.25rem;text-align:start;vertical-align:top;border-top:1px solid var(--ln2)}
.qk thead th{border-top:0;background:var(--sf2);font-family:var(--fd);font-size:1rem;font-weight:500;padding:.75rem 1.25rem}
.qk thead th:first-child{font-family:var(--fb);font-weight:500;color:var(--tx3);font-size:.9rem}
.qk tbody th{font-weight:500;color:var(--tx2);font-size:.95rem}
.qk tbody th small{display:block;color:var(--tx3);font-size:.8rem;font-weight:400}
.qk td b{display:block;font-family:var(--fd);font-size:1.35rem;line-height:1.1;font-weight:500;letter-spacing:-.01em}
.qk td span{display:block;color:var(--tx2);font-size:.875rem;margin-top:.15rem}
.qk .n{font-size:1rem;font-family:var(--fb);font-weight:400}
@media (max-width:40rem){
  .hk{display:none}
  .bp .g4{display:none}
  .qk tbody th small{display:none}
  .qk th,.qk td{padding:.7rem .75rem}
  .qk td b{font-size:1.15rem}
  .qk tbody th{font-size:.85rem}
}

/* layout */
.ly{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:3rem;padding:2.5rem 1.25rem 3.5rem;align-items:start}
.mn{min-width:0}
.sb{position:sticky;top:4.75rem;max-height:calc(100vh - 5.25rem);overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:1.75rem;font-size:.9rem}
@media (max-width:64rem){
  .ly{grid-template-columns:1fr;gap:2rem}
  .sb{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem 2.5rem;padding-top:1.5rem;border-top:1px solid var(--ln)}
}

/* sections */
.sc{padding:2.25rem 0;border-top:1px dashed var(--ln)}
.sc:first-child{padding-top:0;border-top:0}
.sh{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.sh p{color:var(--tx2);margin:.4rem 0 0;max-width:62ch}
.sh h2,.sh .sh-h{display:flex;align-items:center;gap:.6rem}
.sh h2 svg,.sh .sh-h svg{width:1.35rem;height:1.35rem;color:var(--ac)}
.sh__t{display:block;font-family:var(--fd);font-size:1.5rem;line-height:1.15;letter-spacing:-.01em;font-weight:500;color:var(--tx)}
.pr{max-width:68ch}

/* panels (cabin) */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pn>div{background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;padding:1.25rem}
.pn__box > b{display:block;font-family:var(--fd);font-size:1.05rem;font-weight:500;margin:0 0 .85rem;color:var(--tx)}
.pn__box dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem 1rem;align-items:baseline}
.pn__box dt{color:var(--tx3);font-size:.82rem;font-weight:400}
.pn__box dd{margin:0;color:var(--tx);font-size:.92rem;line-height:1.5}
.pn h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.pn h3 svg{width:1.2rem;height:1.2rem;color:var(--tx3)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;margin:0;font-size:.95rem}
.dl dt{color:var(--tx3)}
.dl dd{margin:0;font-weight:500}
.dl dd small{display:block;color:var(--tx2);font-weight:400;font-size:.85rem}
.dl dd em{font-style:normal;font-family:var(--fd);font-size:1.15rem;font-weight:500}
.nt{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--ln2);font-size:.9rem;color:var(--tx2)}
@media (max-width:40rem){.pn{grid-template-columns:1fr}}

/* tables */
.tw{overflow-x:auto;border:1px solid var(--ln);border-radius:.3rem;background:var(--sf)}
/* The footnote is a row of the table card, not a separate box: it already borrows
   thead's background and the row separator's hairline. It sits outside .tw because
   .tw scrolls sideways on narrow screens and a footnote must not scroll with it,
   so the card is closed here instead. */
.tw:has(+ .tf){border-bottom:0;border-radius:.3rem .3rem 0 0}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}
.tw table{min-width:36rem;border-collapse:separate;border-spacing:0}
.tw th,.tw td{padding:.8rem 1rem;text-align:start;vertical-align:top;font-size:.95rem;border-top:1px solid var(--ln2)}
.tw thead th{border-top:0;background:var(--sf2);font-weight:400;font-size:.85rem;color:var(--tx2);white-space:nowrap}
.tw tbody th{font-weight:400;white-space:nowrap;background:var(--sf)}
.tw thead th:first-child,.tw tbody th:first-child{position:sticky;inset-inline-start:0;z-index:1;box-shadow:1px 0 0 var(--ln2)}
[dir="rtl"] .tw thead th:first-child,[dir="rtl"] .tw tbody th:first-child{box-shadow:-1px 0 0 var(--ln2)}
.tw thead th:first-child{z-index:2}
.tw td b{font-weight:400}
.tw td small{display:block;color:var(--tx3);font-size:.8rem}
.ok{color:var(--grt);background:var(--gr2);padding:.15rem .45rem;border-radius:.2rem;font-weight:400;font-size:.85rem;white-space:nowrap}
.fe{color:var(--act);background:var(--ac2);padding:.15rem .45rem;border-radius:.2rem;font-weight:400;font-size:.85rem;white-space:nowrap}
.no{color:var(--rdt);background:var(--rd2);padding:.15rem .45rem;border-radius:.2rem;font-weight:400;font-size:.85rem;white-space:nowrap}
.tf{margin:0 0 1rem;padding:.75rem 1rem;font-size:.85rem;color:var(--tx2);border:1px solid var(--ln);border-top-color:var(--ln2);border-radius:0 0 .3rem .3rem;background:var(--sf2)}
.tf:has(+ .tf){margin-bottom:0;border-bottom:0;border-radius:0}

.nx{color:var(--tx3);font-weight:500}

/* callouts */
.cl{display:flex;gap:.75rem;padding:1rem 1.1rem;border-radius:.3rem;margin-top:1rem;font-size:.95rem;border:1px solid}
.cl svg{width:1.2rem;height:1.2rem;flex:none;margin-top:.15rem}
.cl p{margin:0}
.cl b{font-weight:400}
.ca{background:var(--ac2);border-color:color-mix(in srgb,var(--ac) 40%,transparent);color:var(--act)}
.ca svg{color:var(--ac)}
.cg{background:var(--gr2);border-color:color-mix(in srgb,var(--gr) 40%,transparent);color:var(--grt)}
.cg svg{color:var(--gr)}
.ci{background:var(--sf);border-color:var(--ln);color:var(--tx2)}
.ci svg{color:var(--tx3)}

/* fare ladder */
.sh3{margin:2rem 0 .4rem;font-size:1.125rem}
.sp2{color:var(--tx2);margin-bottom:1rem}
.fl{border:1px solid var(--ln);border-radius:.3rem;background:var(--sf);overflow:hidden}
.fl table{table-layout:auto}
.fl th,.fl td{padding:.65rem 1rem;border-top:1px solid var(--ln2);font-size:.95rem;text-align:start}
.fl tr:first-child th,.fl tr:first-child td{border-top:0}
.fl th{width:32%;font-weight:500;color:var(--tx2);white-space:nowrap}
.fl td{white-space:nowrap;vertical-align:middle}
/* The figure sizes its own column, so nothing has to guess how wide a figure is:
   "50 kg" and "Included with Fly Grande, Optima and Family" both get their room. */
.fl td.fb{padding-inline-end:0}
.fl td.fv{width:1%;padding-inline-start:.75rem}
.fl td i{display:block;height:1.1rem;width:calc(100% * var(--f));background:var(--ink3);border-radius:.15rem}
.fl .bz td i{background:var(--ac)}
.fl td b{font-family:var(--fd);font-size:1.1rem;font-weight:500;vertical-align:middle}
/* Narrow screens have no room for a name, a bar and a sentence side by side, so the
   figure wraps rather than shrinking the column to one word per line. */
@media (max-width:40rem){.fl th{width:34%;white-space:normal;font-size:.85rem}.fl th,.fl td{padding:.55rem .75rem}.fl td.fb{width:22%}.fl td.fv{width:auto;white-space:normal;padding-inline-start:.6rem}.fl td.fn{white-space:normal}.fl td b{font-size:.95rem}}

/* calculator */
.cc{margin-top:1.5rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cf{padding:1.25rem;border-inline-end:1px solid var(--ln2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem 1rem}
.cf h3{grid-column:1/-1;font-size:1.05rem;margin-bottom:.1rem}
.cf label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--tx2);font-weight:500;min-width:0}
.cf label.f{grid-column:1/-1}
.cf select,.cf input{font:inherit;font-size:.95rem;color:var(--tx);background:var(--sf2);border:1px solid var(--ln);border-radius:.25rem;height:2.5rem;padding:0 .7rem;width:100%;appearance:none;-webkit-appearance:none}
.cf select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237F8C93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:1rem;padding-inline-end:2rem}
.cf input[type=number]{-moz-appearance:textfield}
.cf input::-webkit-outer-spin-button,.cf input::-webkit-inner-spin-button{-webkit-appearance:none}
.cf select:focus,.cf input:focus{outline:.15rem solid var(--fc);outline-offset:.05rem;border-color:var(--fc)}
.cf .un{position:relative}
.cf .un span{position:absolute;inset-inline-end:.7rem;bottom:.65rem;font-size:.85rem;color:var(--tx3)}
/* custom select (drop-in replacement for native <select>) */
.ss{position:relative}
.ss__sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.ss__btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-width:0;height:2.5rem;padding:0 .7rem;background:var(--sf2);border:1px solid var(--ln);border-radius:.25rem;color:var(--tx);font:inherit;font-size:.95rem;font-weight:400;text-align:start;cursor:pointer}
.ss__btn:hover{border-color:var(--tx3)}
.ss__btn:focus-visible,.ss.is-open .ss__btn{outline:.15rem solid var(--fc);outline-offset:.05rem;border-color:var(--fc)}
.ss__lab{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.ss__chv{width:1rem;height:1rem;flex:0 0 auto;color:var(--tx3);transition:transform .18s ease}
.ss.is-open .ss__chv{transform:rotate(180deg)}
.ss__lst{position:absolute;left:0;right:0;top:calc(100% + .3rem);z-index:30;margin:0;padding:.25rem;list-style:none;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;box-shadow:0 .8rem 1.6rem rgba(14,26,31,.14),0 .15rem .4rem rgba(14,26,31,.08);max-height:15rem;overflow-y:auto;opacity:0;transform:translateY(-.25rem);pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.ss.is-open .ss__lst{opacity:1;transform:translateY(0);pointer-events:auto}
.ss__lst li{display:flex;align-items:center;gap:.5rem;padding:.55rem .6rem;border-radius:.2rem;font-size:.95rem;font-weight:400;color:var(--tx);cursor:pointer;line-height:1.35}
.ss__lst li[aria-selected="true"]::before{content:"";width:.85rem;height:.85rem;flex:0 0 auto;background:currentColor;color:var(--ac);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.ss__lst li:not([aria-selected="true"]){padding-inline-start:2.1rem}
.ss__lst li:hover,.ss__lst li.is-active{background:var(--sf2)}
:root[data-theme="dark"] .ss__lst,:root:not([data-theme="light"]) .ss__lst{box-shadow:0 .8rem 1.6rem rgba(0,0,0,.5),0 .15rem .4rem rgba(0,0,0,.3)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ss__lst{box-shadow:0 .8rem 1.6rem rgba(0,0,0,.5),0 .15rem .4rem rgba(0,0,0,.3)}}
.cr{padding:1.25rem;background:var(--sf2);display:flex;flex-direction:column;gap:1rem;border-radius:0 .3rem .3rem 0}
.cr h3{font-size:1.05rem;margin:0}
.ch{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.cst{font-size:.82rem;font-weight:400;padding:.22rem .55rem;border-radius:.25rem;white-space:nowrap;line-height:1.2}
.cst.ov{background:var(--ac2);color:var(--act)}
.cst.ok{background:var(--gr2);color:var(--grt)}
.cst.at{background:var(--sf);color:var(--tx3);border:1px solid var(--ln)}
.cst:empty{display:none}
.cg{position:relative;height:.9rem;background:var(--ln2);border-radius:.15rem;overflow:hidden}
.cg i{position:absolute;left:0;top:0;bottom:0;background:var(--ink3);border-radius:.15rem;transition:width .35s ease}
.cg i.ov{background:var(--ac)}
.cg b{position:absolute;top:-.25rem;bottom:-.25rem;width:2px;background:var(--tx)}
.cs{display:flex;justify-content:space-between;font-size:.8rem;color:var(--tx3)}
.co{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.co div{padding:.85rem 1rem;background:var(--sf);border:1px solid var(--ln);border-radius:.25rem}
.co span{display:block;font-size:.78rem;color:var(--tx3)}
.co b{display:block;font-family:var(--fd);font-size:1.5rem;font-weight:500;line-height:1.15;margin-top:.15rem}
.co b.ok2{color:var(--grt)}
.co b.ov2{color:var(--act)}
.cm{font-size:.9rem;color:var(--tx2);margin:0}
.cm b{color:var(--tx)}
.cn{font-size:.78rem;color:var(--tx3);margin:auto 0 0}
@media (max-width:52rem){.cc{grid-template-columns:1fr}.cf{border-inline-end:0;border-bottom:1px solid var(--ln2)}.cr{border-radius:0 0 .3rem .3rem}}
@media (max-width:24rem){.cf{grid-template-columns:1fr}.co{grid-template-columns:1fr}}

/* battery rules */
.bt2{margin-top:1rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
.bt2 table{min-width:0}
.bt2 th,.bt2 td{padding:.7rem 1rem;border-top:1px solid var(--ln2);font-size:.92rem;text-align:start;vertical-align:top}
.bt2 thead th{border-top:0;background:var(--sf2);font-size:.82rem;color:var(--tx2);font-weight:400}
.bt2 tbody th{font-weight:400}
.bt2 tbody th small{display:block;font-weight:400;color:var(--tx3);font-size:.8rem}
.bt2 td:nth-child(2),.bt2 td:nth-child(3){white-space:nowrap}
@media (max-width:40rem){.bt2 th,.bt2 td{padding:.6rem .7rem;font-size:.85rem}.bt2 tbody th small{display:none}}

/* timeline */
.tm{margin-top:.5rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;padding:1.5rem 1.25rem 1.25rem}
/* One column per step, however many steps a carrier publishes. Fixing the count at
   four left Lufthansa's two filling half the box and pushed Singapore's fifth onto a
   second row, below the line that was supposed to connect it. */
.tm ol{margin:0;padding:0;list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:relative}
.tm ol::before{content:"";position:absolute;left:0;right:0;top:.55rem;height:2px;background:var(--ln)}
.tm li{position:relative;padding-block:1.35rem 0;padding-inline:0 .75rem}
.tm li::before{content:"";position:absolute;left:0;top:0;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--sf);border:.2rem solid var(--ink3)}
.tm li.x::before{border-color:var(--ac)}
.tm li b{display:block;font-family:var(--fd);font-size:1.4rem;line-height:1.1}
.tm li span{display:block;font-size:.85rem;color:var(--tx2);margin-top:.25rem}
.tm li em{display:block;font-style:normal;font-size:.78rem;color:var(--tx3);margin-top:.15rem}
@media (max-width:48rem){
  .tm ol{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;gap:.25rem}
  .tm ol::before{left:.5rem;right:auto;top:.3rem;bottom:1.5rem;width:2px;height:auto}
  .tm li{padding-block:.15rem 1rem;padding-inline:2.25rem 0}
}

.bo2{background:var(--sf);color:var(--tx);border-color:var(--ln)}
.bo2:hover{background:var(--sf2);border-color:var(--tx3)}

/* lost baggage steps */
.ls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem}
.ls>div{background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;padding:1.1rem 1.25rem;position:relative}
.ls i{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--ink);color:var(--htx);font-style:normal;font-weight:500;font-family:var(--fd);font-size:.95rem;margin-bottom:.7rem}
.ls h3{font-size:1rem;margin-bottom:.35rem}
.ls p{font-size:.9rem;color:var(--tx2)}
.ls a.bt{margin-top:.75rem;height:2.25rem;font-size:.875rem;padding:0 .85rem}
@media (max-width:48rem){.ls{grid-template-columns:1fr}}
.tg2{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.tg2 a,.tg2 span{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--ln);border-radius:.25rem;background:var(--sf);font-size:.875rem;text-decoration:none;color:var(--tx)}
.tg2 svg{width:.95rem;height:.95rem;color:var(--tx3)}

/* read first */
.rf{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem}
.rf div{padding:1rem 1.1rem;border-inline-start:3px solid var(--ac);background:var(--sf);border-radius:0 .3rem .3rem 0}
.rf h3{font-size:1rem;margin-bottom:.35rem}
.rf p{font-size:.9rem;color:var(--tx2)}
@media (max-width:40rem){.rf{grid-template-columns:1fr}}

/* routes */
.rt{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rt .jr{background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;overflow:hidden}
.rh{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--ink);color:var(--htx)}
.rh b{font-family:var(--fd);font-size:1.5rem;font-weight:500;letter-spacing:.02em}
.rh svg{width:1.4rem;height:1.4rem;color:var(--ac)}
.rh span{margin-inline-start:auto;font-size:.8rem;color:var(--htx2);text-align:end;line-height:1.3}
.rh span b{display:block;font-family:var(--fb);font-size:.9rem;color:var(--htx);letter-spacing:0}
.rb{padding:1rem 1.25rem}
.rb dl{margin:0;display:grid;grid-template-columns:7rem 1fr;gap:.5rem .75rem;font-size:.92rem}
.rb dt{color:var(--tx3)}
.rb dd{margin:0}
@media (max-width:48rem){.rt{grid-template-columns:1fr}}

/* checklist */
.ck{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem}
.ck li{display:flex;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--ln2)}
.ck svg{width:1.2rem;height:1.2rem;color:var(--gr);flex:none;margin-top:.15rem}
.ck b{display:block;font-weight:400}
.ck span{color:var(--tx2);font-size:.9rem}
@media (max-width:48rem){.ck{grid-template-columns:1fr}}

/* special items */
.sp{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.sp>div{background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;padding:1.1rem 1.25rem}
.sp h3{font-size:1rem;margin-bottom:.6rem}
.sp li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-top:1px solid var(--ln2);font-size:.92rem}
.sp li:first-child{border-top:0}
.sp li span{color:var(--tx2);text-align:end}
@media (max-width:40rem){.sp{grid-template-columns:1fr}}

/* guides */
.gd{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gd a{display:flex;flex-direction:column;padding:1.1rem 1.25rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;text-decoration:none;color:var(--tx)}
.gd a:hover{border-color:var(--tx3)}
.gd b{display:block;font-family:var(--fd);font-size:1.05rem;margin-bottom:.3rem}
.gd span{display:block;font-size:.9rem;color:var(--tx2)}
.gd i{display:inline-flex;align-self:flex-start;align-items:center;gap:.3rem;font-style:normal;margin-top:auto;padding-top:.7rem;color:var(--lk);font-size:.9rem;font-weight:400}
.gd i svg{width:.9rem;height:.9rem}
@media (max-width:48rem){.gd{grid-template-columns:1fr}}
.hu{margin-top:1.25rem;font-size:.95rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}
.hu > span{color:var(--tx3)}
.hu a,.hu .hu__name{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--ln);border-radius:.25rem;background:var(--sf);text-decoration:none;color:var(--tx);font-weight:500}
.hu a svg,.hu .hu__name svg{width:.95rem;height:.95rem;flex:none;color:var(--tx3)}

/* faq */
.fq details{border-top:1px solid var(--ln2)}
.fq details:last-child{border-bottom:1px solid var(--ln2)}
.fq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;cursor:pointer;font-weight:400;font-size:1rem;list-style:none}
.fq summary::-webkit-details-marker{display:none}
.fq summary svg{width:1.1rem;height:1.1rem;flex:none;color:var(--tx3);transition:transform .2s}
.fq details[open] summary svg{transform:rotate(45deg)}
.fq .fa{padding:0 0 1.1rem;color:var(--tx2);max-width:68ch}

/* sidebar */
.sb h3{font-size:.8rem;font-weight:400;color:var(--tx3);margin-bottom:.6rem;font-family:var(--fb)}
.tc a{display:block;padding-block:.35rem;padding-inline:.85rem 0;border-inline-start:2px solid var(--ln);color:var(--tx2);text-decoration:none}
.tc a:hover{color:var(--tx)}
.tc a[aria-current]{border-color:var(--ac);color:var(--tx);font-weight:400}
.ft dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.45rem .9rem}
.ft dt{color:var(--tx3)}
.ft dd{margin:0;font-weight:500;display:flex;align-items:center;gap:.35rem}
.ft dd img{width:1.05rem;height:1.05rem}
.ol a{display:flex;align-items:center;gap:.55rem;padding:.55rem 0;border-top:1px solid var(--ln2);color:var(--tx);text-decoration:none}
.ol a:last-child{border-bottom:1px solid var(--ln2)}
.ol a:hover{color:var(--lk)}
.ol svg{width:1rem;height:1rem;color:var(--tx3);flex:none}
.ol a svg:last-child{margin-inline-start:auto;width:.85rem;height:.85rem}
.ds{font-size:.82rem;color:var(--tx3);line-height:1.5}

/* similar */
.sm{padding:2.5rem 0 3rem;border-top:1px solid var(--ln);background:var(--sf)}
.sm .sh{margin-bottom:1.25rem}
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sg a{display:flex;flex-direction:column;gap:.75rem;padding:1.1rem;border:1px solid var(--ln);border-radius:.3rem;text-decoration:none;color:var(--tx);background:var(--bg)}
.sg a:hover{border-color:var(--tx3)}
.sg img{width:3rem;height:3rem;object-fit:contain;background:#fff;border-radius:.25rem;padding:.3rem}
.sg b{font-family:var(--fd);font-size:1.05rem;display:block}
.sg .co{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--tx2)}
.sg .co img{width:1rem;height:1rem;padding:0}
.sg dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.25rem .5rem;font-size:.85rem;border-top:1px solid var(--ln2);padding-top:.7rem}
.sg dt{color:var(--tx3)}
.sg dd{margin:0;font-weight:400}
.sg .tg{font-size:.8rem;color:var(--tx3)}
@media (max-width:64rem){.sg{grid-template-columns:1fr 1fr}}
@media (max-width:36rem){.sg{grid-template-columns:1fr}}

/* footer */
.fo{background:var(--ink);color:var(--htx2);padding:2.5rem 0;font-size:.875rem}
.fo .wr{display:flex;flex-direction:column;gap:1.5rem}
.fo__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;align-items:center}
.fo__top nav{margin-inline-start:auto}
.fo a{color:var(--htx2);text-decoration:none}
.fo a:hover{color:var(--htx)}
.fo nav{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:flex-end}
.fo .lg{color:var(--htx)}
.fo__bot{margin:0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-size:.82rem;color:var(--htx2);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem}
.eu-fl{width:1.15rem;height:1.15rem;vertical-align:-.22em;margin:0 .15rem}
@media (max-width:40rem){.fo__top{justify-content:center}.fo__top nav{margin-inline-start:0;justify-content:center}}

/* motion */
@media (prefers-reduced-motion:no-preference){
  .bp .o,.bp .oo{stroke-dasharray:1200;stroke-dashoffset:1200;animation:dr 1.6s ease-out forwards}
  .bp .oo{stroke-dasharray:5 4;stroke-dashoffset:0;animation:fi .6s 1.2s ease-out both}
  .bp .d,.bp .t,.bp .l,.bp .s{opacity:0;animation:fi .5s .9s ease-out forwards}
  .bp .g2 .d,.bp .g2 .t{animation-delay:1.1s}
  .bp .g3 .d,.bp .g3 .t{animation-delay:1.3s}
  .bp .tg,.bp .tt,.bp .ts{opacity:0;transform:translateY(-.375rem);animation:tg .5s 1.5s cubic-bezier(.2,.8,.3,1.2) forwards}
  }
@keyframes dr{to{stroke-dashoffset:0}}
@keyframes fi{to{opacity:1}}
@keyframes tg{to{opacity:1;transform:none}}

/* airlines index page */
.al-hero{margin-top:1.25rem;padding:2.5rem 2rem;background:var(--ink);color:var(--htx);border-radius:.3rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:2.5rem;align-items:center}
.al-hero__body{min-width:0}
.al-hero__viz{margin:0;display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;align-items:end;align-self:end;justify-items:center;column-gap:1rem;row-gap:.65rem;color:var(--htx2)}
.al-hero__bag{display:block;height:auto;color:currentColor}
.al-hero__bag--sm{width:2.5rem}
.al-hero__bag--md{width:3.25rem}
.al-hero__bag--lg{width:4rem}
.al-hero__cap{grid-column:1/-1;display:grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--htx2);opacity:.75;justify-items:center}
.al-hero h1{font-size:2.25rem;line-height:1.05;letter-spacing:-.02em;margin:0 0 .85rem;max-width:20ch;color:var(--htx)}
.al-hero .ld{color:var(--htx2);max-width:56ch;font-size:1.05rem;line-height:1.55;margin:0}
.al-hero__stats{display:flex;gap:2.5rem;margin-top:1.5rem;flex-wrap:wrap}
.al-hero__stats div{display:flex;flex-direction:column;gap:.15rem}
.al-hero__stats b{font-family:var(--fd);font-size:1.75rem;font-weight:500;line-height:1;color:var(--htx);letter-spacing:-.02em}
.al-hero__stats span{font-size:.82rem;color:var(--htx2)}
.al-fl{margin:1.5rem 0 1rem;display:flex;align-items:center;gap:.75rem 1rem;flex-wrap:wrap}
.al-search{position:relative;flex:1;min-width:14rem;display:flex;align-items:center}
.al-search svg{position:absolute;inset-inline-start:.85rem;width:1.05rem;height:1.05rem;color:var(--tx3);pointer-events:none}
.al-search input{width:100%;height:2.75rem;padding-block:0;padding-inline:2.5rem .9rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;color:var(--tx);font:inherit;font-size:.95rem;font-weight:300}
.al-search input::placeholder{color:var(--tx3)}
.al-search input:focus{outline:.15rem solid var(--fc);outline-offset:.05rem;border-color:var(--fc)}
.al-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{height:2.75rem;padding:0 1rem;border:1px solid var(--ln);border-radius:.3rem;background:var(--sf);color:var(--tx2);font-family:var(--fb);font-size:.9rem;font-weight:400;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.chip:hover{border-color:var(--tx3);color:var(--tx)}
.chip:focus-visible{outline:.15rem solid var(--fc);outline-offset:.15rem}
.chip.is-on{background:var(--ink);color:var(--htx);border-color:var(--ink)}
.al-count{color:var(--tx3);font-size:.85rem;margin:0 0 1rem}
.al-count b{color:var(--tx);font-weight:400}
.al-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 2.5rem}
.al-hero + .al-grid{margin-top:1.75rem}
.al-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.85rem;row-gap:.75rem;padding:1.1rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;text-decoration:none;color:var(--tx);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.al-card:hover{border-color:var(--tx3);transform:translateY(-1px);box-shadow:0 .5rem 1rem rgba(14,26,31,.06)}
.al-card:focus-visible{outline:.15rem solid var(--fc);outline-offset:.2rem}
.al-card__logo{width:3rem;height:3rem;object-fit:contain;background:#fff;border-radius:.25rem;padding:.3rem;border:1px solid var(--ln2)}
.al-card__body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.2rem}
.al-card__name{display:block;font-family:var(--fd);font-size:1.05rem;font-weight:500;line-height:1.15;color:var(--tx);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}
.al-card:hover .al-card__name,.al-card:focus-visible .al-card__name{color:var(--ac)}
.al-card__co{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--tx2);min-width:0}
.al-card__co img{width:1rem;height:auto;flex:0 0 auto}
.al-card__st{margin:0;grid-column:1/-1;display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.4rem .75rem;font-size:.85rem;border-top:1px solid var(--ln2);padding-top:.7rem;align-items:baseline}
.al-card__st dt{color:var(--tx3);font-weight:400;font-size:.78rem}
.al-card__st dd{margin:0;color:var(--tx);font-weight:400;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-card__tg{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.35rem}
.al-card__tg .tg{font-size:.75rem;color:var(--tx3);padding:.2rem .5rem;background:var(--sf2);border:1px solid var(--ln2);border-radius:.2rem;white-space:nowrap;line-height:1}
.al-card__tg .tg--acc{color:var(--act);background:var(--ac2);border-color:transparent}
.al-card__tg .tg--muted{color:var(--tx3);background:var(--sf2);border-color:var(--ln2);font-style:italic}
.al-empty{color:var(--tx3);text-align:center;padding:2.5rem 0;font-size:.95rem}
@media (max-width:64rem){.al-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.al-hero h1{font-size:2rem}}
@media (max-width:52rem){.al-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:52rem){.al-hero{grid-template-columns:1fr}.al-hero__viz{display:none}}

/* homepage */
.hp-search{margin:1.5rem 0 1.75rem;display:flex;align-items:stretch;gap:.5rem;max-width:32rem;position:relative}
.hp-search > svg{position:absolute;inset-inline-start:1rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;color:var(--tx3);pointer-events:none}
.hp-search input{flex:1;min-width:0;height:3rem;padding-block:0;padding-inline:2.75rem 1rem;background:var(--sf);color:var(--tx);border:1px solid transparent;border-radius:.35rem;font:inherit;font-size:1rem;font-weight:300}
.hp-search input::placeholder{color:var(--tx3)}
.hp-search input:focus{outline:.15rem solid var(--fc);outline-offset:.05rem}
.hp-search__go{height:3rem;padding:0 1.4rem;background:var(--acb);color:#fff;border:0;border-radius:.35rem;font:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s ease}
.hp-search__go:hover{background:var(--ac)}
.hp-search__go:focus-visible{outline:.15rem solid #fff;outline-offset:.1rem}

.hp-sec{padding:2.75rem 0;border-top:1px solid var(--ln)}
.hp-sec:first-of-type{padding-top:2.5rem}
.hp-sec .sh h2,.hp-sec .sh .sh-h{color:var(--tx)}
.hp-more{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border:1px solid var(--ln);border-radius:.25rem;background:var(--sf);color:var(--tx);text-decoration:none;font-size:.9rem;font-weight:400;white-space:nowrap;transition:border-color .15s ease,color .15s ease}
.hp-more:hover{border-color:var(--ac);color:var(--ac)}
.hp-more svg{width:.9rem;height:.9rem}

.hp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hp-steps li{padding:1.25rem 1.25rem 1.4rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;display:flex;flex-direction:column;gap:.5rem}
.hp-steps__n{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--ink);color:var(--htx);font-family:var(--fd);font-weight:500;font-size:.95rem;margin-bottom:.35rem}
.hp-steps h3{font-size:1.05rem;font-weight:500;margin:0}
.hp-steps p{margin:0;color:var(--tx2);font-size:.92rem;line-height:1.55}

.hp-guides{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.gd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.75rem 0 2.5rem}
/* On a guide page the grid ends its section, and the section already carries
   2.75rem of padding below it. Both applied, so the card row sat 100px above
   the call to action while every other page sits at 60. The grid keeps its
   margin where it is not the last thing in a section. */
.hp-sec > .gd-grid:last-child{margin-bottom:0}
@media (max-width:64rem){.gd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:40rem){.gd-grid{grid-template-columns:1fr}}
.hp-guide{display:flex;flex-direction:column;gap:.55rem;padding:1.25rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem;text-decoration:none;color:var(--tx);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.hp-guide:hover{border-color:var(--tx3);transform:translateY(-1px);box-shadow:0 .5rem 1rem rgba(14,26,31,.06)}
.hp-guide:hover b{color:var(--ac)}
.hp-guide:focus-visible{outline:.15rem solid var(--fc);outline-offset:.2rem}
.hp-guide__ico{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--sf2);border:1px solid var(--ln2);border-radius:.3rem;color:var(--ac);margin-bottom:.35rem}
.hp-guide__ico svg{width:1.35rem;height:1.35rem}
.hp-guide b{font-family:var(--fd);font-size:1.05rem;font-weight:500;color:var(--tx);line-height:1.2;letter-spacing:-.01em;transition:color .15s ease}
.hp-guide span{color:var(--tx2);font-size:.9rem;line-height:1.5}

/* 404 page */
.nf{margin:2rem 0 2rem;padding:3rem 2rem;background:var(--ink);color:var(--htx);border-radius:.3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}
.nf__num{font-family:var(--fd);font-size:6rem;font-weight:500;letter-spacing:-.04em;line-height:.9;color:var(--ac);opacity:.9}
.nf h1{font-size:2rem;font-weight:500;color:var(--htx);margin:0;letter-spacing:-.02em}
.nf__lead{color:var(--htx2);max-width:52ch;font-size:1.05rem;line-height:1.55;margin:0}
.nf__actions{margin-top:.75rem;display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}
.nf__grid{margin-top:0;margin-bottom:3rem}
@media (max-width:40rem){.nf{padding:2.25rem 1.5rem;gap:.75rem}.nf__num{font-size:4.5rem}.nf h1{font-size:1.6rem}}

/* legal pages (privacy, terms) */
.al-hero__meta{margin:1rem 0 0;font-size:.85rem;color:var(--htx2)}
.lg-sec{margin:0 0 2rem;padding-top:.5rem}
.lg-sec:first-child{padding-top:1.5rem}
.lg-sec h2{font-family:var(--fd);font-size:1.35rem;font-weight:500;margin:0 0 .85rem;letter-spacing:-.01em;scroll-margin-top:5rem}
.lg-sec p{margin:0 0 1rem;color:var(--tx2);line-height:1.65;max-width:68ch}
.lg-sec p b{color:var(--tx);font-weight:400}
.lg-sec p a,.lg-list a{color:var(--lk)}
.lg-list{margin:0 0 1rem;padding-inline-start:1.25rem;color:var(--tx2);line-height:1.65;max-width:68ch}
.lg-list li{margin-bottom:.5rem}
.lg-list li b{color:var(--tx);font-weight:400}

/* contact page */
.ct-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;margin:2rem 0 2.5rem}
.ct-form{padding:1.75rem;background:var(--sf);border:1px solid var(--ln);border-radius:.3rem}
.ct-form h2{font-family:var(--fd);font-size:1.35rem;font-weight:500;margin:0 0 1.25rem}
.ct-form form{display:flex;flex-direction:column;gap:1rem}
.ct-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--tx2);font-weight:400}
.ct-form label > span{color:var(--tx2)}
.ct-form input,.ct-form select,.ct-form textarea{font:inherit;font-size:.95rem;font-weight:300;color:var(--tx);background:var(--sf2);border:1px solid var(--ln);border-radius:.25rem;padding:.7rem .8rem;width:100%}
.ct-form textarea{resize:vertical;min-height:8rem;line-height:1.55}
.ct-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237F8C93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:1rem;padding-inline-end:2rem}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:var(--tx3)}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:.15rem solid var(--fc);outline-offset:.05rem;border-color:var(--fc)}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ct-submit{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.25rem}
.ct-submit .hp-cta__btn{border:0;cursor:pointer}
/* The result of sending, and the honeypot, which has to be invisible to a person and
   present in the DOM for a bot. Off-screen rather than display:none, because some bots
   skip a hidden field and fill an off-screen one. */
.ct-ok{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding:1rem;border-radius:.25rem;background:var(--gr2);color:var(--grt);font-size:.95rem;line-height:1.5}
.ct-ok svg{width:1.15rem;height:1.15rem;flex:none;margin-top:.15rem}
.ct-err{margin:0 0 1rem;padding:.85rem 1rem;border-radius:.25rem;background:var(--rd2);color:var(--rdt);font-size:.9rem}
.ct-err ul{margin:0;padding-inline-start:1.1rem}
.ct-err li+li{margin-top:.3rem}
.ct-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cf-turnstile{min-height:65px}
.ct-note{font-size:.8rem;color:var(--tx3)}

.ct-side h2{font-family:var(--fd);font-size:1.35rem;font-weight:500;margin:0 0 .85rem}
.ct-side h3{font-family:var(--fd);font-size:1rem;font-weight:500;margin:1.25rem 0 .35rem}
.ct-side p{margin:0 0 .75rem;color:var(--tx2);line-height:1.55}
.ct-mail{font-family:var(--fd);font-size:1.1rem;color:var(--lk);text-decoration:none;font-weight:400}
.ct-mail:hover{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.ct-facts{margin-top:1.25rem;display:flex;flex-direction:column;gap:1rem}
.ct-facts div{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;background:var(--sf2);border:1px solid var(--ln2);border-radius:.25rem}
.ct-facts b{color:var(--tx);font-family:var(--fd);font-size:.95rem;font-weight:500}
.ct-facts span{color:var(--tx2);font-size:.88rem;line-height:1.5}

@media (max-width:64rem){.ct-grid{grid-template-columns:1fr}}
@media (max-width:40rem){.ct-row{grid-template-columns:1fr}.ct-form{padding:1.25rem}}

.hp-article__body{max-width:52rem;margin-left:auto;margin-right:auto}
.hp-sec.hp-article > .sh{max-width:52rem;margin-left:auto;margin-right:auto}
.hp-sec.fq > .sh,.hp-sec.fq > details{max-width:52rem;margin-left:auto;margin-right:auto}
.hp-article__body p{margin:0 0 1rem}
.hp-article__body h3{font-family:var(--fd);font-size:1.2rem;font-weight:500;margin:1.75rem 0 .5rem;letter-spacing:-.01em}
.hp-article__body h3:first-of-type{margin-top:1.5rem}
.hp-article__body b{color:var(--tx);font-weight:400}

.hp-cta{margin:1rem 0 2.5rem;padding:2.5rem 2rem;background:var(--ink);color:var(--htx);border-radius:.3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.hp-cta h2{font-size:1.6rem;font-weight:500;margin:0 0 .35rem;color:var(--htx);letter-spacing:-.01em}
.hp-cta p{margin:0;color:var(--htx2);max-width:52ch}
.hp-cta__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.4rem;background:var(--acb);color:#fff;border-radius:.3rem;text-decoration:none;font-size:.95rem;font-weight:500;white-space:nowrap;transition:background .15s ease}
.hp-cta__btn:hover{background:var(--ac)}
.hp-cta__btn svg{width:1rem;height:1rem}

@media (max-width:64rem){.hp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-guides{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:52rem){.hp-sec .sh{flex-direction:column;align-items:flex-start;gap:.75rem}.hp-cta{flex-direction:column;align-items:flex-start;padding:2rem 1.5rem}}
@media (max-width:40rem){.hp-steps{grid-template-columns:1fr}.hp-guides{grid-template-columns:1fr}.hp-search{flex-direction:column;max-width:100%}.hp-search__go{width:100%}}
@media (max-width:40rem){.al-hero{padding:2rem 1.5rem}.al-hero h1{font-size:1.75rem}.al-hero__stats{gap:1.5rem}.al-hero__bag--sm{width:2rem}.al-hero__bag--md{width:2.75rem}.al-hero__bag--lg{width:3.25rem}.al-fl{flex-direction:column;align-items:stretch}.al-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.chip{flex:0 0 auto}}
@media (max-width:40rem){.al-grid{grid-template-columns:1fr}}

/* Direction-specific leftovers. Everything else uses logical properties, but a
   background-position has no logical form, so the dropdown arrow is flipped here. */
[dir="rtl"] .cf select,[dir="rtl"] .ct-form select{background-position:left .6rem center}
