:root{
  --deep:#050E1D; --navy:#0A1B33; --navy-2:#0F2646; --navy-3:#183A66; --orange:#F0621F; --orange-hi:#FF7A38;
  --bg:#F3F5F8; --surface:#FFFFFF; --ink:#0A1B33; --muted:#4F5D75; --line:#DDE2EA; --chip:#E8ECF2;
  --head:"Inter Tight","Arial Narrow",Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--bg:#08111F;--surface:#0E1D34;--ink:#EDF1F7;--muted:#9BA9C0;--line:#1D3050;--chip:#142640}
}
:root[data-theme="dark"]{--bg:#08111F;--surface:#0E1D34;--ink:#EDF1F7;--muted:#9BA9C0;--line:#1D3050;--chip:#142640}
html{scroll-padding-top:env(safe-area-inset-top,0px);background:var(--deep);font-size:calc(100% * var(--a11y-scale,1))}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:calc(17px * var(--a11y-scale,1));line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--head);font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:-.012em;margin:0}
h1{font-size:clamp(2.1rem,7vw,5.4rem)}
h2{font-size:clamp(1.8rem,4.6vw,3.3rem)}
h3{font-size:1.15rem;line-height:1.2;letter-spacing:0}
p{margin:0}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,44px)}
.skip{position:absolute;left:8px;top:-999px;background:var(--orange);color:var(--navy);padding:10px 16px;font-weight:700;z-index:100}
.skip:focus{top:8px}

/* ---------- header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(5,14,29,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:16px}
.logo{display:block;line-height:0}
.logo img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:30px}
.nav a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.8rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:8px 0;border-bottom:2px solid transparent;transition:color .15s}
.nav a:hover{color:#fff}
.nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--orange)}
.nav a.nav-cta{background:var(--orange);color:var(--navy);padding:11px 20px;border-radius:2px;border-bottom:0}
.nav a.nav-cta:hover{background:var(--orange-hi)}
.nav a.nav-cta[aria-current="page"]{box-shadow:0 0 0 2px #fff inset}
.menu-btn{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:2px;min-height:44px;padding:0 16px;font:600 .78rem var(--body);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}

/* ---------- language switcher ---------- */
.lang-switch{position:relative;margin-inline-start:6px}
.lang-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:100px;padding:8px 12px;font:600 .76rem var(--body);letter-spacing:.03em;cursor:pointer}
.lang-btn:hover{border-color:#fff}
.lang-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;background:var(--deep);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px;min-width:160px;box-shadow:0 20px 40px rgba(0,0,0,.4);z-index:80}
.lang-menu button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;color:#fff;padding:9px 10px;font:500 .86rem var(--body);border-radius:4px;cursor:pointer;text-align:start}
.lang-menu button:hover{background:rgba(255,255,255,.08)}
.lang-menu button[aria-current="true"]{color:var(--orange);font-weight:700}
@media (max-width:860px){
  .lang-switch{margin:14px 0 0;order:99}
  .lang-btn{width:100%;justify-content:center;padding:14px}
  .lang-menu{position:static;margin-top:8px;box-shadow:none;width:100%}
}

/* ---------- RTL ---------- */
html[dir="rtl"] body{font-family:"Arial","Segoe UI",var(--body)}
html[dir="rtl"] .hero-paths span,
html[dir="rtl"] .panel-link,
html[dir="rtl"] .clink,
html[dir="rtl"] .name-row a,
html[dir="rtl"] .client .btn{flex-direction:row-reverse}
html[dir="rtl"] .arrow{transform:scaleX(-1)}
html[dir="rtl"] .btn{gap:10px}
html[dir="rtl"] .name-row a:hover svg,
html[dir="rtl"] .clink svg{transform:scaleX(-1)}
html[dir="rtl"] .name-row a:hover svg{transform:scaleX(-1) translateX(6px)}
html[dir="rtl"] .b-note span{unicode-bidi:plain-text}
html[dir="rtl"] .aside div,html[dir="rtl"] .pillar,html[dir="rtl"] .timeline li{border-inline-start-width:var(--bw,3px);border-inline-end:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;font:700 .8rem var(--body);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;text-align:center;border-radius:2px;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-primary{background:var(--orange);color:var(--navy)}
.btn-primary:hover{background:var(--orange-hi)}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--navy-3)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--bg)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.arrow{width:18px;height:18px;flex:none}

/* ---------- shared ---------- */
.section{padding:clamp(64px,9vw,120px) 0}
.on-bg{background:var(--bg)}
.on-surface{background:var(--surface)}
.on-navy{background:var(--navy);color:#fff}
.on-deep{background:var(--deep);color:#fff}
.on-orange{background:var(--orange);color:var(--navy)}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:18px}
.lead{font-size:clamp(1.05rem,1.5vw,1.26rem);color:var(--muted);max-width:58ch;line-height:1.6}
.on-navy .lead,.on-deep .lead{color:rgba(255,255,255,.8)}
.on-orange .lead{color:var(--navy)}
.sec-head{max-width:840px;margin-bottom:clamp(36px,5vw,64px)}
.sec-head .lead{margin-top:20px}
.cap{font-size:.74rem;color:var(--muted);margin-top:10px}
.on-navy .cap,.on-deep .cap{color:rgba(255,255,255,.6)}
.ph{background:var(--navy-2)}
.ph img{width:100%;height:100%;object-fit:cover}

/* ---------- home hero ---------- */
.hero-home{position:relative;isolation:isolate;background:var(--deep);color:#fff;overflow:hidden;min-height:clamp(660px,90vh,920px);display:flex;flex-direction:column;justify-content:space-between}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:78% 48%}
@media (min-width:861px){.hero-media{left:30%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
  html[dir="rtl"] .hero-media{left:0;right:30%;-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 34%);mask-image:linear-gradient(270deg,transparent 0,#000 34%)}}
.hero-shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(5,14,29,.8) 0%,rgba(5,14,29,.55) 38%,rgba(5,14,29,.08) 66%,rgba(5,14,29,0) 100%),
  linear-gradient(180deg,rgba(5,14,29,.3) 0%,transparent 22%,transparent 56%,rgba(5,14,29,.9) 100%)}
html[dir="rtl"] .hero-shade{background:
  linear-gradient(270deg,rgba(5,14,29,.8) 0%,rgba(5,14,29,.55) 38%,rgba(5,14,29,.08) 66%,rgba(5,14,29,0) 100%),
  linear-gradient(180deg,rgba(5,14,29,.3) 0%,transparent 22%,transparent 56%,rgba(5,14,29,.9) 100%)}
.hero-home>.wrap{width:100%}
.hero-copy{padding-top:clamp(52px,10vh,116px);padding-bottom:36px}
.hero-copy .eyebrow{margin-bottom:24px}
.h-hero{font-size:clamp(2.2rem,6vw,5.3rem);line-height:.96;margin-bottom:28px}
.h-hero .ln{display:block;padding-bottom:.04em}
.h-hero .ln>span{display:block}
.hero-copy .lead{color:rgba(255,255,255,.86);max-width:30ch;margin-bottom:34px;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.4}
.hero-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:clamp(24px,4vw,44px)}
.hp{display:grid;gap:8px;padding:22px 26px;background:rgba(10,27,51,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);text-decoration:none;color:#fff;transition:border-color .2s,background .2s}
.hp:hover{border-color:var(--orange);background:rgba(10,27,51,.86)}
.hp small{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.hp strong{font-family:var(--head);font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800;text-transform:uppercase;line-height:1.1}
.hp span{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:rgba(255,255,255,.8)}

/* ---------- two-sided panels ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px)}
.panel{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(460px,50vw,620px);color:#fff;text-decoration:none;overflow:hidden;background:var(--navy-2)}
.panel img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,14,29,.05) 18%,rgba(5,14,29,.9) 100%)}
.panel:hover img{transform:scale(1.045)}
.panel-body{padding:clamp(24px,3.2vw,44px);display:grid;gap:14px}
.panel h3{font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.02}
.panel p{color:rgba(255,255,255,.84);max-width:42ch}
.panel-link{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-bottom:2px solid var(--orange);padding-bottom:4px;justify-self:start}

/* ---------- category explorer ---------- */
.explorer{display:grid;grid-template-columns:340px 1fr;gap:clamp(24px,4.5vw,64px);align-items:start}
.ex-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.ex-tab{display:flex;align-items:center;gap:16px;text-align:left;padding:20px 8px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:600 1.02rem var(--body);cursor:pointer;position:relative;transition:padding .2s,color .2s}
.ex-tab svg{width:28px;height:28px;flex:none;stroke:var(--orange);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ex-tab small{margin-left:auto;font-size:.78rem;color:var(--muted);font-weight:500}
.ex-tab:hover{padding-left:16px}
.ex-tab[aria-selected="true"]{padding-left:22px;color:var(--ink)}
.ex-tab[aria-selected="true"]::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:4px;background:var(--orange)}
.ex-panel h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:12px}
.ex-panel .lead{margin-bottom:28px;font-size:1.05rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.tile{padding:18px 18px;min-height:80px;text-align:left;background:var(--bg);border:1px solid var(--line);color:var(--ink);font:600 1rem/1.3 var(--body);cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:flex;align-items:flex-end}
.tile:hover{border-color:var(--orange)}
.tile[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
:root[data-theme="dark"] .tile[aria-pressed="true"]{background:var(--orange);color:var(--navy);border-color:var(--orange)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tile[aria-pressed="true"]{background:var(--orange);color:var(--navy);border-color:var(--orange)}}
.brief{margin-top:26px;padding:24px 26px;border-left:4px solid var(--orange);background:var(--bg);display:grid;gap:16px}
.brief p{font-weight:600}
.brief .btn-row .btn{min-height:46px;padding:0 20px}
.note-line{margin-top:clamp(32px,4vw,48px);padding-left:22px;border-left:4px solid var(--orange);font-family:var(--head);font-weight:800;text-transform:uppercase;font-size:clamp(1.15rem,2.3vw,1.7rem);line-height:1.15;max-width:32ch}
.note-line small{display:block;font-family:var(--body);font-size:.72rem;letter-spacing:.14em;color:var(--orange);margin-bottom:8px}

/* ---------- mosaic ---------- */
.split-2{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:center}
.mosaic{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(380px,46vw,580px)}
.mosaic figure{margin:0;overflow:hidden}
.mosaic figure:first-child{grid-row:1/3}
.mosaic img{transition:transform .7s ease}
.mosaic figure:first-child img{object-position:34% 50%}
.mosaic figure:hover img{transform:scale(1.04)}

/* ---------- global ---------- */
.global-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:center}
.global-grid h2{margin-bottom:24px}
.map{width:100%;height:auto;border:1px solid rgba(255,255,255,.12)}
.arc{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 10;animation:flow 2.6s linear infinite}
.arc.soft{opacity:.5;animation-duration:3.8s}
@keyframes flow{to{stroke-dashoffset:-64}}
.ring{fill:none;stroke:var(--orange);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ping 2.8s ease-out infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.map-label{font:700 17px var(--body);letter-spacing:.12em;fill:#fff;text-transform:uppercase}
.stat-strip{background:var(--deep);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;max-width:900px;margin:0 auto}
.stat-item{padding:clamp(30px,5vw,48px) 24px;text-align:center;border-inline-start:1px solid rgba(255,255,255,.12)}
.stat-item:first-child{border-inline-start:0}
.stat-item .n{font-family:var(--head);font-weight:800;font-stretch:90%;color:var(--orange);font-size:clamp(2.4rem,6vw,4.2rem);line-height:1;letter-spacing:-.01em;direction:ltr;unicode-bidi:isolate}
.stat-item .l{margin-top:10px;font-size:.86rem;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.72)}
@media(max-width:620px){.stat-grid{max-width:100%}}
.values{background:var(--orange);color:var(--navy)}
.values ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.values li{padding:20px;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;border-left:1px solid rgba(10,27,51,.28)}
.values li:first-child{border-left:0}
.band{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(360px,44vw,520px);display:flex;align-items:center;color:#fff}
.band img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,14,29,.92) 0%,rgba(5,14,29,.6) 48%,rgba(5,14,29,.12) 100%)}
.band h2{max-width:14ch}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.pillar{border-top:3px solid var(--orange);padding-top:22px}
.pillar svg{width:34px;height:34px;stroke:var(--orange);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
.pillar h3{margin-bottom:10px}
.pillar p{color:var(--muted)}
.regions{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:28px 0 0;padding:0}
.regions li{border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:2px;font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}

/* ---------- clients ---------- */
.name-row{border-top:1px solid var(--line)}
.name-row a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .25s}
.name-row a:hover{padding-left:14px}
.name-row strong{font-family:var(--head);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1}
.name-row span{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right}
.name-row svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2;transition:transform .25s}
.name-row a:hover svg{transform:translateX(6px)}
.name-row a:hover strong{color:var(--orange)}
.client-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.client{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:transform .25s,border-color .25s}
.client:hover{transform:translateY(-4px);border-color:var(--orange)}
.client::before{content:"";height:5px;background:linear-gradient(90deg,var(--orange),var(--navy-3))}
.client-body{padding:30px 30px 32px;display:flex;flex-direction:column;gap:18px;flex:1}
.client-ico{width:44px;height:44px;stroke:var(--orange);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.client .tag{font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--orange)}
.client h3{font-size:1.8rem}
.client p{color:var(--muted)}
.client .btn{margin-top:auto;align-self:flex-start;min-height:46px;padding:0 20px}

/* ---------- what we do ---------- */

.chooser{background:var(--deep)}
.chooser-head{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,44px)}
.chooser-head h2{color:#fff}
.chooser-head p{color:rgba(255,255,255,.7);margin-top:14px}
.chooser-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px)}
.chooser-card{display:flex;flex-direction:column;gap:16px;padding:clamp(28px,4vw,44px) clamp(24px,3vw,36px);text-decoration:none;color:#fff;background:var(--navy-2);border:2px solid rgba(255,255,255,.14);transition:border-color .2s,transform .2s,background .2s}
.chooser-card:hover{border-color:var(--orange);transform:translateY(-3px);background:var(--navy-3)}
.chooser-card .cnum{font-family:var(--head);font-weight:800;color:var(--orange);font-size:.8rem;letter-spacing:.14em}
.chooser-card h3{font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.08;color:#fff}
.chooser-card p{color:rgba(255,255,255,.78);font-size:1rem}
.chooser-card .clink{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--orange)}
@media (max-width:860px){.chooser-grid{grid-template-columns:1fr}}

.page-hero{background:var(--navy);color:#fff;overflow:hidden}
.page-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(48px,7vw,104px) 0}
.page-grid h1{margin-bottom:26px;font-size:clamp(2rem,5vw,4.4rem)}
.page-hero .lead{color:rgba(255,255,255,.82)}
.frame{position:relative}
.frame::before{content:"";position:absolute;inset:16px -16px -16px 16px;border:2px solid var(--orange)}
.frame img{position:relative;width:100%;aspect-ratio:3/2;object-fit:cover}
.track{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center;margin-bottom:clamp(40px,6vw,72px)}
.track.flip .track-art{order:-1}
.track h2{margin-bottom:24px}
.track-art img{width:100%;aspect-ratio:4/3;object-fit:cover}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.svc{padding:30px 26px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .2s}
.svc:hover{background:var(--bg)}
.on-surface .svc:hover{background:var(--bg)}
.svc .num{font-family:var(--head);font-weight:800;color:var(--orange);font-size:2.2rem;line-height:1;margin-bottom:20px}
.svc h3{margin-bottom:12px}
.svc p{color:var(--muted);font-size:.96rem}
.bridge{display:grid;grid-template-columns:1fr minmax(64px,110px) auto minmax(64px,110px) 1fr;align-items:center;margin-top:clamp(40px,6vw,72px)}
.b-side{border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,var(--navy-2),var(--navy));padding:38px 24px;text-align:center;font-family:var(--head);font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.7;font-size:1.12rem}
.b-link{position:relative;height:2px;background:repeating-linear-gradient(90deg,var(--orange) 0 10px,transparent 10px 20px);background-size:20px 2px;animation:dash 1s linear infinite}
.b-link::before,.b-link::after{content:"";position:absolute;top:50%;width:11px;height:11px;border-top:2px solid var(--orange);border-left:2px solid var(--orange)}
.b-link::before{left:0;transform:translateY(-50%) rotate(-45deg)}
.b-link::after{right:0;transform:translateY(-50%) rotate(135deg)}
@keyframes dash{to{background-position:20px 0}}
.b-hub{width:200px;height:200px;border-radius:50%;background:var(--orange);color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--head);font-weight:800;font-size:1.6rem;line-height:1.05;text-transform:uppercase;box-shadow:0 0 0 14px rgba(240,98,31,.18),0 0 0 32px rgba(240,98,31,.08)}
.b-hub small{font-family:var(--body);font-size:.62rem;letter-spacing:.14em;font-weight:700;margin-top:8px}
.b-note{margin-top:44px;text-align:center;font-family:var(--head);font-weight:800;text-transform:uppercase;font-size:clamp(1.15rem,2.5vw,1.8rem);line-height:1.15}
.b-note span{display:block;color:var(--orange)}
.tl-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,96px);align-items:start}
.timeline{list-style:none;margin:0;padding:0;counter-reset:t;border-left:2px solid var(--line);margin-left:18px}
.timeline li{counter-increment:t;position:relative;padding:0 0 34px 40px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:counter(t,decimal-leading-zero);position:absolute;left:-19px;top:-4px;width:36px;height:36px;border-radius:50%;background:var(--orange);color:var(--navy);display:grid;place-items:center;font:800 .8rem var(--head)}
.timeline h3{margin-bottom:6px}
.timeline p{color:var(--muted);max-width:52ch}
.cta-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(32px,6vw,96px);align-items:center}
.cta-grid h2{margin-bottom:22px;max-width:16ch}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,80px);align-items:start}
.contact-grid h1{margin-bottom:22px}
.aside{margin-top:30px;display:grid;gap:20px}
.aside div{border-left:3px solid var(--orange);padding-left:18px}
.aside h2{margin-bottom:6px;font-size:1rem;font-family:var(--head);font-weight:800;text-transform:uppercase;letter-spacing:-.012em;line-height:1}
.aside p{color:var(--muted);font-size:.97rem}
.contact-photo{margin-top:40px}
.form{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--orange);padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:2px;padding:0 14px;min-height:52px;width:100%}
.field textarea{padding:13px 14px;min-height:160px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
.field .err{color:#C2410C;font-size:.85rem;font-weight:600}
:root[data-theme="dark"] .field .err{color:#FDBA74}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .field .err{color:#FDBA74}}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#C2410C}
.form-actions{grid-column:1/-1;display:flex;flex-direction:column;gap:12px}
.form-note{font-size:.85rem;color:var(--muted)}
.result{grid-column:1/-1;border-left:4px solid var(--orange);background:var(--bg);padding:22px 24px}
.result h3{margin-bottom:8px}
.result p{color:var(--muted)}
.form-alert{grid-column:1/-1;border-left:4px solid #C2410C;background:var(--bg);padding:14px 18px;font-weight:600}

/* ---------- footer ---------- */
.footer{background:var(--deep);color:rgba(255,255,255,.72);padding:clamp(48px,6vw,72px) 0 32px;border-top:1px solid rgba(255,255,255,.1)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.footer h3,.footer h2{margin:0 0 16px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;font-weight:800;font-family:var(--head)}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer a{text-decoration:none}
.footer a:hover{color:#fff}
.footer .logo{margin-bottom:18px}
.footer p{max-width:36ch;font-size:.95rem}
.copy{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem}
[id]{scroll-margin-top:96px}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .client-list{grid-template-columns:repeat(2,1fr)}
  .explorer{grid-template-columns:1fr}
  .ex-tabs{flex-direction:row;overflow-x:auto;border-top:0;border-bottom:1px solid var(--line);gap:4px}
  .ex-tab{flex:none;border-bottom:0;padding:16px 16px;white-space:nowrap}
  .ex-tab small{display:none}
  .ex-tab:hover,.ex-tab[aria-selected="true"]{padding-left:16px}
  .ex-tab[aria-selected="true"]::before{left:0;right:0;top:auto;bottom:-1px;width:auto;height:4px}
}
@media (max-width:860px){
  .menu-btn{display:inline-flex;align-items:center}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--deep);flex-direction:column;align-items:stretch;gap:0;padding:8px clamp(20px,4vw,44px) 22px;border-bottom:1px solid rgba(255,255,255,.12);display:none}
  .nav.open{display:flex}
  .nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav a[aria-current="page"]{border-bottom-color:var(--orange)}
  .nav a.nav-cta{margin-top:14px;text-align:center;padding:16px}
  .hero-home{min-height:0}
  .hero-media{left:0}
  .hero-shade{background:linear-gradient(180deg,rgba(5,14,29,.55) 0%,rgba(5,14,29,.4) 40%,rgba(5,14,29,.6) 68%,rgba(5,14,29,.96) 100%)}
  .hero-media img{object-position:62% 34%}
  .hero-paths,.duo,.split-2,.global-grid,.track,.page-grid,.tl-wrap,.cta-grid,.contact-grid{grid-template-columns:1fr}
  .track.flip .track-art{order:0}
  .mosaic{grid-template-columns:1fr;grid-template-rows:auto;height:auto}
  .mosaic figure,.mosaic figure:first-child{grid-row:auto;aspect-ratio:3/2}
  .panel{min-height:440px}
  .values ul{grid-template-columns:repeat(2,1fr)}
  .values li:nth-child(3){border-left:0}
  .values li:nth-child(n+3){border-top:1px solid rgba(10,27,51,.28)}
  .pillars{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid > :first-child{grid-column:1/-1}
  .bridge{grid-template-columns:1fr;justify-items:stretch}
  .b-hub{justify-self:center;width:170px;height:170px;margin:20px 0}
  .b-link{justify-self:center;width:2px;height:64px;background:repeating-linear-gradient(180deg,var(--orange) 0 10px,transparent 10px 20px);background-size:2px 20px;animation:dashv 1s linear infinite}
  .b-link::before{left:50%;top:0;transform:translateX(-50%) rotate(45deg)}
  .b-link::after{left:50%;top:auto;right:auto;bottom:0;transform:translateX(-50%) rotate(225deg)}
  @keyframes dashv{to{background-position:0 20px}}
  .frame::before{inset:10px -10px -10px 10px}

}
@media (max-width:620px){
  .client-list,.svc-grid{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .btn-row .btn{width:100%}
  .name-row a{grid-template-columns:1fr auto}
  .name-row span{display:none}
  .values ul{grid-template-columns:1fr}
  .values li{border-left:0;border-top:1px solid rgba(10,27,51,.28)}
  .values li:first-child{border-top:0}
  .foot-grid{grid-template-columns:1fr}
  .logo img{height:40px}
}
@media (prefers-reduced-motion:reduce){
  .arc,.ring,.b-link{animation:none}
  .panel img,.mosaic img{transition:none}
}

.ex-panels{min-width:0}
.thanks{min-height:60vh;display:flex;align-items:center}
.thanks .wrap{display:grid;gap:22px;justify-items:start}

/* ---------- accessibility modes ---------- */
html.a11y-noanim *{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}
html.a11y-font body,html.a11y-font body *{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}
html.a11y-font body{line-height:1.75!important}
html.a11y-font h1,html.a11y-font h2,html.a11y-font h3{text-transform:none!important;letter-spacing:normal!important;line-height:1.25!important}
html.a11y-links a:not(.btn):not(.logo):not(.a11y-toggle):not(.a11y-close):not(.a11y-tile){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;background:rgba(255,214,0,.22)!important;border-radius:2px}
html.a11y-cursor,html.a11y-cursor *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24"><path d="M3 2l8 19 2.5-7.5L21 11z" fill="%23000000" stroke="%23ffffff" stroke-width="1.5" stroke-linejoin="round"/></svg>') 2 2, auto!important}
html.a11y-contrast{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast.a11y-grayscale{filter:invert(1) hue-rotate(180deg) grayscale(1)}
html.a11y-grayscale:not(.a11y-contrast){filter:grayscale(1)}
html.a11y-contrast img,html.a11y-contrast video,html.a11y-contrast .hero-media img{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast.a11y-grayscale img,html.a11y-contrast.a11y-grayscale video,html.a11y-contrast.a11y-grayscale .hero-media img{filter:invert(1) hue-rotate(180deg) grayscale(1)}
html.a11y-grayscale:not(.a11y-contrast) img,html.a11y-grayscale:not(.a11y-contrast) video{filter:grayscale(1)}

/* ---------- accessibility widget ---------- */
.a11y-widget{position:fixed;z-index:120;right:20px;bottom:20px;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px))}
.a11y-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.a11y-toggle{width:54px;height:54px;border-radius:50%;background:var(--orange);border:none;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(5,14,29,.35);transition:background .15s,transform .15s}
.a11y-toggle:hover{background:var(--orange-hi);transform:translateY(-2px)}
.a11y-toggle svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.a11y-panel{position:absolute;bottom:64px;right:0;width:min(320px,calc(100vw - 40px));background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.45);padding:18px}
.a11y-panel[dir="rtl"]{text-align:right}
.a11y-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.a11y-panel-head h2{font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.a11y-close{background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer}
.a11y-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.a11y-row{margin-bottom:14px}
.a11y-row-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:8px}
.a11y-size-ctrl{display:flex;align-items:center;gap:10px}
.a11y-size-ctrl button{min-width:40px;min-height:40px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-weight:700;cursor:pointer}
.a11y-size-ctrl button:hover{background:rgba(255,255,255,.14)}
.a11y-scale-label{min-width:44px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.a11y-tile{min-height:44px;padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;text-align:center}
.a11y-tile:hover{background:rgba(255,255,255,.14)}
.a11y-tile[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.a11y-reset{width:100%;min-height:42px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;margin-bottom:10px}
.a11y-reset:hover{border-color:var(--orange);color:var(--orange)}
.a11y-statement{display:block;text-align:center;font-size:.78rem;color:rgba(255,255,255,.75);text-decoration:underline}
.a11y-statement:hover{color:#fff}
@media (max-width:480px){.a11y-widget{right:12px;bottom:12px}.a11y-toggle{width:48px;height:48px}}
