/* scrollbars: thin, brand-coloured, hidden when idle */
html{scrollbar-width:thin;scrollbar-color:rgba(11,19,36,.45) transparent}
html.dark{scrollbar-color:rgba(255,255,255,.4) transparent}
html.idle{scrollbar-color:transparent transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(11,19,36,.42);border-radius:9px;border:2px solid transparent;background-clip:content-box}
html.dark ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.38);background-clip:content-box;border:2px solid transparent}
html.idle ::-webkit-scrollbar-thumb{background:transparent}
.menu__scroll{scrollbar-width:thin;scrollbar-color:rgba(11,19,36,.35) transparent}

/* T controls */
.tbtn{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:170;width:56px;height:56px;border-radius:50%;background:#0b1324;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(11,19,36,.35),0 0 0 1px rgba(255,255,255,.14) inset;transition:transform .3s var(--ease),opacity .3s}
.tbtn:hover{transform:scale(1.06)}
.tbtn svg{width:22px;height:24px;fill:#fff}
.tbtn::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(143,195,255,.35);animation:tpulse 3.2s ease-in-out infinite}
@keyframes tpulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.12);opacity:0}}
@media (max-width:760px){.tbtn{bottom:calc(82px + env(safe-area-inset-bottom,0px));width:50px;height:50px}}
html.modal-open .tbtn,html.menu-open .tbtn{opacity:0;pointer-events:none}
.tpanel{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:171;width:min(380px,calc(100vw - 36px));max-height:calc(100dvh - 110px);overflow:auto;background:#0d1628;color:#f3f6fa;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);padding:18px 18px 16px;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s;scrollbar-width:thin}
.tpanel.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
@media (max-width:760px){.tpanel{bottom:calc(140px + env(safe-area-inset-bottom,0px))}}
.tpanel__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.tpanel__kicker{font:500 10px/1.4 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#8fc3ff}
.tpanel__title{font:500 16px/1.2 var(--display);letter-spacing:-.01em;margin:2px 0 0}
.tpanel__x{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#fff}
.tpanel__x::before{content:"";width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/100% 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 100% no-repeat;transform:rotate(45deg)}
.tdial{position:relative;width:170px;height:170px;margin:8px auto 10px;border-radius:50%;display:grid;place-items:center}
.tdial svg.ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tdial .ring circle{fill:none;stroke-width:10;stroke-linecap:butt}
.tdial .ring .track{stroke:rgba(255,255,255,.08)}
.tdial .ring .arc{stroke:url(#tgrad);stroke-dasharray:0 1000;transition:stroke-dasharray .8s var(--ease)}
.tdial .core{width:92px;height:92px;border-radius:50%;background:#0b1324;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;text-align:center}
.tdial .core svg{width:26px;height:28px;fill:#fff}
.tdial .core small{display:block;font:500 9px/1.3 var(--display);letter-spacing:.16em;text-transform:uppercase;color:#8c9ab0;margin-top:6px;max-width:80px}
.tmodes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.tmodes button{padding:11px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.14);font:500 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#f3f6fa;background:rgba(255,255,255,.04)}
.tmodes button[aria-pressed="true"]{background:#fff;color:#0b1324;border-color:#fff}
.tmode{display:none;padding:12px 12px 10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.03);margin-bottom:12px;font:300 14px/1.5 var(--body);color:#c9d3e0}
.tmode.is-on{display:block}
.tmode b{display:block;font:500 12px/1.4 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.tmode a,.tmode button{color:#fff;font:500 13px/1.5 var(--display)}
.tmode .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tmode .row a,.tmode .row button{padding:9px 12px;border-radius:999px;background:#fff;color:#0b1324;text-decoration:none;font:500 11px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.tmode .row a.ghost,.tmode .row button.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tgrid button{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#f3f6fa;font:500 12px/1.2 var(--display);letter-spacing:.02em;text-align:left}
.tgrid button[aria-pressed="true"]{background:#8fc3ff;color:#0b1324;border-color:#8fc3ff}
.tgrid .step{display:inline-flex;gap:6px}
.tgrid .step b{width:22px;height:22px;border-radius:6px;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-weight:500}
.tgrid button[aria-pressed="true"] .step b{border-color:rgba(11,19,36,.35)}
.tlinks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.tlinks a,.tlinks button{display:block;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);text-decoration:none;color:#f3f6fa;font:500 12px/1.3 var(--display);text-align:left;background:rgba(255,255,255,.03)}
.tlinks .full{grid-column:1/-1;text-align:center;background:#fff;color:#0b1324;border-color:#fff;letter-spacing:.1em;text-transform:uppercase;font-size:11px}
.tfoot{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font:400 10px/1.5 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#8c9ab0}
.tfoot button{color:#8fc3ff;font:inherit;letter-spacing:inherit;text-transform:inherit}
/* accessibility states */
html[data-a11y-font="1"]{font-size:112%}html[data-a11y-font="2"]{font-size:124%}html[data-a11y-font="3"]{font-size:136%}html[data-a11y-font="-1"]{font-size:92%}
html[data-a11y-zoom="1"]{zoom:1.12}html[data-a11y-zoom="2"]{zoom:1.24}html[data-a11y-zoom="3"]{zoom:1.36}html[data-a11y-zoom="-1"]{zoom:.9}
html.a11y-contrast{--fg:#fff;--fg2:#eef3fa;--fg3:#c6d4e8;--ln:rgba(255,255,255,.4);--panel:rgba(4,10,30,.9);--panel-ln:rgba(255,255,255,.3)}html.a11y-contrast:not(.dark){--fg:#000;--fg2:#101828;--fg3:#2b3650;--ln:rgba(0,0,0,.45);--panel:#fff}html.a11y-contrast img,html.a11y-contrast video{filter:contrast(1.18) saturate(1.1)}html.a11y-contrast .ch--media > .media::after{background:linear-gradient(90deg,rgba(4,10,30,.92),rgba(4,10,30,.7) 50%,rgba(4,10,30,.45))}html.a11y-contrast .deck,html.a11y-contrast .article p{text-shadow:none}html.a11y-contrast body.page .article{color:#000}
html.a11y-darkc main,html.a11y-darkc .hd,html.a11y-darkc .ft,html.a11y-darkc .menu,html.a11y-darkc .tpanel,html.a11y-darkc .modal{filter:invert(1) hue-rotate(180deg)}html.a11y-darkc main img,html.a11y-darkc main video,html.a11y-darkc .menu img{filter:invert(1) hue-rotate(180deg)}html.a11y-darkc main{background:#fff}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;outline:1px dashed currentColor;outline-offset:2px}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important}
html.a11y-motion [data-reveal]{opacity:1!important;filter:none!important;transform:none!important}
html.a11y-cursor .cursor{display:none}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M4 2l16 10-7 1.5L17 21l-3 1.5-4-7.5L5 20z' fill='white' stroke='%230b1324' stroke-width='1.2'/></svg>") 4 4, auto!important}
#a11y-guide{position:fixed;left:0;right:0;height:46px;background:rgba(143,195,255,.14);border-top:1px solid rgba(143,195,255,.6);border-bottom:1px solid rgba(143,195,255,.6);pointer-events:none;z-index:160;display:none;transform:translateY(-23px)}
html.a11y-guide #a11y-guide{display:block}
html.a11y-voice [data-speak-hover]{outline:2px solid #8fc3ff;outline-offset:2px}

/* screensaver (waiting-room screen) */
.ss{position:fixed;inset:0;z-index:1000;color:#f5f7f6;opacity:0;visibility:hidden;pointer-events:none;isolation:isolate;background:#070d1a;transition:opacity 1.1s cubic-bezier(.22,1,.36,1),visibility 1.1s;overflow:hidden;--ss-gutter:clamp(1.4rem,4.4vw,5.5rem)}
.ss.is-on{opacity:1;visibility:visible;pointer-events:auto}
.ss__brand{position:absolute;top:clamp(1.3rem,3vw,3rem);left:var(--ss-gutter);z-index:20;display:flex;align-items:center;gap:14px;color:#fff}
.ss__brand svg{width:30px;height:32px;fill:#fff}
.ss__brand span{font:400 13px/1 var(--display);letter-spacing:.34em;text-transform:uppercase}
.ss__wake{position:absolute;top:clamp(1.3rem,3vw,3rem);right:var(--ss-gutter);z-index:24;display:flex;align-items:center;gap:.7rem;padding:.65rem .95rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(3,10,13,.32);color:#fff;font:600 clamp(.68rem,.8vw,.82rem)/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.ss__wake i{width:.42rem;height:.42rem;border-radius:50%;background:#8fc3ff;box-shadow:0 0 0 .3rem rgba(143,195,255,.14)}
.ss__slide{position:absolute;inset:0;z-index:0;opacity:0;visibility:hidden;transition:opacity 1.8s cubic-bezier(.22,1,.36,1),visibility 1.8s}
.ss__slide.is-on{z-index:2;opacity:1;visibility:visible}
.ss__media,.ss__shade,.ss__grain{position:absolute;inset:0}
.ss__media img,.ss__media video{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block}
.ss__media{transform:scale(1.015)}
.ss__slide.is-on .ss__media{animation:ssZoom 14.4s cubic-bezier(.2,.55,.3,1) both}
@keyframes ssZoom{from{transform:scale(1.015)}to{transform:scale(1.09)}}
.ss__shade{background:linear-gradient(90deg,rgba(3,9,12,.82) 0%,rgba(3,9,12,.44) 43%,rgba(3,9,12,.08) 72%),linear-gradient(transparent 52%,rgba(3,9,12,.62) 100%)}
.ss__slide.right .ss__shade{background:linear-gradient(270deg,rgba(3,9,12,.84) 0%,rgba(3,9,12,.46) 43%,rgba(3,9,12,.08) 72%),linear-gradient(transparent 52%,rgba(3,9,12,.62) 100%)}
.ss__grain{z-index:1;opacity:.16;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.ss__content{position:relative;z-index:4;width:min(59rem,71vw);min-height:100%;padding:clamp(7.5rem,14vh,10rem) var(--ss-gutter) clamp(6.5rem,11vh,8.5rem);display:flex;flex-direction:column;justify-content:flex-end}
.ss__slide.right .ss__content{text-align:right;align-items:flex-end;margin-left:auto}
.ss__eyebrow{color:#8fc3ff;letter-spacing:.16em;text-transform:uppercase;margin:0 0 clamp(.8rem,1.6vh,1.35rem);font:600 clamp(.68rem,.85vw,.92rem)/1.4 var(--display)}
.ss__title{color:#fff;letter-spacing:-.05em;text-wrap:balance;max-width:15ch;margin:0;font:500 clamp(2.6rem,6vw,7rem)/.95 var(--display)}
.ss__body{color:rgba(245,247,246,.84);max-width:42rem;margin:clamp(1.2rem,2.8vh,2.2rem) 0 0;font:300 clamp(1rem,1.35vw,1.45rem)/1.45 var(--body)}
.ss__slide.right .ss__body,.ss__slide.right .ss__title{margin-left:auto}
.ss__lower{border-top:1px solid rgba(255,255,255,.25);display:flex;justify-content:space-between;align-items:flex-end;gap:2.5rem;width:100%;margin-top:clamp(2rem,5vh,4rem);padding-top:clamp(1rem,2vh,1.5rem)}
.ss__slide.right .ss__lower{flex-direction:row-reverse}
.ss__details{color:rgba(255,255,255,.74);letter-spacing:.08em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:.65rem 1.6rem;margin:0;padding:0;list-style:none;font:500 clamp(.73rem,.88vw,.95rem)/1.4 var(--display)}
.ss__slide.right .ss__details{justify-content:flex-end}
.ss__stat{flex:0 0 min(15rem,24vw)}
.ss__stat b{display:block;color:#fff;letter-spacing:-.05em;font:500 clamp(1.9rem,3.1vw,3.75rem)/1 var(--display)}
.ss__stat span{display:block;color:rgba(255,255,255,.68);margin-top:.45rem;font:400 clamp(.72rem,.82vw,.88rem)/1.35 var(--body)}
.ss__weather{position:absolute;inset:0;background:radial-gradient(circle at 14% 8%,rgba(60,110,200,.45),transparent 38%),radial-gradient(circle at 92% 86%,rgba(25,62,110,.6),transparent 40%),linear-gradient(135deg,#071225 0%,#0b1b36 48%,#101a2c 100%)}
.ss__cities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.8rem,2vw,2rem);margin-top:clamp(1.5rem,4vh,3rem)}
.ss__city{border-top:1px solid rgba(255,255,255,.22);padding-top:.8rem}
.ss__city b{display:block;font:500 clamp(1.4rem,2.4vw,2.6rem)/1 var(--display);letter-spacing:-.04em}
.ss__city span{display:block;font:500 11px/1.5 var(--display);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:.4rem}
@media (max-width:760px){.ss__content{width:100%}.ss__cities{grid-template-columns:repeat(2,1fr)}.ss__stat{flex-basis:40%}}

/* page transitions: navy veil fades out on arrival (pure CSS, no flash), back in on leave */
@keyframes ptin{from{opacity:1}to{opacity:0}}
@keyframes ptout{from{opacity:0}to{opacity:1}}
body::after{content:"";position:fixed;inset:0;z-index:6000;background:#06112f;pointer-events:none;opacity:0;animation:ptin .8s cubic-bezier(.22,1,.36,1) .05s both}
html.pt-leaving body::after{animation:ptout .42s cubic-bezier(.4,0,.6,1) both;pointer-events:auto}
html.pt-leaving main,html.pt-leaving .hd{transition:opacity .4s,transform .4s;opacity:0;transform:translateY(-6px)}
@media (prefers-reduced-motion:reduce){body::after{animation-duration:.01s}html.pt-leaving body::after{animation-duration:.01s}}
html.a11y-cursor [data-cursor]{display:none}

/* ---------- v13: direction-aware edge blur. --xo is set per frame by widgets.js for revealed elements that are leaving through the top (scrolling down) or the bottom (scrolling up) ---------- */
html.js [data-reveal].in[style*="--xo"]{opacity:var(--xo);filter:blur(calc((1 - var(--xo))*12px));transform:translateY(calc((1 - var(--xo))*var(--xd,-1)*12px))}
html.js [data-reveal].in.rv{transition-delay:0s;transition-duration:.32s}
html.reduced [data-reveal].in,html.a11y-motion [data-reveal].in{opacity:1!important;filter:none!important;transform:none!important}
/* ---------- v13: rare sheen across the header mark ---------- */
.hd .hd__brand{position:relative}
.hd .hd__brand .sheen{position:absolute;inset:0;display:flex;align-items:center;gap:14px;color:#fff;pointer-events:none;opacity:0;-webkit-mask-image:linear-gradient(105deg,transparent 36%,#000 48%,#000 52%,transparent 64%);mask-image:linear-gradient(105deg,transparent 36%,#000 48%,#000 52%,transparent 64%);-webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 0;mask-position:0 0}
.hd .hd__brand .sheen svg{fill:#fff;filter:drop-shadow(0 0 5px rgba(255,255,255,.75))}
.hd .hd__brand .sheen .wide{color:#fff;text-shadow:0 0 7px rgba(255,255,255,.7)}
.hd.is-light .hd__brand .sheen,.page .hd.is-light .hd__brand .sheen{color:#0b1324;filter:none}
.hd.is-light .hd__brand .sheen svg{fill:#5b7fd6;filter:drop-shadow(0 0 5px rgba(91,127,214,.6))}
.hd.is-light .hd__brand .sheen .wide{color:#5b7fd6;text-shadow:0 0 6px rgba(91,127,214,.5)}
.hd .hd__brand .sheen.on{animation:tsheen 2.4s cubic-bezier(.45,0,.2,1) 1}
@keyframes tsheen{0%{opacity:0;-webkit-mask-position:0 0;mask-position:0 0}18%{opacity:.85}82%{opacity:.85}100%{opacity:0;-webkit-mask-position:100% 0;mask-position:100% 0}}
@media (prefers-reduced-motion:reduce){.hd .hd__brand .sheen{display:none}}
