/*
Theme Name: Alrafei Legal
Theme URI: https://alrafeigroup.local
Author: Alrafei Group
Description: Bespoke Arabic-first theme for Abdulrahman Alrafei Law & Consultancy Group.
Version: 1.2.0
Text Domain: alrafei-legal
Requires at least: 6.4
Requires PHP: 8.0
*/

@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/almarai-300-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/almarai-300-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+2000-206F;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/almarai-400-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/almarai-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+2000-206F;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/almarai-700-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/almarai-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+2000-206F;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/almarai-800-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/almarai-800-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+2000-206F;
}

:root {
  --navy-950: #041622;
  --navy-900: #071e2e;
  --navy-850: #0a293d;
  --navy-800: #0d344b;
  --gold-500: #c7a86b;
  --gold-400: #d9c08d;
  --gold-200: #eee1c2;
  --sand-50: #fbf8f1;
  --sand-100: #f3eee2;
  --sand-200: #e8dfcf;
  --ink: #102433;
  --muted: #66727a;
  --white: #fff;
  --border: rgba(10, 41, 61, 0.14);
  --border-light: rgba(255, 255, 255, 0.16);
  --shadow: 0 30px 80px rgba(4, 22, 34, 0.13);
  --radius-sm: 0.5rem;
  --radius-md: 1.25rem;
  --radius-lg: 2rem;
  --container: 1240px;
  --container-wide: 1460px;
  --header-h: 98px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --font: "Almarai", "Segoe UI", Tahoma, Arial, sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  max-width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
}

body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
  background: var(--sand-50);
  color: var(--ink);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.75;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

#page { width: 100%; max-width: 100%; overflow-x: clip; }

body.is-loading,
body.menu-open { overflow: hidden; }

::selection { background: var(--gold-500); color: var(--navy-950); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button,
input,
select,
textarea { font: inherit; }
button { color: inherit; }
ul { margin: 0; padding: 0; list-style: none; }
h1,
h2,
h3,
h4,
p { margin-top: 0; }
h1,
h2,
h3,
h4 { max-width: 100%; line-height: 1.2; letter-spacing: -0.025em; overflow-wrap: anywhere; }
h1 { font-size: clamp(2.4rem, 5.4vw, 5.4rem); }
h2 { font-size: clamp(1.65rem, 3.1vw, 3.1rem); }
h3 { font-size: clamp(1.08rem, 1.45vw, 1.5rem); }
p { color: var(--muted); }

.container,
.container-wide {
  width: min(calc(100% - 3rem), var(--container));
  margin-inline: auto;
}
.container-wide { width: min(calc(100% - 3.5rem), var(--container-wide)); }
.section { position: relative; padding-block: clamp(6rem, 11vw, 11rem); }
.section--dark { overflow: hidden; background: var(--navy-900); color: var(--white); }
.section--dark p { color: rgba(255, 255, 255, 0.66); }
.section--sand { background: var(--sand-100); }
.hero-dark { color: var(--white); }
.hero-dark p { color: rgba(255, 255, 255, 0.7); }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.6rem;
  color: var(--navy-800);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.eyebrow::before { width: 2.5rem; height: 1px; background: var(--gold-500); content: ""; }
.eyebrow--light { color: var(--gold-400); }
.statement { max-width: 1040px; margin-bottom: 3rem; font-weight: 400; line-height: 1.5; }
.section-index { display: flex; flex-direction: column; gap: 0.3rem; align-items: flex-start; }
.section-index span { color: var(--gold-500); font-size: 3.5rem; font-weight: 300; line-height: 1; }
.section-index small { color: var(--muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; }
.section-index--light span { color: var(--gold-400); }
.section-index--light small { color: rgba(255, 255, 255, 0.5); }

.button {
  position: relative;
  display: inline-flex;
  min-height: 3.85rem;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  overflow: hidden;
  padding: 0.8rem 1.55rem;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 800;
  transition: transform 0.4s var(--ease), color 0.35s, background 0.35s, border-color 0.35s;
}
.button span,
.button i { position: relative; z-index: 1; }
.button i { transition: transform 0.35s var(--ease); }
.button:hover i { transform: translateX(-0.35rem); }
.button--light { background: var(--white); color: var(--navy-900); }
.button--light:hover { background: var(--gold-400); }
.button--dark { background: var(--navy-900); color: var(--white); }
.button--dark:hover { background: var(--navy-800); }
.button-link,
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 800;
}
.button-link { color: var(--white); }
.button-link span { display: block; width: 3rem; height: 1px; background: rgba(255, 255, 255, 0.55); transition: width 0.35s; }
.button-link:hover span { width: 4.5rem; background: var(--gold-400); }
.text-link i { color: var(--gold-500); transition: transform 0.35s var(--ease); }
.text-link:hover i { transform: translateX(-0.35rem); }
.text-link--light { color: var(--white); }
.icon-box {
  display: grid;
  width: 3.75rem;
  height: 3.75rem;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--gold-500);
  font-size: 1.25rem;
}
.icon-box--light { border-color: var(--border-light); color: var(--gold-400); }
.image-mask { position: relative; overflow: hidden; }
.image-mask::after { position: absolute; inset: 0; border: 1px solid rgba(255, 255, 255, 0.16); content: ""; pointer-events: none; }
.image-mask img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.image-mask:hover img { transform: scale(1.035); }

/* Loader, cursor and scroll guide */
.page-loader {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-content: center;
  background: var(--navy-950);
  text-align: center;
  transition: opacity 0.28s var(--ease), visibility 0.28s;
}
.page-loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.page-loader img { width: min(16rem, 64vw); margin: auto; filter: brightness(0) invert(1); }
.page-loader p { margin: 1.5rem 0 0; color: var(--gold-400); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; }
.page-loader__orbit { position: absolute; inset: 50% auto auto 50%; width: 21rem; height: 21rem; transform: translate(-50%, -50%); }
.page-loader__orbit span { position: absolute; inset: 0; border: 1px solid rgba(199, 168, 107, 0.18); border-radius: 50%; animation: loader-spin 3s linear infinite; }
.page-loader__orbit span::after { position: absolute; top: -3px; left: 50%; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-400); content: ""; }
.page-loader__orbit span:nth-child(2) { inset: 1.5rem; animation-direction: reverse; animation-duration: 2.1s; }
.page-loader__line { width: 11rem; height: 1px; margin: 1.25rem auto 0; overflow: hidden; background: rgba(255, 255, 255, 0.12); }
.page-loader__line span { display: block; width: 45%; height: 100%; background: var(--gold-400); animation: loader-line 1.4s var(--ease) infinite; }
@keyframes loader-spin { to { transform: rotate(360deg); } }
@keyframes loader-line { from { transform: translateX(240%); } to { transform: translateX(-240%); } }

.cursor-glow {
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  width: 28rem;
  height: 28rem;
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(circle, rgba(199, 168, 107, 0.09), transparent 68%);
  pointer-events: none;
  transform: translate3d(-50%, -50%, 0);
  transition: opacity 0.35s;
}
.cursor-glow.is-visible { opacity: 1; }
.scroll-rail {
  position: fixed;
  z-index: 90;
  bottom: 2rem;
  left: 1.5rem;
  display: flex;
  height: 10.5rem;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  color: rgba(255, 255, 255, 0.76);
  mix-blend-mode: difference;
  transition: opacity 0.35s;
}
.scroll-rail__label { writing-mode: vertical-rl; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.16em; }
.scroll-rail__track { position: relative; width: 1px; flex: 1; overflow: hidden; background: rgba(255, 255, 255, 0.3); }
.scroll-rail__track i { position: absolute; inset: 0; background: var(--white); transform: scaleY(0); transform-origin: top; }
.scroll-rail__number { font-size: 0.62rem; font-variant-numeric: tabular-nums; }

/* Header */
.site-header { position: fixed; z-index: 200; top: 0; right: 0; left: 0; color: var(--white); transition: background 0.4s, box-shadow 0.4s, transform 0.5s var(--ease); }
body.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled { background: rgba(251,248,241,.94); color: var(--navy-900); box-shadow: 0 12px 40px rgba(4,22,34,.1); backdrop-filter: blur(18px); }
.site-header.is-hidden { transform: none; }
.site-header__inner { display: flex; min-height: var(--header-h); align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: 0.8rem; }
.brand__logo { width: clamp(11rem, 14vw, 13rem); height: auto; object-fit: contain; transition: filter .35s var(--ease), opacity .35s; }
.site-header:not(.is-scrolled) .brand__logo { filter: brightness(0) invert(1); }
.brand__mark { width: 3rem; height: auto; object-fit: contain; }
.brand__text { display: flex; flex-direction: column; line-height: 1.35; }
.brand__text strong { font-size: 0.82rem; }
.brand__text small { color: var(--gold-400); font-size: 0.62rem; }
.primary-nav ul { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
.primary-nav a { position: relative; display: block; padding-block: 0.5rem; font-size: 0.72rem; font-weight: 700; }
.primary-nav a::after { position: absolute; right: 0; bottom: 0; width: 0; height: 1px; background: var(--gold-400); content: ""; transition: width 0.35s var(--ease); }
.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after { width: 100%; }
.site-header.is-scrolled .primary-nav a::after { background: var(--gold-500); }
.site-header__actions { display: flex; align-items: center; gap: 0.8rem; }
.header-cta { display: inline-flex; min-height: 2.9rem; align-items: center; gap: 0.75rem; padding: 0.55rem 1.15rem; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; font-size: 0.75rem; font-weight: 800; transition: background 0.3s, color 0.3s; }
.header-cta:hover { background: var(--white); color: var(--navy-900); }
.site-header.is-scrolled .header-cta { border-color: rgba(4,22,34,.22); }
.site-header.is-scrolled .header-cta:hover { background: var(--navy-900); color: var(--white); }
.menu-toggle { display: none; width: 3rem; height: 3rem; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 50%; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 1rem; height: 1px; margin: 0.28rem auto; background: currentColor; transition: transform 0.3s; }
.site-header.is-scrolled .menu-toggle { border-color: rgba(4,22,34,.22); }
.menu-open .menu-toggle span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-open .menu-toggle span:last-child { transform: translateY(-3px) rotate(-45deg); }
.language-switcher { font-size: 0.75rem; }

/* Editorial off-canvas navigation */
.mobile-menu {
  position: fixed;
  z-index: 180;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  color: var(--white);
  pointer-events: none;
  transition: opacity .35s ease, visibility .35s;
}
.mobile-menu.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.mobile-menu__backdrop { position: absolute; inset: 0; border: 0; background: rgba(1, 10, 16, .76); cursor: pointer; backdrop-filter: blur(7px); }
.mobile-menu__panel {
  position: absolute;
  z-index: 1;
  inset-block: 0;
  display: grid;
  width: min(92vw, 920px);
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  overflow: hidden;
  background: var(--navy-950);
  box-shadow: 0 0 90px rgba(0,0,0,.4);
  transition: transform .58s var(--ease);
}
html[dir="rtl"] .mobile-menu__panel { right: 0; transform: translateX(104%); }
html[dir="ltr"] .mobile-menu__panel { left: 0; transform: translateX(-104%); }
.mobile-menu.is-open .mobile-menu__panel { transform: translateX(0); }
.mobile-menu__inner {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: calc(var(--header-h) + 1.25rem) clamp(1.5rem, 4.2vw, 4rem) 2rem;
  overflow-y: auto;
  background: linear-gradient(145deg, rgba(255,255,255,.025), transparent 45%);
}
.mobile-menu__inner::before { position: absolute; inset-block: var(--header-h) 2rem; inset-inline-start: 0; width: 1px; background: linear-gradient(transparent, rgba(217,192,141,.35), transparent); content: ""; }
.mobile-menu__head { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.mobile-menu__head .eyebrow { margin: 0; }
.mobile-menu__head .eyebrow::before { width: 1.4rem; }
.mobile-menu nav { display: flex; flex: 1; align-items: center; padding-block: clamp(1rem, 3vh, 2rem); }
.mobile-menu ul { width: 100%; }
.mobile-menu li { opacity: 0; transform: translateY(1.25rem); transition: opacity .38s var(--ease), transform .38s var(--ease); transition-delay: calc(var(--menu-index) * 42ms + 100ms); }
.mobile-menu.is-open li { opacity: 1; transform: none; }
.mobile-menu li a {
  display: grid;
  grid-template-columns: 2rem minmax(0,1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: clamp(.65rem, 1.8vh, 1.05rem) .25rem;
  border-bottom: 1px solid rgba(255,255,255,.11);
  transition: padding .3s var(--ease), color .3s, background .3s;
}
.mobile-menu li:first-child a { border-top: 1px solid rgba(255,255,255,.11); }
.mobile-menu li a span { color: var(--gold-400); font-size: .62rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.mobile-menu li a strong { overflow: hidden; font-size: clamp(1.05rem, 2.15vw, 1.55rem); font-weight: 400; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.mobile-menu li a > i { color: var(--gold-400); font-size: .75rem; transition: transform .3s var(--ease); }
.mobile-menu li a:hover,
.mobile-menu li a[aria-current="page"] { padding-inline: .9rem; background: rgba(255,255,255,.045); color: var(--gold-200); }
.mobile-menu li a:hover > i { transform: translateX(-.3rem); }
.mobile-menu__contact { display: grid; grid-template-columns: auto 1fr; gap: .45rem 1.25rem; align-items: center; padding-top: 1.25rem; }
.mobile-menu__contact > p { grid-row: 1 / 3; margin: 0; color: var(--gold-400); font-size: .65rem; font-weight: 800; writing-mode: vertical-rl; }
.mobile-menu__contact > div { display: flex; flex-wrap: wrap; gap: .55rem 1.25rem; }
.mobile-menu__contact a { display: inline-flex; align-items: center; gap: .55rem; color: rgba(255,255,255,.74); font-size: .7rem; direction: ltr; }
.mobile-menu__contact a i { color: var(--gold-400); }
.mobile-menu__contact > strong { color: rgba(255,255,255,.94); font-size: .72rem; font-weight: 400; }
.mobile-menu__visual { position: relative; min-width: 0; overflow: hidden; background: var(--navy-900); }
.mobile-menu__visual::after { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(4,22,34,.28),rgba(4,22,34,.88)), linear-gradient(90deg,rgba(4,22,34,.52),transparent); content: ""; }
.mobile-menu__visual > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.55) contrast(1.1); transform: scale(1.04); transition: transform 1.1s var(--ease); }
.mobile-menu.is-open .mobile-menu__visual > img { transform: scale(1); }
.mobile-menu__orbit { position: absolute; z-index: 2; inset: 50% auto auto 50%; width: min(24vw, 260px); aspect-ratio: 1; transform: translate(-50%,-50%); }
.mobile-menu__orbit span { position: absolute; inset: 0; border: 1px solid rgba(217,192,141,.34); border-radius: 50%; animation: orbit-spin 24s linear infinite; }
.mobile-menu__orbit span:nth-child(2) { inset: 22%; animation-direction: reverse; animation-duration: 15s; }
.mobile-menu__visual > p { position: absolute; z-index: 3; inset-inline: 2rem; bottom: 2rem; margin: 0; color: var(--white); line-height: 1.1; }
.mobile-menu__visual > p span,
.mobile-menu__visual > p strong { display: block; }
.mobile-menu__visual > p span { color: var(--gold-400); font-size: clamp(1.6rem,3vw,2.65rem); font-weight: 300; letter-spacing: .12em; }
.mobile-menu__visual > p strong { margin-top: .45rem; font-size: .64rem; letter-spacing: .34em; }
.menu-open .site-header { color: var(--white); background: rgba(4,22,34,.96); box-shadow: none; backdrop-filter: none; }
.menu-open .site-header .brand__logo { filter: brightness(0) invert(1); }
.menu-open .site-header .menu-toggle { border-color: rgba(255,255,255,.3); }

/* A restrained, jewellery-like language control across header, menu and footer. */
:where(.language-switcher, .mobile-menu__language, .footer-language) {
  position: relative;
  z-index: 8;
  min-width: 116px;
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-shortcode-switcher__wrapper {
  --bg: rgba(7,30,46,.9) !important;
  --bg-hover: rgba(217,192,141,.13) !important;
  --text: var(--white) !important;
  --text-hover: var(--gold-200) !important;
  width: 116px;
  height: 44px;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.18));
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-shortcode-switcher {
  box-sizing: border-box;
  width: 116px !important;
  padding: 0 !important;
  border: 1px solid rgba(217,192,141,.56) !important;
  border-radius: 1.4rem !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11), transparent 44%),
    rgba(7,30,46,.92) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    0 14px 34px rgba(0,0,0,.2);
  backdrop-filter: blur(18px) saturate(1.25);
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s var(--ease), background .3s ease;
}
:where(.language-switcher, .mobile-menu__language, .footer-language):hover .trp-shortcode-overlay,
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-shortcode-overlay:focus-within {
  border-color: rgba(238,225,194,.9) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    0 20px 44px rgba(0,0,0,.28);
  transform: translateY(-2px);
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-current-language-item__wrapper {
  min-height: 42px;
  padding: 0 .65rem !important;
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-language-item {
  box-sizing: border-box;
  min-height: 42px;
  gap: .55rem;
  padding: .55rem .6rem;
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-language-item-name {
  color: var(--white) !important;
  font-family: var(--font);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1;
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-flag-image {
  width: 22px !important;
  height: 16px !important;
  flex: 0 0 22px;
  border: 1px solid rgba(238,225,194,.62);
  border-radius: .3rem !important;
  box-shadow: 0 3px 9px rgba(0,0,0,.22);
  object-fit: cover;
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-shortcode-arrow {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  margin-inline-start: auto;
  opacity: .82;
  transition: transform .3s var(--ease), opacity .3s;
}
:where(.language-switcher, .mobile-menu__language, .footer-language):hover .trp-shortcode-arrow {
  opacity: 1;
  transform: rotate(180deg);
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-shortcode-arrow path {
  stroke: var(--gold-400) !important;
  stroke-width: 1.6;
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-switcher-dropdown-list {
  margin: 0 .42rem .42rem;
  padding: .35rem 0 0;
  border-top: 1px solid rgba(217,192,141,.22);
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-switcher-dropdown-list .trp-language-item {
  min-height: 38px;
  border-radius: .85rem;
  transition: color .25s, background .25s, padding .25s var(--ease);
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-switcher-dropdown-list .trp-language-item:hover,
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-switcher-dropdown-list .trp-language-item:focus-visible {
  padding-inline: .75rem;
  background: linear-gradient(90deg, rgba(217,192,141,.18), rgba(217,192,141,.06));
  outline: none;
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-ls-shortcode-current-language,
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-ls-shortcode-language {
  width: 116px !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(217,192,141,.56);
  border-radius: 1.4rem;
  background: var(--navy-900);
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}
:where(.language-switcher, .mobile-menu__language, .footer-language) .trp-language-switcher > div > a {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  color: var(--white);
  font-family: var(--font);
  font-size: .69rem;
  font-weight: 800;
}
.site-header.is-scrolled .language-switcher .trp-shortcode-switcher__wrapper {
  --bg: rgba(251,248,241,.96) !important;
  --bg-hover: rgba(199,168,107,.13) !important;
  --text: var(--navy-900) !important;
  --text-hover: var(--navy-800) !important;
  filter: drop-shadow(0 10px 20px rgba(4,22,34,.11));
}
.site-header.is-scrolled .language-switcher .trp-shortcode-switcher {
  border-color: rgba(199,168,107,.72) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(243,238,226,.94)) !important;
  box-shadow:
    inset 0 1px 0 var(--white),
    0 12px 28px rgba(4,22,34,.12);
}
.site-header.is-scrolled .language-switcher .trp-language-item-name,
.site-header.is-scrolled .language-switcher .trp-language-switcher > div > a { color: var(--navy-900) !important; }
.site-header.is-scrolled .language-switcher .trp-switcher-dropdown-list { border-top-color: rgba(199,168,107,.32); }
.site-header.is-scrolled .language-switcher .trp-switcher-dropdown-list .trp-language-item:hover,
.site-header.is-scrolled .language-switcher .trp-switcher-dropdown-list .trp-language-item:focus-visible {
  background: linear-gradient(90deg, rgba(199,168,107,.2), rgba(199,168,107,.07));
}
.menu-open .site-header .language-switcher .trp-shortcode-switcher__wrapper {
  --bg: rgba(7,30,46,.94) !important;
  --bg-hover: rgba(217,192,141,.13) !important;
  --text: var(--white) !important;
  --text-hover: var(--gold-200) !important;
}
.menu-open .site-header .language-switcher .trp-shortcode-switcher {
  border-color: rgba(217,192,141,.56) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11), transparent 44%),
    rgba(7,30,46,.94) !important;
}
.menu-open .site-header .language-switcher .trp-language-item-name,
.menu-open .site-header .language-switcher .trp-language-switcher > div > a { color: var(--white) !important; }

@media (prefers-reduced-motion: reduce) {
  :where(.language-switcher, .mobile-menu__language, .footer-language) .trp-shortcode-switcher,
  :where(.language-switcher, .mobile-menu__language, .footer-language) .trp-shortcode-arrow { transition: none; }
}

/* Home hero */
.home-hero { position: relative; display: flex; min-height: max(780px, 100svh); align-items: flex-end; overflow: hidden; padding: calc(var(--header-h) + 5rem) 0 5rem; background: var(--navy-950); }
.home-hero__media,
.home-hero__veil { position: absolute; inset: -7% 0; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.home-hero__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-hero__veil { inset: 0; background: linear-gradient(90deg, rgba(4,22,34,.16), rgba(4,22,34,.52) 52%, rgba(4,22,34,.72)), linear-gradient(0deg, rgba(4,22,34,.68), transparent 58%); }
.ambient-lines { position: absolute; inset: 0; opacity: 0.18; pointer-events: none; }
.ambient-lines span { position: absolute; top: -15%; width: 1px; height: 130%; background: linear-gradient(transparent, rgba(255,255,255,.6), transparent); transform: rotate(12deg); animation: line-drift 9s ease-in-out infinite alternate; }
.ambient-lines span:nth-child(1) { right: 18%; }
.ambient-lines span:nth-child(2) { right: 35%; animation-delay: -2s; }
.ambient-lines span:nth-child(3) { right: 61%; animation-delay: -5s; }
.ambient-lines span:nth-child(4) { right: 82%; animation-delay: -7s; }
@keyframes line-drift { to { transform: rotate(12deg) translateX(3rem); opacity: .25; } }
.hero-orbit { position: absolute; top: 13%; left: 8%; width: clamp(18rem, 34vw, 34rem); aspect-ratio: 1; opacity: 0.38; }
.hero-orbit span { position: absolute; inset: 0; border: 1px solid rgba(217,192,141,.35); border-radius: 50%; animation: orbit-spin 22s linear infinite; }
.hero-orbit span:nth-child(2) { inset: 17%; animation-direction: reverse; animation-duration: 14s; }
.hero-orbit span::before { position: absolute; top: 8%; left: 18%; width: 8px; height: 8px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 25px var(--gold-400); content: ""; }
.hero-orbit i { position: absolute; inset: 42%; border-radius: 50%; background: rgba(199,168,107,.24); filter: blur(18px); }
@keyframes orbit-spin { to { transform: rotate(360deg); } }
.home-hero__content { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 5rem; }
.home-hero__copy { max-width: 860px; }
.home-hero h1 { margin: 0 0 1.8rem; font-weight: 300; line-height: 1.08; }
.home-hero h1 span,
.home-hero h1 em { display: block; }
.home-hero h1 em { color: var(--gold-400); font-style: normal; }
.home-hero__lead { max-width: 650px; margin-bottom: 2.2rem; font-size: clamp(0.9rem, 1.25vw, 1.08rem); }
.home-hero__actions { display: flex; align-items: center; gap: 1.6rem; }
.home-hero__facts { display: grid; min-width: 180px; gap: 1rem; padding-inline-start: 2rem; border-inline-start: 1px solid rgba(255,255,255,.18); }
.home-hero__facts div { display: flex; flex-direction: column; }
.home-hero__facts strong { color: var(--gold-400); font-size: 1.9rem; font-weight: 300; line-height: 1.1; }
.home-hero__facts span { color: rgba(255,255,255,.6); font-size: .72rem; }
.hero-scroll { position: absolute; bottom: 2.5rem; left: 2.6rem; display: flex; align-items: center; gap: .6rem; font-size: .65rem; font-weight: 700; writing-mode: vertical-rl; }
.hero-scroll i { animation: bounce-down 1.7s ease-in-out infinite; }
@keyframes bounce-down { 50% { transform: translateY(.35rem); } }
[data-hero-reveal] { opacity: 0; transform: translateY(2rem); transition: opacity .85s var(--ease), transform .85s var(--ease); }
body.is-ready [data-hero-reveal] { opacity: 1; transform: none; }
body.is-ready [data-hero-reveal]:nth-child(2) { transition-delay: .1s; }
body.is-ready [data-hero-reveal]:nth-child(3) { transition-delay: .2s; }
body.is-ready [data-hero-reveal]:nth-child(4) { transition-delay: .3s; }

/* Reveal motion */
[data-reveal] { opacity: 0; transform: translateY(2.5rem); transition: opacity .85s var(--ease), transform .85s var(--ease); }
[data-reveal="left"] { transform: translateX(3rem); }
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-image-reveal] { overflow: hidden; opacity: 0; transform: translateY(2rem); transition: opacity .85s var(--ease), transform 1.15s var(--ease); }
[data-image-reveal] > img,
[data-image-reveal] figure img { transform: scale(1.09); transition: transform 1.4s var(--ease); }
[data-image-reveal].is-visible { opacity: 1; transform: none; }
[data-image-reveal].is-visible > img,
[data-image-reveal].is-visible figure img { transform: scale(1); }
[data-tilt] { --tilt-x: 0deg; --tilt-y: 0deg; transform-style: preserve-3d; will-change: transform; }
[data-reveal].is-visible[data-tilt] { transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(0); }
[data-reveal-delay="1"] { transition-delay: .1s; }
[data-reveal-delay="2"] { transition-delay: .2s; }
[data-reveal-delay="3"] { transition-delay: .3s; }

/* Home sections */
.manifesto__grid,
.services-intro__grid,
.about-intro__grid,
.allies-intro__grid,
.method-intro__grid { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: clamp(2rem, 6vw, 7rem); }
.manifesto__details,
.about-intro__copy { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(180px, .7fr); gap: 3rem; align-items: start; }
.manifesto__details p { max-width: 720px; }
.values-ribbon { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 6rem; padding-block: 1.6rem; border-block: 1px solid var(--border); }
.values-ribbon span { position: relative; font-size: .8rem; font-weight: 800; }
.values-ribbon span:not(:last-child)::after { position: absolute; top: 50%; left: -4vw; width: 4px; height: 4px; border-radius: 50%; background: var(--gold-500); content: ""; }

.service-story { overflow: clip; padding-bottom: 6rem; }
.service-story::before { position: absolute; inset: 0; opacity: .08; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.25), transparent 70%); content: ""; animation: wash 10s ease-in-out infinite alternate; }
@keyframes wash { to { transform: translateX(-20%); } }
.service-story__head,
.method-preview__head,
.ecosystem__head,
.extension-value__head,
.sectors__head,
.credentials__head { position: relative; display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: clamp(2rem, 6vw, 7rem); margin-bottom: 5rem; }
.service-story__head h2,
.method-preview__head h2,
.ecosystem__head h2,
.extension-value__head h2,
.sectors__head h2,
.credentials__head h2 { max-width: 850px; margin-bottom: 0; }
.service-story__layout { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(400px, 1.15fr); gap: clamp(3rem, 7vw, 8rem); align-items: start; }
.service-story__steps { display: grid; }
.story-step { min-height: 72vh; padding: 4rem 0; opacity: .35; transition: opacity .5s; }
.story-step.is-active { opacity: 1; }
.story-step__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.2rem; }
.story-step__top span { color: var(--gold-400); font-size: .75rem; }
.story-step__top i { display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border: 1px solid var(--border-light); border-radius: 50%; color: var(--gold-400); }
.story-step h3 { margin-bottom: 1.2rem; font-size: clamp(1.35rem, 2.35vw, 2.35rem); font-weight: 400; }
.story-step p { max-width: 610px; font-size: 0.93rem; }
.service-story__visual { position: sticky; top: 18vh; height: 64vh; }
.service-story__frame { position: relative; height: 100%; overflow: hidden; background: var(--navy-950); }
.story-image { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.08); transition: opacity .75s var(--ease), transform 1.2s var(--ease); }
.story-image.is-active { opacity: 1; transform: scale(1); }
.story-image::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,22,34,.86), transparent 60%); content: ""; }
.story-image img { width: 100%; height: 100%; object-fit: cover; }
.story-image:nth-child(1) img { object-position: center 58%; }
.story-image:nth-child(2) img { object-position: center 72%; }
.story-image:nth-child(3) img { object-position: center; }
.story-image:nth-child(4) img { object-position: 62% center; }
.story-image figcaption { position: absolute; z-index: 2; right: 2rem; bottom: 2rem; left: 2rem; display: flex; align-items: center; gap: 1rem; color: var(--white); font-size: 1.25rem; }
.story-image figcaption span { color: var(--gold-400); font-size: .7rem; }
.service-story__corner { position: absolute; z-index: 3; top: 1rem; left: 1rem; width: 4rem; height: 4rem; border-top: 1px solid var(--gold-400); border-left: 1px solid var(--gold-400); }

.numbers-section__intro { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.numbers-section__intro h2 { max-width: 850px; }
.number-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-block: 1px solid var(--border); }
.number-card { position: relative; min-height: 310px; padding: 3rem; border-inline-end: 1px solid var(--border); }
.number-card:last-child { border-inline-end: 0; }
.number-card__icon { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: 4rem; border: 1px solid var(--border); border-radius: 50%; color: var(--gold-500); }
.number-card strong { display: block; margin-bottom: .5rem; color: var(--navy-800); font-size: clamp(2rem, 3.5vw, 3.5rem); font-weight: 300; line-height: 1; }
.number-card p { margin: 0; }
.numbers-note { margin-top: 1.2rem; font-size: .74rem; }

.founder-teaser__grid,
.founder-profile__grid { display: grid; grid-template-columns: minmax(350px, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.founder-teaser__image,
.founder-profile__media { position: relative; }
.founder-teaser__image .image-mask { height: min(680px, 74vw); }
.founder-teaser__stamp { position: absolute; bottom: -1.5rem; left: -1.5rem; display: grid; width: 9rem; height: 9rem; place-content: center; gap: .5rem; border-radius: 50%; background: var(--navy-900); color: var(--white); text-align: center; font-size: .67rem; font-weight: 800; box-shadow: var(--shadow); }
.founder-teaser__stamp i { color: var(--gold-400); font-size: 1.5rem; }
.founder-teaser__copy .section-index { margin-bottom: 3rem; }
.founder-teaser__copy h2,
.founder-profile__copy h2 { margin-bottom: 1.6rem; }
.founder-teaser__copy > p,
.founder-profile__copy > p { max-width: 700px; font-size: 0.92rem; }
.check-list { display: grid; gap: 1rem; margin: 2rem 0 2.5rem; }
.check-list li,
.feature-list li { display: flex; align-items: flex-start; gap: .9rem; color: var(--ink); font-size: .9rem; }
.check-list i,
.feature-list i { display: grid; width: 1.65rem; height: 1.65rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--gold-200); color: var(--navy-800); font-size: .65rem; }

.method-preview__track { position: relative; display: grid; grid-template-columns: repeat(7, 1fr); padding-top: 2.5rem; }
.method-preview__track::before { position: absolute; top: 3.1rem; right: 0; left: 0; height: 1px; background: var(--border); content: ""; }
.method-node { position: relative; padding-inline-end: 1rem; }
.method-node span { position: relative; z-index: 1; display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border: 1px solid var(--gold-500); border-radius: 50%; background: var(--sand-50); color: var(--gold-500); font-size: .46rem; }
.method-node p { margin: 1.25rem 0 0; font-size: .74rem; font-weight: 700; line-height: 1.6; }
.method-preview__action { margin-top: 3rem; }

.sectors-marquee { overflow: hidden; padding-block: 2rem; background: var(--gold-400); color: var(--navy-950); }
.marquee-track { display: flex; width: max-content; animation: marquee 34s linear infinite; }
.marquee-set { display: flex; flex-shrink: 0; align-items: center; }
.marquee-set span { display: flex; align-items: center; gap: 2.2rem; margin-inline-end: 2.2rem; font-size: 1rem; font-weight: 800; white-space: nowrap; }
.marquee-set i { width: .35rem; height: .35rem; border-radius: 50%; background: var(--navy-900); }
@keyframes marquee { to { transform: translateX(50%); } }

/* Shared inner heroes */
.inner-hero { position: relative; display: flex; min-height: 78svh; align-items: flex-end; overflow: hidden; padding: calc(var(--header-h) + 8rem) 0 6rem; background: var(--navy-950); }
.inner-hero__texture { position: absolute; inset: 0; opacity: .18; background: radial-gradient(circle at 72% 25%, rgba(199,168,107,.4), transparent 20%), repeating-linear-gradient(110deg, transparent 0 12vw, rgba(255,255,255,.12) 12vw calc(12vw + 1px)); }
.inner-hero__content { position: relative; z-index: 2; }
.inner-hero h1 { max-width: 1050px; margin: 0 0 1.6rem; font-size: clamp(2.45rem, 4.9vw, 5rem); font-weight: 300; }
.inner-hero h1 em { color: var(--gold-400); font-style: normal; }
.inner-hero__content > p:last-child { max-width: 700px; margin-bottom: 0; font-size: 0.96rem; }
.inner-hero__index { position: absolute; right: auto; bottom: -12%; left: 3%; color: rgba(255,255,255,.035); font-size: clamp(12rem, 28vw, 28rem); font-weight: 800; line-height: 1; }
.inner-hero__image,
.inner-hero__veil { position: absolute; inset: -8% 0; }
.inner-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.inner-hero__veil { inset: 0; background: linear-gradient(90deg, rgba(4,22,34,.65), rgba(4,22,34,.93) 58%), linear-gradient(0deg, rgba(4,22,34,.95), transparent); }
.inner-hero__orb { position: absolute; top: 18%; left: 10%; width: 26rem; height: 26rem; }
.inner-hero__orb span { position: absolute; inset: 0; border: 1px solid rgba(217,192,141,.22); border-radius: 50%; animation: orbit-spin 16s linear infinite; }
.inner-hero__orb span:nth-child(2) { inset: 25%; animation-direction: reverse; }

/* About */
.vision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.vision-card { position: relative; min-height: 470px; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); background: var(--white); }
.vision-card--dark { background: var(--navy-900); color: var(--white); }
.vision-card h2 { margin: 3rem 0 1.5rem; font-size: clamp(1.55rem, 2.6vw, 2.45rem); font-weight: 400; }
.vision-card p { max-width: 520px; }
.vision-card__line { position: absolute; right: 0; bottom: 0; width: 40%; height: 4px; background: var(--gold-500); transition: width .6s var(--ease); }
.vision-card:hover .vision-card__line { width: 100%; }
.principles { margin-top: 5rem; }
.principles > div { display: grid; grid-template-columns: repeat(5, 1fr); border-block: 1px solid var(--border); }
.principles span { display: flex; min-height: 8rem; flex-direction: column; justify-content: center; gap: .7rem; padding: 1rem; border-inline-end: 1px solid var(--border); font-size: .85rem; font-weight: 800; }
.principles span:last-child { border-inline-end: 0; }
.principles small { color: var(--gold-500); font-weight: 500; }
.founder-profile__image { height: min(750px, 78vw); }
.founder-profile__since { position: absolute; right: -2rem; bottom: 2rem; padding: 1.2rem 1.8rem; background: var(--white); box-shadow: var(--shadow); }
.founder-profile__since span { display: block; color: var(--muted); font-size: .65rem; }
.founder-profile__since strong { color: var(--navy-800); font-size: 2.4rem; font-weight: 400; }
.founder-profile__since small { font-size: .8rem; }
.founder-profile__copy .section-index { margin-bottom: 3rem; }
.founder-profile__quote { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; margin-top: 2.3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.founder-profile__quote i { color: var(--gold-500); font-size: 1.5rem; }
.founder-profile__quote p { color: var(--ink); font-size: 1.1rem; }
.credentials-list { display: grid; grid-template-columns: 1fr 1fr; }
.credentials-list article { display: grid; min-height: 190px; grid-template-columns: auto auto 1fr; align-items: start; gap: 1.2rem; padding: 2.2rem 1rem 2.2rem 2.5rem; border-top: 1px solid var(--border-light); }
.credentials-list article:nth-child(odd) { border-inline-end: 1px solid var(--border-light); }
.credentials-list__number { color: var(--gold-400); font-size: .65rem; }
.credentials-list i { color: var(--gold-400); font-size: 1.2rem; }
.credentials-list p { margin: 0; }
.experience-stats__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); align-items: stretch; border-block: 1px solid var(--border); }
.experience-stats__title,
.experience-stat { padding: 2.5rem; border-inline-end: 1px solid var(--border); }
.experience-stat:last-child { border-inline-end: 0; }
.experience-stats__title h2 { margin: 0; font-size: clamp(1.8rem, 2.7vw, 2.8rem); }
.experience-stat { display: flex; min-height: 250px; flex-direction: column; justify-content: flex-end; }
.experience-stat strong { color: var(--gold-500); font-size: clamp(2.1rem, 3.5vw, 3.8rem); font-weight: 300; line-height: 1; }
.experience-stat p { margin: .8rem 0 0; }
.ecosystem__head { align-items: start; }
.ecosystem__head p:last-child { max-width: 720px; }
.ecosystem__numbers { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 2rem; background: var(--navy-900); color: var(--white); }
.ecosystem__numbers > div { display: flex; align-items: center; gap: 1.5rem; padding: 2.5rem 3rem; }
.ecosystem__numbers > div:first-child { border-inline-end: 1px solid var(--border-light); }
.ecosystem__numbers strong { color: var(--gold-400); font-size: 3rem; font-weight: 300; }
.ecosystem__numbers p { max-width: 380px; margin: 0; color: rgba(255,255,255,.62); font-size: .8rem; }
.ecosystem-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--border); }
.ecosystem-grid article { min-height: 300px; padding: 2.2rem; border-inline-end: 1px solid var(--border); }
.ecosystem-grid article:last-child { border-inline-end: 0; }
.ecosystem-grid i { margin-bottom: 3rem; color: var(--gold-500); font-size: 1.35rem; }
.ecosystem-grid h3 { font-size: 1.2rem; }
.ecosystem-grid p { font-size: .82rem; }
.expertise-note { display: flex; align-items: center; gap: 1rem; margin-top: 2rem; padding: 1.4rem; border: 1px solid var(--border); }
.expertise-note i { color: var(--gold-500); }
.expertise-note p { margin: 0; font-size: .8rem; }

/* Services */
.service-jump { position: sticky; z-index: 60; top: 0; overflow-x: auto; background: rgba(251,248,241,.93); border-bottom: 1px solid var(--border); backdrop-filter: blur(15px); }
.service-jump .container { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 2rem; }
.service-jump a { flex: 0 0 auto; color: var(--muted); font-size: .72rem; font-weight: 800; transition: color .3s; }
.service-jump a:hover { color: var(--navy-800); }
.service-jump span { margin-inline-end: .55rem; color: var(--gold-500); }
.service-detail { padding-block: clamp(5rem, 9vw, 9rem); scroll-margin-top: 7rem; }
.service-detail:nth-child(even) { background: var(--sand-100); }
.service-detail__grid { display: grid; grid-template-columns: minmax(350px, 1fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.service-detail--reverse .service-detail__media { order: 2; }
.service-detail__media { position: relative; }
.service-detail__image { height: clamp(460px, 56vw, 720px); }
.service-detail__number { position: absolute; bottom: -2rem; left: -1rem; color: var(--gold-500); font-size: clamp(6rem, 12vw, 12rem); font-weight: 200; line-height: .8; opacity: .85; }
.service-detail__copy .icon-box { margin-bottom: 2rem; }
.service-detail__copy h2 { max-width: 670px; margin-bottom: 1.6rem; }
.service-detail__lead { max-width: 650px; font-size: 0.93rem; }
.feature-list { display: grid; gap: 1rem; margin: 2rem 0 2.5rem; }
.integration { min-height: 720px; display: flex; align-items: center; }
.integration__content { position: relative; z-index: 2; }
.integration__content h2 { max-width: 920px; }
.integration__content > p { max-width: 680px; }
.integration__labels { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.5rem; }
.integration__labels span { display: inline-flex; align-items: center; gap: .65rem; padding: .65rem 1rem; border: 1px solid var(--border-light); border-radius: 999px; color: rgba(255,255,255,.75); font-size: .74rem; }
.integration__labels i { color: var(--gold-400); }
.integration__visual { position: absolute; top: 50%; left: 8%; width: min(45vw, 600px); aspect-ratio: 1; transform: translateY(-50%); }
.integration__visual span { position: absolute; width: 42%; aspect-ratio: 1; border: 1px solid rgba(217,192,141,.22); border-radius: 50%; animation: orbit-float 5s ease-in-out infinite alternate; }
.integration__visual span:nth-child(1) { top: 0; left: 29%; }
.integration__visual span:nth-child(2) { right: 0; bottom: 29%; animation-delay: -1s; }
.integration__visual span:nth-child(3) { bottom: 0; left: 29%; animation-delay: -2s; }
.integration__visual span:nth-child(4) { bottom: 29%; left: 0; animation-delay: -3s; }
.integration__visual i { position: absolute; inset: 36%; border-radius: 50%; background: rgba(199,168,107,.22); filter: blur(30px); }
@keyframes orbit-float { to { transform: scale(1.08) translateY(-.6rem); } }

/* Methodology */
.method-hero__path { position: absolute; top: 20%; left: 8%; display: flex; width: 42%; align-items: center; justify-content: space-between; }
.method-hero__path::before { position: absolute; right: 0; left: 0; height: 1px; background: rgba(217,192,141,.3); content: ""; }
.method-hero__path i { position: relative; z-index: 1; width: .75rem; height: .75rem; border: 1px solid var(--gold-400); border-radius: 50%; background: var(--navy-950); animation: node-pulse 2s ease-in-out infinite alternate; }
.method-hero__path i:nth-child(2n) { animation-delay: -1s; }
@keyframes node-pulse { to { background: var(--gold-400); box-shadow: 0 0 18px rgba(217,192,141,.5); } }
.method-timeline__layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: clamp(4rem, 10vw, 10rem); align-items: start; }
.method-timeline__sticky { position: sticky; top: 9rem; }
.method-timeline__sticky h2 { margin-bottom: 1.6rem; }
.method-progress { width: 100%; height: 2px; margin: 2.5rem 0; background: var(--border); }
.method-progress span { display: block; width: 100%; height: 100%; background: var(--gold-500); transform: scaleX(0); transform-origin: right; }
.method-timeline__steps { position: relative; }
.method-timeline__steps::before { position: absolute; top: 0; right: 1.6rem; bottom: 0; width: 1px; background: var(--border); content: ""; }
.method-step { position: relative; min-height: 320px; padding: 1rem 6rem 4rem 0; opacity: .45; transition: opacity .4s; }
.method-step.is-active { opacity: 1; }
.method-step__number { position: absolute; z-index: 1; top: 0; right: .75rem; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid var(--gold-500); border-radius: 50%; background: var(--sand-100); color: var(--gold-500); font-size: .55rem; }
.method-step .icon-box { margin-bottom: 1.7rem; background: var(--sand-50); }
.method-step h3 { font-size: clamp(1.35rem, 2.25vw, 2.15rem); font-weight: 400; }
.method-step p { max-width: 600px; }
.method-principle { min-height: 650px; display: flex; align-items: center; }
.method-principle__grid { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.method-principle__grid > i { color: var(--gold-400); font-size: 4rem; }
.method-principle h2 { max-width: 950px; }
.method-principle__rings { position: absolute; top: 50%; left: 5%; width: 35rem; height: 35rem; transform: translateY(-50%); }
.method-principle__rings span { position: absolute; inset: 0; border: 1px solid rgba(217,192,141,.16); border-radius: 50%; }
.method-principle__rings span:nth-child(2) { inset: 18%; }
.method-principle__rings span:nth-child(3) { inset: 36%; background: rgba(199,168,107,.07); }
.assurance__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--border); }
.assurance article { min-height: 330px; padding: 3rem; border-inline-end: 1px solid var(--border); }
.assurance article:last-child { border-inline-end: 0; }
.assurance i { margin-bottom: 4rem; color: var(--gold-500); font-size: 1.5rem; }
.assurance h2 { font-size: 2rem; }

/* Allies and sectors */
.allies-hero__nodes { position: absolute; top: 12%; left: 7%; width: 38vw; height: 38vw; max-width: 540px; max-height: 540px; border: 1px solid rgba(217,192,141,.12); border-radius: 50%; }
.allies-hero__nodes span { position: absolute; width: 12px; height: 12px; border: 2px solid var(--gold-400); border-radius: 50%; background: var(--navy-950); box-shadow: 0 0 20px rgba(217,192,141,.35); }
.allies-hero__nodes span:nth-child(1) { top: 5%; left: 45%; }
.allies-hero__nodes span:nth-child(2) { right: 6%; bottom: 28%; }
.allies-hero__nodes span:nth-child(3) { bottom: 8%; left: 19%; }
.allies-hero__nodes i { position: absolute; top: 50%; left: 50%; width: 72%; height: 1px; background: rgba(217,192,141,.22); transform-origin: left; transform: rotate(34deg); }
.allies-hero__nodes i:last-child { transform: rotate(145deg); }
.ally-cards__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.ally-card { position: relative; min-height: 520px; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); background: var(--white); }
.ally-card--dark { background: var(--navy-900); color: var(--white); }
.ally-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4rem; }
.ally-card__top span { color: var(--gold-500); font-size: 3rem; font-weight: 250; }
.ally-card__top i { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--gold-500); }
.ally-card h2 { max-width: 600px; font-size: clamp(1.5rem, 2.35vw, 2.35rem); font-weight: 400; line-height: 1.45; }
.ally-card p { max-width: 580px; }
.ally-card__line { position: absolute; right: 0; bottom: 0; width: 30%; height: 4px; background: var(--gold-500); transition: width .5s var(--ease); }
.ally-card:hover .ally-card__line { width: 100%; }
.extension-value__grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--border); }
.extension-value__grid article { min-height: 360px; padding: 2.2rem; border-inline-end: 1px solid var(--border); }
.extension-value__grid article:last-child { border-inline-end: 0; }
.extension-value__grid article > span { display: block; color: var(--gold-500); font-size: .65rem; }
.extension-value__grid i { margin: 4rem 0 2rem; color: var(--gold-500); font-size: 1.35rem; }
.extension-value__grid h3 { font-size: 1.25rem; }
.extension-value__grid p { font-size: .82rem; }
.sector-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border-light); border-right: 1px solid var(--border-light); }
.sector-grid article { min-height: 300px; padding: 2.3rem; border-bottom: 1px solid var(--border-light); border-left: 1px solid var(--border-light); }
.sector-grid article > div { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4rem; }
.sector-grid i { color: var(--gold-400); font-size: 1.4rem; }
.sector-grid div span { color: rgba(255,255,255,.35); font-size: .65rem; }
.sector-grid h3 { font-size: 1.3rem; }
.sector-grid p { font-size: .82rem; }
.sectors__note { margin-top: 1.3rem; font-size: .72rem; }
.experience-scope__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); }
.experience-scope__grid h2 { font-size: clamp(1.6rem, 2.7vw, 2.7rem); }
.note-box { display: flex; gap: 1rem; margin-top: 2rem; padding: 1.4rem; border: 1px solid var(--border); font-size: .78rem; }
.note-box i { color: var(--gold-500); }

/* Contact */
.contact-hero__signal { position: absolute; top: 50%; left: 8%; width: min(40vw, 520px); aspect-ratio: 1; transform: translateY(-45%); }
.contact-hero__signal span { position: absolute; inset: 0; border: 1px solid rgba(217,192,141,.18); border-radius: 50%; animation: signal 3s ease-out infinite; }
.contact-hero__signal span:nth-child(2) { animation-delay: 1s; }
.contact-hero__signal span:nth-child(3) { animation-delay: 2s; }
.contact-hero__signal i { position: absolute; inset: 47%; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 35px var(--gold-400); }
@keyframes signal { from { transform: scale(.15); opacity: .9; } to { transform: scale(1); opacity: 0; } }
.inner-hero--contact .inner-hero__index { bottom: 8%; color: rgba(255,255,255,.08); font-size: clamp(7rem, 16vw, 14rem); }
.contact-section__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(500px, 1.15fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.contact-section__intro { position: sticky; top: 8rem; }
.contact-section__intro .section-index { margin-bottom: 3rem; }
.contact-section__intro h2 { font-size: clamp(1.7rem, 2.75vw, 2.75rem); }
.contact-promises { display: grid; gap: .8rem; margin-top: 2rem; }
.contact-promises span { display: flex; align-items: center; gap: .8rem; color: var(--ink); font-size: .82rem; font-weight: 700; }
.contact-promises i { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--gold-500); }
.direct-contact { display: grid; gap: .8rem; margin-top: 2.5rem; }
.direct-contact > * { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--border); }
.direct-contact > * > i { color: var(--gold-500); }
.direct-contact > * > span { display: flex; flex-direction: column; color: var(--muted); font-size: .68rem; }
.direct-contact strong { color: var(--ink); font-size: .82rem; }
.contact-form-wrap { padding: clamp(1.5rem, 4vw, 3.2rem); background: var(--white); box-shadow: var(--shadow); }
.contact-form { display: grid; gap: 1.25rem; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.contact-form label { display: grid; gap: .5rem; color: var(--ink); font-size: .74rem; font-weight: 800; }
.contact-form input,
.contact-form select,
.contact-form textarea { width: 100%; border: 1px solid var(--border); border-radius: 0; outline: 0; background: var(--sand-50); color: var(--ink); transition: border-color .25s, box-shadow .25s; }
.contact-form input,
.contact-form select { min-height: 3.5rem; padding: .7rem 1rem; }
.contact-form textarea { resize: vertical; padding: 1rem; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color: var(--gold-500); box-shadow: 0 0 0 3px rgba(199,168,107,.12); }
.contact-form .consent { display: flex; grid-template-columns: auto 1fr; align-items: flex-start; gap: .7rem; color: var(--muted); font-size: .7rem; font-weight: 500; }
.contact-form .consent input { width: 1rem; min-height: 1rem; margin-top: .35rem; accent-color: var(--navy-800); }
.contact-form .button { width: fit-content; border: 0; }
.contact-form__honeypot { position: absolute; left: -9999px; }
.form-notice { display: flex; gap: 1rem; margin-bottom: 1.5rem; padding: 1rem; border: 1px solid; }
.form-notice i { margin-top: .35rem; }
.form-notice strong { display: block; }
.form-notice p { margin: .2rem 0 0; font-size: .76rem; }
.form-notice--success { border-color: #6c987a; background: #eef7f0; color: #315e3d; }
.form-notice--error { border-color: #bd746f; background: #fff1f0; color: #8a3f3b; }
.what-next__head { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.what-next__head h2 { max-width: 800px; }
.what-next__grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border: 1px solid var(--border); }
.what-next article { min-height: 280px; padding: 2.5rem; border-inline-end: 1px solid var(--border); }
.what-next article:last-child { border-inline-end: 0; }
.what-next article > span { color: var(--gold-500); font-size: .65rem; }
.what-next article > i { display: grid; width: 3rem; height: 3rem; place-items: center; margin-top: 2rem; border: 1px solid var(--border); border-radius: 50%; color: var(--gold-500); }
.what-next h3 { margin-top: 2rem; }

/* CTA and footer */
.final-cta { position: relative; display: flex; min-height: 760px; align-items: center; overflow: hidden; background: var(--navy-950); color: var(--white); text-align: center; }
.final-cta__inner { position: relative; z-index: 2; }
.final-cta .eyebrow { justify-content: center; }
.final-cta h2 { max-width: 950px; margin-inline: auto; }
.final-cta__inner > p:not(.eyebrow) { max-width: 650px; margin: 0 auto 2.2rem; }
.final-cta__rings { position: absolute; inset: 50% auto auto 50%; width: min(80vw, 820px); aspect-ratio: 1; transform: translate(-50%, -50%); }
.final-cta__rings span { position: absolute; inset: 0; border: 1px solid rgba(217,192,141,.14); border-radius: 50%; animation: orbit-spin 35s linear infinite; }
.final-cta__rings span:nth-child(2) { inset: 18%; animation-direction: reverse; }
.final-cta__rings span:nth-child(3) { inset: 36%; background: radial-gradient(circle, rgba(199,168,107,.11), transparent 68%); }
.final-cta__rings span::before { position: absolute; top: 10%; left: 20%; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-400); content: ""; }

.site-footer { position: relative; overflow: hidden; padding-top: clamp(4rem,8vw,7rem); background: #02101a; color: var(--white); }
.site-footer::before { position: absolute; inset: 0; opacity: .08; background: repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),rgba(255,255,255,.22) calc(20% - 1px) 20%); content: ""; pointer-events: none; }
.site-footer__glow { position: absolute; top: -18rem; inset-inline-end: -10rem; width: 38rem; height: 38rem; border-radius: 50%; background: rgba(199,168,107,.12); filter: blur(90px); }
.site-footer__mark { position: absolute; inset-inline-end: -4rem; bottom: -5rem; width: min(42vw,520px); opacity: .025; filter: brightness(0) invert(1); transform: rotate(-8deg); pointer-events: none; }
.footer-cta { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 2rem; padding-bottom: clamp(3rem,6vw,5.2rem); border-bottom: 1px solid rgba(255,255,255,.14); }
.footer-cta::before { position: absolute; inset-inline-start: 0; bottom: -1px; width: min(22rem,55%); height: 1px; background: var(--gold-400); content: ""; }
.footer-cta .eyebrow { margin-bottom: 1.2rem; }
.footer-cta h2 { max-width: 830px; margin: 0; font-size: clamp(1.8rem,3.35vw,3.55rem); font-weight: 300; line-height: 1.35; }
.footer-cta .button { flex-shrink: 0; }
.site-footer__top { position: relative; display: grid; grid-template-columns: 1.45fr .72fr 1fr 1.25fr; gap: clamp(2rem,4vw,4rem); padding-block: clamp(3.5rem,7vw,6rem); }
.footer-brand { padding-inline-end: clamp(0rem,3vw,3rem); }
.brand--footer { margin-bottom: 1.6rem; }
.brand--footer .brand__logo { width: min(16rem,100%); filter: brightness(0) invert(1); }
.footer-brand p { max-width: 390px; margin-bottom: 0; color: rgba(255,255,255,.54); font-size: .76rem; line-height: 2; }
.footer-column h2 { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.5rem; color: var(--gold-400); font-size: .67rem; letter-spacing: .12em; }
.footer-column h2::before { width: 1.15rem; height: 1px; background: currentColor; content: ""; }
.footer-column ul { display: grid; gap: .2rem; }
.footer-column li { color: rgba(255,255,255,.62); font-size: .72rem; }
.footer-column li a { display: flex; min-height: 2.1rem; align-items: center; gap: .65rem; transition: color .25s, transform .25s; }
.footer-column li a > span { width: 1.35rem; color: rgba(217,192,141,.58); font-size: .55rem; font-variant-numeric: tabular-nums; }
.footer-column li a > i { width: 1.1rem; color: var(--gold-400); text-align: center; }
.footer-column a:hover { color: var(--gold-400); transform: translateX(-.2rem); }
.footer-contact > p { margin-bottom: 1.3rem; color: rgba(255,255,255,.54); font-size: .74rem; line-height: 1.9; }
.footer-contact__links { display: grid; gap: .45rem; }
.footer-contact__links > a,
.footer-contact__links > span { display: grid; min-width: 0; grid-template-columns: 2rem minmax(0,1fr); align-items: center; gap: .65rem; padding: .65rem .75rem; border: 1px solid rgba(255,255,255,.09); border-radius: .7rem; background: rgba(255,255,255,.025); color: rgba(255,255,255,.7); font-size: .68rem; transition: border-color .25s, background .25s, color .25s; }
.footer-contact__links > a:hover { border-color: rgba(217,192,141,.35); background: rgba(217,192,141,.06); color: var(--white); transform: none; }
.footer-contact__links i { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: rgba(217,192,141,.1); color: var(--gold-400); }
.footer-contact__links span { overflow-wrap: anywhere; }
.footer-contact .text-link { margin-top: 1.2rem; color: var(--white); }
.site-footer__bottom { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; padding-block: 1.5rem; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer__bottom p,
.site-footer__bottom > a { margin: 0; color: rgba(255,255,255,.42); font-size: .63rem; }
.site-footer__bottom > a { display: flex; justify-self: end; align-items: center; gap: .6rem; transition: color .25s; }
.site-footer__bottom > a:hover { color: var(--gold-400); }
.footer-language { min-width: 116px; }

html[dir="ltr"] .button:hover .fa-arrow-left,
html[dir="ltr"] .header-cta:hover .fa-arrow-left,
html[dir="ltr"] .text-link:hover .fa-arrow-left { transform: rotate(180deg) translateX(-.35rem); }
html[dir="ltr"] .fa-arrow-left { transform: rotate(180deg); }
html[dir="ltr"] .mobile-menu li a:hover > .fa-arrow-left { transform: rotate(180deg) translateX(-.3rem); }
html[dir="ltr"] .footer-column a:hover { transform: translateX(.2rem); }

/* Generic pages */
.generic-page { min-height: 70vh; padding: calc(var(--header-h) + 7rem) 0 7rem; }
.generic-page__content { max-width: 900px; }
.generic-page h1 { color: var(--navy-800); font-size: clamp(2.4rem, 4.8vw, 4.8rem); }
.prose > * { max-width: 72ch; }
.error-page { position: relative; display: flex; min-height: 100svh; align-items: center; overflow: hidden; background: var(--navy-950); color: var(--white); }
.error-page__number { position: absolute; bottom: -15%; left: 0; color: rgba(255,255,255,.04); font-size: 42vw; font-weight: 800; line-height: 1; }
.error-page__content { position: relative; z-index: 1; }
.error-page h1 { max-width: 850px; font-size: clamp(2.5rem, 5.5vw, 5.5rem); }

/* 2026 visual refresh — homepage */
.home-intro { overflow: hidden; }
.home-intro::before { position: absolute; top: 7%; right: -8rem; width: 24rem; height: 24rem; border: 1px solid rgba(199,168,107,.18); border-radius: 50%; content: ""; }
.home-intro__grid { display: grid; grid-template-columns: minmax(360px, .95fr) minmax(0, 1.05fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.home-intro__content,
.home-proof__content,
.home-contact__form,
.about-intro__content,
.ecosystem__content,
.service-story__steps { min-width: 0; }
.home-intro__media { position: relative; min-height: 650px; overflow: visible; }
.home-intro__main { position: absolute; inset: 0 0 5rem 4rem; margin: 0; overflow: hidden; background: var(--navy-900); }
.home-intro__main img { width: 100%; height: 100%; object-fit: cover; }
.home-intro__detail { position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 1.12; margin: 0; overflow: hidden; border: 10px solid var(--sand-50); box-shadow: var(--shadow); }
.home-intro__detail img { width: 100%; height: 100%; object-fit: cover; }
.home-intro__caption { position: absolute; top: 3rem; left: 1.5rem; display: flex; align-items: center; gap: .7rem; padding: .85rem 1rem; background: rgba(4,22,34,.88); color: var(--white); font-size: .67rem; font-weight: 800; backdrop-filter: blur(12px); }
.home-intro__caption i { color: var(--gold-400); }
.home-intro__content .section-index { margin-bottom: 3rem; }
.home-intro__content h2 { max-width: 700px; margin-bottom: 1.8rem; }
.home-intro__content > p:not(.eyebrow) { max-width: 680px; }
.home-intro__values { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 2.2rem 0; }
.home-intro__values span { display: grid; min-height: 135px; align-content: end; gap: .35rem; padding: 1.2rem; border: 1px solid var(--border); background: rgba(255,255,255,.46); transition: background .35s, transform .35s var(--ease), box-shadow .35s; }
.home-intro__values span:hover { background: var(--white); box-shadow: 0 18px 45px rgba(4,22,34,.08); transform: translateY(-.35rem); }
.home-intro__values i { margin-bottom: 1rem; color: var(--gold-500); }
.home-intro__values strong { color: var(--navy-800); font-size: .78rem; }
.home-intro__values small { color: var(--muted); font-size: .62rem; }

.story-step__mobile-image { display: none; margin: 0 0 2rem; overflow: hidden; aspect-ratio: 16/10; }
.story-step__mobile-image img { width: 100%; height: 100%; object-fit: cover; }
.service-story__frame { box-shadow: 0 34px 90px rgba(0,0,0,.28); }
.service-story__frame::before { position: absolute; z-index: 4; inset: 0; border: 1px solid rgba(255,255,255,.12); content: ""; pointer-events: none; }

.home-proof { background: linear-gradient(135deg, var(--sand-100), var(--sand-50) 60%); }
.home-proof__grid { display: grid; grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.home-proof__media { position: relative; min-height: 690px; overflow: hidden; }
.home-proof__media::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,22,34,.72), transparent 58%); content: ""; }
.home-proof__media > img { width: 100%; height: 100%; min-height: 690px; object-fit: cover; }
.home-proof__since { position: absolute; z-index: 2; right: 2rem; bottom: 2rem; color: var(--white); }
.home-proof__since > span { display: block; color: rgba(255,255,255,.64); font-size: .68rem; }
.home-proof__since strong { display: flex; align-items: baseline; gap: .3rem; color: var(--gold-400); font-size: clamp(3rem, 6vw, 5.5rem); font-weight: 300; line-height: 1; }
.home-proof__since small { font-size: 1rem; }
.home-proof__content .section-index { margin-bottom: 3rem; }
.home-proof__content > h2 { max-width: 760px; }
.home-proof__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; margin-top: 3rem; }
.home-proof__cards article { min-height: 250px; padding: 1.6rem; border: 1px solid var(--border); background: rgba(255,255,255,.72); box-shadow: 0 16px 45px rgba(4,22,34,.05); transition: border-color .35s, background .35s, box-shadow .35s; }
.home-proof__cards article:hover { border-color: rgba(199,168,107,.65); background: var(--white); box-shadow: var(--shadow); }
.home-proof__cards i { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; margin-bottom: 4.2rem; border: 1px solid var(--border); border-radius: 50%; color: var(--gold-500); }
.home-proof__cards strong { display: block; color: var(--navy-800); font-size: clamp(2rem, 3.2vw, 3.1rem); font-weight: 300; line-height: 1; }
.home-proof__cards p { margin: .8rem 0 0; font-size: .72rem; }

.method-preview { overflow: hidden; background: var(--white); }
.method-preview::after { position: absolute; top: -14rem; left: -12rem; width: 32rem; height: 32rem; border: 1px solid var(--border); border-radius: 50%; content: ""; }
.method-preview__track { z-index: 1; grid-template-columns: repeat(4, 1fr); gap: 1rem; padding-top: 0; }
.method-preview__track::before { display: none; }
.method-node { display: grid; min-height: 225px; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto; gap: 1rem; padding: 1.5rem; border: 1px solid var(--border); background: var(--sand-50); transition: background .35s, border-color .35s, box-shadow .35s; }
.method-node:hover { border-color: rgba(199,168,107,.6); background: var(--navy-900); box-shadow: var(--shadow); }
.method-node span { width: auto; height: auto; border: 0; border-radius: 0; background: transparent; font-size: .6rem; }
.method-node i { justify-self: end; color: var(--gold-500); font-size: 1.2rem; }
.method-node p { grid-column: 1 / -1; align-self: end; margin: 0; color: var(--ink); font-size: .78rem; }
.method-node:hover p { color: var(--white); }

.home-sectors { min-height: 900px; overflow: hidden; }
.home-sectors::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(4,22,34,.5), rgba(4,22,34,.96) 54%, var(--navy-900)); content: ""; }
.home-sectors__image { position: absolute; inset: -8% auto -8% 0; width: 48%; }
.home-sectors__image img { width: 100%; height: 100%; object-fit: cover; }
.home-sectors__content { position: relative; z-index: 2; }
.home-sectors__head { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: clamp(2rem, 6vw, 7rem); margin-bottom: 4rem; }
.home-sectors__head h2 { max-width: 720px; }
.home-sectors__grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-inline-start: 14%; border-top: 1px solid var(--border-light); border-right: 1px solid var(--border-light); }
.home-sectors__grid article { display: grid; min-height: 230px; grid-template-columns: auto 1fr; align-content: space-between; gap: 1rem; padding: 1.7rem; border-bottom: 1px solid var(--border-light); border-left: 1px solid var(--border-light); background: rgba(4,22,34,.48); backdrop-filter: blur(10px); transition: background .35s, border-color .35s, transform .4s var(--ease); }
.home-sectors__grid article:hover { border-color: rgba(217,192,141,.5); background: rgba(199,168,107,.13); }
.home-sectors__grid span { color: rgba(255,255,255,.36); font-size: .6rem; }
.home-sectors__grid i { justify-self: end; color: var(--gold-400); font-size: 1.15rem; }
.home-sectors__grid h3 { grid-column: 1 / -1; align-self: end; margin: 0; font-size: 1rem; }

.home-contact { overflow: hidden; background: var(--sand-100); }
.home-partners,
.partners-directory { overflow: hidden; background: var(--white); }
.home-partners__head,
.partners-directory__head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }
.home-partners__head .section-index,
.partners-directory__head .section-index { margin-bottom: 2.2rem; }
.home-partners__head h2,
.partners-directory__head h2 { max-width: 760px; margin-bottom: 0; }
.home-partners__actions { display: flex; flex: 0 0 auto; align-items: center; gap: 1.5rem; }
.partners-carousel__controls { display: flex; direction: ltr; gap: .55rem; }
.partners-carousel__controls button { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--white); color: var(--navy-800); cursor: pointer; transition: border-color .25s, background .25s, color .25s, transform .25s; }
.partners-carousel__controls button:hover { border-color: var(--navy-800); background: var(--navy-800); color: var(--white); transform: translateY(-2px); }
.partners-carousel__viewport { overflow: hidden; direction: ltr; touch-action: pan-y; }
.partners-carousel__track { display: flex; gap: 1rem; will-change: transform; transition: transform .65s var(--ease); }
.partner-logo-card { display: grid; min-width: 0; min-height: 165px; place-items: center; margin: 0; padding: 1.5rem; border: 1px solid rgba(10,41,61,.1); border-radius: var(--radius-lg); background: var(--white); box-shadow: 0 14px 40px rgba(4,22,34,.045); transition: border-color .3s, box-shadow .3s, transform .3s var(--ease); }
.partner-logo-card:hover { border-color: rgba(199,168,107,.7); box-shadow: 0 20px 52px rgba(4,22,34,.09); transform: translateY(-.3rem); }
.partner-logo-card img { display: block; width: min(82%, 220px); height: 110px; object-fit: contain; filter: saturate(.92); }
.partners-carousel__item { flex: 0 0 calc((100% - 4rem) / 5); }
.partners-page { background: var(--white); }
.partners-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
.partners-grid .partner-logo-card { min-height: 175px; }
.home-contact__grid { display: grid; grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }
.home-contact__aside { position: relative; min-height: 760px; overflow: hidden; background: var(--navy-950); }
.home-contact__aside::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,22,34,.98), rgba(4,22,34,.15) 75%); content: ""; }
.home-contact__aside > img { width: 100%; height: 100%; object-fit: cover; }
.home-contact__overlay { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: clamp(1.8rem, 4vw, 3.5rem); color: var(--white); }
.home-contact__overlay h2 { font-size: clamp(1.65rem, 2.8vw, 2.75rem); }
.home-contact__details { display: grid; gap: .65rem; margin-top: 2rem; }
.home-contact__details > * { display: flex; align-items: center; gap: 1rem; padding: .8rem 0; border-top: 1px solid rgba(255,255,255,.15); }
.home-contact__details i { display: grid; width: 2.4rem; height: 2.4rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: var(--gold-400); }
.home-contact__details > * > span { display: flex; min-width: 0; flex-direction: column; color: rgba(255,255,255,.55); font-size: .62rem; }
.home-contact__details strong { overflow-wrap: anywhere; color: var(--white); font-size: .75rem; }
.home-contact__form .section-index { margin-bottom: 2rem; }
.home-contact__form .contact-form-wrap { height: calc(100% - 5rem); box-shadow: none; }
.about-contact__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(380px, 1.15fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.about-contact__intro .section-index { margin-bottom: 3rem; }
.about-contact__intro h2 { max-width: 650px; }
.about-contact__details { margin-top: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-contact__details > * { min-height: 96px; background: rgba(255,255,255,.7); }

/* 2026 visual refresh — about */
.about-intro--visual { overflow: hidden; }
.about-intro--visual::after { position: absolute; right: 3%; bottom: 8%; width: 16rem; height: 16rem; border: 1px solid var(--border); border-radius: 50%; content: ""; }
.about-intro__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.about-intro__content .section-index { margin-bottom: 3rem; }
.about-intro__content h2 { max-width: 720px; margin-bottom: 1.8rem; }
.about-intro__content > p:not(.eyebrow) { max-width: 680px; }
.about-intro__signals { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2.2rem; }
.about-intro__signals span { display: inline-flex; align-items: center; gap: .7rem; padding: .75rem 1rem; border: 1px solid var(--border); background: var(--white); color: var(--ink); font-size: .7rem; font-weight: 800; }
.about-intro__signals i { color: var(--gold-500); }
.about-intro__media { position: relative; min-height: 650px; margin: 0; overflow: hidden; background: var(--navy-900); }
.about-intro__media > img { width: 100%; height: 650px; object-fit: cover; }
.about-intro__media::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,22,34,.78), transparent 55%); content: ""; }
.about-intro__media figcaption { position: absolute; z-index: 2; right: 2rem; bottom: 2rem; color: var(--white); }
.about-intro__media figcaption small { display: block; color: rgba(255,255,255,.6); font-size: .65rem; }
.about-intro__media figcaption strong { display: flex; align-items: baseline; gap: .3rem; color: var(--gold-400); font-size: clamp(3rem, 5vw, 5rem); font-weight: 300; line-height: 1; }
.about-intro__media figcaption em { font-size: .9rem; font-style: normal; }
.about-intro__frame { position: absolute; z-index: 2; top: 1.3rem; left: 1.3rem; width: 5rem; height: 5rem; border-top: 1px solid var(--gold-400); border-left: 1px solid var(--gold-400); }

.principles--cards { margin-top: 6rem; }
.principles--cards > .principles__head { display: flex; grid-template-columns: none; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; border: 0; }
.principles__head .eyebrow { margin-bottom: 0; }
.principles__head > p:last-child { max-width: 500px; margin-bottom: 0; font-size: .78rem; }
.principles--cards > .principles__grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 0; }
.principles__grid article { position: relative; min-height: 285px; overflow: hidden; padding: 1.6rem; border: 1px solid var(--border); border-inline-end: 0; background: var(--white); transition: color .35s, background .35s, box-shadow .35s; }
.principles__grid article:last-child { border-inline-end: 1px solid var(--border); }
.principles__grid article::before { position: absolute; right: 0; bottom: 0; width: 100%; height: 0; background: var(--navy-900); content: ""; transition: height .5s var(--ease); }
.principles__grid article:hover::before { height: 100%; }
.principles__grid article > * { position: relative; z-index: 1; }
.principles__grid article > div { display: flex; align-items: center; justify-content: space-between; }
.principles__grid i { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--gold-500); }
.principles__grid small { color: var(--gold-500); font-size: .6rem; }
.principles__grid h3 { margin: 5rem 0 .8rem; font-size: 1rem; }
.principles__grid p { margin: 0; font-size: .7rem; }
.principles__grid article:hover h3 { color: var(--white); }
.principles__grid article:hover p { color: rgba(255,255,255,.62); }
.principles__grid article:hover i { border-color: var(--border-light); color: var(--gold-400); }

.experience-stats--visual { min-height: 780px; overflow: hidden; }
.experience-stats__backdrop { position: absolute; inset: -12% 0; opacity: .28; }
.experience-stats__backdrop::after { position: absolute; inset: 0; background: linear-gradient(90deg, var(--navy-900), rgba(4,22,34,.62), var(--navy-900)); content: ""; }
.experience-stats__backdrop img { width: 100%; height: 100%; object-fit: cover; }
.experience-showcase { position: relative; z-index: 1; }
.experience-showcase__head { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: clamp(2rem,6vw,7rem); margin-bottom: 4rem; }
.experience-showcase__head h2 { max-width: 700px; }
.experience-showcase__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.experience-showcase__stats article { min-height: 290px; padding: 2rem; border: 1px solid rgba(255,255,255,.16); background: rgba(4,22,34,.55); backdrop-filter: blur(15px); transition: border-color .35s, background .35s; }
.experience-showcase__stats article:hover { border-color: rgba(217,192,141,.55); background: rgba(199,168,107,.1); }
.experience-showcase__stats i { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; margin-bottom: 5rem; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: var(--gold-400); }
.experience-showcase__stats strong { display: block; color: var(--gold-400); font-size: clamp(2.6rem, 5vw, 4.7rem); font-weight: 300; line-height: 1; }
.experience-showcase__stats p { margin: .7rem 0 0; color: rgba(255,255,255,.72); }
.experience-showcase > .numbers-note { color: rgba(255,255,255,.45); }

.ecosystem--visual { overflow: clip; }
.ecosystem--visual::after { position: absolute; top: 5%; left: -12rem; width: 32rem; height: 32rem; border: 1px solid rgba(199,168,107,.18); border-radius: 50%; content: ""; }
.ecosystem__split { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.ecosystem__media { position: sticky; top: 8rem; min-height: 620px; overflow: hidden; }
.ecosystem__media::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,22,34,.8), transparent 55%); content: ""; }
.ecosystem__media > img { width: 100%; height: 620px; object-fit: cover; }
.ecosystem__badges { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.ecosystem__badges > span { display: flex; min-height: 130px; flex-direction: column; justify-content: flex-end; padding: 1.2rem; border: 1px solid rgba(255,255,255,.16); background: rgba(4,22,34,.65); color: rgba(255,255,255,.65); font-size: .65rem; backdrop-filter: blur(14px); }
.ecosystem__badges strong { color: var(--gold-400); font-size: 2.4rem; font-weight: 300; line-height: 1; }
.ecosystem__content .section-index { margin-bottom: 3rem; }
.ecosystem__content > h2 { margin-bottom: 1.5rem; }
.ecosystem-stack { display: grid; gap: .7rem; margin-top: 2.5rem; }
.ecosystem-stack article { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; padding: 1.4rem; border: 1px solid var(--border); background: rgba(255,255,255,.5); transition: transform .4s var(--ease), background .35s, box-shadow .35s; }
.ecosystem-stack article:hover { background: var(--white); box-shadow: 0 20px 50px rgba(4,22,34,.08); transform: translateX(-.5rem); }
.ecosystem-stack i { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--gold-500); }
.ecosystem-stack h3 { margin: 0 0 .4rem; font-size: .95rem; }
.ecosystem-stack p { margin: 0; font-size: .73rem; }
.expertise-note--wide { position: relative; z-index: 1; margin-top: 3rem; background: rgba(255,255,255,.48); }

.brand--footer .brand__logo { width: min(17rem, 100%); filter: brightness(0) invert(1); }

/* Stable, friendly editorial retouch */
.home-intro__main,
.home-intro__detail,
.home-proof__media,
.founder-teaser__image .image-mask,
.founder-profile__image,
.about-intro__media,
.ecosystem__media,
.home-contact__aside,
.contact-form-wrap { border-radius: var(--radius-lg); }
.home-intro__main img { object-position: center 72%; }
.home-intro__detail img { object-position: right center; }
.about-intro__media > img,
.home-contact__aside > img { object-position: center 72%; }
.ecosystem__media > img { object-position: center; }
.home-proof__cards article,
.method-node,
.principles__grid article,
.experience-showcase__stats article,
.ecosystem-stack article,
.home-sectors__grid article,
.what-next article { border-radius: var(--radius-md); }
.vision-grid { gap: 1rem; }
.vision-card { border-radius: var(--radius-lg); transition: transform .55s var(--ease), box-shadow .55s var(--ease); }
.vision-card:hover { z-index: 1; box-shadow: var(--shadow); transform: translateY(-.6rem); }
.principles--cards > .principles__grid { gap: .75rem; }
.principles__grid article,
.principles__grid article:last-child { border: 1px solid var(--border); }
.credentials-list { gap: .7rem; }
.credentials-list article { border: 1px solid var(--border-light); border-radius: var(--radius-md); background: rgba(255,255,255,.025); }
.credentials-list article:nth-child(odd) { border-inline-end: 1px solid var(--border-light); }
.home-contact__form .contact-form-wrap { border: 1px solid rgba(10,41,61,.08); }

/* Method scrollytelling */
.method-lab { overflow: clip; }
.method-lab::before { position: absolute; top: 12%; right: -10rem; width: 28rem; height: 28rem; border: 1px solid rgba(199,168,107,.18); border-radius: 50%; content: ""; }
.method-lab__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(340px,.82fr) minmax(0,1.18fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.method-lab__sticky { position: sticky; top: calc(var(--header-h) + 1rem); min-width: 0; }
.method-lab__sticky .section-index { margin-bottom: 1.25rem; }
.method-lab__sticky .section-index span { font-size: clamp(2rem,3vw,2.75rem); }
.method-lab__sticky .eyebrow { margin-bottom: .85rem; }
.method-lab__sticky h2 { max-width: 600px; margin-bottom: .9rem; font-size: clamp(1.45rem,2.35vw,2.35rem); line-height: 1.35; }
.method-lab__sticky > p:not(.eyebrow) { max-width: 560px; margin-bottom: 0; font-size: .82rem; line-height: 1.75; }
.method-lab__dial { position: relative; display: grid; width: clamp(215px,min(24vw,34vh),290px); aspect-ratio: 1; place-items: center; margin: 1.35rem 0 1.1rem; overflow: hidden; border-radius: 50%; background: var(--navy-900); box-shadow: 0 24px 58px rgba(4,22,34,.16); }
.method-lab__dial::before { position: absolute; inset: 49.8% 9%; height: 1px; background: linear-gradient(90deg,transparent,var(--gold-400),transparent); content: ""; }
.method-lab__ring { position: absolute; inset: 10%; border: 1px solid rgba(217,192,141,.25); border-radius: 50%; animation: method-ring 18s linear infinite; }
.method-lab__ring:nth-child(2) { inset: 25%; border-style: dashed; animation-direction: reverse; animation-duration: 12s; }
.method-lab__ring::after { position: absolute; top: 12%; left: 13%; width: 7px; height: 7px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 22px rgba(217,192,141,.75); content: ""; }
.method-lab__dial img { position: absolute; width: 27%; opacity: .08; filter: brightness(0) invert(1); }
.method-lab__dial > div { position: relative; z-index: 2; display: flex; align-items: baseline; gap: .45rem; color: var(--white); }
.method-lab__dial strong { color: var(--gold-400); font-size: clamp(2.8rem,4.2vw,3.6rem); font-weight: 300; line-height: 1; font-variant-numeric: tabular-nums; }
.method-lab__dial small { color: rgba(255,255,255,.45); font-size: .72rem; }
@keyframes method-ring { to { transform: rotate(360deg); } }
.method-lab__steps { position: relative; display: grid; gap: 1rem; }
.method-lab__steps::before { position: absolute; top: 2rem; right: 2.55rem; bottom: 2rem; width: 1px; background: linear-gradient(var(--gold-400),rgba(199,168,107,.1)); content: ""; }
.method-lab__step { position: relative; display: grid; min-height: 290px; grid-template-columns: 3rem auto 1fr; align-items: start; gap: 1.2rem; overflow: hidden; padding: 2rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(255,255,255,.72); opacity: .56; transform: scale(.96); transition: opacity .5s, transform .6s var(--ease), background .45s, box-shadow .45s; }
.method-lab__step::after { position: absolute; top: -6rem; left: -6rem; width: 15rem; height: 15rem; border: 1px solid rgba(199,168,107,.14); border-radius: 50%; content: ""; transition: transform .7s var(--ease); }
.method-lab__step.is-active { background: var(--white); opacity: 1; box-shadow: var(--shadow); transform: scale(1) translateX(-.75rem); }
.method-lab__step.is-active::after { transform: scale(1.35); }
.method-lab__number { position: relative; z-index: 1; color: var(--gold-500); font-size: .64rem; }
.method-lab__step > i { position: relative; z-index: 1; display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--gold-500); transition: color .35s, background .35s, border-color .35s; }
.method-lab__step.is-active > i { border-color: var(--navy-900); background: var(--navy-900); color: var(--gold-400); }
.method-lab__step > div { position: relative; z-index: 1; align-self: end; grid-column: 2 / -1; margin-top: 4.5rem; }
.method-lab__step h3 { margin: 0 0 .7rem; font-size: clamp(1.25rem,2vw,1.9rem); }
.method-lab__step p { max-width: 520px; margin: 0; font-size: .82rem; }
.method-lab__line { position: absolute; top: 3.45rem; right: 2.5rem; width: 1px; height: 0; background: var(--gold-500); transition: height .6s var(--ease); }
.method-lab__step.is-active .method-lab__line { height: calc(100% - 5rem); }

/* Full-cover sector scene */
.home-sectors::before { background: linear-gradient(0deg,rgba(4,22,34,.94),rgba(4,22,34,.56)), radial-gradient(circle at 20% 25%,transparent,rgba(4,22,34,.86) 62%); }
.home-sectors__image { inset: -5%; width: 110%; opacity: .72; }
.home-sectors__image img { object-position: center; }
.home-sectors__grid { margin-inline-start: 0; gap: .65rem; border: 0; }
.home-sectors__grid article { border: 1px solid rgba(255,255,255,.14); background: rgba(4,22,34,.58); }
.home-sectors__grid article:hover { background: rgba(199,168,107,.18); transform: translateY(-.35rem); }

/* Team visual uses the site's architectural media as a real network metaphor. */
.ecosystem__media > img { filter: saturate(.75) contrast(1.08); }
.ecosystem__media::before { position: absolute; z-index: 2; inset: 8%; border: 1px solid rgba(217,192,141,.28); border-radius: 50%; content: ""; animation: orbit-spin 28s linear infinite; }
.ecosystem__media::after { background: linear-gradient(0deg,rgba(4,22,34,.94),rgba(4,22,34,.18)); }
.ecosystem__network { position: absolute; z-index: 3; inset: 13%; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; animation: orbit-spin 20s linear infinite reverse; }
.ecosystem__network::before,
.ecosystem__network::after { position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: rgba(255,255,255,.12); content: ""; }
.ecosystem__network::after { transform: rotate(90deg); }
.ecosystem__network span { position: absolute; width: 12px; height: 12px; border: 3px solid rgba(4,22,34,.8); border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 20px rgba(217,192,141,.65); }
.ecosystem__network span:nth-child(1) { top: -6px; left: 50%; }
.ecosystem__network span:nth-child(2) { top: 50%; right: -6px; }
.ecosystem__network span:nth-child(3) { bottom: -6px; left: 50%; }
.ecosystem__network span:nth-child(4) { top: 50%; left: -6px; }

@media (hover: hover) and (pointer: fine) {
  [data-tilt]:not([data-reveal]) { transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
}

@media (max-width: 1180px) {
  :root { --header-h: 82px; }
  .primary-nav,
  .header-cta,
  .language-switcher { display: none; }
  .menu-toggle { display: block; }
  .home-hero__content { grid-template-columns: 1fr; }
  .home-hero__facts { grid-template-columns: repeat(3, 1fr); min-width: 0; padding: 1.5rem 0 0; border-top: 1px solid rgba(255,255,255,.18); border-inline-start: 0; }
  .service-story__layout { grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr); gap: 3rem; }
  .partners-carousel__item { flex-basis: calc((100% - 3rem) / 4); }
  .partners-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ecosystem-grid,
  .extension-value__grid { grid-template-columns: 1fr 1fr; }
  .ecosystem-grid article:nth-child(2),
  .extension-value__grid article:nth-child(2) { border-inline-end: 0; }
  .ecosystem-grid article:nth-child(-n+2),
  .extension-value__grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .experience-stats__grid { grid-template-columns: 1.3fr repeat(3, .8fr); }
	.method-preview__track { grid-template-columns: repeat(3, 1fr); }
	.home-sectors__grid { grid-template-columns: repeat(3, 1fr); margin-inline-start: 0; }
	.principles--cards > .principles__grid { grid-template-columns: repeat(3, 1fr); }
	.principles__grid article:nth-child(3n) { border-inline-end: 1px solid var(--border); }
	.principles__grid article:nth-child(n+4) { border-top: 0; }
  .site-footer__top { grid-template-columns: 1.3fr .75fr 1fr; }
  .footer-contact { grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.1); }
  .footer-contact__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .container,
  .container-wide { width: min(calc(100% - 2rem), var(--container)); }
  .section { padding-block: 6rem; }
  .scroll-rail { display: none; }
  .cursor-glow { display: none; }
  .home-hero { min-height: 760px; padding-bottom: 3.5rem; }
  .home-hero__veil { background: linear-gradient(0deg, rgba(4,22,34,.82), rgba(4,22,34,.32) 85%), linear-gradient(90deg, transparent, rgba(4,22,34,.45)); }
  .hero-orbit { top: 12%; left: -8%; }
  .hero-scroll { display: none; }
  .home-partners__head,
  .partners-directory__head { align-items: flex-start; flex-direction: column; }
  .home-partners__actions { width: 100%; justify-content: space-between; }
  .partners-carousel__item { flex-basis: calc((100% - 2rem) / 3); }
  .partners-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .manifesto__grid,
  .services-intro__grid,
  .about-intro__grid,
  .allies-intro__grid,
  .method-intro__grid,
  .service-story__head,
  .method-preview__head,
  .ecosystem__head,
  .extension-value__head,
  .sectors__head,
  .credentials__head { grid-template-columns: 1fr; gap: 2rem; }
  .section-index { flex-direction: row; align-items: baseline; }
  .section-index span { font-size: 2rem; }
  .manifesto__details,
  .about-intro__copy { grid-template-columns: 1fr; }
  .service-story__layout { grid-template-columns: 1fr; }
  .service-story__visual { display: none; }
	.story-step__mobile-image { display: block; }
  .story-step { min-height: auto; padding: 3rem 0; opacity: 1; border-top: 1px solid var(--border-light); }
  .story-step:first-child { border-top: 0; }
  .number-grid { grid-template-columns: 1fr; }
  .number-card { min-height: 230px; border-inline-end: 0; border-bottom: 1px solid var(--border); }
  .number-card:last-child { border-bottom: 0; }
  .number-card__icon { margin-bottom: 2.5rem; }
  .founder-teaser__grid,
  .founder-profile__grid,
  .service-detail__grid,
  .method-timeline__layout,
  .contact-section__grid { grid-template-columns: 1fr; }
  .founder-teaser__image .image-mask,
  .founder-profile__image { height: 680px; }
  .method-preview__track { grid-template-columns: 1fr; gap: 0; padding-top: 0; }
  .method-preview__track::before { top: 0; right: .65rem; bottom: 0; left: auto; width: 1px; height: auto; }
  .method-node { display: grid; min-height: 6rem; grid-template-columns: auto 1fr; align-items: start; gap: 1rem; padding: 0 0 2rem; }
  .method-node p { margin: 0; }
  .method-node span { background: var(--sand-50); }
  .inner-hero { min-height: 680px; }
  .vision-grid,
  .ally-cards__grid { grid-template-columns: 1fr; }
	.principles--cards > .principles__grid { grid-template-columns: 1fr 1fr; }
	.principles__grid article { border: 1px solid var(--border); border-bottom: 0; }
	.principles__grid article:nth-child(even) { border-inline-start: 0; }
	.principles__grid article:last-child { border-bottom: 1px solid var(--border); }
  .credentials-list { grid-template-columns: 1fr; }
  .credentials-list article:nth-child(odd) { border-inline-end: 0; }
  .experience-stats__grid { grid-template-columns: 1fr 1fr; }
  .experience-stats__title { grid-column: 1 / -1; }
  .experience-stat:nth-child(3) { border-inline-end: 0; }
  .ecosystem__numbers { grid-template-columns: 1fr; }
  .ecosystem__numbers > div:first-child { border-inline-end: 0; border-bottom: 1px solid var(--border-light); }
  .service-detail--reverse .service-detail__media { order: initial; }
  .service-detail__image { height: 600px; }
  .service-detail__number { left: 0; }
  .integration__visual { left: -15%; width: 70vw; opacity: .45; }
  .method-timeline__sticky,
  .contact-section__intro { position: relative; top: auto; }
  .assurance__grid,
  .sector-grid,
  .what-next__grid { grid-template-columns: 1fr; }
  .assurance article,
  .what-next article { min-height: 250px; border-inline-end: 0; border-bottom: 1px solid var(--border); }
  .assurance article:last-child,
  .what-next article:last-child { border-bottom: 0; }
  .experience-scope__grid { grid-template-columns: 1fr; }
  .contact-section__grid { gap: 4rem; }
	.home-intro__grid,
	.home-proof__grid,
	.home-contact__grid,
	.about-contact__grid,
	.about-intro__layout,
	.ecosystem__split { grid-template-columns: 1fr; }
	.home-intro__content { order: -1; }
	.home-intro__media { min-height: 600px; }
	.home-proof__media,
	.home-proof__media > img { min-height: 620px; }
	.home-proof__cards { grid-template-columns: repeat(3, 1fr); }
	.method-preview__track { grid-template-columns: 1fr 1fr; gap: .8rem; padding-top: 0; }
	.method-preview__track::before { display: none; }
	.method-node { display: grid; min-height: 200px; grid-template-columns: auto 1fr; padding: 1.4rem; }
	.method-node p { margin: 0; }
	.home-sectors { min-height: auto; }
	.home-sectors__image { inset: -5%; width: 110%; opacity: .42; }
	.home-sectors::before { background: rgba(4,22,34,.84); }
	.home-sectors__head,
	.experience-showcase__head { grid-template-columns: 1fr; gap: 2rem; }
	.home-sectors__grid { grid-template-columns: 1fr 1fr; }
	.home-contact__aside { min-height: 670px; }
	.about-intro__media,
	.about-intro__media > img { min-height: 620px; height: 620px; }
	.principles--cards > .principles__head { align-items: flex-start; flex-direction: column; }
	.experience-showcase__stats { grid-template-columns: repeat(3, 1fr); }
	.experience-showcase__stats article { min-height: 245px; padding: 1.5rem; }
	.experience-showcase__stats i { margin-bottom: 3.5rem; }
	.ecosystem__media { position: relative; top: auto; min-height: 660px; }
	.ecosystem__media > img { height: 660px; }
	.method-lab__layout { grid-template-columns: 1fr; }
	.method-lab__sticky { position: relative; top: auto; }
	.method-lab__dial { width: min(260px,100%); }
	.method-lab__steps { display: flex; width: calc(100vw - 2rem); margin-inline: calc(50% - 50vw); overflow-x: auto; gap: .8rem; padding: 1.5rem 1rem 2rem; scroll-padding-inline: 1rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.method-lab__steps::-webkit-scrollbar { display: none; }
	.method-lab__steps::before { display: none; }
	.method-lab__step { min-height: 340px; flex: 0 0 min(82vw,430px); scroll-snap-align: center; opacity: 1; transform: none; }
	.method-lab__step.is-active { transform: translateY(-.35rem); }
	.method-lab__line { display: none; }
  .mobile-menu__panel { width: min(96vw,780px); grid-template-columns: minmax(0,1.28fr) minmax(220px,.72fr); }
  .mobile-menu__inner { padding-inline: 2rem; }
  .mobile-menu__visual > p { inset-inline: 1.25rem; bottom: 1.5rem; }
  .footer-cta { align-items: start; grid-template-columns: 1fr; }
  .footer-cta .button { justify-self: start; }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
  .footer-brand,
  .footer-contact { grid-column: 1 / -1; }
  .site-footer__bottom { grid-template-columns: 1fr auto; }
  .footer-language { justify-self: end; }
  .site-footer__bottom > a { grid-column: 1 / -1; justify-self: start; }

  /* Mobile performance: content is paint-ready without late reveal gaps. */
  [data-reveal],
  [data-image-reveal],
  [data-hero-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  [data-image-reveal] > img,
  [data-image-reveal] figure img { transform: none !important; transition: none !important; }
  [data-tilt],
  [data-reveal].is-visible[data-tilt] { --tilt-x: 0deg; --tilt-y: 0deg; transform: none !important; will-change: auto; }
  .site-header.is-scrolled { background: rgba(251,248,241,.985); backdrop-filter: none; }
  .page-loader { transition-duration: .18s; }
  .ambient-lines span,
  .hero-orbit span,
  .final-cta__rings span,
  .ecosystem__media::before,
  .ecosystem__network,
  .service-story::before { animation: none !important; }
}

@media (max-width: 620px) {
  body { font-size: 15px; }
	.container,
	.container-wide { width: min(calc(100% - 3rem), var(--container)); }
	.brand__logo { width: 12rem; }
  .home-hero { min-height: 720px; padding-top: 8rem; }
  .home-hero h1 { font-size: clamp(2.25rem, 11vw, 3.5rem); }
  .home-hero__actions { align-items: flex-start; flex-direction: column; }
  .home-hero__facts { gap: .7rem; }
  .home-hero__facts strong { font-size: 1.65rem; }
  .home-hero__facts span { font-size: .6rem; }
  .home-partners__actions { align-items: flex-start; flex-direction: column; }
  .partners-carousel__item { flex-basis: calc((100% - 1rem) / 2); }
  .partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-logo-card { min-height: 140px; padding: 1rem; }
  .partner-logo-card img { height: 88px; }
  .values-ribbon { justify-content: flex-start; gap: 1.2rem 2rem; }
  .values-ribbon span::after { display: none; }
  .numbers-section__intro,
  .what-next__head { align-items: flex-start; flex-direction: column; }
  .founder-teaser__image .image-mask,
  .founder-profile__image,
  .service-detail__image { height: 120vw; max-height: 600px; }
  .founder-teaser__stamp { left: .5rem; width: 7.5rem; height: 7.5rem; }
  .vision-card,
  .ally-card { min-height: 460px; padding: 2rem; }
  .principles--cards > .principles__grid,
  .experience-stats__grid,
  .ecosystem-grid,
  .extension-value__grid { grid-template-columns: 1fr; }
  .principles__grid article,
  .experience-stat,
  .ecosystem-grid article,
  .extension-value__grid article { border-inline-end: 0; }
  .principles__grid article:last-child,
  .ecosystem-grid article:not(:last-child),
  .extension-value__grid article:not(:last-child) { border-bottom: 1px solid var(--border); }
  .experience-stats__title { grid-column: auto; }
  .ecosystem__numbers > div { align-items: flex-start; flex-direction: column; padding: 2rem; }
  .service-jump .container { justify-content: flex-start; }
  .service-detail__number { font-size: 6rem; }
  .method-step { min-height: 280px; padding-right: 4rem; }
  .method-principle__grid { grid-template-columns: 1fr; }
  .method-principle__grid > i { font-size: 2.5rem; }
  .contact-form-wrap { padding: 1.25rem; }
  .field-row { grid-template-columns: 1fr; }
  .contact-form .button { width: 100%; }
	.home-intro__media { min-height: 490px; }
	.about-contact__details { grid-template-columns: 1fr; }
	.home-intro__main { inset: 0 0 4rem 1.5rem; }
	.home-intro__detail { width: 54%; border-width: 7px; }
	.home-intro__caption { top: 1.2rem; left: .6rem; }
	.home-intro__values { grid-template-columns: 1fr; }
	.home-intro__content h2,
	.service-story__head h2 { font-size: 1.5rem; line-height: 1.5; }
	.home-intro__values span { min-height: 105px; }
	.home-proof__media,
	.home-proof__media > img { min-height: 520px; }
	.home-proof__cards,
	.method-preview__track,
	.home-sectors__grid,
	.experience-showcase__stats { grid-template-columns: 1fr; }
	.home-proof__cards article { min-height: 205px; }
	.home-proof__cards i { margin-bottom: 2.7rem; }
	.method-node { min-height: 170px; }
	.home-sectors__grid article { min-height: 180px; }
	.home-contact__aside { min-height: 600px; }
	.about-intro__media,
	.about-intro__media > img { min-height: 520px; height: 520px; }
	.about-intro__signals { display: grid; grid-template-columns: 1fr; }
	.principles--cards > .principles__grid { grid-template-columns: 1fr; }
	.principles__grid article,
	.principles__grid article:nth-child(even) { border: 1px solid var(--border); border-bottom: 0; }
	.principles__grid article:last-child { border-bottom: 1px solid var(--border); }
	.ecosystem__media { min-height: 560px; }
	.ecosystem__media > img { height: 560px; }
	.ecosystem__badges { grid-template-columns: 1fr 1fr; right: .8rem; bottom: .8rem; left: .8rem; }
	.ecosystem__badges > span { min-height: 110px; padding: .9rem; }
	.ecosystem__badges strong { font-size: 1.9rem; }
	.method-lab__dial { width: min(225px,100%); }
	.method-lab__dial strong { font-size: 3.2rem; }
	.method-lab__steps { width: 100vw; margin-inline: calc(50% - 50vw); padding-inline: 1.5rem; }
	.method-lab__step { min-height: 315px; flex-basis: calc(100vw - 4rem); grid-template-columns: 2rem auto 1fr; padding: 1.5rem; }
	.method-lab__step > div { margin-top: 3.5rem; }
  .final-cta { min-height: 650px; }
  .mobile-menu__panel { width: 100%; grid-template-columns: 1fr; }
  .mobile-menu__visual { display: none; }
  .mobile-menu__inner { padding: calc(var(--header-h) + .8rem) 1.5rem 1.25rem; }
  .mobile-menu nav { padding-block: .75rem; }
  .mobile-menu li a { padding-block: .72rem; }
  .mobile-menu li a strong { font-size: 1rem; }
  .mobile-menu__contact { padding-top: .8rem; }
  .mobile-menu__contact > div { display: grid; gap: .35rem; }
  .mobile-menu__contact > strong { font-size: .65rem; }
  .site-footer::before { opacity: .045; background-size: 50% 100%; }
  .footer-cta { padding-bottom: 3.3rem; }
  .footer-cta h2 { font-size: 1.65rem; }
  .site-footer__top { grid-template-columns: 1fr; }
  .footer-brand,
  .footer-contact { grid-column: auto; }
  .footer-contact { padding-top: 2rem; }
  .footer-contact__links { grid-template-columns: 1fr; }
  .site-footer__bottom { grid-template-columns: 1fr auto; align-items: center; gap: 1rem; }
  .site-footer__bottom p { grid-column: 1 / -1; }
  .footer-language { justify-self: start; }
  .site-footer__bottom > a { grid-column: auto; justify-self: end; }
}

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

@media (min-width: 901px) and (max-height: 760px) {
  .method-lab__sticky { top: calc(var(--header-h) + .45rem); }
  .method-lab__sticky .section-index { margin-bottom: .65rem; }
  .method-lab__sticky .section-index span { font-size: 1.9rem; }
  .method-lab__sticky .eyebrow { margin-bottom: .5rem; font-size: .64rem; }
  .method-lab__sticky h2 { margin-bottom: .55rem; font-size: 1.38rem; }
  .method-lab__sticky > p:not(.eyebrow) { font-size: .7rem; line-height: 1.6; }
  .method-lab__dial { width: min(190px,28vh); margin-block: .75rem; }
  .method-lab__dial strong { font-size: 2.55rem; }
  .method-lab__sticky .text-link { font-size: .72rem; }
}

@media (hover: none) {
  .cursor-glow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal],
  [data-hero-reveal] { opacity: 1 !important; transform: none !important; }
  .page-loader { display: none; }
}
