:root{
  --paper:#f4f5f2;
  --paper-2:#ebeef0;
  --ink:#07131f;
  --muted:#65707a;
  --line:rgba(7,19,31,.14);
  --navy:#041b33;
  --blue:#0c5b8d;
  --blue-2:#1e88c7;
  --white:#ffffff;
  --danger:#d9e8f4;
  --shadow:0 28px 70px rgba(2,20,38,.12);
  --display:"Space Grotesk",sans-serif;
  --body:"Manrope",sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:var(--body);
  overflow-x:hidden;
  transition:background .35s ease,color .35s ease;
}
body.dark{
  --paper:#06101b;
  --paper-2:#0a1725;
  --ink:#edf6ff;
  --muted:#9ca9b4;
  --line:rgba(226,239,249,.16);
  --white:#0b1a29;
  --shadow:0 28px 80px rgba(0,0,0,.35);
}
body.high-contrast{--line:currentColor}
body.large-text{font-size:112.5%}
body.menu-open{overflow:hidden}
body.reduce-motion *, body.reduce-motion *::before, body.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}

::selection{background:var(--blue);color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}

.site-shell{min-height:100vh;position:relative}
.grid-lines{
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:linear-gradient(to right,transparent calc(12.5% - 1px),var(--line) 12.5%,transparent calc(12.5% + 1px));
  background-size:12.5% 100%;opacity:.5
}

.site-header{
  position:fixed;z-index:90;top:0;left:0;right:0;
  height:78px;display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(18px,3.8vw,62px);
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(18px)
}
.brand{display:flex;align-items:center;gap:12px;width:min(245px,52vw)}
.brand img{width:100%;height:34px;object-fit:contain;object-position:left center;filter:none}
body.dark .brand img{background:#fff;border-radius:2px;padding:2px 4px}
.menu-trigger{
  display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);background:transparent;color:var(--ink);
  border-radius:999px;padding:10px 14px;cursor:pointer;transition:transform .25s var(--ease),background .25s ease
}
.menu-trigger:hover{transform:translateY(-2px);background:var(--paper-2)}
.menu-icon{width:24px;height:24px;display:grid;place-items:center;position:relative}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;width:16px;height:1px;background:currentColor;transition:.3s var(--ease)}
.menu-icon::before{transform:translateY(-4px)}
.menu-icon::after{transform:translateY(4px)}
.menu-open .menu-icon::before{transform:rotate(45deg)}
.menu-open .menu-icon::after{transform:rotate(-45deg)}

.menu-overlay{
  position:fixed;z-index:80;inset:0;background:var(--navy);color:#fff;
  transform:translateY(-105%);transition:transform .7s var(--ease);padding:112px clamp(22px,6vw,90px) 34px;
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:48px;overflow:auto
}
.menu-open .menu-overlay{transform:translateY(0)}
.menu-grid{display:grid;align-content:center;border-top:1px solid rgba(255,255,255,.18)}
.menu-link{font-family:var(--display);font-size:clamp(2.5rem,7vw,7.5rem);line-height:.94;letter-spacing:-.05em;text-transform:uppercase;padding:.12em 0;border-bottom:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;transition:padding .3s var(--ease),color .3s ease}
.menu-link span{font:500 .68rem/1 var(--body);letter-spacing:.14em;opacity:.58}
.menu-link:hover{padding-left:24px;color:#9bd4f6}
.menu-meta{display:flex;flex-direction:column;justify-content:flex-end;gap:30px;padding-bottom:10px}
.menu-meta p{max-width:330px;color:#b6c4cf;line-height:1.7;margin:0}
.menu-meta a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.menu-shard{position:absolute;right:2vw;top:16vh;width:24vw;height:24vw;border:1px solid rgba(255,255,255,.15);transform:rotate(12deg);opacity:.75;pointer-events:none}
.menu-shard::before,.menu-shard::after{content:"";position:absolute;inset:18%;border:1px solid rgba(255,255,255,.14);transform:rotate(22deg)}
.menu-shard::after{inset:34%;transform:rotate(-34deg);background:linear-gradient(135deg,transparent 40%,rgba(31,137,198,.32))}

main{padding-top:78px}
.container{width:min(1180px,calc(100% - 36px));margin:0 auto}
.section{padding:clamp(76px,9vw,132px) 0;border-top:1px solid var(--line);position:relative}
.kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:10px;margin-bottom:18px}
.kicker::before{content:"";width:28px;height:1px;background:currentColor}
.display{font-family:var(--display);letter-spacing:-.055em;line-height:.98;font-weight:550;margin:0}
.h2{font-size:clamp(2.25rem,5vw,5.8rem);max-width:980px}
.h3{font-size:clamp(1.45rem,2.5vw,2.4rem);letter-spacing:-.035em}
.lede{font-size:clamp(1.05rem,1.6vw,1.38rem);line-height:1.65;max-width:720px;color:var(--muted);margin:20px 0 0}
.copy{color:var(--muted);line-height:1.75;font-size:.98rem;max-width:68ch}

.hero{min-height:calc(100vh - 78px);display:grid;align-items:center;position:relative;overflow:hidden;padding:46px 0 56px}
.hero-inner{width:min(1180px,calc(100% - 36px));margin:0 auto;position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:calc(100vh - 180px)}
.hero-title{font-family:var(--display);font-size:clamp(3.2rem,8vw,8.8rem);line-height:.88;letter-spacing:-.068em;text-transform:uppercase;max-width:1050px;position:relative;z-index:3;margin:0;padding-top:2vh}
.hero-title .line{display:block;overflow:hidden}.hero-title .line span{display:block;transform:translateY(110%);animation:heroIn .9s .4s var(--ease) forwards}.hero-title .line:nth-child(2) span{animation-delay:.52s}
@keyframes heroIn{to{transform:translateY(0)}}
.hero-media-wrap{position:absolute;right:0;bottom:0;width:min(64vw,820px);height:min(62vh,630px);z-index:1;perspective:1200px}
.hero-media{width:100%;height:100%;object-fit:cover;clip-path:polygon(9% 0,100% 0,100% 89%,88% 100%,0 100%,0 11%);filter:saturate(.86) contrast(1.04);box-shadow:var(--shadow);transition:transform .35s var(--ease)}
.hero-media-scan{position:absolute;inset:-1px;background:linear-gradient(115deg,transparent 10%,rgba(255,255,255,.24) 47%,transparent 58%);transform:translateX(-130%);animation:scan 8s 2s infinite var(--ease);pointer-events:none;clip-path:polygon(9% 0,100% 0,100% 89%,88% 100%,0 100%,0 11%)}
@keyframes scan{0%,76%{transform:translateX(-130%)}90%,100%{transform:translateX(130%)}}
.hero-actions{align-self:end;display:flex;align-items:center;gap:16px;position:relative;z-index:4;padding-bottom:5vh}
.btn{display:inline-flex;align-items:center;gap:13px;padding:14px 18px;border:1px solid var(--ink);border-radius:999px;font-size:.88rem;font-weight:700;letter-spacing:.01em;background:var(--ink);color:var(--paper);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s ease,background .25s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(5,25,45,.18)}
.btn.secondary{background:transparent;color:var(--ink)}
.btn svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.hero-index{position:absolute;right:0;top:0;font:700 .68rem/1 var(--body);letter-spacing:.16em;color:var(--muted)}

.brand-fragment{position:absolute;width:160px;height:160px;right:4vw;top:20%;pointer-events:none;opacity:.45;mix-blend-mode:multiply}
body.dark .brand-fragment{mix-blend-mode:screen;opacity:.3}
.brand-fragment::before,.brand-fragment::after{content:"";position:absolute;background:linear-gradient(135deg,var(--navy),var(--blue-2));clip-path:polygon(0 44%,100% 0,62% 100%,9% 82%)}
.brand-fragment::before{width:95px;height:24px;right:6px;top:28px;transform:rotate(-18deg);animation:floatA 6s ease-in-out infinite}
.brand-fragment::after{width:120px;height:16px;right:18px;top:85px;transform:rotate(14deg);animation:floatB 7s ease-in-out infinite}
@keyframes floatA{50%{transform:translateY(-14px) rotate(-10deg)}}
@keyframes floatB{50%{transform:translateY(12px) rotate(8deg)}}

.editorial-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,7vw,110px);align-items:start}
.image-stack{position:relative;min-height:620px}
.image-stack .img-main{position:absolute;right:0;top:0;width:78%;height:74%;object-fit:cover;box-shadow:var(--shadow)}
.image-stack .img-small{position:absolute;left:0;bottom:4%;width:42%;height:42%;object-fit:cover;border:9px solid var(--paper)}
.image-stack .tag{position:absolute;left:0;top:6%;font:.7rem var(--body);letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}

.stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:50px}
.stat{padding:26px 16px 26px 0;border-right:1px solid var(--line)}
.stat:last-child{border-right:0;padding-left:28px}.stat:not(:first-child){padding-left:28px}
.stat strong{font:550 clamp(2rem,4vw,4.2rem)/1 var(--display);letter-spacing:-.05em;display:block}.stat span{display:block;color:var(--muted);font-size:.78rem;margin-top:8px;text-transform:uppercase;letter-spacing:.09em}

.feature-slab{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.feature-card{padding:34px 28px;min-height:270px;border-right:1px solid var(--line);position:relative;overflow:hidden;transition:background .3s ease,color .3s ease}
.feature-card:last-child{border-right:0}.feature-card:hover{background:var(--navy);color:#fff}.feature-card:hover p{color:#aec1cf}
.feature-card .num{font:.72rem var(--body);letter-spacing:.14em;opacity:.55}.feature-card h3{font:500 1.55rem/1.12 var(--display);letter-spacing:-.035em;margin:70px 0 14px}.feature-card p{color:var(--muted);line-height:1.65;margin:0;font-size:.92rem}.feature-card::after{content:"";position:absolute;width:72px;height:14px;background:linear-gradient(90deg,var(--blue-2),transparent);right:-18px;top:30px;transform:skewX(-28deg);opacity:.65}

.split-band{background:var(--navy);color:#fff;overflow:hidden}.split-band .container{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.split-band .copy{color:#b8c6d1}.split-band .kicker{color:#8bd2ff}.media-panel{position:relative;min-height:520px}.media-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:polygon(0 0,100% 8%,94% 100%,4% 94%)}.media-panel::after{content:"";position:absolute;inset:10% -9% -8% 12%;border:1px solid rgba(255,255,255,.22);transform:rotate(-4deg)}

.news-list{margin-top:44px;border-top:1px solid var(--line)}
.news-item{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .3s var(--ease)}
.news-item:hover{padding-left:14px}.news-date{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.news-item h3{font:500 clamp(1.05rem,2vw,1.6rem)/1.25 var(--display);letter-spacing:-.025em;margin:0}.arrow-circle{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}

.page-hero{min-height:76vh;padding:120px 0 70px;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.page-hero .container{display:grid;grid-template-columns:1.18fr .82fr;gap:60px;align-items:end;position:relative;z-index:2}
.page-hero h1{font:550 clamp(3.4rem,8vw,8.8rem)/.88 var(--display);letter-spacing:-.07em;text-transform:uppercase;margin:0;max-width:900px}
.page-hero .intro{color:var(--muted);line-height:1.7;max-width:540px;margin:0 0 12px}
.page-hero.visual{color:#fff;min-height:88vh}.page-hero.visual::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,25,.83),rgba(3,14,25,.2) 65%,rgba(3,14,25,.35));z-index:1}.page-hero.visual .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero.visual .intro{color:#d8e3eb}

.numbered-list{margin-top:50px;border-top:1px solid var(--line)}
.numbered-row{display:grid;grid-template-columns:90px 1fr 1.05fr;gap:36px;padding:36px 0;border-bottom:1px solid var(--line);align-items:start}
.numbered-row .n{font:600 .76rem var(--body);letter-spacing:.16em;color:var(--blue)}
.numbered-row h3{font:500 clamp(1.4rem,2.3vw,2.2rem)/1.08 var(--display);letter-spacing:-.035em;margin:0}
.numbered-row p{margin:0;color:var(--muted);line-height:1.75}

.image-band{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:50px}.image-band img{width:100%;height:520px;object-fit:cover}.image-band img:last-child{height:380px;align-self:end}

.capabilities{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:46px}.capability{padding:28px;border:1px solid var(--line);min-height:210px;position:relative}.capability svg{width:24px;height:24px;color:var(--blue)}.capability h3{font:500 1.35rem var(--display);letter-spacing:-.025em;margin:52px 0 10px}.capability p{color:var(--muted);line-height:1.65;margin:0;font-size:.94rem}

.team-list{margin-top:46px;border-top:1px solid var(--line)}.team-member{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.team-member strong{font:500 clamp(1.25rem,2vw,1.75rem) var(--display)}.team-member span{color:var(--muted)}

.jobs{margin-top:42px;border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:1.1fr .6fr .4fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.job strong{font:500 1.16rem var(--display)}.job span{color:var(--muted);font-size:.85rem}.job .apply{font-weight:700;color:var(--blue)}

.site-footer{padding:72px 0 32px;border-top:1px solid var(--line);position:relative;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:end}.footer-title{font:550 clamp(2.8rem,7vw,7.7rem)/.88 var(--display);letter-spacing:-.07em;text-transform:uppercase;margin:0}.footer-meta{display:grid;gap:12px;justify-self:end;text-align:right}.footer-meta a{text-decoration:underline;text-underline-offset:4px}.footer-bottom{margin-top:70px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;letter-spacing:.05em}

.a11y-wrap{position:fixed;z-index:95;right:22px;bottom:22px}.a11y-toggle{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--ink);color:var(--paper);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.16)}.a11y-toggle svg{width:24px;height:24px}.a11y-panel{position:absolute;right:0;bottom:60px;width:260px;padding:14px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;opacity:0;transform:translateY(12px) scale(.97);pointer-events:none;transition:.25s var(--ease)}.a11y-wrap.open .a11y-panel{opacity:1;transform:none;pointer-events:auto}.a11y-head{font:600 .74rem var(--display);letter-spacing:.12em;text-transform:uppercase;padding:8px 8px 12px}.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 8px;border-top:1px solid var(--line);font-size:.84rem}.switch{width:38px;height:22px;border-radius:99px;border:1px solid var(--line);position:relative;cursor:pointer;background:var(--paper-2)}.switch::after{content:"";position:absolute;width:16px;height:16px;background:var(--ink);border-radius:50%;top:2px;left:2px;transition:.2s}.switch.on::after{left:18px;background:var(--blue)}

.loader{position:fixed;z-index:300;inset:0;background:#f4f5f2;display:grid;place-items:center;overflow:hidden;transition:opacity .45s ease,visibility .45s ease}.loader.hide{opacity:0;visibility:hidden}.loader-scene{width:min(670px,88vw);text-align:center;position:relative}.loader-logo{width:min(460px,80vw);margin:0 auto;position:relative;height:100px}.loader-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.loader-logo .slice-a{clip-path:polygon(0 0,100% 0,100% 35%,0 60%);animation:logoSliceA 1.25s var(--ease) both}.loader-logo .slice-b{clip-path:polygon(0 35%,100% 18%,100% 73%,0 78%);animation:logoSliceB 1.25s var(--ease) both}.loader-logo .slice-c{clip-path:polygon(0 72%,100% 62%,100% 100%,0 100%);animation:logoSliceC 1.25s var(--ease) both}.loader-line{height:1px;background:#cfd5d9;position:relative;overflow:hidden;margin-top:28px}.loader-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),var(--blue-2));transform:translateX(-100%);animation:loadLine 1.3s .1s var(--ease) forwards}.loader-label{margin-top:13px;font:700 .67rem var(--body);letter-spacing:.18em;text-transform:uppercase;color:#69737b}
@keyframes logoSliceA{0%{transform:translate(-34px,-18px);opacity:0}55%{opacity:1}100%{transform:none}}
@keyframes logoSliceB{0%{transform:translate(28px,0);opacity:0}55%{opacity:1}100%{transform:none}}
@keyframes logoSliceC{0%{transform:translate(-18px,20px);opacity:0}55%{opacity:1}100%{transform:none}}
@keyframes loadLine{to{transform:translateX(0)}}

.page-transition{position:fixed;z-index:260;inset:0;pointer-events:none;visibility:hidden}.page-transition.active{visibility:visible}.transition-pane{position:absolute;inset:0;background:var(--navy);transform:translateY(105%)}.active .transition-pane{animation:pageSweep .64s var(--ease) forwards}.transition-shard{position:absolute;left:-10%;top:43%;width:120%;height:14%;background:linear-gradient(90deg,transparent,var(--blue-2),transparent);transform:translateX(-100%) skewY(-4deg);opacity:.72}.active .transition-shard{animation:shardSweep .54s .08s var(--ease) forwards}.transition-label{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:600 .7rem var(--display);letter-spacing:.24em;text-transform:uppercase;opacity:0}.active .transition-label{animation:labelFlash .5s .1s ease forwards}
@keyframes pageSweep{0%{transform:translateY(105%)}45%,70%{transform:translateY(0)}100%{transform:translateY(-105%)}}
@keyframes shardSweep{to{transform:translateX(100%) skewY(-4deg)}}
@keyframes labelFlash{25%,70%{opacity:1}100%{opacity:0}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.in{opacity:1;transform:none}
[data-parallax]{will-change:transform}

@media (max-width:900px){
  .menu-overlay{grid-template-columns:1fr}.menu-meta{justify-content:flex-start;padding-top:24px}.menu-shard{width:50vw;height:50vw;top:auto;bottom:8vh;opacity:.35}
  .hero{min-height:820px;padding-top:30px}.hero-inner{min-height:730px}.hero-title{font-size:clamp(3rem,12vw,6.5rem)}.hero-media-wrap{width:78vw;height:54vh;right:-8vw;bottom:8vh}.hero-actions{padding-bottom:0;align-self:end}
  .editorial-grid,.split-band .container,.page-hero .container{grid-template-columns:1fr}.image-stack{min-height:560px;margin-top:26px}.page-hero{min-height:70vh;padding-top:110px}.page-hero .intro{max-width:650px}
  .feature-slab{grid-template-columns:1fr}.feature-card{border-right:0;border-bottom:1px solid var(--line);min-height:210px}.feature-card:last-child{border-bottom:0}.feature-card h3{margin-top:48px}
  .image-band{grid-template-columns:1fr}.image-band img,.image-band img:last-child{height:400px}.numbered-row{grid-template-columns:60px 1fr}.numbered-row p{grid-column:2}.jobs{font-size:.92rem}.job{grid-template-columns:1fr auto}.job span{grid-column:1}.job .apply{grid-column:2;grid-row:1/3}.footer-top{grid-template-columns:1fr}.footer-meta{justify-self:start;text-align:left}
}

@media (max-width:640px){
  .site-header{height:68px;padding-inline:16px}.brand{width:180px}.brand img{height:28px}.menu-trigger{padding:9px 12px}.menu-trigger .label{display:none}main{padding-top:68px}
  .container,.hero-inner{width:min(100% - 28px,1180px)}
  .grid-lines{background-size:25% 100%}
  .hero{min-height:720px}.hero-inner{min-height:645px}.hero-title{font-size:clamp(3rem,15vw,5.3rem);padding-top:3vh}.hero-media-wrap{width:92vw;height:49vh;right:-18vw;bottom:10vh}.hero-actions{padding-bottom:1vh}.btn{padding:13px 16px}
  .section{padding:72px 0}.h2{font-size:clamp(2.15rem,11vw,4rem)}.lede{font-size:1rem}
  .stat-row{grid-template-columns:1fr}.stat,.stat:not(:first-child),.stat:last-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}
  .image-stack{min-height:440px}.image-stack .img-main{width:86%;height:70%}.image-stack .img-small{width:50%;height:36%;border-width:6px}.media-panel{min-height:390px}
  .news-item{grid-template-columns:1fr auto}.news-date{grid-column:1}.news-item h3{grid-column:1}.arrow-circle{grid-column:2;grid-row:1/3}
  .page-hero{min-height:640px;padding:98px 0 50px}.page-hero h1{font-size:clamp(3.1rem,15vw,5.5rem)}
  .numbered-row{grid-template-columns:42px 1fr;gap:18px}.capabilities{grid-template-columns:1fr}.image-band img,.image-band img:last-child{height:300px}.team-member{grid-template-columns:1fr;gap:6px}.job{padding:20px 0}
  .footer-title{font-size:clamp(2.8rem,14vw,5.1rem)}.footer-bottom{flex-direction:column;gap:8px}.a11y-wrap{right:14px;bottom:14px}.a11y-panel{width:250px}
}
/* resilient image presentation */
img{color:transparent}
.hero-media-wrap,.image-stack .img-main,.image-stack .img-small,.media-panel,.page-hero.visual{background:linear-gradient(135deg,rgba(12,91,141,.10),rgba(4,27,51,.04))}
@media (max-width:640px){
  .hero-media-wrap{width:92vw;height:min(38vh,350px);right:-14vw;bottom:7vh}
}
@media (max-width:640px){
  .hero-media-wrap{height:min(35.5vh,330px)}
}

/* exact-logo resilience: the official logo remains primary; this only appears if its CDN is unavailable */
.brand-fallback{display:none;align-items:center;gap:8px;font-family:var(--display);letter-spacing:.08em;line-height:.85}
.brand-fallback strong{font-size:.86rem;font-weight:600}.brand-fallback small{font:700 .43rem/1 var(--body);letter-spacing:.17em;align-self:flex-end;margin:0 0 2px -3px;color:var(--muted)}
.brand.logo-failed img{display:none}.brand.logo-failed .brand-fallback{display:flex}
.fallback-symbol{display:inline-flex;flex-direction:column;gap:2px;width:24px;transform:skewX(-18deg)}
.fallback-symbol i{display:block;height:3px;background:linear-gradient(90deg,var(--navy),var(--blue-2));clip-path:polygon(6% 0,100% 0,87% 100%,0 100%)}
.fallback-symbol i:nth-child(2){width:82%;margin-left:5px}.fallback-symbol i:nth-child(3){width:64%;margin-left:9px}
body.dark .brand-fallback .fallback-symbol i{background:linear-gradient(90deg,#cbeaff,var(--blue-2))}
.loader-logo-fallback{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:13px;color:var(--navy);font-family:var(--display);letter-spacing:.12em}
.loader-logo-fallback .fallback-symbol{width:44px}.loader-logo-fallback .fallback-symbol i{height:6px}.loader-logo-fallback b{font-size:1.55rem;font-weight:600}.loader-logo-fallback small{font:700 .62rem/1 var(--body);letter-spacing:.24em;margin-left:-6px;margin-top:15px}
.loader-logo.logo-failed img{display:none}.loader-logo.logo-failed .loader-logo-fallback{display:flex}
@media(max-width:640px){.brand.logo-failed{width:auto}.brand-fallback strong{font-size:.78rem}.brand-fallback small{display:none}.fallback-symbol{width:22px}}
.footer-meta a{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px}
.footer-meta a svg{width:16px;height:16px;flex:0 0 16px}
@media(max-width:900px){.footer-meta a{justify-content:flex-start}}
@media(max-width:640px){.brand-fragment{top:50%;right:-30px;opacity:.24;transform:scale(.75)}}
.job .apply{display:inline-flex;align-items:center;gap:8px}
.job .apply::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--ease)}
.job:hover .apply::after{transform:translateX(3px) rotate(45deg)}
.arrow-circle::before{content:"";width:8px;height:1px;background:currentColor;opacity:.55}
a.news-item .arrow-circle::before{width:8px;height:8px;background:transparent;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;opacity:1;transform:translate(-1px,1px)}
:focus-visible{outline:2px solid var(--blue-2);outline-offset:4px}
.menu-overlay{visibility:hidden;transition:transform .7s var(--ease),visibility 0s .7s}
.menu-open .menu-overlay{visibility:visible;transition:transform .7s var(--ease),visibility 0s 0s}
.a11y-panel{visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s}
.a11y-wrap.open .a11y-panel{visibility:visible;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s 0s}
