/* Becket & Partners — website styles */
@font-face{font-family:"Inter";src:url("fonts/InterVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("fonts/SourceSerif4Variable-Roman.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("fonts/SourceSerif4Variable-Italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}

@font-face{font-family:"IBM Plex Sans Arabic";src:url("fonts/PlexArabic-400.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("fonts/PlexArabic-500.woff2") format("woff2");font-weight:500;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("fonts/PlexArabic-600.woff2") format("woff2");font-weight:600 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"Noto Naskh Arabic";src:url("fonts/NotoNaskhArabic-Variable.woff2") format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
:root{
  --midnight:#082553; --ink:#061D47; --deep:#041534; --blue:#1568F0; --blue-hover:#0F55C9; --sky:#55A7FF; --pale:#EAF2FF;
  --porcelain:#F7F9FC; --graphite:#17212B; --slate:#5F6F82; --cloud:#DCE4EE; --white:#fff;
  --font-display:"Source Serif 4",Georgia,serif; --font-body:"Inter",Arial,sans-serif;

  --text-xs:clamp(.75rem,.72rem + .15vw,.8125rem);
  --text-sm:clamp(.875rem,.84rem + .15vw,.9375rem);
  --text-base:clamp(1rem,.96rem + .2vw,1.0625rem);
  --text-lg:clamp(1.125rem,1.02rem + .5vw,1.375rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);
  --text-2xl:clamp(2rem,1.3rem + 2.6vw,3.5rem);
  --text-3xl:clamp(2.5rem,1.2rem + 4.4vw,5.25rem);
  --text-hero:clamp(2.85rem,1rem + 6vw,7rem);

  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --radius-sm:4px;--radius-md:8px;--radius-lg:12px;
  --gutter:clamp(1.25rem,4.5vw,4.5rem);
  --container:1280px;
  --ease:cubic-bezier(.16,1,.3,1);
  --line:rgba(8,37,83,.12); --line-dark:rgba(234,242,255,.14);
  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--graphite);background:var(--white);font-feature-settings:"ss01","cv11";overflow-x:hidden}
img,svg,canvas,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
ul,ol{list-style:none}
h1,h2,h3,h4{text-wrap:balance;line-height:1.12;font-weight:500}
p,li{text-wrap:pretty}
::selection{background:rgba(21,104,240,.22)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.dark :focus-visible{outline-color:var(--sky)}
a,button,input,select,textarea{transition:color .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease),opacity .25s var(--ease)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;inset-inline-start:var(--space-4);top:-100px;z-index:200;background:var(--blue);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600}
.skip:focus{top:var(--space-4)}

.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:calc(820px + var(--gutter)*2)}

/* ---------- Type ---------- */
.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.022em;line-height:1.02}
.h-hero{font-size:var(--text-hero)}
.h-1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;letter-spacing:-.02em;line-height:1.04}
.h-2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;letter-spacing:-.015em;line-height:1.08}
.h-3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:450;letter-spacing:-.01em;line-height:1.15}
.h-4{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;line-height:1.3}
.lead{font-size:var(--text-lg);line-height:1.55;color:var(--graphite);max-width:60ch}
.muted{color:var(--slate)}
.dark .lead{color:rgba(255,255,255,.88)}
.dark .muted{color:rgba(234,242,255,.82)}
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.dark .eyebrow{color:var(--sky)}
.eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor;transform:skewY(-28deg)}
.eyebrow .num{font-variant-numeric:tabular-nums;color:var(--slate)}
.dark .eyebrow .num{color:rgba(234,242,255,.7)}
.prose p+p{margin-top:var(--space-4)}
.prose p{max-width:66ch}
em,.italic{font-style:italic}
.serif{font-family:var(--font-display)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;letter-spacing:.005em;white-space:nowrap}
.btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-hover)}
.btn-primary:active{transform:translateY(1px)}
.btn-ghost{border:1px solid rgba(8,37,83,.24);color:var(--midnight)}
.btn-ghost:hover{border-color:var(--midnight);background:var(--midnight);color:#fff}
.dark .btn-ghost{border-color:rgba(234,242,255,.32);color:#fff}
.dark .btn-ghost:hover{background:#fff;color:var(--midnight);border-color:#fff}
.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--blue);border-bottom:1px solid transparent;padding-block:var(--space-1)}
.link-arrow svg{width:15px;height:15px;transition:transform .35s var(--ease)}
.link-arrow:hover{border-bottom-color:currentColor}
.link-arrow:hover svg{transform:translateX(3px)}
.dark .link-arrow{color:var(--sky)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);align-items:center}

/* ---------- Header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);transition:background-color .35s var(--ease),box-shadow .35s var(--ease),transform .4s var(--ease)}
.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{width:184px;height:auto}
.brand .logo-dark{display:none}
.site-header.on-dark .logo-light{display:none}
.site-header.on-dark .logo-dark{display:block}
.site-header.scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.site-header.scrolled .logo-light{display:block}.site-header.scrolled .logo-dark{display:none}
.site-header.hide{transform:translateY(-100%)}
.nav{display:flex;align-items:center;gap:var(--space-1)}
.nav>li>a,.nav>li>button{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--midnight);border-radius:var(--radius-sm)}
.nav>li>a:hover,.nav>li>button:hover,.nav>li>button[aria-expanded="true"]{color:var(--blue)}
.nav>li>a[aria-current="page"],.nav>li>button.current{color:var(--blue)}
.nav .chev{width:10px;height:10px;transition:transform .3s var(--ease)}
.nav button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.site-header.on-dark:not(.scrolled) .nav>li>a,.site-header.on-dark:not(.scrolled) .nav>li>button{color:#fff}
.site-header.on-dark:not(.scrolled) .nav>li>a:hover,.site-header.on-dark:not(.scrolled) .nav>li>button:hover,.site-header.on-dark:not(.scrolled) .nav>li>a[aria-current="page"],.site-header.on-dark:not(.scrolled) .nav>li>button.current{color:var(--sky)}
.nav .nav-cta{margin-inline-start:var(--space-3)}
.nav .nav-cta a{display:inline-flex;align-items:center;height:42px;padding:0 var(--space-5);background:var(--blue);color:#fff!important;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600}
.nav .nav-cta a:hover{background:var(--blue-hover)}
.has-menu{position:relative}
.mega{position:fixed;inset-inline-start:0;inset-inline-end:0;top:var(--header-h);background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(6,29,71,.35);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .4s var(--ease),visibility .3s}
.mega.open{opacity:1;visibility:visible;transform:none}
.mega-inner{display:grid;grid-template-columns:minmax(220px,1fr) 4fr;gap:var(--space-10);padding-block:var(--space-10) var(--space-12)}
.mega-intro p{font-size:var(--text-sm);color:var(--slate);margin-block:var(--space-3) var(--space-5);max-width:34ch}
.mega-intro .h-3{font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);color:var(--midnight)}
.mega-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-6)}
.mega-col h3{font-size:var(--text-sm);font-weight:600;color:var(--midnight);line-height:1.35;padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--line);min-height:4.6em}
.mega-col h3 a:hover{color:var(--blue)}
.mega-col h3 .n{display:block;font-size:var(--text-xs);color:var(--blue);font-weight:600;margin-bottom:var(--space-1);font-variant-numeric:tabular-nums}
.mega-col li a{display:block;font-size:var(--text-xs);color:var(--slate);padding:5px 0;line-height:1.4}
.mega-col li a:hover{color:var(--blue)}
.mega.small{inset-inline-start:auto;inset-inline-end:auto;position:absolute;top:calc(100% + 14px);min-width:260px;border-radius:var(--radius-md);border:1px solid var(--line)}
.mega.small ul{padding:var(--space-3)}
.mega.small a{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--midnight);border-radius:var(--radius-sm)}
.mega.small a:hover{background:var(--porcelain);color:var(--blue)}
.mega.small a span{display:block;font-size:var(--text-xs);color:var(--slate);font-weight:400}
.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;color:var(--midnight)}
.site-header.on-dark:not(.scrolled) .menu-toggle{color:#fff}
.menu-toggle svg{width:24px;height:24px}
.mobile-panel{position:fixed;inset:0;z-index:150;background:var(--ink);color:#fff;transform:translateX(100%);transition:transform .5s var(--ease);overflow-y:auto;padding:var(--space-6) var(--gutter) var(--space-12);visibility:hidden}
.mobile-panel.open{transform:none;visibility:visible}
.mobile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}
.mobile-top img{width:170px}
.mobile-panel nav>ul>li{border-bottom:1px solid var(--line-dark)}
.mobile-panel nav>ul>li>a,.mobile-panel summary{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;font-family:var(--font-display);font-size:1.5rem;cursor:pointer;list-style:none}
.mobile-panel summary::-webkit-details-marker{display:none}
.mobile-panel details ul{padding-bottom:var(--space-4)}
.mobile-panel details li a{display:block;padding:var(--space-2) 0;color:rgba(234,242,255,.8);font-size:var(--text-sm)}
.mobile-panel .btn{margin-top:var(--space-8);width:100%;justify-content:center}
.mobile-panel .close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff}

/* ---------- Sections ---------- */
.section{padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.section-tight{padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.dark{background:var(--midnight);color:#fff}
.ink{background:var(--ink)}
.deep{background:var(--deep)}
.porcelain{background:var(--porcelain)}
.pale{background:var(--pale)}
.dark .h-1,.dark .h-2,.dark .h-3{color:#fff}
.h-1,.h-2,.h-3{color:var(--midnight)}
.section-head{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin-bottom:clamp(var(--space-10),5vw,var(--space-16))}
.section-head.split{grid-template-columns:1.1fr 1fr;align-items:end;gap:var(--space-12)}
.section-head .lead,.section-head p{max-width:58ch}
.rule{height:1px;background:var(--line);border:0}
.dark .rule{background:var(--line-dark)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero-home{min-height:max(720px,100svh);display:flex;flex-direction:column;justify-content:flex-end;background:var(--deep)}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-home .hero-media img{object-position:70% 50%;opacity:.82;transform:scale(1.04);animation:heroDrift 24s var(--ease) forwards}
@keyframes heroDrift{to{transform:scale(1)}}
.hero-home .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,52,.97) 0%,rgba(4,21,52,.86) 34%,rgba(4,21,52,.35) 66%,rgba(4,21,52,.15) 100%),linear-gradient(0deg,rgba(4,21,52,.95) 0%,rgba(4,21,52,0) 42%)}
.signal-field{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.hero-inner{padding-top:calc(var(--header-h) + var(--space-16));padding-bottom:var(--space-12)}
.hero-home h1{max-width:12ch;color:#fff;margin-block:var(--space-6) var(--space-8)}
.hero-home h1 .cut{color:var(--sky);font-style:italic}
.hero-copy{display:grid;grid-template-columns:minmax(0,560px);gap:var(--space-4)}
.hero-copy p{color:rgba(234,242,255,.88);font-size:var(--text-lg);line-height:1.55}
.hero-copy p+p{font-size:var(--text-base);color:rgba(234,242,255,.78)}
.hero-home .btn-row{margin-top:var(--space-8)}
.hero-index{border-top:1px solid var(--line-dark);display:grid;grid-template-columns:repeat(5,1fr)}
.hero-index a{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-6) 0;font-size:var(--text-sm);color:rgba(234,242,255,.86);line-height:1.35}
.hero-index a+a{padding-inline-start:var(--space-5);border-inline-start:1px solid var(--line-dark)}
.hero-index a .n{font-size:var(--text-xs);color:var(--sky);font-weight:600;font-variant-numeric:tabular-nums}
.hero-index a::after{content:"";position:absolute;inset-inline-start:0;inset-inline-end:0;top:-1px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.hero-index a+a::after{inset-inline-start:0}
.hero-index a:hover{color:#fff}
.hero-index a:hover::after{transform:scaleX(1)}

.hero-page{background:var(--deep);color:#fff;padding-top:calc(var(--header-h) + clamp(var(--space-16),9vw,var(--space-24)));padding-bottom:clamp(var(--space-12),7vw,var(--space-24))}
.hero-page .hero-media img{opacity:.6}
.hero-page .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,52,.97) 0%,rgba(4,21,52,.88) 45%,rgba(4,21,52,.45) 100%),linear-gradient(0deg,rgba(4,21,52,.9),rgba(4,21,52,0) 50%)}
.hero-page h1{color:#fff;max-width:18ch;margin-block:var(--space-5) var(--space-6)}
.hero-page .h-1{font-size:clamp(2.4rem,1.3rem + 4vw,4.75rem)}
.hero-page .lead{color:rgba(234,242,255,.88)}
.hero-page .hero-sub{margin-top:var(--space-4);color:rgba(234,242,255,.76);max-width:62ch}
.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:rgba(234,242,255,.7);letter-spacing:.02em}
.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{opacity:.5}
.hero-tagline{font-family:var(--font-display);font-size:var(--text-xl);color:var(--sky);font-style:italic;max-width:30ch;margin-bottom:var(--space-6);line-height:1.25}
.hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-8);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--line-dark);font-size:var(--text-xs);color:rgba(234,242,255,.72);letter-spacing:.04em}
.hero-meta strong{color:#fff;font-weight:600;display:block;font-size:var(--text-sm);letter-spacing:0}

/* ---------- Home: principles ---------- */
.principles{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(var(--space-10),7vw,var(--space-24));align-items:start}
.principles .prose{margin-top:var(--space-6)}
.principle-list{border-top:1px solid var(--line)}
.principle{display:grid;grid-template-columns:72px 1fr;gap:var(--space-6);padding-block:var(--space-8);border-bottom:1px solid var(--line);position:relative}
.principle .idx{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;color:var(--blue);font-weight:300}
.principle h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);margin-bottom:var(--space-2);font-weight:450}
.principle p{color:var(--slate)}

/* ---------- AI era ---------- */
.ai-era{position:relative;overflow:hidden;isolation:isolate}
.ai-era .bg{position:absolute;inset:0;z-index:-1}
.ai-era .bg img{width:100%;height:100%;object-fit:cover;opacity:.45}
.ai-era .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,29,71,.92),rgba(6,29,71,.75) 50%,rgba(6,29,71,.96))}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:end}
.shifts{margin-top:var(--space-12);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark)}
.shift{padding:var(--space-8) var(--space-6) var(--space-4) 0}
.shift+.shift{padding-inline-start:var(--space-6);border-inline-start:1px solid var(--line-dark)}
.shift .from{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:rgba(234,242,255,.62);text-decoration:line-through;text-decoration-color:rgba(85,167,255,.6)}
.shift .to{font-family:var(--font-display);font-size:var(--text-xl);color:#fff;margin-block:var(--space-2) var(--space-3);line-height:1.15}
.shift p{color:rgba(234,242,255,.78);font-size:var(--text-sm);max-width:36ch}

/* ---------- Practice explorer ---------- */
.explorer{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.explorer-list{border-top:1px solid var(--line)}
.explorer-item{border-bottom:1px solid var(--line)}
.explorer-btn{width:100%;display:grid;grid-template-columns:56px 1fr 24px;align-items:center;gap:var(--space-4);padding:var(--space-6) 0;text-align:start;color:var(--midnight)}
.explorer-btn .n{font-size:var(--text-xs);font-weight:600;color:var(--slate);font-variant-numeric:tabular-nums}
.explorer-btn .t{font-family:var(--font-display);font-size:clamp(1.35rem,1.05rem + 1.1vw,2.1rem);line-height:1.12;letter-spacing:-.01em;transition:color .3s var(--ease),transform .5s var(--ease)}
.explorer-btn svg{width:20px;height:20px;color:var(--slate);transition:transform .4s var(--ease),color .3s}
.explorer-btn:hover .t,.explorer-item.active .t{color:var(--blue)}
.explorer-item.active .t{transform:translateX(6px)}
.explorer-item.active .n{color:var(--blue)}
.explorer-item.active svg{color:var(--blue);transform:rotate(-45deg)}
.explorer-mobile{display:none}
.explorer-panel{position:sticky;top:calc(var(--header-h) + var(--space-6));background:var(--midnight);color:#fff;border-radius:var(--radius-md);overflow:hidden;min-height:560px;display:grid}
.panel-slide{grid-area:1/1;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.panel-slide.active{opacity:1;visibility:visible}
.panel-slide .img{aspect-ratio:16/8;overflow:hidden;position:relative}
.panel-slide .img img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.4s var(--ease)}
.panel-slide.active .img img{transform:scale(1)}
.panel-body{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5);flex:1}
.panel-body p{color:rgba(234,242,255,.85)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:999px;font-size:var(--text-xs);color:var(--midnight);background:#fff;line-height:1.3}
.dark .chip,.panel-slide .chip{border-color:var(--line-dark);background:rgba(255,255,255,.04);color:rgba(234,242,255,.9)}
.panel-body .link-arrow{margin-top:auto;color:var(--sky)}

/* ---------- Evidence / stats ---------- */
.evidence-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-5)}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5);position:relative;overflow:hidden}
.dark .stat-card{background:rgba(255,255,255,.035);border-color:var(--line-dark)}
.stat-card.span-7{grid-column:span 7}.stat-card.span-5{grid-column:span 5}.stat-card.span-4{grid-column:span 4}.stat-card.span-6{grid-column:span 6}.stat-card.span-8{grid-column:span 8}
.stat-num{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1;letter-spacing:-.025em;color:var(--midnight);font-variant-numeric:tabular-nums;font-weight:400}
.dark .stat-num{color:#fff}
.stat-num small{font-size:.42em;letter-spacing:0;color:var(--blue);margin-inline-start:.1em;font-family:var(--font-body);font-weight:600;vertical-align:.9em}
.dark .stat-num small{color:var(--sky)}
.stat-label{color:var(--slate);max-width:40ch;font-size:var(--text-sm)}
.dark .stat-label{color:rgba(234,242,255,.8)}
.stat-tag{font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.dark .stat-tag{color:var(--sky)}
.bar-viz{display:flex;flex-direction:column;gap:var(--space-3);margin-top:auto}
.bar-row{display:grid;grid-template-columns:150px 1fr auto;gap:var(--space-4);align-items:center;font-size:var(--text-xs);color:var(--slate)}
.dark .bar-row{color:rgba(234,242,255,.78)}
.bar-track{height:10px;background:var(--pale);border-radius:2px;overflow:hidden}
.dark .bar-track{background:rgba(255,255,255,.08)}
.bar-fill{height:100%;background:var(--blue);width:var(--w);transform-origin:left;transform:scaleX(var(--s,1));transition:transform 1.4s var(--ease)}
.bar-fill.soft{background:var(--sky)}
.bar-fill.deep{background:var(--midnight)}
.dark .bar-fill.deep{background:rgba(234,242,255,.7)}
.js .reveal-bars .bar-fill{--s:0}
.js .reveal-bars.in .bar-fill{--s:1}
.bar-row b{color:var(--midnight);font-weight:600;font-variant-numeric:tabular-nums}
.dark .bar-row b{color:#fff}
.ring-wrap{display:flex;align-items:center;gap:var(--space-6);margin-top:auto}
.ring{width:132px;height:132px;flex-shrink:0}
.ring circle{fill:none;stroke-width:10}
.ring .track{stroke:var(--pale)}
.dark .ring .track{stroke:rgba(255,255,255,.1)}
.ring .val{stroke:var(--blue);stroke-linecap:butt;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.6s var(--ease)}
.ring text{font-family:var(--font-display);font-size:28px;fill:var(--midnight)}
.dark .ring text{fill:#fff}
.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-top:auto;max-width:300px}
.dots i{aspect-ratio:1;border-radius:2px;background:var(--blue);transform:scale(var(--s,1));transition:transform .5s var(--ease),opacity .5s;transition-delay:calc(var(--i)*18ms)}
.js .reveal-dots i{--s:.35;opacity:.25}
.js .reveal-dots.in i{--s:1;opacity:1}
.disclosure{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-xs);color:var(--slate);max-width:80ch;margin-top:var(--space-8);line-height:1.55}
.disclosure svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--blue)}
.dark .disclosure{color:rgba(234,242,255,.74)}
.dark .disclosure svg{color:var(--sky)}

/* ---------- Navigator ---------- */
.navigator{display:grid;grid-template-columns:1fr 1.1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:0 40px 80px -50px rgba(6,29,71,.35)}
.nav-inputs{padding:clamp(var(--space-6),4vw,var(--space-12));display:flex;flex-direction:column;gap:var(--space-8)}
.nav-inputs fieldset{border:0;display:flex;flex-direction:column;gap:var(--space-3)}
.nav-inputs legend{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--space-3)}
.opt-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.opt{position:relative}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid rgba(8,37,83,.2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--midnight);cursor:pointer;transition:all .25s var(--ease);line-height:1.3}
.opt span:hover{border-color:var(--blue);color:var(--blue)}
.opt input:checked+span{background:var(--midnight);border-color:var(--midnight);color:#fff}
.opt input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.nav-output{background:var(--midnight);color:#fff;padding:clamp(var(--space-6),4vw,var(--space-12));display:flex;flex-direction:column;gap:var(--space-6);position:relative;overflow:hidden}
.nav-output::before{content:"";position:absolute;inset-inline-end:-20%;top:-10%;width:2px;height:140%;background:linear-gradient(var(--blue),rgba(21,104,240,0));transform:rotate(38deg);transform-origin:top}
.nav-output .label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:rgba(234,242,255,.68);font-weight:600}
.nav-output .lead-practice{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.15;color:#fff}
.nav-output .focus{color:rgba(234,242,255,.84);font-size:var(--text-sm)}
.team{display:flex;flex-direction:column;gap:var(--space-2)}
.team li{display:grid;grid-template-columns:16px 1fr auto;gap:var(--space-3);align-items:center;font-size:var(--text-sm);padding:var(--space-3) 0;border-bottom:1px solid var(--line-dark);color:rgba(234,242,255,.9)}
.team li::before{content:"";width:10px;height:10px;border-radius:2px;background:var(--sky)}
.team li.lead::before{background:var(--blue);box-shadow:0 0 0 3px rgba(21,104,240,.3)}
.team li em{font-style:normal;font-size:var(--text-xs);color:rgba(234,242,255,.6)}
.nav-output .fade{transition:opacity .35s var(--ease),transform .45s var(--ease)}
.nav-output.updating .fade{opacity:0;transform:translateY(6px)}

/* ---------- Approach path ---------- */
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;counter-reset:step}
.path-line{position:absolute;inset-inline-start:0;inset-inline-end:0;top:27px;height:2px;background:var(--line)}
.dark .path-line{background:var(--line-dark)}
.path-line i{position:absolute;inset:0;background:var(--blue);transform-origin:left;transform:scaleX(var(--p,1));transition:transform 1.8s var(--ease)}
.js .reveal-path .path-line i{--p:0}
.js .reveal-path.in .path-line i{--p:1}
.step{position:relative;padding-inline-end:var(--space-8)}
.step .marker{width:56px;height:56px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.35rem;color:var(--blue);position:relative;z-index:1;margin-bottom:var(--space-6)}
.dark .step .marker{background:var(--midnight);border-color:var(--line-dark);color:var(--sky)}
.porcelain .step .marker{background:var(--porcelain)}
.step h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--midnight);margin-bottom:var(--space-2);font-weight:500;font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem)}
.dark .step h3{color:#fff}
.step p{color:var(--slate);font-size:var(--text-sm)}
.dark .step p{color:rgba(234,242,255,.8)}

/* ---------- Perspective cards ---------- */
.persp-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:var(--space-6)}
.persp-card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.persp-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -40px rgba(6,29,71,.45)}
.persp-card .img{overflow:hidden;aspect-ratio:16/9}
.persp-card .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.persp-card:hover .img img{transform:scale(1.04)}
.persp-card .body{padding:var(--space-6) var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-3);flex:1}
.persp-card .tag{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.persp-card h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);font-weight:450;line-height:1.15}
.persp-card p{color:var(--slate);font-size:var(--text-sm)}
.persp-card .link-arrow{margin-top:auto}
.persp-card.feature{grid-row:span 2}
.persp-card.feature .img{aspect-ratio:auto;flex:1;min-height:320px}
.persp-card.feature h3{font-size:var(--text-2xl)}
.persp-card.side{flex-direction:row}
.persp-card.side .img{width:40%;aspect-ratio:auto;flex-shrink:0}

/* ---------- CTA band ---------- */
.cta-band{position:relative;overflow:hidden;isolation:isolate;background:var(--midnight);color:#fff}
.cta-band::before{content:"";position:absolute;z-index:-1;inset-inline-start:52%;top:-30%;width:2px;height:180%;background:var(--blue);transform:rotate(36deg);opacity:.9}
.cta-band::after{content:"";position:absolute;z-index:-1;inset-inline-start:55%;top:-30%;width:1px;height:180%;background:rgba(85,167,255,.35);transform:rotate(36deg)}
.cta-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-12);align-items:end}
.cta-inner h2{color:#fff}
.cta-inner p{color:rgba(234,242,255,.86);margin-bottom:var(--space-8);max-width:48ch}
.cta-mail{display:block;margin-top:var(--space-5);font-size:var(--text-sm);color:rgba(234,242,255,.75)}
.cta-mail a{color:#fff;border-bottom:1px solid rgba(255,255,255,.35)}
.cta-mail a:hover{border-color:#fff}

/* ---------- Practice pages ---------- */
.intro-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(var(--space-10),7vw,var(--space-24));align-items:start}
.intro-grid .prose p:first-child{font-size:var(--text-lg);color:var(--midnight);line-height:1.5}
.questions{counter-reset:q;border-top:1px solid var(--line)}
.questions li{counter-increment:q;display:grid;grid-template-columns:64px 1fr;gap:var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:clamp(1.1rem,1rem + .45vw,1.4rem);line-height:1.3;color:var(--midnight)}
.questions li::before{content:"0" counter(q);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--blue);padding-top:.45em;font-variant-numeric:tabular-nums}
.dark .questions{border-color:var(--line-dark)}
.dark .questions li{color:#fff;border-color:var(--line-dark)}
.dark .questions li::before{color:var(--sky)}

.services{display:grid;grid-template-columns:300px 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:start}
.svc-index{position:sticky;top:calc(var(--header-h) + var(--space-8));display:flex;flex-direction:column;gap:2px}
.svc-index p{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--space-4)}
.svc-index a{display:grid;grid-template-columns:30px 1fr;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--slate);border-inline-start:2px solid var(--cloud);line-height:1.4}
.svc-index a .n{font-variant-numeric:tabular-nums;font-size:var(--text-xs);padding-top:2px}
.svc-index a:hover{color:var(--midnight)}
.svc-index a.active{color:var(--midnight);border-inline-start-color:var(--blue);background:var(--porcelain);font-weight:500}
.svc-index a.active .n{color:var(--blue)}
.svc-list{display:flex;flex-direction:column}
.svc{padding-block:var(--space-10);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr;gap:var(--space-5)}
.svc:first-child{border-top:0;padding-top:0}
.svc-head{display:flex;gap:var(--space-5);align-items:baseline}
.svc-head .n{font-size:var(--text-xs);font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums;flex-shrink:0;width:28px}
.svc h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);font-weight:450}
.svc .prose{padding-inline-start:calc(28px + var(--space-5))}
.outputs{margin-inline-start:calc(28px + var(--space-5));background:var(--porcelain);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6)}
.outputs h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--space-3)}
.outputs ul{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-6)}
.outputs li{display:flex;gap:var(--space-3);align-items:baseline;font-size:var(--text-sm);color:var(--midnight)}
.outputs li::before{content:"";width:7px;height:7px;flex-shrink:0;background:var(--blue);transform:translateY(-1px) rotate(45deg)}

.enables{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.enable{padding:var(--space-8);border-radius:var(--radius-md);background:rgba(255,255,255,.04);border:1px solid var(--line-dark);display:flex;flex-direction:column;gap:var(--space-4);min-height:240px}
.enable:nth-child(2){transform:translateY(var(--space-10))}
.enable:nth-child(3){transform:translateY(var(--space-20))}
.enable .k{font-size:var(--text-xs);color:var(--sky);font-weight:600;letter-spacing:.12em}
.enable h3{font-family:var(--font-display);font-size:var(--text-xl);color:#fff;font-weight:450;margin-top:auto}
.enable p{color:rgba(234,242,255,.8);font-size:var(--text-sm)}
.enables-wrap{padding-bottom:var(--space-20)}

/* Graphics */
.graphic{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(var(--space-6),4vw,var(--space-12))}
.graphic-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-10)}
.graphic-head h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);font-weight:450;max-width:24ch}
.graphic-head p{color:var(--slate);font-size:var(--text-sm);max-width:44ch}
.g-caption{font-size:var(--text-xs);color:var(--slate);margin-top:var(--space-6)}
/* strategy steps */
.g-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-3);align-items:end;height:300px}
.g-step{background:var(--pale);border-radius:var(--radius-sm);padding:var(--space-4);display:flex;flex-direction:column;justify-content:flex-start;gap:var(--space-1);height:var(--h);position:relative;transition:height 1.2s var(--ease)}
.g-step:nth-child(4){background:#cfe0fb}
.g-step:last-child{background:var(--blue);color:#fff}
.g-step .k{font-size:var(--text-xs);color:var(--blue);font-weight:600}
.g-step:last-child .k{color:#fff}
.g-step b{font-size:var(--text-sm);color:var(--midnight);font-weight:600;line-height:1.3}
.g-step:last-child b{color:#fff}
.g-step span{font-size:var(--text-xs);color:var(--slate);line-height:1.4}
.g-step:last-child span{color:rgba(255,255,255,.85)}
.js .reveal-steps .g-step{height:64px}
/* value funnel */
.g-funnel{display:flex;flex-direction:column;gap:var(--space-3)}
.g-funnel .bar-row{grid-template-columns:200px 1fr 120px}
.g-funnel .bar-track{height:44px;border-radius:var(--radius-sm);background:var(--porcelain)}
.g-funnel .bar-row .lbl b{display:block;font-size:var(--text-sm)}
.g-funnel .bar-row .state{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--slate);text-align:end}
.g-example{margin-top:var(--space-8);display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:center;padding:var(--space-5) var(--space-6);background:var(--midnight);color:#fff;border-radius:var(--radius-md)}
.g-example .stat-num{font-size:var(--text-2xl);color:#fff}
.g-example p{font-size:var(--text-sm);color:rgba(234,242,255,.85)}
/* digital stack */
.g-stack{display:grid;grid-template-columns:1fr 92px;gap:var(--space-3)}
.g-layers{display:flex;flex-direction:column;gap:var(--space-2)}
.g-layer{display:grid;grid-template-columns:200px 1fr;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);background:var(--pale);color:var(--midnight)}
.g-layer b{font-size:var(--text-sm);font-weight:600}
.g-layer span{font-size:var(--text-xs);color:var(--slate)}
.g-layer.top{background:var(--midnight);color:#fff}
.g-layer.top span{color:rgba(234,242,255,.8)}
.g-layer.ai{background:var(--blue);color:#fff}
.g-layer.ai span{color:rgba(255,255,255,.88)}
.g-layer.people{background:transparent;border:1px dashed rgba(8,37,83,.3)}
.g-side{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:repeating-linear-gradient(135deg,var(--midnight) 0 10px,#0b2d63 10px 20px);color:#fff;font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
/* transactions timeline */
.g-timeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.g-timeline::before{content:"";position:absolute;inset-inline-start:0;inset-inline-end:0;top:15px;height:2px;background:linear-gradient(90deg,var(--midnight) 0 60%,var(--blue) 60%)}
.g-node{position:relative;padding-inline-end:var(--space-4)}
.g-node i{display:block;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--midnight);margin-bottom:var(--space-5);position:relative}
.g-node.post i{border-color:var(--blue)}
.g-node.key i{background:var(--midnight)}
.g-node .k{font-size:var(--text-xs);color:var(--slate);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.g-node b{display:block;font-family:var(--font-display);font-size:var(--text-lg);color:var(--midnight);font-weight:500;margin:var(--space-1) 0 var(--space-2)}
.g-node p{font-size:var(--text-xs);color:var(--slate);line-height:1.5}
.g-lanes{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.g-lanes span{font-size:var(--text-xs);padding:2px var(--space-2);background:var(--pale);color:var(--midnight);border-radius:2px}
.g-phase{display:grid;grid-template-columns:3fr 2fr;margin-top:var(--space-8);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.g-phase span{padding-top:var(--space-3);border-top:2px solid var(--midnight);color:var(--midnight)}
.g-phase span+span{border-color:var(--blue);color:var(--blue)}
/* product loop */
.g-loop-wrap{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:var(--space-12);align-items:center}
.g-loop svg{width:100%;height:auto}
.g-loop text{font-family:var(--font-body)}
.g-loop-list{counter-reset:l;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-8)}
.g-loop-list li{border-top:1px solid var(--line);padding-top:var(--space-3)}
.g-loop-list b{display:block;font-size:var(--text-sm);color:var(--midnight)}
.g-loop-list span{font-size:var(--text-xs);color:var(--slate)}
.spin-slow{transform-origin:200px 200px;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Credentials ---------- */
.cred-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}
.cred-grid.three{grid-template-columns:repeat(3,1fr)}
.cred{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.cred:hover{box-shadow:0 30px 60px -45px rgba(6,29,71,.5)}
.cred-viz{background:var(--midnight);color:#fff;padding:var(--space-6) var(--space-6) var(--space-5);display:flex;align-items:center;gap:var(--space-5);min-height:168px;position:relative;overflow:hidden}
.cred-viz::after{content:"";position:absolute;inset-inline-end:-30px;top:-40px;width:2px;height:260px;background:var(--blue);transform:rotate(38deg);opacity:.8}
.cred-viz .stat-num{font-size:clamp(2.2rem,1.6rem + 2vw,3.25rem);color:#fff}
.cred-viz .vl{font-size:var(--text-xs);color:rgba(234,242,255,.8);max-width:22ch;line-height:1.45;margin-top:var(--space-2)}
.cred-viz .ring{width:104px;height:104px}
.cred-viz .ring .track{stroke:rgba(255,255,255,.12)}
.cred-viz .ring text{fill:#fff;font-size:26px}
.cred-viz .dots{max-width:170px;gap:4px;margin:0 0 0 auto}
.mini-stack{display:flex;flex-direction:column;gap:4px;margin-inline-start:auto;min-width:130px}
.mini-stack span{font-size:11.5px;padding:3px 8px;border-radius:2px;background:rgba(255,255,255,.07);border:1px solid var(--line-dark);color:rgba(234,242,255,.92);white-space:nowrap}
.mini-stack span:last-child{background:var(--blue);border-color:var(--blue);color:#fff}
.cred-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);flex:1}
.cred-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--slate)}
.cred-meta .pr{color:var(--blue);font-weight:600}
.cred h3{font-family:var(--font-display);font-size:clamp(1.25rem,1.1rem + .55vw,1.6rem);color:var(--midnight);font-weight:450;line-height:1.2}
.cred .sf{color:var(--slate);font-size:var(--text-sm)}
.cred details{margin-top:auto;border-top:1px solid var(--line)}
.cred summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--blue);list-style:none}
.cred summary::-webkit-details-marker{display:none}
.cred summary svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.cred details[open] summary svg{transform:rotate(45deg)}
.cred-story{display:grid;gap:var(--space-5);padding-bottom:var(--space-4)}
.cred-story h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--space-1)}
.cred-story p{font-size:var(--text-sm);color:var(--graphite)}
.cred-story .val{background:var(--pale);border-radius:var(--radius-sm);padding:var(--space-4)}
.cred-story .val h4{color:var(--blue)}
.glance{display:flex;flex-direction:column;gap:var(--space-2)}
.glance li{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--midnight)}
.glance li::before{content:"";width:7px;height:7px;flex-shrink:0;margin-top:.55em;background:var(--blue);transform:rotate(45deg)}
.filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8)}
.filter{min-height:44px;padding:0 var(--space-4);border:1px solid rgba(8,37,83,.2);border-radius:999px;font-size:var(--text-sm);color:var(--midnight);display:inline-flex;align-items:center;gap:var(--space-2)}
.filter .c{font-size:var(--text-xs);color:var(--slate);font-variant-numeric:tabular-nums}
.filter:hover{border-color:var(--blue);color:var(--blue)}
.filter[aria-pressed="true"]{background:var(--midnight);color:#fff;border-color:var(--midnight)}
.filter[aria-pressed="true"] .c{color:rgba(234,242,255,.7)}
.cred.hidden{display:none}
.cred-count{font-size:var(--text-sm);color:var(--slate);margin-bottom:var(--space-6)}

/* ---------- Expertise overview ---------- */
.constellation{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:center}
.orbit{position:relative;aspect-ratio:1;max-width:520px;width:100%;margin-inline:auto}
.orbit svg{width:100%;height:100%}
.orbit text{font-family:var(--font-body)}
.practice-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center;padding-block:clamp(var(--space-12),6vw,var(--space-20));border-top:1px solid var(--line)}
.practice-block:nth-child(even) .pb-media{order:2}
.pb-media{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;position:relative}
.pb-media img{width:100%;height:100%;object-fit:cover}
.pb-media .pn{position:absolute;inset-inline-start:var(--space-5);bottom:var(--space-4);font-family:var(--font-display);font-size:var(--text-3xl);color:#fff;line-height:1;text-shadow:0 2px 30px rgba(4,21,52,.6)}
.pb-body{display:flex;flex-direction:column;gap:var(--space-5)}
.pb-body h2{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--midnight);font-weight:400;letter-spacing:-.015em}
.pb-body p{color:var(--slate);max-width:52ch}
.sub-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.sub-list a{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3) 0;font-size:var(--text-sm);color:var(--midnight);border-bottom:1px solid var(--line);line-height:1.35}
.sub-list a:nth-child(odd){margin-inline-end:var(--space-4)}
.sub-list a svg{width:14px;height:14px;color:var(--slate);flex-shrink:0;transition:transform .3s var(--ease),color .3s}
.sub-list a:hover{color:var(--blue)}
.sub-list a:hover svg{color:var(--blue);transform:translateX(3px)}

/* ---------- About / How we work ---------- */
.values{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.value{padding:var(--space-8) var(--space-6) var(--space-8) 0;display:flex;flex-direction:column;gap:var(--space-3)}
.value+.value{padding-inline-start:var(--space-6);border-inline-start:1px solid var(--line)}
.value .ini{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1;color:var(--blue);font-weight:300}
.value h3{font-size:var(--text-lg);font-weight:600;color:var(--midnight)}
.value p{font-size:var(--text-sm);color:var(--slate)}
.split-media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:center}
.split-media .media{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:5/4}
.split-media .media img{width:100%;height:100%;object-fit:cover}
.quote-block{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.18;color:var(--midnight);font-weight:400;max-width:28ch;letter-spacing:-.01em}
.quote-block em{color:var(--blue)}
.dark .quote-block{color:#fff}
.dark .quote-block em{color:var(--sky)}
.stages{position:relative}
.stage{display:grid;grid-template-columns:120px 1fr 1fr;gap:var(--space-8);padding-block:var(--space-10);border-top:1px solid var(--line);align-items:start}
.stage .sn{font-family:var(--font-display);font-size:var(--text-3xl);line-height:.9;color:var(--blue);font-weight:300}
.stage h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);font-weight:450;margin-bottom:var(--space-3)}
.stage p{color:var(--slate)}
.stage .deliv{background:var(--porcelain);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6)}
.stage .deliv h3{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--space-3)}
.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin-top:var(--space-10)}
.format{border:1px solid var(--line-dark);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.format .meter{display:flex;gap:4px}
.format .meter i{flex:1;height:6px;border-radius:1px;background:rgba(255,255,255,.12)}
.format .meter i.on{background:var(--sky)}
.format h3{font-family:var(--font-display);font-size:var(--text-lg);color:#fff;font-weight:500}
.format p{font-size:var(--text-sm);color:rgba(234,242,255,.8)}
.format .ax{display:flex;justify-content:space-between;font-size:var(--text-xs);color:rgba(234,242,255,.6)}

/* ---------- Industries ---------- */
.industry{display:grid;grid-template-columns:90px 1.2fr 1fr;gap:var(--space-8);padding-block:var(--space-12);border-top:1px solid var(--line);align-items:start}
.industry .in{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--blue);font-weight:300;line-height:1}
.industry h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);font-weight:450;margin-bottom:var(--space-4)}
.industry p{color:var(--slate);max-width:56ch}
.industry .ind-img{grid-column:2/3;margin-top:var(--space-6);border-radius:var(--radius-md);overflow:hidden;aspect-ratio:21/9}
.industry .ind-img img{width:100%;height:100%;object-fit:cover}
.ind-focus{display:flex;flex-direction:column}
.ind-focus h3{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--space-3)}
.ind-focus a{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm);color:var(--midnight)}
.ind-focus a:first-of-type{border-top:1px solid var(--line)}
.ind-focus a svg{width:14px;height:14px;color:var(--slate);transition:transform .3s var(--ease)}
.ind-focus a:hover{color:var(--blue)}
.ind-focus a:hover svg{transform:translateX(3px);color:var(--blue)}

/* ---------- Article ---------- */
.article-hero{min-height:72vh;display:flex;align-items:flex-end}
.article-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.toc{position:sticky;top:calc(var(--header-h) + var(--space-8));font-size:var(--text-sm)}
.toc p{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--space-3)}
.toc a{display:block;padding:var(--space-2) 0 var(--space-2) var(--space-4);border-inline-start:2px solid var(--cloud);color:var(--slate);line-height:1.4}
.toc a.active,.toc a:hover{border-inline-start-color:var(--blue);color:var(--midnight)}
.article-body h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);font-weight:450;margin:var(--space-12) 0 var(--space-5);display:flex;gap:var(--space-4);align-items:baseline}
.article-body h2:first-child{margin-top:0}
.article-body h2 .n{font-family:var(--font-body);font-size:var(--text-xs);color:var(--blue);font-weight:600}
.article-body p{font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.75;color:var(--graphite);max-width:66ch}
.article-body p+p{margin-top:var(--space-5)}
.pull{margin:var(--space-12) 0;padding:var(--space-8) 0;border-block:1px solid var(--line);font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.2;color:var(--midnight);font-style:italic;letter-spacing:-.01em;position:relative}
.pull::before{content:"";position:absolute;inset-inline-start:0;top:-1px;width:80px;height:3px;background:var(--blue)}
.article-aside{position:sticky;top:calc(var(--header-h) + var(--space-8));display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--text-sm)}
.article-aside .box{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5)}
.article-aside .box p{color:var(--slate);font-size:var(--text-sm);margin-block:var(--space-2) var(--space-4)}
.article-aside h3{font-size:var(--text-sm);color:var(--midnight);font-weight:600}
.progress{position:fixed;inset-inline-start:0;top:0;height:3px;background:var(--blue);z-index:120;width:100%;transform-origin:left;transform:scaleX(0)}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
.contact-aside{display:flex;flex-direction:column;gap:var(--space-8)}
.mail-card{background:var(--midnight);color:#fff;border-radius:var(--radius-md);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-3);position:relative;overflow:hidden}
.mail-card::after{content:"";position:absolute;inset-inline-end:20px;top:-40px;width:2px;height:240px;background:var(--blue);transform:rotate(38deg)}
.mail-card .k{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(234,242,255,.72)}
.mail-card a.mail{font-family:var(--font-display);font-size:clamp(1.3rem,1.1rem + 1vw,1.9rem);color:#fff;word-break:break-all;border-bottom:1px solid rgba(255,255,255,.3);align-self:flex-start;line-height:1.25}
.mail-card a.mail:hover{border-color:#fff}
.copy-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid var(--line-dark);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:#fff;margin-top:var(--space-2)}
.copy-btn:hover{background:rgba(255,255,255,.08)}
.copy-btn svg{width:14px;height:14px}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(var(--space-6),4vw,var(--space-10));display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-5);box-shadow:0 40px 80px -60px rgba(6,29,71,.4)}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field.full{grid-column:1/-1}
.field label{font-size:var(--text-sm);font-weight:500;color:var(--midnight)}
.field label .req{color:var(--blue)}
.field input,.field select,.field textarea{min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid rgba(8,37,83,.22);border-radius:var(--radius-sm);background:#fff;font-size:var(--text-base);color:var(--graphite);width:100%}
.field textarea{min-height:150px;resize:vertical;line-height:1.55}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23082553' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-inline-end:var(--space-10)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(8,37,83,.45)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,104,240,.18)}
.field .err{font-size:var(--text-xs);color:#B42318;min-height:1em;display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#B42318}
.field.invalid .err{display:block}
.form-note{grid-column:1/-1;font-size:var(--text-xs);color:var(--slate)}
.form .btn{justify-self:start}
.form-success{grid-column:1/-1;display:none;flex-direction:column;gap:var(--space-4);padding:var(--space-6) 0}
.form.sent>*:not(.form-success){display:none}
.form.sent .form-success{display:flex;animation:rise .7s var(--ease)}
.form-success .tick{width:56px;height:56px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;color:#fff}
.form-success .tick svg{width:26px;height:26px;stroke-dasharray:30;stroke-dashoffset:30;animation:draw .7s .25s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.form-success h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--midnight);font-weight:450}
.form-success p{color:var(--slate)}

/* ---------- Footer ---------- */
.site-footer{background:var(--deep);color:rgba(234,242,255,.8);padding-top:clamp(var(--space-16),8vw,var(--space-24));padding-bottom:var(--space-8);position:relative;overflow:hidden}
.footer-top{display:grid;grid-template-columns:1.25fr .8fr 1.15fr 1.3fr;gap:var(--space-12);padding-bottom:var(--space-16)}
.footer-brand img{width:200px;margin-bottom:var(--space-6)}
.footer-brand .tag{font-family:var(--font-display);font-size:var(--text-xl);color:#fff;line-height:1.2;max-width:18ch;margin-bottom:var(--space-3)}
.footer-brand p{font-size:var(--text-sm);max-width:36ch}
.footer-brand .mail{display:inline-block;margin-top:var(--space-6);color:#fff;font-size:var(--text-sm);border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}
.footer-brand .mail:hover{border-color:#fff}
.site-footer h2{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(234,242,255,.6);margin-bottom:var(--space-4)}
.site-footer li a{display:inline-block;padding:var(--space-1) 0;font-size:var(--text-sm);color:rgba(234,242,255,.86)}
.site-footer li a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--line-dark);font-size:var(--text-xs);color:rgba(234,242,255,.62)}
.footer-word{font-family:var(--font-display);font-size:clamp(4rem,14vw,13rem);line-height:.8;color:rgba(234,242,255,.045);letter-spacing:-.03em;white-space:nowrap;margin-top:var(--space-8);user-select:none;pointer-events:none}

/* ---------- Reveal ---------- */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv-d1{transition-delay:.08s}.js .rv-d2{transition-delay:.16s}.js .rv-d3{transition-delay:.24s}.js .rv-d4{transition-delay:.32s}
.js .rv-clip{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease)}
.js .rv-clip.in{clip-path:inset(0 0 0 0)}
.js .hero-in{opacity:0;transform:translateY(22px);animation:heroIn 1.1s var(--ease) forwards}
.js .hero-in.d1{animation-delay:.15s}.js .hero-in.d2{animation-delay:.3s}.js .hero-in.d3{animation-delay:.45s}.js .hero-in.d4{animation-delay:.6s}
@keyframes heroIn{to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .rv,.js .hero-in{opacity:1;transform:none}
  .js .rv-clip{clip-path:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .nav{display:none}
  .menu-toggle{display:inline-flex}
  .mega-cols{grid-template-columns:repeat(3,1fr)}
  .article-layout{grid-template-columns:200px minmax(0,1fr)}
  .article-aside{display:none}
  .stat-card.span-7,.stat-card.span-5{grid-column:span 6}
}
@media (max-width:980px){
  .principles,.ai-grid,.explorer,.intro-grid,.services,.constellation,.practice-block,.split-media,.contact-grid,.cta-inner,.section-head.split{grid-template-columns:1fr}
  .practice-block:nth-child(even) .pb-media{order:0}
  .explorer-panel{display:none}
  .explorer-mobile{display:block;padding:0 0 var(--space-6) calc(56px + var(--space-4))}
  .explorer-item:not(.active) .explorer-mobile{display:none}
  .explorer-mobile p{color:var(--slate);margin-bottom:var(--space-4)}
  .explorer-mobile .chips{margin-bottom:var(--space-4)}
  .svc-index{display:none}
  .navigator{grid-template-columns:1fr}
  .shifts,.path,.enables,.values,.formats{grid-template-columns:1fr}
  .shift+.shift{padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--line-dark)}
  .path-line{display:none}
  .step{padding:0 0 var(--space-8) 0;display:grid;grid-template-columns:56px 1fr;gap:0 var(--space-5)}
  .step .marker{margin-bottom:0;grid-row:span 2}
  .enable:nth-child(n){transform:none;min-height:0}
  .enables-wrap{padding-bottom:0}
  .value+.value{padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--line)}
  .persp-grid{grid-template-columns:1fr}
  .persp-card.feature{grid-row:auto}
  .persp-card.side{flex-direction:column}
  .persp-card.side .img{width:100%;aspect-ratio:16/9}
  .cred-grid,.cred-grid.three{grid-template-columns:1fr}
  .stage{grid-template-columns:1fr;gap:var(--space-4)}
  .industry{grid-template-columns:1fr;gap:var(--space-5)}
  .industry .ind-img{grid-column:auto;margin-top:0}
  .article-layout{grid-template-columns:1fr}
  .toc{display:none}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .hero-index{grid-template-columns:1fr 1fr}
  .hero-index a:nth-child(n){padding-inline-start:0;border-inline-start:0;border-bottom:1px solid var(--line-dark);padding-block:var(--space-4)}
  .hero-index a:nth-child(even){padding-inline-start:var(--space-5);border-inline-start:1px solid var(--line-dark)}
  .hero-index a:last-child{grid-column:1/-1;border-inline-start:0;padding-inline-start:0}
  .g-steps{grid-template-columns:1fr;height:auto}
  .g-step,.js .reveal-steps .g-step{height:auto!important;flex-direction:row;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:baseline;margin-inline-start:calc(var(--i)*12px)}
  .g-step span{flex-basis:100%}
  .g-timeline{grid-template-columns:1fr;gap:var(--space-6)}
  .g-timeline::before{inset-inline-start:15px;inset-inline-end:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--midnight) 0 60%,var(--blue) 60%)}
  .g-node{display:grid;grid-template-columns:32px 1fr;gap:0 var(--space-4)}
  .g-node i{margin:0;grid-row:span 4}
  .g-phase{display:none}
  .g-loop-wrap{grid-template-columns:1fr}
  .g-loop{max-width:360px;margin-inline:auto}
  .stat-card[class*="span-"]{grid-column:1/-1}
}
@media (max-width:640px){
  :root{--header-h:66px}
  .brand img{width:180px}
  .form{grid-template-columns:1fr}
  .outputs ul{grid-template-columns:1fr}
  .svc .prose,.outputs{padding-inline-start:0;margin-inline-start:0}
  .sub-list{grid-template-columns:1fr}
  .sub-list a:nth-child(odd){margin-inline-end:0}
  .g-funnel .bar-row{grid-template-columns:1fr;gap:var(--space-2)}
  .g-funnel .bar-row .state{text-align:start}
  .g-stack{grid-template-columns:1fr}
  .g-side{writing-mode:horizontal-tb;transform:none;padding:var(--space-3)}
  .g-layer{grid-template-columns:1fr;gap:var(--space-1)}
  .g-example{grid-template-columns:1fr}
  .bar-row{grid-template-columns:1fr auto}
  .bar-row .bar-track{grid-column:1/-1;grid-row:2}
  .ring-wrap{flex-direction:column;align-items:flex-start}
  .cred-viz{flex-wrap:wrap}
  .mini-stack{margin-inline-start:0;min-width:0;flex-direction:row;flex-wrap:wrap}
  .footer-top{grid-template-columns:1fr}
  .questions li{grid-template-columns:44px 1fr}
  .explorer-btn{grid-template-columns:40px 1fr 20px}
  .explorer-mobile{padding-inline-start:0}
  .principle{grid-template-columns:52px 1fr;gap:var(--space-4)}
  .hero-home h1{max-width:none}
  .hero-index{display:none}
  .g-loop-list{grid-template-columns:1fr}
}
.article-layout>*,.intro-grid>*,[class*="-grid"]>*,.split>*{min-width:0}
.quote-block,.article-body h2{overflow-wrap:break-word}
@media (max-width:980px){.path{grid-template-columns:1fr!important}}@media (max-width:760px){.btn{white-space:normal;text-align:start;min-height:48px;padding-block:12px}}
.mobile-panel summary .chev{width:14px;height:14px;flex:none;transition:transform .3s var(--ease)}.mobile-panel details[open] summary .chev{transform:rotate(180deg)}
/* breadth of expertise */
.scope-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.scope-stats>div{padding:var(--space-8) var(--space-6) var(--space-8) 0;border-inline-end:1px solid var(--line-dark)}
.scope-stats>div+div{padding-inline-start:var(--space-6)}
.scope-stats>div:last-child{border-inline-end:0}
.scope-stats .stat-num{font-size:clamp(3rem,6vw,5rem);display:block}
.scope-stats p{margin-top:var(--space-3);font-size:var(--text-sm);color:rgba(234,242,255,.72);max-width:24ch}
.scope-map{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4);margin-top:var(--space-12)}
.sm-col{background:rgba(255,255,255,.04);border:1px solid var(--line-dark);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);transition:border-color .3s var(--ease),background .3s var(--ease)}
.sm-col:hover{border-color:rgba(85,167,255,.5);background:rgba(21,104,240,.08)}
.sm-h{font-family:var(--font-display);font-size:1.125rem;line-height:1.2;color:#fff;display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--line-dark)}
.sm-h span{font-family:var(--font-body);font-size:var(--text-xs);color:var(--sky);letter-spacing:.1em;font-weight:600}
.sm-col ul{display:flex;flex-direction:column;gap:var(--space-2)}
.sm-col li a{display:block;font-size:var(--text-xs);line-height:1.45;color:rgba(234,242,255,.78);padding-inline-start:14px;position:relative}
.sm-col li a::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:6px;height:6px;background:var(--blue);transform:rotate(45deg)}
.sm-col li a:hover{color:#fff}
@media (max-width:1180px){.scope-map{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.scope-stats{grid-template-columns:1fr 1fr}.scope-stats>div{padding:var(--space-6) var(--space-4) var(--space-6) 0!important;border-inline-end:0;border-bottom:1px solid var(--line-dark)}.scope-stats>div:nth-child(even){padding-inline-start:var(--space-4)!important;border-inline-start:1px solid var(--line-dark)}.scope-stats>div:nth-last-child(-n+2){border-bottom:0}.scope-map{grid-template-columns:1fr}}
/* navigator support map */
.support{display:flex;flex-direction:column;counter-reset:s}
.support li{display:grid;grid-template-columns:36px 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line-dark)}
.support li:first-child{border-top:1px solid var(--line-dark)}
.support .sn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(85,167,255,.55);display:grid;place-items:center;font-size:var(--text-xs);font-weight:600;color:var(--sky);font-variant-numeric:tabular-nums}
.support .sv{font-weight:600;color:#fff;font-size:var(--text-sm);line-height:1.35}
.support .sv:hover{color:var(--sky)}
.support p{margin-top:var(--space-1);font-size:var(--text-sm);color:rgba(234,242,255,.78);line-height:1.5}
.support .sp{display:inline-block;margin-top:var(--space-2);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(234,242,255,.55);font-weight:600}
.sm-h{min-height:7.4rem}@media (max-width:760px){.sm-h{min-height:0}}.nav-output::before{opacity:.35}
.hp{position:absolute!important;inset-inline-start:-10000px;width:1px;height:1px;overflow:hidden}

/* Language switcher */
.lang-sw{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:2px}
.lang-sw a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--slate)}
.lang-sw a[lang=ar]{font-family:"IBM Plex Sans Arabic",var(--font-body);font-size:14px;letter-spacing:0}
.lang-sw a:hover{color:var(--blue)}
.lang-sw a[aria-current]{background:var(--midnight);color:#fff}
.nav .nav-lang{margin-inline-start:var(--space-2)}
.site-header.on-dark:not(.scrolled) .lang-sw{border-color:rgba(255,255,255,.28)}
.site-header.on-dark:not(.scrolled) .lang-sw a{color:rgba(255,255,255,.8)}
.site-header.on-dark:not(.scrolled) .lang-sw a[aria-current]{background:#fff;color:var(--midnight)}
.mobile-lang{margin-top:var(--space-8)}
.mobile-lang .lang-sw,.site-footer .lang-sw{border-color:rgba(255,255,255,.22)}
.mobile-lang .lang-sw a,.site-footer .lang-sw a{color:rgba(234,242,255,.75)}
.mobile-lang .lang-sw a[aria-current],.site-footer .lang-sw a[aria-current]{background:#fff;color:var(--midnight)}
.mobile-lang .lang-sw a{height:40px;min-width:48px;font-size:14px}
.fb-links{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-6)}
.fb-links>a:hover{color:#fff}
.fb-lang .lang-sw a{height:26px;min-width:30px;font-size:11px}

/* Newsletter */
.footer-news p{font-size:var(--text-sm);margin-bottom:var(--space-4);max-width:34ch}
.nl-form{display:flex;flex-direction:column;gap:var(--space-4)}
.nl-row{display:flex;gap:var(--space-2)}
.nl-row input{flex:1;min-width:0;min-height:50px;padding:0 var(--space-4);border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-sm);background:rgba(255,255,255,.06);color:#fff;font-size:var(--text-base)}
.nl-row input::placeholder{color:rgba(234,242,255,.6)}
.nl-row input:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px rgba(85,167,255,.25)}
.nl-row .btn{flex:none;min-height:50px}
.nl-consent{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-xs);line-height:1.55;color:rgba(234,242,255,.75);cursor:pointer}
.nl-consent input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}
.nl-consent a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.nl-err{display:none;font-size:var(--text-xs);color:#FFB4A8}
.nl-err.show{display:block}
.nl-ok{display:none;font-size:var(--text-sm);color:#fff;padding:var(--space-4);border:1px solid rgba(85,167,255,.4);border-radius:var(--radius-sm);background:rgba(21,104,240,.18)}
.nl-form.done .nl-ok{display:block}
.nl-form.done .nl-row,.nl-form.done .nl-consent,.nl-form.done .nl-err{display:none}
.nl-form.compact .nl-row{flex-direction:column}
.nl-form.compact .nl-row .btn{justify-content:center}
.nl-band{background:var(--midnight);color:rgba(234,242,255,.9)}
.nl-band .h-2{color:#fff}
.nl-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:center}
@media (max-width:1100px){.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:860px){.nl-inner{grid-template-columns:1fr}}
@media (max-width:560px){.nl-row{flex-direction:column}.nl-row .btn{justify-content:center}.footer-top{grid-template-columns:1fr}}

/* Right-to-left */
[dir=rtl] .btn svg,[dir=rtl] .link-arrow svg,[dir=rtl] .sub-list a svg,[dir=rtl] .ind-focus a svg,[dir=rtl] .explorer-btn svg,[dir=rtl] a svg[viewBox="0 0 16 16"]{transform:scaleX(-1)}
[dir=rtl] .btn:hover svg,[dir=rtl] .link-arrow:hover svg,[dir=rtl] .sub-list a:hover svg,[dir=rtl] .ind-focus a:hover svg,[dir=rtl] a:hover svg[viewBox="0 0 16 16"],[dir=rtl] .persp-card:hover .link-arrow svg{transform:scaleX(-1) translateX(3px)}
[dir=rtl] .hero-index a::after,[dir=rtl] .bar-fill,[dir=rtl] .path-line i,[dir=rtl] .progress{transform-origin:right}
[dir=rtl] .mobile-panel{transform:translateX(-100%)}
[dir=rtl] .mobile-panel.open{transform:none}
[dir=rtl] .explorer-item.active .t{transform:translateX(-6px)}
[lang=ar]{--font-body:"IBM Plex Sans Arabic","Inter",Arial,sans-serif;--font-display:"Noto Naskh Arabic","Source Serif 4",Georgia,serif}
[lang=ar] body{line-height:1.8}
[lang=ar] *{letter-spacing:0!important;text-transform:none!important}
[lang=ar] .display,[lang=ar] .h-1,[lang=ar] .h-2,[lang=ar] .h-3{line-height:1.3;font-weight:500}
[lang=ar] .h-hero{line-height:1.25}
[lang=ar] .footer-word{direction:ltr}
[lang=ar] .lang-sw a[lang=en-GB],[lang=ar] .lang-sw a[lang=fr]{font-family:"Inter",Arial,sans-serif}
[lang=ar] em,[lang=ar] i,[lang=ar] .cut{font-style:normal!important}
[dir=rtl] .field select{background-position:left 16px center}
