:root {
  --font: "Aptos", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-heading: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --container: min(1240px, calc(100% - 48px));
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --ease: cubic-bezier(.2,.75,.2,1);
}

/* Spark-inspired editorial redesign: bold type, orbital colour, sharp surfaces */
@media not all {
:root {
  --font: "Aptos", "Helvetica Neue", Arial, sans-serif;
  --font-heading: "Aptos Display", "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --container: min(1380px, calc(100% - 72px));
  --radius-xl: 4px;
  --radius-lg: 3px;
  --radius-md: 2px;
}

html[data-theme="dark"] {
  --bg: #080808;
  --bg-2: #111111;
  --surface: #111111;
  --surface-2: #171717;
  --surface-solid: #111111;
  --text: #f4f1ed;
  --heading: #ffffff;
  --muted: #aaa6a0;
  --muted-2: #77736e;
  --line: rgba(255,255,255,.14);
  --line-strong: rgba(255,108,45,.72);
  --blue: #ff612e;
  --blue-2: #ff9764;
  --blue-soft: rgba(255,97,46,.12);
  --amber: #cbff3f;
  --green: #cbff3f;
  --shadow: 0 30px 90px rgba(0,0,0,.45);
  --shadow-soft: 0 18px 44px rgba(0,0,0,.3);
  --header-bg: rgba(8,8,8,.88);
  --section-tint: rgba(255,255,255,.025);
  --grain: rgba(255,255,255,.08);
  --hero-grid: rgba(255,255,255,.035);
  --footer-bg: #cbff3f;
}

html[data-theme="light"] {
  --bg: #f3f1ec;
  --bg-2: #e9e6df;
  --surface: #ffffff;
  --surface-2: #ece9e2;
  --surface-solid: #ffffff;
  --text: #161616;
  --heading: #090909;
  --muted: #5e5a55;
  --muted-2: #858079;
  --line: rgba(10,10,10,.15);
  --line-strong: rgba(255,79,28,.7);
  --blue: #f04b1b;
  --blue-2: #ff7a45;
  --blue-soft: rgba(240,75,27,.1);
  --amber: #9dcc1c;
  --green: #699300;
  --header-bg: rgba(243,241,236,.9);
  --section-tint: rgba(0,0,0,.025);
  --footer-bg: #151515;
}

body {
  background: var(--bg);
  letter-spacing: -.01em;
}

body::before {
  opacity: .2;
  background-size: 5px 5px;
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading);
  font-weight: 800;
  letter-spacing: -.055em;
}

.section { padding: 130px 0; }
.eyebrow { color: var(--blue); letter-spacing: .13em; font-weight: 800; }
.section-kicker-row { align-items:end; border-top:1px solid var(--line); padding-top:24px; }
.section-kicker-row h2, .section > .container > h2 { max-width:900px; font-size:clamp(3rem,6vw,6.7rem); line-height:.88; }
.section-note { max-width:330px; font-size:1rem; }

.site-header { background:transparent; }
.site-header.is-scrolled { backdrop-filter:blur(16px); }
.nav-shell { min-height:96px; }
.brand-mark { border-radius:50%; background:var(--blue); color:#090909; box-shadow:none; }
.brand-name { text-transform:uppercase; letter-spacing:.05em; font-size:.72rem; }
.primary-nav { gap:26px; }
.primary-nav a { text-transform:uppercase; letter-spacing:.09em; font-size:.72rem; font-weight:760; }
.primary-nav a::after { background:var(--blue); height:2px; }
.nav-cta, .button--primary { background:var(--blue); color:#080808; border-color:var(--blue); border-radius:999px; box-shadow:none; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.nav-cta:hover, .button--primary:hover { background:var(--amber); border-color:var(--amber); color:#080808; }
.theme-toggle { border-radius:50%; }

.hero { min-height:100svh; padding:150px 0 80px; overflow:hidden; }
.hero::before { content:""; position:absolute; width:min(48vw,650px); aspect-ratio:1; right:-3vw; top:12vh; border-radius:50%; background:radial-gradient(circle at 35% 30%, #ffd17c 0 3%, #ff7b30 16%, #dd235e 39%, #4b125f 66%, #090909 74%); filter:saturate(1.18); box-shadow:0 0 90px rgba(255,71,58,.28); animation:planetFloat 9s ease-in-out infinite alternate; }
.hero::after { content:""; position:absolute; width:170px; aspect-ratio:1; right:38%; bottom:8%; border-radius:50%; background:radial-gradient(circle at 35% 30%, #ecffae, #bfff37 45%, #335700 78%); filter:blur(.2px); box-shadow:0 0 50px rgba(190,255,48,.25); animation:planetFloat 7s ease-in-out -2s infinite alternate-reverse; }
@keyframes planetFloat { to { transform:translate3d(0,26px,0) rotate(7deg); } }
.hero-grid-bg { background-image:linear-gradient(var(--hero-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,#000,transparent 85%); }
.hero-grid { grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); align-items:center; }
.hero-copy { position:relative; z-index:4; }
.hero-copy h1 { max-width:940px; margin:.22em 0 .18em; font-size:clamp(4rem,9.6vw,10rem); line-height:.76; text-transform:uppercase; }
.hero-role { display:inline-block; margin:0 0 24px; color:var(--amber); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hero-tagline { max-width:590px; font-size:clamp(1.25rem,2vw,2rem); line-height:1.15; }
.hero-actions { margin-top:36px; }
.button { min-height:58px; padding:0 26px; border-radius:999px; }
.button--ghost { border-color:var(--line); background:rgba(0,0,0,.12); }
.hero-meta { margin-top:58px; border-top:1px solid var(--line); padding-top:22px; }
.hero-scene { z-index:3; transform:translateY(7%); }
.portrait-shell { border-radius:48% 48% 4px 4px; border:1px solid rgba(255,255,255,.18); background:#111; box-shadow:0 50px 100px rgba(0,0,0,.58); }
.portrait-shell::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65)); pointer-events:none; }
.portrait-signature { color:#fff; z-index:2; text-transform:uppercase; letter-spacing:.08em; }
.scene-globe,.scene-orb { display:none; }
.float-card { border-radius:2px; border:1px solid rgba(255,255,255,.22); background:rgba(8,8,8,.82); backdrop-filter:blur(15px); box-shadow:0 18px 45px rgba(0,0,0,.35); }
.float-card--strategy { border-left:3px solid var(--blue); }
.float-card--platforms { border-left:3px solid var(--amber); }
.float-card--impact { border-left:3px solid #bd5cff; }
.scene-caption { text-transform:uppercase; letter-spacing:.16em; }

.stats { background:var(--amber); color:#111; }
.stats .eyebrow, .stats h2, .stats .section-note, .stats .stat-card h3 { color:#111; }
.stats .section-kicker-row { border-color:rgba(0,0,0,.25); }
.stats-grid { gap:0; border:1px solid rgba(0,0,0,.25); }
.stat-card { border:0; border-right:1px solid rgba(0,0,0,.25); border-radius:0; background:transparent; box-shadow:none; }
.stat-card:last-child { border-right:0; }
.stat-number { color:#111; font-family:var(--font-heading); font-weight:900; letter-spacing:-.07em; }
.stat-icon { color:#111; }

.expertise-card, .project-card, .service-card, .work-project, .timeline-card, .achievement-card, .contact-detail-card {
  border-radius:2px;
  box-shadow:none;
}
.expertise-grid { gap:0; border-top:1px solid var(--line); }
.expertise-card { border:0; border-bottom:1px solid var(--line); background:transparent; padding:34px 0; grid-template-columns:84px 1fr; }
.expertise-card:hover { background:var(--surface); transform:none; padding-left:22px; }
.expertise-card h3 { font-size:clamp(1.8rem,3vw,3.2rem); }
.icon-box { border-radius:50%; background:var(--blue); color:#080808; }

.work { background:#121212; }
html[data-theme="light"] .work { background:#181818; color:#f4f1ed; }
.work h2, .work .eyebrow, .work .text-link { color:#fff; }
.work .eyebrow { color:#ff7a45; }
.work-grid { gap:28px; }
.project-card { border:0; background:#1a1a1a; overflow:hidden; }
.project-thumb { aspect-ratio:1.35; border-radius:0; }
.project-thumb img { transition:transform .7s var(--ease),filter .4s ease; }
.project-card:hover .project-thumb img { transform:scale(1.045); }
.project-body { padding:28px; color:#f3f3f3; }
.project-body h3 { font-size:clamp(1.8rem,2.7vw,3.1rem); }
.project-body p { color:#aaa; }
.project-arrow { color:var(--amber); }

.companies { background:var(--blue); color:#0a0a0a; }
.companies h2,.companies .eyebrow { color:#0a0a0a; }
.marquee { border-color:rgba(0,0,0,.28); }
.marquee-group > .company-logo { color:#0a0a0a; font-family:var(--font-heading); font-weight:900; text-transform:uppercase; }

.cta-panel { border-radius:2px; border:0; background:var(--amber); color:#0b0b0b; box-shadow:none; }
.cta-copy h2,.cta-copy p,.cta-copy .eyebrow { color:#0b0b0b; }
.cta-panel .button--primary { background:#0b0b0b; color:#fff; border-color:#0b0b0b; }
.cta-portal { border-radius:50%; background:radial-gradient(circle at 35% 30%,#ffd171,#ff5b31 25%,#b22a77 58%,#191123 72%); }

.site-footer { background:var(--footer-bg); }
html[data-theme="dark"] .site-footer { color:#101010; }
html[data-theme="dark"] .site-footer a, html[data-theme="dark"] .site-footer .brand-role { color:#101010; }

.page-hero h1, .work-hero h1, .project-hero h1 { font-size:clamp(4rem,8vw,8.5rem); line-height:.82; text-transform:uppercase; }
.work-project__media, .project-gallery img { border-radius:0; }
.work-project__category { border-radius:0; background:var(--amber); color:#0a0a0a; }
.filter-tab { border-radius:999px; }
.filter-tab.is-active { background:var(--blue); color:#090909; }

@media (max-width: 980px) {
  :root { --container:min(100% - 36px,1380px); }
  .hero::before { width:72vw; right:-28vw; top:10vh; opacity:.76; }
  .hero::after { right:4%; bottom:19%; width:110px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy h1 { font-size:clamp(4rem,15vw,8rem); }
  .hero-scene { width:min(620px,92%); justify-self:end; margin-top:-30px; }
  .section { padding:96px 0; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat-card:nth-child(2) { border-right:0; }
  .stat-card:nth-child(-n+2) { border-bottom:1px solid rgba(0,0,0,.25); }
}

@media (max-width: 640px) {
  :root { --container:calc(100% - 28px); }
  .nav-shell { min-height:76px; }
  .hero { padding-top:118px; }
  .hero-copy h1 { font-size:clamp(3.55rem,18vw,6rem); }
  .hero-role { font-size:.78rem; }
  .hero-meta { align-items:flex-start; }
  .hero-scene { width:100%; margin-top:30px; }
  .float-card { display:none; }
  .section { padding:78px 0; }
  .section-kicker-row h2, .section > .container > h2 { font-size:clamp(2.75rem,14vw,4.6rem); }
  .stats-grid { grid-template-columns:1fr; }
  .stat-card { border-right:0; border-bottom:1px solid rgba(0,0,0,.25); }
  .stat-card:last-child { border-bottom:0; }
  .expertise-card { grid-template-columns:62px 1fr; }
}
}

html[data-theme="dark"] {
  --bg: #07101c;
  --bg-2: #091522;
  --surface: rgba(12,25,40,.74);
  --surface-2: rgba(17,34,52,.72);
  --surface-solid: #0d1b2a;
  --text: #f5f8fc;
  --heading: #f7f9fc;
  --muted: #a3b1c2;
  --muted-2: #6f8194;
  --line: rgba(145,190,235,.14);
  --line-strong: rgba(82,171,255,.34);
  --blue: #2d9cff;
  --blue-2: #63b8ff;
  --blue-soft: rgba(45,156,255,.13);
  --amber: #f0a63c;
  --green: #37df89;
  --shadow: 0 28px 80px rgba(0,0,0,.35);
  --shadow-soft: 0 18px 50px rgba(0,0,0,.2);
  --header-bg: rgba(7,16,28,.76);
  --section-tint: rgba(255,255,255,.018);
  --grain: rgba(255,255,255,.10);
  --hero-grid: rgba(94,157,222,.055);
  --footer-bg: #050c15;
  --project-img-filter: none;
  --band: color-mix(in srgb, var(--blue) 7%, var(--bg-2));
}

html[data-theme="light"] {
  --bg: #f7fbff;
  --bg-2: #edf5fc;
  --surface: rgba(255,255,255,.72);
  --surface-2: rgba(255,255,255,.88);
  --surface-solid: #ffffff;
  --text: #162238;
  --heading: #0d2343;
  --muted: #5f7188;
  --muted-2: #8796a8;
  --line: rgba(31,76,122,.11);
  --line-strong: rgba(20,126,232,.26);
  --blue: #188cf0;
  --blue-2: #43a8ff;
  --blue-soft: rgba(24,140,240,.10);
  --amber: #e6a33c;
  --green: #20c77a;
  --shadow: 0 28px 80px rgba(45,83,125,.14);
  --shadow-soft: 0 16px 42px rgba(42,75,108,.10);
  --header-bg: rgba(247,251,255,.80);
  --section-tint: rgba(227,239,250,.42);
  --grain: rgba(25,56,89,.065);
  --hero-grid: rgba(70,122,175,.055);
  --footer-bg: rgba(255,255,255,.82);
  --project-img-filter: saturate(.86) brightness(1.04);
  --band: color-mix(in srgb, var(--blue) 7%, var(--bg-2));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 78% 4%, color-mix(in srgb, var(--blue) 9%, transparent), transparent 30%),
    radial-gradient(circle at 12% 26%, color-mix(in srgb, var(--blue) 5%, transparent), transparent 28%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  transition: background .45s ease, color .45s ease;
}
h1,h2,h3,h4,h5,h6 { font-family:var(--font-heading);font-weight:600; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .23;
  background-image: radial-gradient(var(--grain) .55px, transparent .55px);
  background-size: 7px 7px;
  mask-image: linear-gradient(to bottom, #000, transparent 76%);
  z-index: -4;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.container { width: var(--container); margin: 0 auto; }
.section { position: relative; padding: 100px 0; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed;left:18px;top:18px;padding:10px 14px;background:var(--heading);color:var(--bg);border-radius:10px;transform:translateY(-160%);transition:transform .2s ease;z-index:999; }
.skip-link:focus { transform:translateY(0); }

/* ambient 3D atmosphere */
.ambient { position:fixed;border-radius:999px;filter:blur(95px);pointer-events:none;z-index:-3;will-change:transform,opacity; }
.ambient--one { width:520px;height:520px;left:-180px;top:4vh;background:color-mix(in srgb,var(--blue) 42%,transparent);opacity:.14;animation:driftOne 20s ease-in-out infinite alternate; }
.ambient--two { width:460px;height:460px;right:-160px;top:32vh;background:color-mix(in srgb,var(--blue-2) 28%,transparent);opacity:.13;animation:driftTwo 25s ease-in-out infinite alternate; }
.ambient--three { width:340px;height:340px;left:44%;bottom:-120px;background:color-mix(in srgb,var(--amber) 28%,transparent);opacity:.08;animation:driftThree 27s ease-in-out infinite alternate; }
.ambient--four { width:260px;height:260px;right:18%;top:8vh;background:color-mix(in srgb,var(--amber) 16%,transparent);opacity:.08;animation:driftFour 17s ease-in-out infinite alternate; }
@keyframes driftOne { to { transform:translate3d(120px,80px,0) scale(1.08);opacity:.2; } }
@keyframes driftTwo { to { transform:translate3d(-100px,-120px,0) scale(.93);opacity:.1; } }
@keyframes driftThree { to { transform:translate3d(-80px,-90px,0) scale(1.12);opacity:.13; } }
@keyframes driftFour { to { transform:translate3d(-46px,72px,0) scale(.9);opacity:.12; } }

/* header */
.site-header { position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease; }
.site-header.is-scrolled { background:var(--header-bg);border-color:var(--line);backdrop-filter:blur(22px) saturate(1.15); }
.nav-shell { min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px; }
.brand { display:inline-flex;align-items:center;gap:11px;font-weight:680;letter-spacing:-.02em; }
.brand-mark-img { height:39px;width:auto;display:block;flex:none; }
.brand-mark-img--dark { display:none; }
html[data-theme="dark"] .brand-mark-img--light { display:none; }
html[data-theme="dark"] .brand-mark-img--dark { display:block; }
.brand-lockup { display:flex;flex-direction:column;line-height:1.15; }
.brand-name { font-size:13.5px;font-weight:700;color:var(--heading); }
.brand-role { margin-top:4px;color:var(--muted-2);font-size:10px;text-transform:uppercase;letter-spacing:.08em; }
.primary-nav { display:flex;align-items:center;gap:28px;margin-left:auto; }
.primary-nav a { position:relative;padding:28px 0;color:var(--muted);font-size:13px;transition:color .2s ease; }
.primary-nav a::after { content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .22s ease; }
.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a.is-active { color:var(--heading); }
.primary-nav a.is-active::after,.primary-nav a:hover::after { transform:scaleX(1); }
.nav-actions { display:flex;align-items:center;gap:10px; }
/* Services mega menu (desktop) */
.nav-item--mega { position:relative;display:inline-flex;align-items:center; }
.mega-menu { position:fixed;top:72px;left:50%;width:min(1080px,calc(100vw - 40px));padding:18px;background:color-mix(in srgb,var(--surface-solid,var(--surface)) 96%,var(--blue) 4%);border:1px solid color-mix(in srgb,var(--line) 76%,var(--blue) 24%);border-radius:22px;box-shadow:0 28px 80px rgba(3,13,28,.22),0 2px 8px rgba(3,13,28,.08);backdrop-filter:blur(24px) saturate(1.15);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%);transition:opacity .18s ease,visibility .18s ease;z-index:130; }
.nav-item--mega:hover .mega-menu,.nav-item--mega:focus-within .mega-menu { opacity:1;visibility:visible;pointer-events:auto; }
.primary-nav .mega-menu a { padding:0;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none; }
.primary-nav .mega-menu a::after { display:none; }
.mega-menu__intro { display:flex;align-items:baseline;gap:13px;padding:2px 4px 15px;border-bottom:1px solid var(--line); }
.mega-menu__intro strong { color:var(--heading);font-size:.92rem;font-weight:650;letter-spacing:-.01em; }
.mega-menu__eyebrow { color:var(--blue);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em; }
.mega-menu__groups { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 0; }
.mega-menu__group { min-width:0;padding:13px 10px 9px;border-radius:16px;transition:background .2s ease; }
.mega-menu__group:hover { background:color-mix(in srgb,var(--blue) 5%,transparent); }
.mega-menu__group-heading { display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;min-height:64px;padding:0 4px 11px;margin-bottom:5px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent); }
.mega-menu__group-heading strong { display:block;color:var(--heading);font-size:.78rem;line-height:1.25;font-weight:780;text-transform:uppercase;letter-spacing:.045em; }
.mega-menu__group-heading small { display:block;margin-top:5px;color:var(--muted);font-size:.68rem;line-height:1.35;font-weight:500; }
.mega-menu__group-number { display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);font-size:.62rem;font-weight:800;letter-spacing:.04em; }
.mega-menu__list { display:grid;gap:2px; }
.mega-menu__item { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:8px 9px !important;border-radius:10px;transition:background .18s ease; }
.mega-menu__item:hover,.mega-menu__item:focus-visible { background:color-mix(in srgb,var(--blue) 11%,transparent); }
.mega-menu__title { color:var(--heading);font-size:.78rem;line-height:1.3;font-weight:680; }
.mega-menu__arrow { color:var(--blue);font-size:.75rem;opacity:0;transform:translate(-3px,3px);transition:opacity .18s ease,transform .18s ease; }
.mega-menu__item:hover .mega-menu__arrow,.mega-menu__item:focus-visible .mega-menu__arrow { opacity:1;transform:none; }
.mega-menu__footer { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 5px 1px;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem; }
.mega-menu__all { display:inline-flex !important;align-items:center;gap:8px;color:var(--blue) !important;font-weight:750;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap; }
.mega-menu__all span { transition:transform .18s ease; }
.mega-menu__all:hover span { transform:translateX(3px); }
.nav-cta { min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--blue-2));color:white;font-size:12px;font-weight:750;box-shadow:0 10px 24px color-mix(in srgb,var(--blue) 22%,transparent); }
.theme-toggle { width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--heading);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);transition:transform .25s var(--ease),background .3s ease; }
.theme-toggle:hover { transform:translateY(-2px) rotate(4deg); }
.theme-icon { grid-area:1/1;display:grid;place-items:center;transition:opacity .25s ease,transform .35s var(--ease); }
.theme-icon svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round; }
html[data-theme="dark"] .theme-icon--sun { opacity:1;transform:none; }
html[data-theme="dark"] .theme-icon--moon { opacity:0;transform:rotate(-40deg) scale(.7); }
html[data-theme="light"] .theme-icon--sun { opacity:0;transform:rotate(45deg) scale(.7); }
html[data-theme="light"] .theme-icon--moon { opacity:1;transform:none; }
.menu-toggle { display:none; }

/* hero */
.hero { position:relative;min-height:100svh;display:flex;align-items:center;padding:132px 0 72px;overflow:hidden; }
.hero-grid-bg { position:absolute;inset:0;background-image:linear-gradient(var(--hero-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 82%);pointer-events:none; }
.hero::after { content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent); }
.hero-grid { position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);gap:56px;align-items:center; }
.hero-copy { position:relative;z-index:8;max-width:660px;padding-left:26px; }
.hero-copy::before { content:'';position:absolute;left:0;top:5px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--blue),var(--amber)); }
.eyebrow { margin:0 0 16px;color:var(--blue);font-size:10px;line-height:1.4;font-weight:800;text-transform:uppercase;letter-spacing:.18em; }
.hero-eyebrow { display:inline-flex;align-items:center;gap:9px;color:var(--blue-2); }
.hero-eyebrow::before { content:'';width:6px;height:6px;border-radius:1.5px;background:var(--blue-2);transform:rotate(45deg);flex:none; }
.hero h1 { margin:0;color:var(--heading);font-size:clamp(38px,4.4vw,60px);line-height:1.03;letter-spacing:-.04em;font-weight:600;text-wrap:balance; }
.hero-credential { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0 0; }
.hero-credential__name { color:var(--heading);font-size:.95rem;font-weight:700; }
.hero-credential__divider { width:1px;height:16px;background:var(--line-strong); }
.hero-credential__role { color:var(--muted);font-size:13.5px;letter-spacing:-.02em; }
.hero-tagline { max-width:650px;margin:23px 0 0;padding-left:18px;border-left:2px solid color-mix(in srgb,var(--blue) 30%,transparent);color:var(--heading);font-size:clamp(17px,1.7vw,22px);line-height:1.3;letter-spacing:-.03em;font-weight:500; }
.hero-tagline em { color:var(--amber);font-style:normal;font-weight:690; }
.hero-actions { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px; }
.button { min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:760;transition:transform .2s var(--ease),box-shadow .2s ease,background .2s ease,border-color .2s ease; }
.button:hover { transform:translateY(-2px); }
.button--primary { background:linear-gradient(135deg,var(--blue),var(--blue-2));color:white;box-shadow:0 12px 30px color-mix(in srgb,var(--blue) 24%,transparent); }
.button--primary:hover { box-shadow:0 16px 34px color-mix(in srgb,var(--blue) 30%,transparent); }
.button--ghost { color:var(--heading);background:var(--surface);border-color:var(--line-strong);backdrop-filter:blur(14px); }
.button--ghost:hover { background:var(--surface-2); }
.button--disabled { pointer-events:none;opacity:.62; }
.hero-meta { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:34px;color:var(--muted);font-size:11px; }
.meta-item { display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-solid) 55%,transparent);backdrop-filter:blur(10px); }
.meta-item small { display:block;margin-bottom:2px;color:var(--muted-2);font-size:8px;text-transform:uppercase;letter-spacing:.12em; }
.meta-dot { width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 10%,transparent); }
.meta-dot--blue { color:var(--blue);background:var(--blue); }
.meta-dot--green { color:var(--green);background:var(--green); }
.meta-divider { display:none; }

.hero-scene { position:relative;min-height:610px;perspective:1200px;transform-style:preserve-3d;isolation:isolate; }
.scene-globe { position:absolute;width:510px;height:510px;right:18px;top:12px;border-radius:50%;transform:translateZ(-70px);background:radial-gradient(circle at 33% 26%,color-mix(in srgb,var(--blue-2) 35%,transparent),transparent 34%),radial-gradient(circle at 63% 60%,color-mix(in srgb,var(--amber) 13%,transparent),transparent 36%),radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--blue) 15%,var(--surface-solid)),var(--surface-solid) 64%,color-mix(in srgb,var(--blue) 22%,var(--surface-solid)) 66%,var(--surface-solid) 68%);box-shadow:inset -30px -30px 80px rgba(0,0,0,.20),inset 20px 16px 70px rgba(255,255,255,.07),0 0 90px color-mix(in srgb,var(--blue) 16%,transparent);opacity:.98; }
.scene-globe::before,.scene-globe::after { content:"";position:absolute;inset:10%;border-radius:50%;border:1px solid color-mix(in srgb,var(--blue-2) 20%,transparent);transform:rotate(22deg); }
.scene-globe::after { inset:25% 6%;transform:rotate(-26deg); }
.scene-globe span { position:absolute;inset:0;border-radius:50%;background-image:radial-gradient(circle at 28% 32%,color-mix(in srgb,var(--amber) 80%,transparent) 0 1px,transparent 1.7px),radial-gradient(circle at 63% 44%,color-mix(in srgb,var(--blue-2) 80%,transparent) 0 1px,transparent 1.7px),radial-gradient(circle at 72% 67%,color-mix(in srgb,var(--amber) 65%,transparent) 0 1px,transparent 1.7px);background-size:42px 42px,54px 54px,64px 64px;opacity:.55;animation:globePulse 5s ease-in-out infinite alternate; }
@keyframes globePulse { to { opacity:.8;transform:scale(1.012); } }
html[data-theme="light"] .scene-globe { opacity:.72;background:radial-gradient(circle at 33% 26%,rgba(115,192,255,.4),transparent 34%),radial-gradient(circle at 50% 50%,rgba(210,233,252,.82),rgba(185,220,249,.46) 60%,rgba(72,158,235,.22) 62%,rgba(255,255,255,.8) 65%);box-shadow:inset -25px -30px 65px rgba(57,116,169,.10),inset 18px 18px 60px rgba(255,255,255,.6),0 0 90px rgba(60,150,235,.14); }
.portrait-shell { position:absolute;right:24px;bottom:18px;width:min(510px,70%);height:548px;border:1px solid color-mix(in srgb,var(--blue) 34%,var(--line));border-radius:44px 44px 30px 30px;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--surface-solid) 96%,var(--blue) 4%),var(--surface));box-shadow:var(--shadow);transform:translateZ(55px) rotateY(-4deg);opacity:0;transition:opacity 1s var(--ease),transform 1s var(--ease),box-shadow .45s ease; }
body.is-loaded .portrait-shell { opacity:1;transform:translateZ(55px) rotateY(-2deg); }
.portrait-shell::before { content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.10),transparent 28%,transparent 66%,color-mix(in srgb,var(--blue) 10%,transparent));z-index:2;pointer-events:none; }
.portrait-shell::after { content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(to top,color-mix(in srgb,var(--bg) 48%,transparent),transparent);z-index:1;pointer-events:none; }
.portrait-depth { position:absolute;inset:14px;border:1px solid rgba(255,255,255,.18);border-radius:31px;z-index:3;pointer-events:none; }
.portrait-shell picture { display:block;width:100%;height:100%; }
.portrait-shell img { width:100%;height:100%;object-fit:cover;object-position:52% center;filter:saturate(.94) contrast(1.015) brightness(.94);transition:filter .45s ease,transform .8s var(--ease); }
body.is-loaded .portrait-shell img { transform:scale(1.015); }
html[data-theme="light"] .portrait-shell { box-shadow:0 30px 80px rgba(41,89,132,.18),inset 0 1px 0 rgba(255,255,255,.72); }
html[data-theme="light"] .portrait-shell img { filter:saturate(.93) brightness(1.025) contrast(.98); }
.portrait-signature { position:absolute;right:24px;bottom:26px;z-index:4;color:rgba(255,255,255,.88);font:italic 14px/1.35 Georgia,serif;letter-spacing:.02em;transform:rotate(-4deg);text-align:right;text-shadow:0 2px 16px rgba(0,0,0,.38); }
.float-card { position:absolute;width:176px;padding:16px 16px 15px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 86%,transparent),color-mix(in srgb,var(--surface) 76%,transparent));backdrop-filter:blur(18px) saturate(1.2);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.16);transform-style:preserve-3d;transition:transform .3s var(--ease);z-index:7; }
.float-card::after { content:"";position:absolute;left:16px;bottom:0;width:28px;height:2px;background:var(--amber);border-radius:2px; }
.float-card strong { display:block;margin:6px 0 5px;color:var(--heading);font-size:12px;text-transform:uppercase;letter-spacing:.08em; }
.float-card small { display:block;color:var(--muted);font-size:10px;line-height:1.35; }
.float-icon { color:var(--blue);font-size:20px; }
.float-card--strategy { left:4px;top:82px;transform:translateZ(90px) rotateY(10deg) rotateX(2deg); }
.float-card--platforms { right:-16px;top:114px;transform:translateZ(120px) rotateY(-9deg) rotateX(-2deg); }
.float-card--impact { right:-4px;bottom:52px;transform:translateZ(95px) rotateY(-6deg) rotateX(3deg); }
.scene-orb { position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.8),color-mix(in srgb,var(--blue) 42%,var(--surface-solid)) 22%,color-mix(in srgb,var(--surface-solid) 80%,black) 68%);box-shadow:inset -10px -12px 25px rgba(0,0,0,.16),0 12px 30px color-mix(in srgb,var(--blue) 20%,transparent);z-index:6;animation:orbFloat 5s ease-in-out infinite alternate; }
.scene-orb--one { width:44px;height:44px;left:84px;top:40px; }
.scene-orb--two { width:64px;height:64px;right:44px;bottom:28px;animation-delay:-2s; }
.scene-orb--three { width:28px;height:28px;left:42%;bottom:4px;animation-delay:-3s; }
@keyframes orbFloat { to { transform:translate3d(0,-13px,0) rotate(5deg); } }
.scene-caption { position:absolute;right:-1px;top:14px;display:flex;flex-direction:column;gap:7px;color:var(--muted-2);font-size:9px;text-transform:uppercase;letter-spacing:.14em;z-index:8; }
.scene-caption::before { content:"";position:absolute;left:-13px;top:1px;width:2px;height:42px;background:var(--amber);border-radius:2px; }

/* sections */
.section-kicker-row { display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px; }
.section-kicker-row h2,.companies h2 { margin:0;color:var(--heading);font-size:clamp(28px,3.1vw,41px);line-height:1.1;letter-spacing:-.03em;font-weight:600; }
.section-note { margin:0 0 4px;color:var(--muted-2);font-size:10px;text-transform:uppercase;letter-spacing:.14em; }
.section-note span { margin:0 4px;color:var(--blue); }
.text-link { align-self:flex-end;margin-bottom:8px;color:var(--blue);font-size:12px;font-weight:750; }
.text-link span { display:inline-block;margin-left:8px;transition:transform .2s ease; }
.text-link:hover span { transform:translateX(4px); }

.offers { background:var(--bg-2); }

.stats { padding-top:72px;padding-bottom:82px;background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.stats-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.stat-card { position:relative;min-height:188px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden; }
.stat-card::after { content:"";position:absolute;width:110px;height:110px;right:-32px;bottom:-44px;border-radius:50%;background:color-mix(in srgb,var(--blue) 6%,transparent);border:1px solid color-mix(in srgb,var(--blue) 10%,transparent); }
.stat-icon { width:38px;height:38px;display:grid;place-items:center;margin-bottom:18px;border-radius:12px;background:var(--blue-soft);color:var(--blue);font-size:13px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.10); }
.stat-number { margin:0 0 8px;color:var(--blue);font-size:42px;line-height:1;font-weight:800;letter-spacing:-.055em; }
.stat-prefix,.stat-suffix { font-size:.72em; }
.stat-card h3 { margin:0;max-width:210px;color:var(--text);font-size:13px;line-height:1.45;font-weight:580; }

.expertise { background:linear-gradient(180deg,transparent,var(--section-tint),transparent); }
.expertise-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;perspective:1200px; }
.expertise-card { display:flex;flex-direction:column;min-height:246px;padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.10);transform-style:preserve-3d;transition:transform .28s var(--ease),border-color .28s ease,box-shadow .28s ease; }
.expertise-card:hover { border-color:var(--line-strong);box-shadow:0 24px 54px color-mix(in srgb,var(--blue) 9%,transparent); }
.icon-box { width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,var(--blue-soft),color-mix(in srgb,var(--surface-solid) 88%,var(--blue) 12%));border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));box-shadow:inset 0 1px 0 rgba(255,255,255,.16);transform:translateZ(28px); }
.icon-box svg { width:25px;height:25px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.expertise-card > div:last-child { margin-top:auto;transform:translateZ(18px); }
.expertise-card h3 { margin:0 0 11px;color:var(--heading);font-size:17px;line-height:1.15;letter-spacing:-.025em; }
.expertise-card p { margin:0;color:var(--muted);font-size:13px;line-height:1.55; }

.work { border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--band); }
.work-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;perspective:1400px; }
.project-card { position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.08);transform-style:preserve-3d;transition:transform .28s var(--ease),border-color .28s ease,box-shadow .28s ease; }
.project-card:hover { border-color:var(--line-strong);box-shadow:0 26px 60px color-mix(in srgb,var(--blue) 10%,transparent); }
.project-thumb { position:relative;aspect-ratio:720/440;margin:9px 9px 0;overflow:hidden;border-radius:15px;background:var(--surface-solid);transform:translateZ(20px); }
.project-thumb::after { content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.08),transparent 34%,transparent 68%,color-mix(in srgb,var(--blue) 7%,transparent));pointer-events:none; }
.project-thumb img { display:block;width:100%;height:100%;object-fit:cover;filter:var(--project-img-filter);transition:transform .55s var(--ease); }
.project-card:hover .project-thumb img { transform:scale(1.025); }
.project-body { position:relative;min-height:142px;padding:18px 48px 22px 18px;transform:translateZ(14px); }
.project-body h3 { margin:0 0 8px;color:var(--heading);font-size:16px;letter-spacing:-.025em; }
.project-body p { margin:0;color:var(--muted);font-size:12px;line-height:1.52; }
.project-body strong { color:var(--amber);font-size:10px;letter-spacing:.03em; }
.project-arrow { position:absolute;right:16px;top:17px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--blue) 8%,var(--surface-solid));border:1px solid var(--line);color:var(--blue);font-size:13px; }
.route-note { margin:20px 0 0;color:var(--muted-2);font-size:10px;text-align:right; }

.companies { overflow:hidden;padding-bottom:82px;background:var(--bg-2); }
.companies .container { margin-bottom:22px; }
.companies h2 { font-size:clamp(24px,2.8vw,36px); }
.marquee { position:relative;width:100%;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);backdrop-filter:blur(14px); }
.marquee-track { display:flex;width:max-content;animation:marquee 34s linear infinite; }
.marquee-group { display:flex;align-items:center;flex-shrink:0; }
.marquee-group > .company-logo { position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:235px;height:104px;padding:18px 30px;color:var(--text);font-size:15px;letter-spacing:-.01em;white-space:nowrap;opacity:.9; }
.marquee-group > .company-logo::after { content:"";position:absolute;right:-1px;top:50%;width:3px;height:3px;border-radius:50%;background:currentColor;transform:translateY(-50%);opacity:.35; }
.company-logo__image { display:block;width:auto;max-width:190px;height:auto;max-height:62px;object-fit:contain;transition:transform .25s ease,filter .25s ease; }
.company-logo__name { letter-spacing:-.025em; }
.company-logo:hover .company-logo__image { transform:translateY(-3px) scale(1.025);filter:saturate(1.12); }
.company-logo--computan .company-logo__image { box-sizing:border-box;max-width:205px;max-height:62px;padding:10px 14px;border-radius:9px;background:#17394b; }
.company-logo--innovation-m .company-logo__image { max-width:150px;max-height:76px; }
.company-logo--boost2business .company-logo__image { max-width:185px; }
.marquee-fade { position:absolute;inset-block:0;width:min(16vw,190px);z-index:2;pointer-events:none; }
.marquee-fade--left { left:0;background:linear-gradient(90deg,var(--bg),transparent); }
.marquee-fade--right { right:0;background:linear-gradient(-90deg,var(--bg),transparent); }
@keyframes marquee { to { transform:translateX(-50%); } }

/* CTA: clean portal in light, cinematic orb in dark */
.closing-cta { padding-top:60px; }
.cta-panel { position:relative;min-height:330px;overflow:hidden;display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 96%,var(--blue) 4%),var(--surface));box-shadow:var(--shadow);isolation:isolate; }
.cta-copy { position:relative;z-index:4;padding:52px; }
.cta-copy h2 { margin:0;color:var(--heading);font-size:clamp(31px,3.6vw,46px);line-height:1.08;letter-spacing:-.035em; }
.cta-copy > p:not(.eyebrow) { max-width:540px;margin:18px 0 26px;color:var(--muted);font-size:14px;line-height:1.65; }
.cta-visual { position:relative;align-self:stretch;min-height:330px;perspective:1100px; }
.cta-portal { position:absolute;width:360px;height:260px;right:74px;bottom:-12px;border-radius:180px 180px 0 0;border:22px solid color-mix(in srgb,var(--surface-solid) 82%,var(--blue) 18%);background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 16%,var(--bg)),color-mix(in srgb,var(--amber) 10%,var(--bg-2)));box-shadow:inset 0 0 70px color-mix(in srgb,var(--blue) 15%,transparent),0 0 80px color-mix(in srgb,var(--blue) 11%,transparent);transform:translateZ(30px);overflow:hidden; }
.portal-city { position:absolute;left:8%;right:8%;bottom:0;height:44%;background:linear-gradient(90deg,transparent 0 4%,color-mix(in srgb,var(--heading) 44%,transparent) 4% 8%,transparent 8% 11%,color-mix(in srgb,var(--heading) 34%,transparent) 11% 17%,transparent 17% 20%,color-mix(in srgb,var(--heading) 54%,transparent) 20% 24%,transparent 24% 28%,color-mix(in srgb,var(--heading) 34%,transparent) 28% 35%,transparent 35% 39%,color-mix(in srgb,var(--heading) 46%,transparent) 39% 43%,transparent 43% 49%,color-mix(in srgb,var(--heading) 32%,transparent) 49% 54%,transparent 54% 59%,color-mix(in srgb,var(--heading) 42%,transparent) 59% 65%,transparent 65% 69%,color-mix(in srgb,var(--heading) 36%,transparent) 69% 74%,transparent 74% 79%,color-mix(in srgb,var(--heading) 52%,transparent) 79% 84%,transparent 84%);clip-path:polygon(0 100%,0 55%,4% 55%,4% 25%,8% 25%,8% 70%,12% 70%,12% 40%,17% 40%,17% 72%,21% 72%,21% 12%,24% 12%,24% 65%,29% 65%,29% 38%,35% 38%,35% 72%,40% 72%,40% 49%,44% 49%,44% 82%,50% 82%,50% 30%,54% 30%,54% 70%,60% 70%,60% 44%,65% 44%,65% 72%,70% 72%,70% 52%,75% 52%,75% 76%,80% 76%,80% 20%,84% 20%,84% 66%,90% 66%,90% 40%,94% 40%,94% 70%,100% 70%,100% 100%);opacity:.75; }
.cta-float { position:absolute;right:20px;top:54px;z-index:4;min-width:190px;padding:18px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft);transform:translateZ(80px) rotateY(-7deg); }
.cta-float strong,.cta-float span { display:block; }
.cta-float strong { color:var(--heading);font-size:12px; }
.cta-float span { margin-top:5px;color:var(--muted);font-size:11px; }
.cta-orb { position:absolute;right:38%;bottom:20px;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,color-mix(in srgb,var(--blue) 45%,var(--surface-solid)) 22%,var(--surface-solid) 70%);box-shadow:0 12px 30px color-mix(in srgb,var(--blue) 18%,transparent);animation:orbFloat 5s ease-in-out infinite alternate; }
html[data-theme="dark"] .cta-panel::after { content:"";position:absolute;width:420px;height:420px;right:-40px;bottom:-180px;border-radius:50%;background:radial-gradient(circle at 40% 30%,rgba(66,167,255,.32),rgba(10,30,49,.92) 48%,#06101c 70%);box-shadow:inset 0 0 70px rgba(255,255,255,.04),0 0 90px rgba(45,156,255,.13);z-index:-1; }
html[data-theme="light"] .cta-panel { background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(229,241,252,.86)); }
html[data-theme="light"] .cta-portal { border-color:rgba(255,255,255,.72);background:linear-gradient(180deg,rgba(205,231,252,.88),rgba(255,238,205,.82));box-shadow:inset 0 0 80px rgba(83,166,239,.13),0 22px 55px rgba(50,102,151,.12); }

/* footer */
.site-footer { position:relative;padding:96px 0 32px;border-top:1px solid var(--line);background:var(--footer-bg);backdrop-filter:blur(16px); }
.site-footer::before { content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--blue) 50%,transparent);opacity:.55; }
.footer-grid { display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:48px;align-items:start;padding-bottom:56px; }
.footer-col--brand .footer-brand { display:inline-flex; }
.footer-col--brand .brand-mark-img { height:44px;width:auto; }
.footer-brand-name { margin:20px 0 0;font-family:var(--font-heading);font-size:20px;font-weight:700;color:var(--heading); }
.footer-brand-role { margin:6px 0 22px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2); }
.footer-social-icons { display:flex;flex-wrap:wrap;gap:10px; }
.social-link { width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.08);transition:color .2s ease,border-color .2s ease,box-shadow .3s ease,transform .3s ease; }
.social-link:hover { color:var(--blue);border-color:var(--line-strong);box-shadow:0 16px 34px color-mix(in srgb,var(--blue) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(-3px); }
.social-link svg { width:16px;height:16px;fill:currentColor; }
.footer-eyebrow { display:block;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:20px; }
.footer-links { display:flex;flex-direction:column;gap:13px; }
.footer-links a { color:var(--muted);font-size:16px;transition:color .2s ease,transform .2s ease; }
.footer-links a:hover,.footer-links a[aria-current="page"] { color:var(--heading); }
.footer-email { display:inline-flex;align-items:center;gap:12px;margin-bottom:22px; }
.footer-email-icon { width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:11px;color:var(--blue);background:var(--blue-soft);border:1px solid var(--line-strong); }
.footer-email-icon svg { width:17px;height:17px;fill:currentColor; }
.footer-email-text { display:flex;flex-direction:column;gap:2px; }
.footer-email-text small { font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2); }
.footer-email-text strong { font-size:15px;font-weight:600;color:var(--heading); }
.footer-email:hover .footer-email-text strong { color:var(--blue); }
.footer-note { display:flex;align-items:flex-start;gap:10px;padding-top:18px;border-top:1px solid var(--line); }
.footer-dot { width:7px;height:7px;margin-top:6px;flex:none;border-radius:50%;background:var(--green,var(--blue));box-shadow:0 0 0 3px var(--blue-soft); }
.footer-note small { display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2); }
.footer-note strong { display:block;margin-top:3px;font-size:14px;font-weight:600;color:var(--text); }
.footer-hex { width:36px;height:36px;display:inline-flex;margin-bottom:16px;color:var(--blue); }
.footer-hex svg { width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round; }
.footer-expertise { margin:0;font-size:14.5px;line-height:1.65;color:var(--muted); }
.footer-bottom { display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;border-top:1px solid var(--line); }
.footer-bottom p { margin:0;color:var(--muted-2);font-size:13px; }
.footer-to-top { display:inline-flex;align-items:center;gap:12px;color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:color .2s ease; }
.footer-to-top svg { width:36px;height:36px;padding:10px;box-sizing:border-box;border:1px solid var(--line);border-radius:50%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:border-color .2s ease,transform .2s ease; }
.footer-to-top:hover { color:var(--blue); }
.footer-to-top:hover svg { border-color:var(--line-strong);transform:translateY(-2px); }

/* reveal / motion */
.reveal { opacity:1;transform:none;transition:none; }
.reveal.is-visible { opacity:1;transform:none; }
.reveal-child { opacity:1;transform:none;transition:none; }
.reveal.is-visible .reveal-child { opacity:1;transform:none; }
[data-tilt] { will-change:transform; }
:focus-visible { outline:2px solid var(--blue-2);outline-offset:4px;border-radius:8px; }

@media (max-width:1080px) {
  .hero-grid { grid-template-columns:1fr;gap:20px; }
  .hero { min-height:auto;padding-top:148px; }
  .hero-copy { max-width:780px; }
  .hero-scene { min-height:600px;width:min(760px,100%);margin:0 auto; }
  .scene-globe { right:70px; }
  .stats-grid,.expertise-grid,.work-grid { grid-template-columns:repeat(2,1fr); }
  .cta-panel { grid-template-columns:1fr; }
  .cta-visual { min-height:280px; }
  .cta-copy { padding-bottom:12px; }
  .footer-grid { grid-template-columns:1fr 1fr;row-gap:40px; }
  .footer-col--brand,.footer-col--brand + .footer-col + .footer-col + .footer-col { grid-column:1/-1; }
}

@media (max-width:780px) {
  :root { --container:min(100% - 28px,1240px); }
  .section { padding:78px 0; }
  .nav-shell { min-height:68px; }
  .brand-lockup { display:none; }
  .nav-cta { display:none; }
  .menu-toggle { width:40px;height:40px;display:grid;place-content:center;gap:6px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--heading); }
  .menu-toggle span:not(.sr-only) { display:block;width:17px;height:1px;background:currentColor;transition:transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position:absolute;left:14px;right:14px;top:76px;display:grid;gap:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface-solid) 92%,transparent);backdrop-filter:blur(20px);box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease; }
  .primary-nav.is-open { opacity:1;transform:none;pointer-events:auto; }
  .primary-nav a { padding:12px 11px; }
  .primary-nav a::after { display:none; }
  /* Services mega menu (mobile): render inline inside the open panel */
  .nav-item--mega { display:block; }
  .mega-menu { position:static;width:auto;transform:none;opacity:1;visibility:visible;pointer-events:auto;min-width:0;margin:2px 0 4px;padding:5px 0 5px 12px;background:none;border:none;border-left:1px solid var(--line);border-radius:0;box-shadow:none;backdrop-filter:none; }
  .mega-menu::before,.mega-menu__intro,.mega-menu__footer span { display:none; }
  .mega-menu__groups { grid-template-columns:1fr;gap:4px;padding:0; }
  .mega-menu__group { padding:4px 0; }
  .mega-menu__group:hover { background:none; }
  .mega-menu__group-heading { display:block;min-height:0;margin:0;padding:8px 11px 4px;border:0; }
  .mega-menu__group-heading strong { color:var(--blue);font-size:.66rem; }
  .mega-menu__group-heading small,.mega-menu__group-number { display:none; }
  .mega-menu__item { min-height:0;padding:8px 11px !important; }
  .mega-menu__item:hover,.mega-menu__item:focus-visible { transform:none; }
  .mega-menu__title { font-size:.82rem; }
  .mega-menu__arrow { display:none; }
  .mega-menu__footer { display:block;padding:4px 0 0;border:0; }
  .mega-menu__all { padding:9px 11px !important; }
  .hero { padding-top:118px; }
  .hero-copy { padding-left:18px; }
  .hero h1 { font-size:clamp(34px,11vw,46px); }
  .hero-credential { gap:8px 12px; }
  .hero-credential__role { font-size:13px; }
  .hero-tagline { font-size:19px;padding-left:14px; }
  .hero-meta { align-items:flex-start;flex-direction:column;gap:13px; }
  .meta-divider { display:none; }
  .hero-scene { min-height:510px;margin-top:10px; }
  .scene-globe { width:410px;height:410px;right:-30px;top:34px; }
  .portrait-shell { right:18px;width:320px;height:410px;bottom:18px; }
  .float-card { display:none; }
  .scene-caption { display:none; }
  .section-kicker-row { align-items:flex-start;flex-direction:column;gap:12px; }
  .section-note,.text-link { align-self:flex-start; }
  .stats-grid,.expertise-grid,.work-grid { grid-template-columns:1fr; }
  .stat-card { min-height:165px; }
  .expertise-card { min-height:215px; }
  .cta-copy { padding:34px 24px 10px; }
  .cta-visual { min-height:245px; }
  .cta-portal { width:290px;height:220px;right:30px; }
  .cta-float { right:10px;top:24px; }
  .site-footer { padding:64px 0 32px; }
  .footer-grid { grid-template-columns:1fr;row-gap:36px; }
  .footer-col--brand,.footer-col--brand + .footer-col + .footer-col + .footer-col { grid-column:auto; }
  .footer-bottom { flex-direction:column;align-items:flex-start;gap:18px; }
  .route-note { text-align:left; }
  .marquee-group > .company-logo { min-width:205px;height:94px;padding:16px 24px; }
  .company-logo__image { max-width:165px;max-height:54px; }
}

/* Homepage editorial content sections */
.home-split-heading{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr);gap:clamp(48px,9vw,150px);align-items:end;margin-bottom:44px}.home-split-heading h2,.journey-intro h2,.process-intro h2{margin:0;color:var(--heading);font-size:clamp(34px,4.6vw,66px);line-height:1.03;letter-spacing:-.05em}.home-split-heading>div>p{margin-bottom:14px}.home-split-heading>p,.journey-intro>p,.process-intro>p{margin:0;color:var(--muted);font-size:clamp(17px,1.55vw,22px);line-height:1.65}
.technology-grid{column-count:4;column-gap:14px}.technology-card{display:inline-block;width:100%;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 14px;min-height:200px;padding:27px 28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.10);transform-style:preserve-3d;transition:border-color .28s ease,box-shadow .28s ease}.technology-card:hover{border-color:var(--line-strong);box-shadow:0 24px 54px color-mix(in srgb,var(--blue) 9%,transparent),inset 0 1px 0 rgba(255,255,255,.10)}.numbered-title{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.numbered-title h3{margin:0;color:var(--heading);font-size:21px}.numbered-title span,.process-list>li>span{color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.technology-card ul{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}.technology-card li{position:relative;padding-left:20px;color:var(--text);font-size:15px;line-height:1.35}.technology-card li:before{content:'+';position:absolute;left:0;color:var(--blue)}
.home-ecosystem{background:var(--bg-2)}
.home-ownership{position:relative;overflow:hidden;background:var(--bg-2)}
.home-ownership:before{content:'';position:absolute;left:-14%;top:-20%;width:52%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--green) 12%,transparent),transparent 72%);pointer-events:none;z-index:0}
.home-ownership:after{content:'';position:absolute;right:-14%;bottom:-24%;width:56%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--blue-soft),transparent 72%);pointer-events:none;z-index:0}
.process-grid{display:grid;grid-template-columns:minmax(310px,.82fr) minmax(520px,1.18fr);gap:clamp(55px,8vw,125px);position:relative;z-index:1}.journey-intro,.process-intro{align-self:start;position:sticky;top:126px}.journey-intro h2,.process-intro h2{margin:14px 0 27px}.journey-list,.process-list{margin:0;padding:0;list-style:none}
.own-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.35fr);gap:clamp(48px,7vw,96px)}
.own-intro{align-self:start;position:sticky;top:126px}
.own-intro h2{margin:14px 0 22px;color:var(--heading);font-family:var(--font-heading);font-size:clamp(30px,3.6vw,44px);line-height:1.08;letter-spacing:-.03em}
.own-intro>p{margin:0;color:var(--muted);font-size:clamp(16px,1.4vw,18px);line-height:1.65;max-width:38ch}
.seam-key{display:flex;gap:22px;margin:32px 0 0;padding:0;list-style:none}
.seam-key li{display:flex;align-items:center;gap:8px;color:var(--muted-2);font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.seam-key span{width:8px;height:8px;border-radius:50%;background:var(--green)}
.seam-key li:last-child span{background:var(--blue)}
.own-columns{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0}
.own-columns:before{content:'';position:absolute;left:50%;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--green),var(--amber) 48%,var(--blue));opacity:.55;transform:translateX(-.5px)}
.own-col{position:relative;padding:0 30px}
.own-col:first-child{padding-left:0}
.own-col:last-child{padding-right:0}
.own-col__tag{margin:0 0 22px;color:var(--green);font-family:var(--font-heading);font-size:19px;font-style:italic}
.own-col[data-col="build"] .own-col__tag{color:var(--blue)}
.own-list{margin:0;padding:0;list-style:none}
.own-row{position:relative;display:grid;grid-template-columns:34px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);transition:transform .35s var(--ease)}
.own-row:last-child{border-bottom:0}
.own-row:hover{transform:translateX(6px)}
.own-col[data-col="build"] .own-row:hover{transform:translateX(-6px)}
.own-row span{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:600;padding-top:2px}
.own-col[data-col="build"] .own-row span{color:var(--blue)}
.own-row p{margin:0;color:var(--text);font-size:15.5px;line-height:1.55}
.home-capabilities{background:var(--section-tint)}.home-capabilities .section-kicker-row{align-items:end}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.capability-card{min-height:285px;display:flex;flex-direction:column;padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);transition:transform .35s var(--ease),border-color .25s ease}.capability-card:hover{transform:translateY(-7px);border-color:var(--line-strong)}.capability-card--focus{background:var(--heading);color:var(--bg);border-color:transparent}.capability-card small{margin-bottom:28px;color:var(--blue);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.capability-card h3{margin:0 0 24px;color:var(--heading);font-size:25px;line-height:1.15}.capability-card>p{margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.55}.capability-card strong{margin-top:auto;color:var(--text);font-size:16px;line-height:1.55;font-weight:520}.capability-card--focus h3,.capability-card--focus strong{color:var(--bg)}.capability-card--focus>p{color:color-mix(in srgb,var(--bg) 62%,transparent)}
.journey-grid{display:grid;grid-template-columns:minmax(310px,.8fr) minmax(520px,1.2fr);gap:clamp(55px,8vw,125px)}.journey-intro .button{margin-top:35px}.journey-list{position:relative}.journey-list:before{content:'';position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--line-strong)}.journey-list li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:24px;padding:0 0 54px}.journey-list li:last-child{padding-bottom:0}.journey-dot{position:relative;z-index:1;width:12px;height:12px;margin-top:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px var(--bg)}.journey-list h3{margin:0 0 13px;color:var(--heading);font-size:clamp(23px,2.2vw,31px)}.journey-list h3 small{margin-left:13px;color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:500;letter-spacing:.03em}.journey-list p{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.home-process{--process-surface:var(--bg-2);position:relative;overflow:hidden;background:var(--bg-2)}.home-process:before{content:'';position:absolute;right:-8%;bottom:-25%;width:56%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--amber) 12%,transparent),transparent 72%);pointer-events:none;z-index:0}.home-process:after{content:'';position:absolute;left:-10%;top:-30%;width:40%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 7%,transparent),transparent 72%);pointer-events:none;z-index:0}
.process-legend{display:flex;align-items:flex-end;gap:22px;margin:34px 0 0;padding:0;list-style:none}
.process-legend li{display:flex;align-items:center;gap:9px;color:var(--muted-2);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.process-legend span{display:block;width:3px;height:10px;border-radius:2px;background:var(--line-strong)}
.process-legend li[data-phase="build"] span{height:16px;background:var(--blue)}
.process-legend li[data-phase="scale"] span{height:22px;background:var(--amber)}
.process-track{position:relative}
.process-phase+.process-phase{margin-top:38px}
.process-phase__tag{margin:0 0 14px 79px;color:var(--muted-2);font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.process-phase[data-phase="build"] .process-phase__tag{color:var(--blue)}
.process-phase[data-phase="scale"] .process-phase__tag{color:var(--amber)}
.process-list{position:relative;display:grid;gap:2px}
.process-list:before{content:'';position:absolute;left:27px;top:6px;bottom:6px;width:1px;background:var(--line-strong);z-index:0}
.process-phase[data-phase="build"] .process-list:before{background:linear-gradient(var(--line-strong),var(--blue))}
.process-phase[data-phase="scale"] .process-list:before{background:linear-gradient(var(--blue),var(--amber))}
.process-step{position:relative;z-index:1;display:grid;grid-template-columns:55px 1fr;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:transform .35s var(--ease)}
.process-step:last-child{border-bottom:0}
.process-step:hover{transform:translateX(10px)}
.process-step__node{position:relative;z-index:1;display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--process-surface);border:1px solid var(--line-strong);color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;transition:border-color .3s ease,color .3s ease,box-shadow .3s ease}
.process-phase[data-phase="build"] .process-step__node{border-color:var(--blue);color:var(--blue)}
.process-phase[data-phase="scale"] .process-step__node{border-color:var(--amber);color:var(--amber);box-shadow:0 0 22px color-mix(in srgb,var(--amber) 32%,transparent)}
.process-step__body h3,.process-step__body p{margin:0}
.process-step__body h3{color:var(--heading);font-size:22px}
.process-step__body p{margin-top:8px;color:var(--muted);font-size:16px;line-height:1.55}
@media(max-width:1080px){.technology-grid{column-count:2}.own-grid,.journey-grid,.process-grid{grid-template-columns:1fr;gap:48px}.own-intro,.journey-intro,.process-intro{position:static;max-width:760px}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.home-split-heading{grid-template-columns:1fr;gap:25px}.technology-grid{column-count:1}.capability-grid{grid-template-columns:1fr}.technology-card,.capability-card{min-height:auto}.process-step{grid-template-columns:38px 1fr;gap:16px}.process-list:before{left:18px}.process-phase__tag{margin-left:54px}.process-step__node{width:38px;height:38px;font-size:11px}.journey-list h3 small{display:block;margin:8px 0 0}.own-columns{grid-template-columns:1fr;gap:8px}.own-columns:before{display:none}.own-col{padding:0}.own-col+.own-col{margin-top:12px;padding-top:20px;border-top:1px solid var(--line)}}
@media(max-width:520px){.technology-card,.capability-card{padding:24px 20px}.home-split-heading h2,.own-intro h2,.journey-intro h2,.process-intro h2{font-size:34px}.journey-list li{gap:14px}.process-legend{gap:16px}.own-row{grid-template-columns:26px 1fr;gap:10px}}
@media(prefers-reduced-motion:reduce){.technology-card,.capability-card,.process-step{transition:none}}

/* Final cascade for the editorial/orbital direction. */
@media not all {
:root{--font:"Aptos","Helvetica Neue",Arial,sans-serif;--font-heading:"Aptos Display","Arial Black","Helvetica Neue",Arial,sans-serif;--container:min(1380px,calc(100% - 72px));--radius-xl:4px;--radius-lg:3px;--radius-md:2px}
html[data-theme="dark"]{--bg:#080808;--bg-2:#111;--surface:#111;--surface-2:#171717;--surface-solid:#111;--text:#f4f1ed;--heading:#fff;--muted:#aaa6a0;--muted-2:#77736e;--line:rgba(255,255,255,.14);--line-strong:rgba(255,108,45,.72);--blue:#ff612e;--blue-2:#ff9764;--blue-soft:rgba(255,97,46,.12);--amber:#cbff3f;--green:#cbff3f;--header-bg:rgba(8,8,8,.88);--section-tint:rgba(255,255,255,.025);--hero-grid:rgba(255,255,255,.035);--footer-bg:#cbff3f}
html[data-theme="light"]{--bg:#f3f1ec;--bg-2:#e9e6df;--surface:#fff;--surface-2:#ece9e2;--surface-solid:#fff;--text:#161616;--heading:#090909;--muted:#5e5a55;--muted-2:#858079;--line:rgba(10,10,10,.15);--line-strong:rgba(255,79,28,.7);--blue:#f04b1b;--blue-2:#ff7a45;--blue-soft:rgba(240,75,27,.1);--amber:#9dcc1c;--green:#699300;--header-bg:rgba(243,241,236,.9);--section-tint:rgba(0,0,0,.025);--footer-bg:#151515}
body{background:var(--bg);letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;letter-spacing:-.055em}.section{padding:130px 0}.eyebrow{color:var(--blue);letter-spacing:.13em;font-weight:800}.section-kicker-row{align-items:end;border-top:1px solid var(--line);padding-top:24px}.section-kicker-row h2,.section>.container>h2{max-width:900px;font-size:clamp(3rem,6vw,6.7rem);line-height:.88}
.nav-shell{min-height:96px}.brand-mark{border-radius:50%;background:var(--blue);color:#090909;box-shadow:none}.brand-name,.primary-nav a{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:760}.nav-cta,.button--primary{background:var(--blue);color:#080808;border-color:var(--blue);border-radius:999px;box-shadow:none;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.nav-cta:hover,.button--primary:hover{background:var(--amber);border-color:var(--amber);color:#080808}.theme-toggle{border-radius:50%}
.hero{min-height:100svh;padding:150px 0 80px;overflow:hidden}.hero:before{content:"";position:absolute;width:min(48vw,650px);aspect-ratio:1;right:-3vw;top:12vh;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd17c 0 3%,#ff7b30 16%,#dd235e 39%,#4b125f 66%,#090909 74%);filter:saturate(1.18);box-shadow:0 0 90px rgba(255,71,58,.28);animation:planetFloat 9s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;width:170px;aspect-ratio:1;right:38%;bottom:8%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ecffae,#bfff37 45%,#335700 78%);box-shadow:0 0 50px rgba(190,255,48,.25);animation:planetFloat 7s ease-in-out -2s infinite alternate-reverse}.hero-grid-bg{background-size:72px 72px}.hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)}.hero-copy{position:relative;z-index:4}.hero-copy h1{max-width:940px;margin:.22em 0 .18em;font-size:clamp(4rem,9.6vw,10rem);line-height:.76;text-transform:uppercase}.hero-role{display:inline-block;margin:0 0 24px;color:var(--amber);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-tagline{max-width:590px;font-size:clamp(1.25rem,2vw,2rem);line-height:1.15}.hero-actions{margin-top:36px}.button{min-height:58px;padding:0 26px;border-radius:999px}.hero-meta{margin-top:58px;border-top:1px solid var(--line);padding-top:22px}.hero-scene{z-index:3;transform:translateY(7%)}.portrait-shell{border-radius:48% 48% 4px 4px;border:1px solid rgba(255,255,255,.18);background:#111;box-shadow:0 50px 100px rgba(0,0,0,.58)}.scene-globe,.scene-orb{display:none}.float-card{border-radius:2px;border:1px solid rgba(255,255,255,.22);background:rgba(8,8,8,.82);backdrop-filter:blur(15px)}
.stats{background:var(--amber);color:#111}.stats .eyebrow,.stats h2,.stats .section-note,.stats .stat-card h3{color:#111}.stats-grid{gap:0;border:1px solid rgba(0,0,0,.25)}.stat-card{border:0;border-right:1px solid rgba(0,0,0,.25);border-radius:0;background:transparent;box-shadow:none}.stat-card:last-child{border-right:0}.stat-number,.stat-icon{color:#111}.stat-number{font-family:var(--font-heading);font-weight:900;letter-spacing:-.07em}
.expertise-card,.project-card,.service-card,.work-project,.timeline-card,.achievement-card,.contact-detail-card{border-radius:2px;box-shadow:none}.expertise-grid{gap:0;border-top:1px solid var(--line)}.expertise-card{border:0;border-bottom:1px solid var(--line);background:transparent;padding:34px 0;grid-template-columns:84px 1fr}.expertise-card:hover{background:var(--surface);transform:none;padding-left:22px}.expertise-card h3{font-size:clamp(1.8rem,3vw,3.2rem)}.icon-box{border-radius:50%;background:var(--blue);color:#080808}
.work{background:#121212}.work h2,.work .text-link{color:#fff}.work .eyebrow{color:#ff7a45}.work-grid{gap:28px}.project-card{border:0;background:#1a1a1a;overflow:hidden}.project-thumb{aspect-ratio:1.35;border-radius:0}.project-body{padding:28px;color:#f3f3f3}.project-body h3{font-size:clamp(1.8rem,2.7vw,3.1rem)}.project-body p{color:#aaa}.project-arrow{color:var(--amber)}
.companies{background:var(--blue);color:#0a0a0a}.companies h2,.companies .eyebrow{color:#0a0a0a}.marquee-group>.company-logo{color:#0a0a0a;font-family:var(--font-heading);font-weight:900;text-transform:uppercase}.cta-panel{border-radius:2px;border:0;background:var(--amber);color:#0b0b0b;box-shadow:none}.cta-copy h2,.cta-copy p,.cta-copy .eyebrow{color:#0b0b0b}.cta-panel .button--primary{background:#0b0b0b;color:#fff;border-color:#0b0b0b}.site-footer{background:var(--footer-bg)}html[data-theme="dark"] .site-footer,html[data-theme="dark"] .site-footer a,html[data-theme="dark"] .site-footer .brand-role{color:#101010}
.page-hero h1,.work-hero h1,.project-hero h1,.project-hero__copy h1{font-size:clamp(4rem,8vw,8.5rem);line-height:.82;text-transform:uppercase}.work-project__media,.project-gallery img,.project-showcase figure,.project-showcase img{border-radius:0}.work-project__category{border-radius:0;background:var(--amber);color:#0a0a0a}.filter-tab{border-radius:999px}.filter-tab.is-active{background:var(--blue);color:#090909}.project-story article,.project-list-panel,.project-results{border-radius:2px}.project-results{background:var(--amber);color:#101010}.project-results h2,.project-results .eyebrow,.project-results li{color:#101010}.project-outcomes li{border-color:rgba(0,0,0,.2)}
@media(max-width:980px){:root{--container:min(100% - 36px,1380px)}.hero:before{width:72vw;right:-28vw;top:10vh;opacity:.76}.hero:after{right:4%;bottom:19%;width:110px}.hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(4rem,15vw,8rem)}.hero-scene{width:min(620px,92%);justify-self:end;margin-top:-30px}.section{padding:96px 0}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){:root{--container:calc(100% - 28px)}.nav-shell{min-height:76px}.hero{padding-top:118px}.hero-copy h1{font-size:clamp(3.55rem,18vw,6rem)}.hero-scene{width:100%;margin-top:30px}.float-card{display:none}.section{padding:78px 0}.section-kicker-row h2,.section>.container>h2{font-size:clamp(2.75rem,14vw,4.6rem)}.stats-grid{grid-template-columns:1fr}.stat-card{border-right:0;border-bottom:1px solid rgba(0,0,0,.25)}.expertise-card{grid-template-columns:62px 1fr}}
}

@media (max-width:520px) {
  .hero-scene { min-height:450px; }
  .scene-globe { width:350px;height:350px;right:-90px; }
  .portrait-shell { right:8px;width:258px;height:350px; }
  .scene-orb--one { left:34px; }
  .section-kicker-row h2,.companies h2 { font-size:29px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important; }
  .reveal,.reveal-child,.portrait-shell { opacity:1 !important;transform:none !important; }
}



/* === WORK PAGE START === */
.work-page { --work-hero-height: 690px; }
.work-stats { scroll-margin-top:86px; }
.work-stats .stats-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.work-hero { position:relative;min-height:var(--work-hero-height);display:flex;align-items:center;padding:138px 0 78px;overflow:hidden;border-bottom:1px solid var(--line); }
.work-hero::after { content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent); }
.work-hero__grid { position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:72px;align-items:center; }
.work-hero__copy { position:relative;max-width:680px;padding-left:26px; }
.work-hero__copy::before { content:'';position:absolute;left:0;top:5px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--blue),var(--amber)); }
.work-hero__copy h1 { max-width:720px;margin:0;color:var(--heading);font-size:clamp(50px,6vw,84px);line-height:.98;letter-spacing:-.045em;font-weight:600; }
.work-hero__copy > p:not(.eyebrow) { max-width:650px;margin:26px 0 0;color:var(--muted);font-size:18px;line-height:1.65;letter-spacing:-.018em; }
.work-hero__legend { display:flex;flex-wrap:wrap;gap:10px;margin-top:30px; }
.work-hero__legend span { padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);backdrop-filter:blur(16px);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em; }
.work-hero__scene { position:relative;min-height:490px;perspective:1200px;transform-style:preserve-3d; }
.work-orbit { position:absolute;width:390px;height:390px;right:50px;top:42px;border-radius:50%;border:1px solid color-mix(in srgb,var(--blue) 22%,transparent);background:radial-gradient(circle at 38% 32%,color-mix(in srgb,var(--blue-2) 32%,transparent),transparent 36%),radial-gradient(circle at 55% 58%,color-mix(in srgb,var(--amber) 12%,transparent),transparent 40%),linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 86%,var(--blue) 14%),var(--surface-solid));box-shadow:inset -26px -30px 70px rgba(0,0,0,.15),0 0 90px color-mix(in srgb,var(--blue) 12%,transparent);animation:workOrbit 8s ease-in-out infinite alternate; }
.work-orbit::before,.work-orbit::after { content:"";position:absolute;inset:14%;border:1px solid color-mix(in srgb,var(--blue-2) 22%,transparent);border-radius:50%;transform:rotate(28deg) scaleY(.55); }
.work-orbit::after { transform:rotate(-34deg) scaleY(.68); }
@keyframes workOrbit { to { transform:translateY(-12px) rotate(4deg) scale(1.015); } }
.work-plane { position:absolute;width:245px;padding:23px 22px;border:1px solid var(--line-strong);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 90%,transparent),color-mix(in srgb,var(--surface) 78%,transparent));backdrop-filter:blur(20px) saturate(1.15);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.14);transform-style:preserve-3d; }
.work-plane small,.work-plane strong,.work-plane span { display:block; }
.work-plane small { color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.18em; }
.work-plane strong { margin-top:12px;color:var(--heading);font-size:19px;letter-spacing:-.03em; }
.work-plane span { margin-top:7px;color:var(--muted);font-size:11px;line-height:1.45; }
.work-plane--one { left:8px;top:46px;transform:rotateY(10deg) rotateX(4deg) translateZ(50px);animation:planeFloat1 6s ease-in-out infinite alternate; }
.work-plane--two { right:-2px;top:154px;transform:rotateY(-10deg) rotateX(-2deg) translateZ(74px);animation:planeFloat2 7s ease-in-out infinite alternate; }
.work-plane--three { left:72px;bottom:28px;transform:rotateY(7deg) translateZ(100px);animation:planeFloat3 8s ease-in-out infinite alternate; }
@keyframes planeFloat1 { to { transform:translateY(-9px) rotateY(7deg) rotateX(2deg) translateZ(50px); } }
@keyframes planeFloat2 { to { transform:translateY(11px) rotateY(-7deg) rotateX(-1deg) translateZ(74px); } }
@keyframes planeFloat3 { to { transform:translateY(-7px) rotateY(4deg) translateZ(100px); } }
.work-sphere { position:absolute;border-radius:50%;z-index:6;background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.9),color-mix(in srgb,var(--blue) 44%,var(--surface-solid)) 21%,color-mix(in srgb,var(--surface-solid) 86%,black) 70%);box-shadow:0 16px 34px color-mix(in srgb,var(--blue) 20%,transparent);animation:orbFloat 5s ease-in-out infinite alternate; }
.work-sphere--one { width:38px;height:38px;left:310px;top:40px; }
.work-sphere--two { width:62px;height:62px;right:68px;bottom:20px;animation-delay:-1.5s; }
html[data-theme="light"] .work-orbit { background:radial-gradient(circle at 36% 30%,rgba(96,184,255,.28),transparent 37%),radial-gradient(circle at 66% 70%,rgba(240,166,60,.11),transparent 36%),linear-gradient(145deg,#fff,#eaf4fd);box-shadow:inset -26px -30px 70px rgba(36,89,137,.06),0 30px 80px rgba(45,92,135,.13); }
html[data-theme="light"] .work-plane { background:linear-gradient(145deg,rgba(255,255,255,.87),rgba(241,248,254,.72));box-shadow:0 22px 54px rgba(42,75,108,.11),inset 0 1px 0 #fff; }

.work-catalog { padding-top:92px; }
.work-catalog__heading { display:grid;grid-template-columns:1fr minmax(260px,420px);gap:40px;align-items:end;margin-bottom:34px; }
.work-catalog__heading h2 { margin:0;color:var(--heading);font-size:clamp(31px,3.8vw,48px);line-height:1.08;letter-spacing:-.035em; }
.work-catalog__heading > p { margin:0;color:var(--muted);font-size:13px;line-height:1.7; }
.work-filter-shell { position:sticky;top:78px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 34px;padding:10px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface-solid) 78%,transparent);backdrop-filter:blur(22px) saturate(1.15);box-shadow:0 14px 40px color-mix(in srgb,var(--bg) 18%,transparent); }
.work-filter { display:flex;gap:6px;overflow-x:auto;scrollbar-width:none; }
.work-filter::-webkit-scrollbar { display:none; }
.work-filter__tab { position:relative;flex:none;padding:13px 16px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:12px;font-weight:730;cursor:pointer;transition:background .32s var(--ease),color .25s ease,transform .25s var(--ease),box-shadow .3s ease; }
.work-filter__tab span { display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:7px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--blue) 9%,transparent);color:var(--muted-2);font-size:9px; }
.work-filter__tab:hover { color:var(--heading);transform:translateY(-1px); }
.work-filter__tab.is-active { color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-2));box-shadow:0 10px 24px color-mix(in srgb,var(--blue) 20%,transparent); }
.work-filter__tab.is-active span { background:rgba(255,255,255,.16);color:#fff; }
.work-filter__status { margin:0 8px 0 0;color:var(--muted-2);font-size:10px;white-space:nowrap; }
.work-project-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;perspective:1600px; }
.work-project { min-width:0;transition:opacity .38s var(--ease),transform .45s var(--ease),filter .35s ease; }
.work-project.is-filtering-out { opacity:0;transform:translateY(12px) scale(.975);filter:blur(2px);pointer-events:none; }
.work-project[hidden] { display:none !important; }
.work-project__button { width:100%;height:100%;display:block;padding:0;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:22px;background:linear-gradient(155deg,var(--surface-2),var(--surface));color:inherit;box-shadow:var(--shadow-soft);cursor:pointer;transform-style:preserve-3d;transition:transform .36s var(--ease),border-color .3s ease,box-shadow .36s ease; }
.work-project__button:hover { transform:translateY(-7px) rotateX(1.5deg);border-color:var(--line-strong);box-shadow:0 28px 68px color-mix(in srgb,var(--blue) 11%,transparent); }
.work-project__media { position:relative;aspect-ratio:720/440;overflow:hidden;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-solid) 90%,var(--blue) 10%); }
.work-project__media::after { content:"";position:absolute;inset:0;background:linear-gradient(128deg,rgba(255,255,255,.08),transparent 30%,transparent 72%,color-mix(in srgb,var(--blue) 9%,transparent));pointer-events:none; }
.work-project__media img { display:block;width:100%;height:100%;object-fit:cover;filter:var(--project-img-filter);transition:transform .65s var(--ease); }
.work-project__button:hover img { transform:scale(1.035); }
.work-project__category { position:absolute;left:14px;top:14px;z-index:3;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(5,18,31,.62);backdrop-filter:blur(12px);color:#d9edff;font-size:8px;font-weight:780;text-transform:uppercase;letter-spacing:.11em; }
.work-project__expand { position:absolute;right:14px;top:14px;z-index:3;width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(5,18,31,.62);backdrop-filter:blur(12px);color:#fff;font-size:12px;transition:transform .3s var(--ease),background .3s ease; }
.work-project__button:hover .work-project__expand { transform:translate(2px,-2px) rotate(8deg);background:var(--blue); }
.work-project__body { min-height:220px;padding:21px 21px 24px; }
.work-project__body h3 { margin:0;color:var(--heading);font-size:18px;line-height:1.16;letter-spacing:-.033em; }
.work-project__stack { margin:11px 0 0;color:var(--amber);font-size:9px;font-weight:760;line-height:1.4;text-transform:uppercase;letter-spacing:.08em; }
.work-project__summary { margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.6; }
html[data-theme="light"] .work-project__category,html[data-theme="light"] .work-project__expand { background:rgba(13,35,67,.72); }

.work-close { padding-top:30px; }
.work-close__panel { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr) auto;gap:42px;align-items:end;padding:38px;border:1px solid var(--line-strong);border-radius:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 96%,var(--blue) 4%),var(--surface));box-shadow:var(--shadow-soft); }
.work-close__panel h2 { max-width:700px;margin:0;color:var(--heading);font-size:clamp(28px,3.4vw,43px);line-height:1.09;letter-spacing:-.035em; }
.work-close__panel > p { margin:0;color:var(--muted);font-size:13px;line-height:1.7; }

.work-modal { width:min(1000px,calc(100% - 32px));max-height:min(880px,calc(100dvh - 32px));padding:0;border:0;border-radius:28px;background:transparent;color:var(--text);box-shadow:none;overflow:visible; }
.work-modal::backdrop { background:rgba(1,8,14,.72);backdrop-filter:blur(12px); }
.work-modal__panel { position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);border:1px solid var(--line-strong);border-radius:28px;background:var(--surface-solid);box-shadow:0 40px 110px rgba(0,0,0,.45); }
.work-modal__close { position:absolute;right:16px;top:16px;z-index:8;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(6,17,29,.72);backdrop-filter:blur(14px);color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:transform .25s var(--ease),background .25s ease; }
.work-modal__close:hover { transform:rotate(7deg) scale(1.03);background:var(--blue); }
.work-modal__media { min-height:440px;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--surface-solid) 72%,var(--blue) 28%),var(--bg-2) 74%); }
.work-modal__media img { display:block;width:100%;height:auto;max-height:100%;aspect-ratio:720/440;object-fit:cover;border:1px solid color-mix(in srgb,var(--line-strong) 72%,transparent);border-radius:18px;box-shadow:0 24px 54px rgba(1,13,24,.2); }
.work-modal__content { align-self:center;padding:46px; }
.work-modal__content h2 { margin:0;color:var(--heading);font-size:clamp(31px,3.6vw,46px);line-height:1.07;letter-spacing:-.035em; }
.work-modal__stack { margin:18px 0 0;color:var(--amber);font-size:10px;font-weight:780;text-transform:uppercase;letter-spacing:.1em; }
.work-modal__description { margin:24px 0 0;color:var(--muted);font-size:14px;line-height:1.72; }
.work-modal__note { margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted-2);font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em; }
html[data-theme="light"] .work-modal::backdrop { background:rgba(22,43,67,.45); }
html[data-theme="light"] .work-modal__panel { box-shadow:0 40px 100px rgba(31,64,99,.25); }

@media (max-width:1080px) {
  .work-stats .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .work-hero__grid { grid-template-columns:1fr;gap:18px; }
  .work-hero { padding-top:148px; }
  .work-hero__scene { width:min(760px,100%);margin:0 auto; }
  .work-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .work-close__panel { grid-template-columns:1fr 1fr; }
  .work-close__panel .button { grid-column:1/-1;justify-self:start; }
}
@media (max-width:780px) {
  .work-stats .stats-grid { grid-template-columns:1fr; }
  .work-page { --work-hero-height:auto; }
  .work-hero { padding-top:118px;padding-bottom:54px; }
  .work-hero__copy { padding-left:18px; }
  .work-hero__copy h1 { font-size:clamp(42px,14vw,62px); }
  .work-hero__copy > p:not(.eyebrow) { font-size:16px; }
  .work-hero__scene { min-height:410px; }
  .work-orbit { width:310px;height:310px;right:-45px;top:52px; }
  .work-plane { display:none; }
  .work-sphere--one { left:54%; }
  .work-catalog__heading { grid-template-columns:1fr;gap:18px; }
  .work-filter-shell { top:67px;display:block;padding:8px; }
  .work-filter__status { margin:9px 8px 4px;font-size:9px; }
  .work-project-grid { grid-template-columns:1fr; }
  .work-project__body { min-height:auto; }
  .work-close__panel { grid-template-columns:1fr;gap:24px;padding:28px 24px; }
  .work-close__panel .button { grid-column:auto; }
  .work-modal { max-height:calc(100dvh - 20px); }
  .work-modal__panel { grid-template-columns:1fr;max-height:calc(100dvh - 20px);overflow:auto; }
  .work-modal__media { min-height:auto;max-height:none;padding:14px; }
  .work-modal__media img { aspect-ratio:720/440; }
  .work-modal__content { padding:28px 24px 30px; }
}
@media (max-width:520px) {
  .work-hero__scene { min-height:360px; }
  .work-orbit { width:270px;height:270px;right:-80px; }
  .work-filter__tab { padding:11px 12px;font-size:11px; }
}
/* === WORK PAGE END === */

/* === ABOUT PAGE START === */
.about-page { --about-hero-height: 760px; }
.about-hero { position:relative;min-height:var(--about-hero-height);display:flex;align-items:center;padding:138px 0 88px;overflow:hidden;border-bottom:1px solid var(--line); }
.about-hero::after { content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent); }
.about-hero__grid { position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.94fr) minmax(470px,1.06fr);gap:72px;align-items:center; }
.about-hero__copy { position:relative;max-width:700px;padding-left:26px; }
.about-hero__copy::before { content:'';position:absolute;left:0;top:5px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--blue),var(--amber)); }
.about-hero__copy h1 { margin:0;color:var(--heading);font-size:clamp(49px,5.8vw,80px);line-height:.99;letter-spacing:-.045em;font-weight:600; }
.about-hero__lead { max-width:660px;margin:26px 0 0;color:var(--heading);font-size:clamp(22px,2.5vw,31px);line-height:1.28;letter-spacing:-.04em;font-weight:520; }
.about-hero__intro { max-width:650px;margin:20px 0 0;color:var(--muted);font-size:15px;line-height:1.75; }
.about-hero__facts { display:flex;flex-wrap:wrap;gap:10px;margin-top:32px; }
.about-hero__facts span { min-width:145px;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.about-hero__facts strong,.about-hero__facts small { display:block; }
.about-hero__facts strong { color:var(--blue-2);font-size:16px;letter-spacing:-.03em; }
.about-hero__facts small { margin-top:5px;color:var(--muted);font-size:9px;line-height:1.35;text-transform:uppercase;letter-spacing:.075em; }

.about-portrait-scene { position:relative;min-height:540px;perspective:1400px;transform-style:preserve-3d; }
.about-orbit { position:absolute;width:430px;height:430px;right:54px;top:34px;border-radius:50%;background:radial-gradient(circle at 34% 30%,color-mix(in srgb,var(--blue-2) 30%,transparent),transparent 34%),radial-gradient(circle at 70% 68%,color-mix(in srgb,var(--amber) 12%,transparent),transparent 33%),linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 86%,var(--blue) 14%),var(--surface-solid));border:1px solid color-mix(in srgb,var(--blue) 22%,transparent);box-shadow:inset -34px -40px 84px rgba(0,0,0,.15),0 28px 90px color-mix(in srgb,var(--blue) 12%,transparent);animation:aboutOrbit 8s ease-in-out infinite alternate; }
.about-orbit::before,.about-orbit::after { content:"";position:absolute;inset:13%;border-radius:50%;border:1px solid color-mix(in srgb,var(--blue-2) 20%,transparent);transform:rotate(25deg) scaleY(.58); }
.about-orbit::after { transform:rotate(-36deg) scaleY(.7); }
@keyframes aboutOrbit { to { transform:translateY(-12px) rotate(3deg) scale(1.012); } }
html[data-theme="light"] .about-orbit { background:radial-gradient(circle at 34% 30%,rgba(90,183,255,.28),transparent 34%),radial-gradient(circle at 72% 70%,rgba(240,166,60,.10),transparent 31%),linear-gradient(145deg,#fff,#eaf4fd);box-shadow:inset -30px -34px 70px rgba(46,92,137,.06),0 30px 80px rgba(45,92,135,.12); }
.about-portrait { position:absolute;right:88px;bottom:16px;width:360px;height:455px;margin:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:28px;background:var(--surface-solid);box-shadow:var(--shadow);transform:translateZ(42px) rotateY(-2deg);transition:transform .45s var(--ease),box-shadow .45s ease; }
.about-portrait::after { content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.09),transparent 32%,transparent 70%,color-mix(in srgb,var(--blue) 9%,transparent));pointer-events:none; }
.about-portrait img { width:100%;height:100%;object-fit:cover;object-position:center 30%; }
.about-float { position:absolute;z-index:5;width:196px;padding:17px;border:1px solid var(--line-strong);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(20px) saturate(1.18);box-shadow:var(--shadow-soft);transform-style:preserve-3d;transition:margin .22s var(--ease),transform .35s var(--ease),background .35s ease; }
.about-float small,.about-float strong,.about-float span { display:block; }
.about-float small { color:var(--amber);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }
.about-float strong { margin-top:6px;color:var(--heading);font-size:14px;letter-spacing:-.025em; }
.about-float span { margin-top:6px;color:var(--muted);font-size:10px;line-height:1.45; }
.about-float--one { left:4px;top:72px;transform:translateZ(82px) rotateY(6deg); }
.about-float--two { right:-4px;top:112px;transform:translateZ(98px) rotateY(-6deg); }
.about-float--three { left:36px;bottom:38px;transform:translateZ(92px) rotateY(5deg); }
.about-orb { position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 27%,#fff,color-mix(in srgb,var(--blue) 42%,var(--surface-solid)) 22%,var(--surface-solid) 70%);box-shadow:0 14px 34px color-mix(in srgb,var(--blue) 18%,transparent);animation:orbFloat 5.6s ease-in-out infinite alternate; }
.about-orb--one { width:43px;height:43px;left:245px;top:34px; }
.about-orb--two { width:64px;height:64px;right:12px;bottom:42px;animation-delay:-1.4s; }

.story { background:linear-gradient(180deg,transparent,var(--section-tint),transparent); }
.story-grid { display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:82px;align-items:start; }
.story-heading { position:sticky;top:128px; }
.story-heading h2,.about-section-heading h2,.skills-intro h2 { margin:0;color:var(--heading);font-size:clamp(33px,4vw,51px);line-height:1.09;letter-spacing:-.035em; }
.story-copy { max-width:770px; }
.story-copy p { margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.82;letter-spacing:-.012em; }
.story-copy blockquote { position:relative;margin:38px 0;padding:30px 30px 30px 34px;border:1px solid var(--line-strong);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 96%,var(--blue) 4%),var(--surface));box-shadow:var(--shadow-soft);color:var(--heading);font-size:clamp(22px,2.5vw,31px);line-height:1.35;letter-spacing:-.036em;font-weight:560; }
.story-copy blockquote::before { content:"“";position:absolute;right:24px;top:8px;color:color-mix(in srgb,var(--blue) 23%,transparent);font-family:Georgia,serif;font-size:88px;line-height:1;pointer-events:none; }
.story-copy .story-emphasis { color:var(--heading);font-weight:620; }

.about-section-heading { display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,410px);gap:42px;align-items:end;margin-bottom:48px; }
.about-section-heading > p { margin:0;color:var(--muted);font-size:13px;line-height:1.7; }
.timeline-section { padding-top:112px; }
.career-timeline { position:relative;display:grid;gap:24px;margin:0;padding:0;list-style:none; }
.career-timeline::before { content:"";position:absolute;left:152px;top:18px;bottom:18px;width:1px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--blue) 34%,transparent) 10%,color-mix(in srgb,var(--blue) 24%,transparent) 90%,transparent); }
.timeline-item { position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:66px;align-items:start; }
.timeline-year { position:relative;padding-top:22px;text-align:right; }
.timeline-year::after { content:"";position:absolute;right:-41px;top:31px;width:11px;height:11px;border:3px solid var(--bg);border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--line-strong),0 0 24px color-mix(in srgb,var(--blue) 35%,transparent); }
.timeline-year span { color:var(--blue-2);font-size:13px;font-weight:800;letter-spacing:-.02em; }
.timeline-card { position:relative;overflow:hidden;padding:27px 30px 29px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(150deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft);transform-style:preserve-3d;transition:transform .36s var(--ease),border-color .3s ease,box-shadow .36s ease; }
.timeline-card:hover { border-color:var(--line-strong);box-shadow:0 26px 68px color-mix(in srgb,var(--blue) 10%,transparent); }
.timeline-card::after { content:"";position:absolute;width:180px;height:180px;right:-80px;top:-90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 12%,transparent),transparent 70%);pointer-events:none; }
.timeline-card--current { border-color:var(--line-strong);background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 92%,var(--blue) 8%),var(--surface)); }
.timeline-index { display:block;margin-bottom:12px;color:var(--muted-2);font-size:9px;font-weight:800;letter-spacing:.15em; }
.timeline-card h3 { margin:0;color:var(--heading);font-size:22px;line-height:1.2;letter-spacing:-.035em; }
.timeline-card p { max-width:780px;margin:13px 0 0;color:var(--muted);font-size:13px;line-height:1.7; }
.timeline-tags { display:flex;flex-wrap:wrap;gap:7px;margin-top:19px; }
.timeline-tags span { padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-solid) 42%,transparent);color:var(--muted-2);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em; }

.skills-section { background:linear-gradient(180deg,transparent,var(--section-tint),transparent); }
.skills-grid { display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:84px;align-items:start; }
.skills-intro { position:sticky;top:128px; }
.skills-intro > p:not(.eyebrow) { max-width:430px;margin:22px 0 0;color:var(--muted);font-size:13px;line-height:1.72; }
.skill-list { display:grid;gap:12px; }
.skill-row { padding:22px 23px 23px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft); }
.skill-row__top { display:flex;align-items:baseline;justify-content:space-between;gap:20px; }
.skill-row h3 { margin:0;color:var(--heading);font-size:16px;line-height:1.35;letter-spacing:-.027em; }
.skill-row__top span { flex:none;color:var(--muted-2);font-size:8px;font-weight:760;text-transform:uppercase;letter-spacing:.09em; }
.skill-track { position:relative;height:7px;margin-top:17px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--blue) 8%,var(--bg-2));box-shadow:inset 0 1px 2px rgba(0,0,0,.08); }
.skill-track span { position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-2) 74%,color-mix(in srgb,var(--amber) 65%,var(--blue-2)));transform:scaleX(0);transform-origin:left center;transition:transform 1.15s var(--ease) var(--skill-delay,0ms); }
.skill-row.is-filled .skill-track span { transform:scaleX(1); }

.education-section { padding-top:70px; }
.education-card { position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:34px 38px;border:1px solid var(--line-strong);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 94%,var(--blue) 6%),var(--surface));box-shadow:var(--shadow-soft); }
.education-card::after { content:"";position:absolute;width:280px;height:280px;right:-110px;top:-150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 13%,transparent),transparent 70%);pointer-events:none; }
.education-mark { width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 10%,var(--surface-solid)),var(--surface));box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:var(--heading);font-family:Georgia,serif;font-size:18px; }
.education-copy { position:relative;z-index:2; }
.education-copy .eyebrow { margin-bottom:9px; }
.education-copy h2 { margin:0;color:var(--heading);font-size:clamp(26px,2.9vw,38px);line-height:1.12;letter-spacing:-.03em; }
.education-copy > p:not(.eyebrow) { margin:9px 0 0;color:var(--muted);font-size:13px; }
.education-years { position:relative;z-index:2;display:flex;align-items:center;gap:12px;color:var(--blue-2);font-size:13px;font-weight:780; }
.education-years i { display:block;width:42px;height:1px;background:var(--line-strong); }

.about-close { padding-top:30px; }
.about-close__panel { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.75fr) auto;gap:42px;align-items:end;padding:38px;border:1px solid var(--line-strong);border-radius:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 96%,var(--blue) 4%),var(--surface));box-shadow:var(--shadow-soft); }
.about-close__panel h2 { max-width:720px;margin:0;color:var(--heading);font-size:clamp(28px,3.4vw,43px);line-height:1.09;letter-spacing:-.035em; }
.about-close__panel > p { margin:0;color:var(--muted);font-size:13px;line-height:1.7; }

@media (max-width:1080px) {
  .about-hero__grid { grid-template-columns:1fr;gap:22px; }
  .about-hero { min-height:auto;padding-top:148px; }
  .about-portrait-scene { width:min(760px,100%);margin:0 auto; }
  .story-grid,.skills-grid { grid-template-columns:1fr;gap:38px; }
  .story-heading,.skills-intro { position:static; }
  .about-close__panel { grid-template-columns:1fr 1fr; }
  .about-close__panel .button { grid-column:1/-1;justify-self:start; }
}
@media (max-width:780px) {
  .about-page { --about-hero-height:auto; }
  .about-hero { padding-top:118px;padding-bottom:58px; }
  .about-hero__copy { padding-left:18px; }
  .about-hero__copy h1 { font-size:clamp(41px,13.5vw,61px); }
  .about-hero__lead { font-size:22px; }
  .about-hero__facts span { flex:1 1 140px; }
  .about-portrait-scene { min-height:500px; }
  .about-orbit { width:360px;height:360px;right:-20px;top:54px; }
  .about-portrait { right:18px;width:305px;height:390px; }
  .about-float { display:none; }
  .about-section-heading { grid-template-columns:1fr;gap:18px; }
  .career-timeline::before { left:19px; }
  .timeline-item { grid-template-columns:1fr;gap:10px;padding-left:48px; }
  .timeline-year { padding:0;text-align:left; }
  .timeline-year::after { left:-34px;right:auto;top:4px; }
  .timeline-card { padding:24px; }
  .timeline-card h3 { font-size:20px; }
  .skill-row__top { align-items:flex-start;flex-direction:column;gap:7px; }
  .education-card { grid-template-columns:auto 1fr;gap:20px;padding:28px 24px; }
  .education-years { grid-column:2;justify-self:start; }
  .about-close__panel { grid-template-columns:1fr;gap:24px;padding:28px 24px; }
  .about-close__panel .button { grid-column:auto; }
}
@media (max-width:520px) {
  .about-portrait-scene { min-height:430px; }
  .about-orbit { width:310px;height:310px;right:-82px;top:52px; }
  .about-portrait { right:4px;width:250px;height:330px; }
  .about-orb--one { left:36px; }
  .about-orb--two { display:none; }
  .story-copy p { font-size:15px; }
  .story-copy blockquote { padding:24px;font-size:22px; }
  .timeline-item { padding-left:42px; }
  .education-card { grid-template-columns:1fr; }
  .education-years { grid-column:auto; }
}
/* === ABOUT PAGE END === */

/* === SERVICES PAGE START === */
.services-page { --services-hero-height: 735px; }
.services-hero { position:relative;min-height:var(--services-hero-height);display:flex;align-items:center;padding:138px 0 86px;overflow:hidden;border-bottom:1px solid var(--line); }
.services-hero::after { content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent); }
.services-hero__grid { position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.96fr) minmax(470px,1.04fr);gap:74px;align-items:center; }
.services-hero__copy { position:relative;max-width:720px;padding-left:26px; }
.services-hero__copy::before { content:'';position:absolute;left:0;top:5px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--blue),var(--amber)); }
.services-hero__copy h1 { margin:0;color:var(--heading);font-size:clamp(49px,5.5vw,78px);line-height:1;letter-spacing:-.045em;font-weight:600; }
.services-hero__lead { max-width:665px;margin:26px 0 0;color:var(--muted);font-size:17px;line-height:1.72;letter-spacing:-.018em; }
.services-scope-note { width:fit-content;max-width:650px;display:flex;align-items:center;gap:12px;margin-top:30px;padding:14px 17px;border:1px solid var(--line-strong);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 96%,var(--blue) 4%),var(--surface));box-shadow:var(--shadow-soft);backdrop-filter:blur(18px); }
.services-scope-note p { margin:0;color:var(--heading);font-size:12px;line-height:1.55;font-weight:620; }
.services-scope-note__dot { width:8px;height:8px;flex:none;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px color-mix(in srgb,var(--amber) 10%,transparent),0 0 22px color-mix(in srgb,var(--amber) 35%,transparent); }

.services-scene { position:relative;min-height:545px;perspective:1400px;transform-style:preserve-3d;isolation:isolate; }
.services-core { position:absolute;left:50%;top:50%;width:195px;height:195px;display:grid;place-items:center;align-content:center;gap:9px;border:1px solid var(--line-strong);border-radius:38px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 84%,var(--blue) 16%),var(--surface));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 38px 90px color-mix(in srgb,var(--blue) 15%,transparent);transform:translate(-50%,-50%) translateZ(70px) rotateX(6deg) rotateY(-10deg);backdrop-filter:blur(24px); }
.services-core::before { content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--blue-2) 18%,transparent);border-radius:28px; }
.services-core span { position:relative;z-index:2;color:var(--heading);font-family:Georgia,serif;font-size:42px;letter-spacing:-.08em; }
.services-core small { position:relative;z-index:2;color:var(--muted-2);font-size:9px;line-height:1.45;text-align:center;text-transform:uppercase;letter-spacing:.14em; }
.services-ring { position:absolute;left:50%;top:50%;border:1px solid color-mix(in srgb,var(--blue) 17%,transparent);border-radius:50%;transform:translate(-50%,-50%) rotateX(66deg);box-shadow:0 0 70px color-mix(in srgb,var(--blue) 7%,transparent); }
.services-ring--one { width:430px;height:430px;animation:servicesRingOne 12s ease-in-out infinite alternate; }
.services-ring--two { width:320px;height:320px;border-color:color-mix(in srgb,var(--amber) 16%,transparent);transform:translate(-50%,-50%) rotateY(68deg);animation:servicesRingTwo 14s ease-in-out infinite alternate; }
@keyframes servicesRingOne { to { transform:translate(-50%,-50%) rotateX(69deg) rotateZ(7deg) scale(1.02); } }
@keyframes servicesRingTwo { to { transform:translate(-50%,-50%) rotateY(65deg) rotateZ(-7deg) scale(.98); } }
.service-plane { position:absolute;z-index:3;width:168px;padding:15px 16px 16px;border:1px solid var(--line-strong);border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 94%,var(--blue) 6%),var(--surface));box-shadow:var(--shadow-soft);backdrop-filter:blur(20px);transition:margin .22s var(--ease),transform .35s var(--ease),box-shadow .35s ease; }
.service-plane small,.service-plane strong,.service-plane span { display:block; }
.service-plane small { margin-bottom:8px;color:var(--blue-2);font-size:8px;font-weight:800;letter-spacing:.12em; }
.service-plane strong { color:var(--heading);font-size:13px;letter-spacing:-.025em; }
.service-plane span { margin-top:5px;color:var(--muted-2);font-size:9px;line-height:1.4; }
.service-plane--one { left:2%;top:58px;transform:translateZ(30px) rotateY(8deg); }
.service-plane--two { right:1%;top:54px;transform:translateZ(64px) rotateY(-8deg); }
.service-plane--three { left:-2%;bottom:44px;transform:translateZ(48px) rotateY(5deg); }
.service-plane--four { right:-3%;bottom:46px;transform:translateZ(78px) rotateY(-7deg); }
.service-plane--five { left:50%;bottom:-2px;transform:translateX(-50%) translateZ(98px) rotateX(-3deg); }
.services-scene-orb { position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,color-mix(in srgb,var(--blue) 50%,var(--surface-solid)) 25%,var(--surface-solid) 70%);box-shadow:0 16px 40px color-mix(in srgb,var(--blue) 20%,transparent);animation:orbFloat 5s ease-in-out infinite alternate; }
.services-scene-orb--one { width:48px;height:48px;left:27%;top:30px; }
.services-scene-orb--two { width:30px;height:30px;right:24%;bottom:78px;animation-delay:-1.7s;background:radial-gradient(circle at 32% 28%,#fff,color-mix(in srgb,var(--amber) 58%,var(--surface-solid)) 28%,var(--surface-solid) 70%); }
html[data-theme="light"] .services-core { background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(229,242,253,.8));box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 32px 75px rgba(48,106,158,.12); }

.services-list { padding-top:112px; }
.services-heading { display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:48px;align-items:end;margin-bottom:48px; }
.services-heading h2 { max-width:760px;margin:0;color:var(--heading);font-size:clamp(34px,4.2vw,53px);line-height:1.08;letter-spacing:-.035em; }
.services-heading > p { margin:0;color:var(--muted);font-size:13px;line-height:1.72; }
.services-grid { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px; }
.services-grid > .service-card { grid-column:span 6;min-width:0; }
.services-grid > .service-card:last-child:nth-child(odd) { grid-column:1 / -1; }
.service-card { position:relative;min-height:390px;overflow:hidden;display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft);transform-style:preserve-3d;transition:transform .38s var(--ease),border-color .3s ease,box-shadow .38s ease,background .35s ease; }
.service-card:hover { border-color:var(--line-strong);box-shadow:0 28px 72px color-mix(in srgb,var(--blue) 12%,transparent); }
.service-card::before { content:"";position:absolute;width:260px;height:260px;right:-118px;top:-128px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 14%,transparent),transparent 70%);pointer-events:none;transition:transform .5s var(--ease),opacity .35s ease; }
.service-card:hover::before { transform:scale(1.1);opacity:1; }
.service-card::after { content:"";position:absolute;left:28px;right:28px;bottom:104px;height:1px;background:linear-gradient(90deg,var(--line),transparent); }
.service-card--strategy { grid-column:span 7; }
.service-card--architecture { grid-column:span 5; }
.service-card--team { grid-column:span 5; }
.service-card--integration { grid-column:span 7; }
.service-card--ai { grid-column:span 12;min-height:330px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(320px,.7fr);column-gap:28px;align-items:start; }
.service-card--ai .service-card__top { grid-row:1/3;display:grid;align-content:start;gap:16px; }
.service-card--ai .service-card__copy { margin-top:0; }
.service-card--ai .service-card__meta { align-self:end;margin-top:0; }
.service-card__top { position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px; }
.service-card__index { color:var(--muted-2);font-size:10px;font-weight:800;letter-spacing:.15em; }
.service-card__icon { width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 9%,var(--surface-solid)),var(--surface));color:var(--blue-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 14px 32px color-mix(in srgb,var(--blue) 9%,transparent); }
.service-card__icon svg { width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round; }
.service-card__copy { position:relative;z-index:2;margin-top:44px; }
.service-card__eyebrow { margin:0 0 10px;color:var(--blue-2);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.13em; }
.service-card__copy h3 { max-width:690px;margin:0;color:var(--heading);font-size:clamp(22px,2.2vw,30px);line-height:1.12;letter-spacing:-.03em; }
.service-card__copy > p:not(.service-card__eyebrow) { max-width:720px;margin:16px 0 0;color:var(--muted);font-size:13px;line-height:1.72; }
.service-card__meta { position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:auto;padding-top:54px; }
.service-card__meta div { min-width:0; }
.service-card__meta small,.service-card__meta strong { display:block; }
.service-card__meta small { margin-bottom:6px;color:var(--muted-2);font-size:8px;font-weight:760;text-transform:uppercase;letter-spacing:.1em; }
.service-card__meta strong { color:var(--heading);font-size:12px;line-height:1.4; }
.service-card__meta .rate-request { color:var(--amber);font-weight:760; }

.services-close { padding-top:34px; }
.services-close__panel { position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr) auto;gap:38px;align-items:end;padding:42px;border:1px solid var(--line-strong);border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 94%,var(--blue) 6%),var(--surface));box-shadow:var(--shadow-soft);isolation:isolate; }
.services-close__panel h2 { max-width:720px;margin:0;color:var(--heading);font-size:clamp(29px,3.6vw,45px);line-height:1.09;letter-spacing:-.035em; }
.services-close__panel > p { position:relative;z-index:2;margin:0;color:var(--muted);font-size:13px;line-height:1.72; }
.services-close__panel .button { position:relative;z-index:3;white-space:nowrap; }
.services-close__visual { position:absolute;inset:auto -48px -78px auto;width:330px;height:250px;z-index:-1;opacity:.74; }
.services-close__visual span { position:absolute;border:1px solid color-mix(in srgb,var(--blue) 18%,transparent);border-radius:50%; }
.services-close__visual span:nth-child(1) { width:250px;height:250px;right:0;bottom:0;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--blue) 18%,transparent),transparent 55%); }
.services-close__visual span:nth-child(2) { width:170px;height:170px;right:60px;bottom:34px;border-color:color-mix(in srgb,var(--amber) 20%,transparent); }
.services-close__visual span:nth-child(3) { width:34px;height:34px;right:125px;bottom:102px;background:var(--surface-solid);box-shadow:0 0 38px color-mix(in srgb,var(--blue) 25%,transparent);animation:orbFloat 4.5s ease-in-out infinite alternate; }

@media (max-width:1080px) {
  .services-hero { min-height:auto;padding-top:148px; }
  .services-hero__grid { grid-template-columns:1fr;gap:24px; }
  .services-scene { width:min(760px,100%);margin:0 auto; }
  .service-card--strategy,.service-card--architecture,.service-card--team,.service-card--integration { grid-column:span 6; }
  .service-card--ai { grid-template-columns:auto 1fr; }
  .service-card--ai .service-card__meta { grid-column:2; }
  .services-close__panel { grid-template-columns:1fr 1fr; }
  .services-close__panel .button { grid-column:1/-1;justify-self:start; }
}
@media (max-width:780px) {
  .services-page { --services-hero-height:auto; }
  .services-hero { padding-top:118px;padding-bottom:58px; }
  .services-hero__copy { padding-left:18px; }
  .services-hero__copy h1 { font-size:clamp(41px,13vw,60px); }
  .services-hero__lead { font-size:15px; }
  .services-scene { min-height:500px; }
  .services-core { width:164px;height:164px;border-radius:32px; }
  .services-ring--one { width:370px;height:370px; }
  .services-ring--two { width:275px;height:275px; }
  .service-plane { display:none; }
  .services-heading { grid-template-columns:1fr;gap:18px; }
  .services-grid { grid-template-columns:1fr; }
  .services-grid > .service-card { grid-column:1 / -1; }
  .service-card,.service-card--strategy,.service-card--architecture,.service-card--team,.service-card--integration,.service-card--ai { grid-column:auto;min-height:auto;display:flex;padding:25px; }
  .service-card--ai .service-card__top { display:flex; }
  .service-card--ai .service-card__meta { grid-column:auto; }
  .service-card__copy { margin-top:34px; }
  .service-card__meta { padding-top:50px; }
  .services-close__panel { grid-template-columns:1fr;gap:24px;padding:30px 25px; }
  .services-close__panel .button { grid-column:auto;justify-self:start; }
}
@media (max-width:520px) {
  .services-scene { min-height:430px; }
  .services-core { width:140px;height:140px; }
  .services-core span { font-size:34px; }
  .services-ring--one { width:320px;height:320px; }
  .services-ring--two { width:230px;height:230px; }
  .services-scene-orb--one { left:22%; }
  .services-scene-orb--two { right:17%; }
  .service-card__meta { grid-template-columns:1fr;gap:14px; }
  .service-card::after { bottom:150px; }
}
/* === SERVICES PAGE END === */

/* === MILESTONES PAGE START === */
.milestones-page { --milestones-hero-height:720px; }
.milestones-hero { position:relative;min-height:var(--milestones-hero-height);display:flex;align-items:center;padding:142px 0 82px;overflow:hidden;border-bottom:1px solid var(--line); }
.milestones-hero::after { content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent); }
.milestones-hero__grid { position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.94fr) minmax(490px,1.06fr);gap:72px;align-items:center; }
.milestones-hero__copy { position:relative;max-width:690px;padding-left:26px; }
.milestones-hero__copy::before { content:'';position:absolute;left:0;top:5px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--blue),var(--amber)); }
.milestones-hero__copy h1 { margin:0;color:var(--heading);font-size:clamp(51px,5.8vw,82px);line-height:.99;letter-spacing:-.045em;font-weight:600; }
.milestones-hero__lead { max-width:650px;margin:27px 0 0;color:var(--muted);font-size:18px;line-height:1.65;letter-spacing:-.018em; }
.milestones-hero__note { display:flex;align-items:center;gap:15px;width:max-content;max-width:100%;margin-top:30px;padding:11px 16px 11px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);backdrop-filter:blur(16px); }
.milestones-hero__note > span { width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;font-size:10px;font-weight:820;letter-spacing:.06em;box-shadow:0 8px 22px color-mix(in srgb,var(--blue) 24%,transparent); }
.milestones-hero__note p { margin:0;color:var(--muted);font-size:10px;line-height:1.45; }

.milestones-scene { position:relative;min-height:500px;perspective:1300px;transform-style:preserve-3d; }
.milestone-core { position:absolute;left:50%;top:50%;width:205px;height:205px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:46px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 89%,var(--blue) 11%),var(--surface));box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 34px 80px color-mix(in srgb,var(--blue) 14%,transparent);transform:translate(-50%,-50%) rotateX(7deg) rotateY(-10deg) translateZ(32px);z-index:4;overflow:hidden; }
.milestone-core::before { content:"";position:absolute;inset:-34%;background:radial-gradient(circle at 38% 36%,color-mix(in srgb,var(--blue-2) 22%,transparent),transparent 32%),radial-gradient(circle at 68% 72%,color-mix(in srgb,var(--amber) 12%,transparent),transparent 28%);animation:milestoneCoreDrift 8s ease-in-out infinite alternate; }
@keyframes milestoneCoreDrift { to { transform:translate3d(8px,-9px,0) scale(1.04); } }
.milestone-core > span { position:relative;z-index:2;color:var(--heading);font:600 55px/1 Georgia,serif;letter-spacing:-.08em; }
.milestone-core > small { position:absolute;right:22px;bottom:22px;z-index:2;color:var(--muted-2);font-size:8px;line-height:1.7;text-align:right;text-transform:uppercase;letter-spacing:.13em; }
.milestone-orbit { position:absolute;left:50%;top:50%;border:1px solid color-mix(in srgb,var(--blue) 20%,transparent);border-radius:50%;transform:translate(-50%,-50%) rotateX(66deg) rotateZ(14deg); }
.milestone-orbit--one { width:470px;height:470px;animation:milestoneOrbit 11s ease-in-out infinite alternate; }
.milestone-orbit--two { width:350px;height:350px;border-color:color-mix(in srgb,var(--amber) 15%,transparent);transform:translate(-50%,-50%) rotateX(63deg) rotateZ(-31deg);animation:milestoneOrbit2 9s ease-in-out infinite alternate; }
@keyframes milestoneOrbit { to { transform:translate(-50%,-50%) rotateX(64deg) rotateZ(22deg) scale(1.02); } }
@keyframes milestoneOrbit2 { to { transform:translate(-50%,-50%) rotateX(67deg) rotateZ(-38deg) scale(.98); } }
.milestone-plane { position:absolute;width:184px;padding:17px 17px 16px;border:1px solid var(--line-strong);border-radius:19px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 89%,transparent),color-mix(in srgb,var(--surface) 78%,transparent));backdrop-filter:blur(20px) saturate(1.15);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.13);z-index:7;transform-style:preserve-3d; }
.milestone-plane small,.milestone-plane strong,.milestone-plane span { display:block; }
.milestone-plane small { color:var(--blue-2);font-size:8px;font-weight:800;letter-spacing:.14em; }
.milestone-plane strong { margin-top:8px;color:var(--heading);font-size:14px;letter-spacing:-.025em; }
.milestone-plane span { margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4; }
.milestone-plane--one { left:0;top:58px;transform:translateZ(65px) rotateY(8deg);animation:milestoneFloat1 6s ease-in-out infinite alternate; }
.milestone-plane--two { right:-2px;top:80px;transform:translateZ(94px) rotateY(-8deg);animation:milestoneFloat2 7.4s ease-in-out infinite alternate; }
.milestone-plane--three { left:18px;bottom:42px;transform:translateZ(82px) rotateY(6deg);animation:milestoneFloat3 7s ease-in-out infinite alternate; }
.milestone-plane--four { right:8px;bottom:34px;transform:translateZ(110px) rotateY(-6deg);animation:milestoneFloat4 8s ease-in-out infinite alternate; }
@keyframes milestoneFloat1 { to { transform:translateY(-10px) translateZ(65px) rotateY(5deg); } }
@keyframes milestoneFloat2 { to { transform:translateY(9px) translateZ(94px) rotateY(-5deg); } }
@keyframes milestoneFloat3 { to { transform:translateY(-8px) translateZ(82px) rotateY(4deg); } }
@keyframes milestoneFloat4 { to { transform:translateY(8px) translateZ(110px) rotateY(-4deg); } }
.milestone-scene-orb { position:absolute;border-radius:50%;z-index:8;background:radial-gradient(circle at 30% 26%,#fff,color-mix(in srgb,var(--blue) 46%,var(--surface-solid)) 24%,var(--surface-solid) 72%);box-shadow:0 16px 38px color-mix(in srgb,var(--blue) 20%,transparent);animation:orbFloat 5.5s ease-in-out infinite alternate; }
.milestone-scene-orb--one { width:46px;height:46px;left:30%;top:24px; }
.milestone-scene-orb--two { width:31px;height:31px;right:28%;bottom:54px;animation-delay:-1.8s;background:radial-gradient(circle at 30% 26%,#fff,color-mix(in srgb,var(--amber) 55%,var(--surface-solid)) 26%,var(--surface-solid) 72%); }
html[data-theme="light"] .milestone-core { background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(231,244,255,.83));box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 32px 78px rgba(48,106,158,.12); }
html[data-theme="light"] .milestone-plane { background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(240,247,253,.74));box-shadow:0 22px 54px rgba(42,75,108,.1),inset 0 1px 0 #fff; }

.milestones-list { padding-top:112px;background:linear-gradient(180deg,transparent,var(--section-tint),transparent); }
.milestones-heading { display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:48px;align-items:end;margin-bottom:68px; }
.milestones-heading h2 { max-width:790px;margin:0;color:var(--heading);font-size:clamp(34px,4.2vw,53px);line-height:1.08;letter-spacing:-.035em; }
.milestones-heading > p { margin:0;color:var(--muted);font-size:13px;line-height:1.72; }
.achievement-timeline { position:relative;display:grid;gap:30px;padding:0 0 18px; }
.achievement-timeline::before { content:"";position:absolute;left:50%;top:18px;bottom:18px;width:1px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--blue) 28%,transparent) 7%,color-mix(in srgb,var(--blue) 22%,transparent) 93%,transparent);transform:translateX(-50%); }
.achievement-item { position:relative;width:calc(50% - 46px);justify-self:start;transition-delay:var(--milestone-delay,0ms);perspective:1200px; }
.achievement-item--reverse { justify-self:end; }
.achievement-marker { position:absolute;right:-62px;top:34px;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg);box-shadow:0 0 0 7px var(--bg),0 0 28px color-mix(in srgb,var(--blue) 16%,transparent);z-index:4; }
.achievement-item--reverse .achievement-marker { left:-62px;right:auto; }
.achievement-marker span { width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;font-size:7px;font-weight:820;letter-spacing:.05em; }
.achievement-card { position:relative;overflow:hidden;padding:28px 29px 30px;border:1px solid var(--line);border-radius:23px;background:linear-gradient(150deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft);transform-style:preserve-3d;transition:transform .38s var(--ease),border-color .3s ease,box-shadow .38s ease; }
.achievement-item:hover .achievement-card { border-color:var(--line-strong);box-shadow:0 28px 72px color-mix(in srgb,var(--blue) 11%,transparent); }
.achievement-card::after { content:"";position:absolute;width:210px;height:210px;right:-100px;top:-110px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 13%,transparent),transparent 68%);pointer-events:none;transition:transform .55s var(--ease); }
.achievement-item:hover .achievement-card::after { transform:scale(1.1); }
.achievement-card__top { position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px; }
.achievement-card__top p { margin:0;color:var(--blue-2);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.13em; }
.achievement-card__top span { flex:none;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-solid) 45%,transparent);color:var(--muted-2);font-size:8px;font-weight:720;text-transform:uppercase;letter-spacing:.08em; }
.achievement-card h3 { position:relative;z-index:2;margin:0;color:var(--heading);font-size:clamp(21px,2.1vw,29px);line-height:1.16;letter-spacing:-.03em; }
.achievement-context { position:relative;z-index:2;margin:17px 0 0;color:var(--muted);font-size:13px;line-height:1.72; }
.achievement-impact { position:relative;z-index:2;margin-top:24px;padding-top:20px;border-top:1px solid var(--line); }
.achievement-impact small { display:block;margin-bottom:8px;color:var(--amber);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.13em; }
.achievement-impact p { margin:0;color:var(--text);font-size:12px;line-height:1.62; }
.achievement-item--education .achievement-card { border-color:var(--line-strong);background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 92%,var(--blue) 8%),var(--surface)); }

.milestones-close { padding-top:34px; }
.milestones-close__panel { position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr) auto;gap:38px;align-items:end;padding:42px;border:1px solid var(--line-strong);border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 94%,var(--blue) 6%),var(--surface));box-shadow:var(--shadow-soft);isolation:isolate; }
.milestones-close__panel h2 { max-width:730px;margin:0;color:var(--heading);font-size:clamp(29px,3.6vw,45px);line-height:1.09;letter-spacing:-.035em; }
.milestones-close__panel > p { position:relative;z-index:2;margin:0;color:var(--muted);font-size:13px;line-height:1.72; }
.milestones-close__panel .button { position:relative;z-index:3;white-space:nowrap; }
.milestones-close__visual { position:absolute;right:-70px;bottom:-92px;width:350px;height:280px;z-index:-1;opacity:.7; }
.milestones-close__visual span { position:absolute;border:1px solid color-mix(in srgb,var(--blue) 18%,transparent);border-radius:50%; }
.milestones-close__visual span:nth-child(1) { width:270px;height:270px;right:0;bottom:0;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--blue) 17%,transparent),transparent 56%); }
.milestones-close__visual span:nth-child(2) { width:178px;height:178px;right:68px;bottom:43px;border-color:color-mix(in srgb,var(--amber) 20%,transparent); }
.milestones-close__visual span:nth-child(3) { width:38px;height:38px;right:137px;bottom:113px;background:var(--surface-solid);box-shadow:0 0 38px color-mix(in srgb,var(--blue) 25%,transparent);animation:orbFloat 4.6s ease-in-out infinite alternate; }

@media (max-width:1180px) and (min-width:781px) {
  .primary-nav { gap:17px; }
  .primary-nav a { font-size:12px; }
  .nav-shell { gap:18px; }
  .nav-cta { padding-left:15px;padding-right:15px; }
}
@media (max-width:1080px) {
  .milestones-hero { min-height:auto;padding-top:148px; }
  .milestones-hero__grid { grid-template-columns:1fr;gap:22px; }
  .milestones-scene { width:min(760px,100%);margin:0 auto; }
  .milestones-close__panel { grid-template-columns:1fr 1fr; }
  .milestones-close__panel .button { grid-column:1/-1;justify-self:start; }
}
@media (max-width:780px) {
  .milestones-page { --milestones-hero-height:auto; }
  .milestones-hero { padding-top:118px;padding-bottom:58px; }
  .milestones-hero__copy { padding-left:18px; }
  .milestones-hero__copy h1 { font-size:clamp(41px,13vw,60px); }
  .milestones-hero__lead { font-size:15px; }
  .milestones-hero__note { width:100%;border-radius:20px; }
  .milestones-scene { min-height:500px; }
  .milestone-core { width:168px;height:168px;border-radius:36px; }
  .milestone-core > span { font-size:43px; }
  .milestone-orbit--one { width:370px;height:370px; }
  .milestone-orbit--two { width:280px;height:280px; }
  .milestone-plane { display:none; }
  .milestones-heading { grid-template-columns:1fr;gap:18px;margin-bottom:46px; }
  .achievement-timeline { gap:18px; }
  .achievement-timeline::before { left:17px;transform:none; }
  .achievement-item,.achievement-item--reverse { width:auto;justify-self:stretch;padding-left:54px; }
  .achievement-marker,.achievement-item--reverse .achievement-marker { left:1px;right:auto;top:26px; }
  .achievement-card { padding:25px; }
  .achievement-card__top { align-items:flex-start;flex-direction:column;gap:9px; }
  .milestones-close__panel { grid-template-columns:1fr;gap:24px;padding:30px 25px; }
  .milestones-close__panel .button { grid-column:auto;justify-self:start; }
}
@media (max-width:520px) {
  .milestones-scene { min-height:425px; }
  .milestone-core { width:140px;height:140px; }
  .milestone-core > span { font-size:36px; }
  .milestone-core > small { right:16px;bottom:14px;font-size:7px; }
  .milestone-orbit--one { width:320px;height:320px; }
  .milestone-orbit--two { width:235px;height:235px; }
}
/* === MILESTONES PAGE END === */

/* === CONTACT PAGE START === */
.contact-hero { position:relative;min-height:760px;display:flex;align-items:center;padding:142px 0 84px;overflow:hidden; }
.contact-hero__grid { display:grid;grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr);gap:72px;align-items:center; }
.contact-hero__copy { position:relative;z-index:5;padding-left:26px; }
.contact-hero__copy::before { content:'';position:absolute;left:0;top:5px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--blue),var(--amber)); }
.contact-hero__copy h1 { max-width:820px;margin:14px 0 0;color:var(--heading);font-size:clamp(51px,5.9vw,80px);line-height:.99;letter-spacing:-.045em; }
.contact-hero__lead { max-width:720px;margin:27px 0 0;color:var(--muted);font-size:clamp(17px,1.8vw,21px);line-height:1.66;letter-spacing:-.018em; }
.contact-hero__actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:34px; }
.contact-scene { position:relative;min-height:520px;perspective:1150px;transform-style:preserve-3d; }
.contact-core { position:absolute;left:50%;top:50%;width:225px;height:225px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:52px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 87%,var(--blue) 13%),var(--surface));box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 38px 90px color-mix(in srgb,var(--blue) 17%,transparent);transform:translate(-50%,-50%) rotateX(8deg) rotateY(-10deg) translateZ(40px);overflow:hidden;z-index:5; }
.contact-core::before { content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--blue-2) 27%,transparent),transparent 30%),radial-gradient(circle at 70% 72%,color-mix(in srgb,var(--amber) 13%,transparent),transparent 29%);animation:contactCoreDrift 8s ease-in-out infinite alternate; }
@keyframes contactCoreDrift { to { transform:translate3d(11px,-8px,0) scale(1.045); } }
.contact-core__mark { position:relative;z-index:3;color:var(--heading);font:600 60px/1 Georgia,serif;letter-spacing:-.09em; }
.contact-core__pulse { position:absolute;left:28px;top:30px;width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px color-mix(in srgb,var(--green) 12%,transparent),0 0 28px color-mix(in srgb,var(--green) 42%,transparent);animation:contactPulse 3.4s ease-in-out infinite; }
@keyframes contactPulse { 50% { transform:scale(.78);opacity:.66; } }
.contact-core small { position:absolute;right:24px;bottom:23px;z-index:3;color:var(--muted-2);font-size:8px;font-weight:700;line-height:1.7;text-align:right;text-transform:uppercase;letter-spacing:.14em; }
.contact-ring { position:absolute;left:50%;top:50%;border:1px solid color-mix(in srgb,var(--blue) 19%,transparent);border-radius:50%;transform:translate(-50%,-50%) rotateX(66deg) rotateZ(14deg); }
.contact-ring--one { width:500px;height:500px;animation:contactRingOne 10s ease-in-out infinite alternate; }
.contact-ring--two { width:360px;height:360px;border-color:color-mix(in srgb,var(--amber) 18%,transparent);transform:translate(-50%,-50%) rotateX(63deg) rotateZ(-28deg);animation:contactRingTwo 8.8s ease-in-out infinite alternate; }
@keyframes contactRingOne { to { transform:translate(-50%,-50%) rotateX(64deg) rotateZ(23deg) scale(1.018); } }
@keyframes contactRingTwo { to { transform:translate(-50%,-50%) rotateX(67deg) rotateZ(-36deg) scale(.985); } }
.contact-plane { position:absolute;width:195px;padding:18px;border:1px solid var(--line-strong);border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 90%,transparent),color-mix(in srgb,var(--surface) 78%,transparent));backdrop-filter:blur(20px) saturate(1.12);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.13);z-index:7;transform-style:preserve-3d; }
.contact-plane small,.contact-plane strong,.contact-plane span { display:block; }
.contact-plane small { color:var(--blue-2);font-size:8px;font-weight:800;letter-spacing:.14em; }
.contact-plane strong { margin-top:8px;color:var(--heading);font-size:14px;letter-spacing:-.02em; }
.contact-plane span { margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4; }
.contact-plane--one { left:0;top:74px;transform:translateZ(74px) rotateY(8deg);animation:contactFloatOne 6.2s ease-in-out infinite alternate; }
.contact-plane--two { right:-8px;top:95px;transform:translateZ(102px) rotateY(-8deg);animation:contactFloatTwo 7.2s ease-in-out infinite alternate; }
.contact-plane--three { right:36px;bottom:36px;transform:translateZ(88px) rotateY(-5deg);animation:contactFloatThree 7.8s ease-in-out infinite alternate; }
@keyframes contactFloatOne { to { transform:translateY(-10px) translateZ(74px) rotateY(5deg); } }
@keyframes contactFloatTwo { to { transform:translateY(9px) translateZ(102px) rotateY(-5deg); } }
@keyframes contactFloatThree { to { transform:translateY(-8px) translateZ(88px) rotateY(-3deg); } }
.contact-orb { position:absolute;border-radius:50%;z-index:8;background:radial-gradient(circle at 30% 26%,#fff,color-mix(in srgb,var(--blue) 48%,var(--surface-solid)) 24%,var(--surface-solid) 72%);box-shadow:0 16px 38px color-mix(in srgb,var(--blue) 22%,transparent);animation:orbFloat 5.6s ease-in-out infinite alternate; }
.contact-orb--one { width:48px;height:48px;left:26%;top:28px; }
.contact-orb--two { width:31px;height:31px;left:18%;bottom:65px;animation-delay:-2s;background:radial-gradient(circle at 30% 26%,#fff,color-mix(in srgb,var(--amber) 55%,var(--surface-solid)) 26%,var(--surface-solid) 72%); }
html[data-theme="light"] .contact-core { background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(231,244,255,.84));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 35px 82px rgba(48,106,158,.13); }
html[data-theme="light"] .contact-plane { background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(239,247,253,.78));box-shadow:0 22px 54px rgba(42,75,108,.1),inset 0 1px 0 #fff; }

.contact-main { padding-top:110px;background:linear-gradient(180deg,transparent,var(--section-tint),transparent); }
.contact-layout { display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:48px;align-items:start; }
.contact-details { position:sticky;top:112px; }
.contact-details h2 { max-width:520px;margin:12px 0 0;color:var(--heading);font-size:clamp(34px,3.8vw,49px);line-height:1.08;letter-spacing:-.035em; }
.contact-details__intro { max-width:500px;margin:19px 0 0;color:var(--muted);font-size:13px;line-height:1.72; }
.contact-detail-list { display:grid;gap:12px;margin-top:34px; }
.contact-detail-card { position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:center;min-height:82px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft);transition:transform .3s var(--ease),border-color .25s ease,box-shadow .3s ease; }
a.contact-detail-card:hover { transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 22px 50px color-mix(in srgb,var(--blue) 10%,transparent); }
.contact-detail-card__icon { width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 10%,var(--surface-solid)),var(--surface));color:var(--blue-2); }
.contact-detail-card__icon svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round; }
.contact-detail-card__icon svg path[d*="M6.2"] { fill:currentColor;stroke:none; }
.contact-detail-card small,.contact-detail-card strong { display:block; }
.contact-detail-card small { margin-bottom:6px;color:var(--muted-2);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em; }
.contact-detail-card strong { overflow-wrap:anywhere;color:var(--heading);font-size:12px;line-height:1.4; }
.contact-detail-card__arrow { color:var(--blue-2);font-size:15px; }

.contact-form-panel { position:relative;overflow:hidden;padding:38px;border:1px solid var(--line-strong);border-radius:28px;background:linear-gradient(150deg,color-mix(in srgb,var(--surface-2) 95%,var(--blue) 5%),var(--surface));box-shadow:var(--shadow); }
.contact-form-panel::before { content:"";position:absolute;width:400px;height:400px;right:-220px;top:-230px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 15%,transparent),transparent 68%);pointer-events:none; }
.contact-form-panel::after { content:"";position:absolute;width:280px;height:280px;left:-180px;bottom:-190px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--amber) 10%,transparent),transparent 68%);pointer-events:none; }
.contact-form-panel__head,.contact-form { position:relative;z-index:2; }
.contact-form-panel__head h2 { max-width:760px;margin:11px 0 0;color:var(--heading);font-size:clamp(33px,3.8vw,49px);line-height:1.08;letter-spacing:-.035em; }
.contact-form-panel__head > p:last-child { max-width:700px;margin:17px 0 0;color:var(--muted);font-size:13px;line-height:1.72; }
.contact-form { margin-top:32px; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.field { position:relative;display:grid;gap:9px;min-width:0; }
.field--full { grid-column:1/-1; }
.field > span { color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;transition:color .24s ease; }
.field input,.field select,.field textarea { width:100%;min-width:0;border:1px solid var(--line);border-radius:15px;outline:none;background:color-mix(in srgb,var(--surface-solid) 64%,transparent);color:var(--heading);font:inherit;font-size:13px;line-height:1.45;padding:15px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .25s ease,box-shadow .3s ease,background .3s ease,transform .25s var(--ease); }
.field input,.field select { min-height:53px; }
.field textarea { min-height:176px;resize:vertical; }
.field input::placeholder,.field textarea::placeholder { color:color-mix(in srgb,var(--muted-2) 82%,transparent); }
.field select { appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted-2) 50%),linear-gradient(135deg,var(--muted-2) 50%,transparent 50%);background-position:calc(100% - 19px) 22px,calc(100% - 14px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:42px; }
.field:focus-within > span { color:var(--blue-2); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue);background:color-mix(in srgb,var(--surface-solid) 78%,var(--blue) 2%);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 11%,transparent),0 16px 38px color-mix(in srgb,var(--blue) 8%,transparent);transform:translateY(-1px); }
.field input:invalid:not(:placeholder-shown),.field textarea:invalid:not(:placeholder-shown) { border-color:color-mix(in srgb,#e45d5d 45%,var(--line)); }
.contact-form__actions { display:flex;align-items:center;gap:18px;justify-content:space-between;margin-top:20px; }
.contact-submit { border:0;cursor:pointer;min-width:164px; }
.contact-submit[disabled] { opacity:.68;cursor:wait;transform:none; }
.contact-form__privacy { margin:0;color:var(--muted-2);font-size:10px;line-height:1.55;text-align:right; }
.contact-form__privacy a { color:var(--blue-2); }
.form-status { margin-top:18px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:14px;background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:var(--text);font-size:12px;line-height:1.6; }
.form-status.is-success { border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:color-mix(in srgb,var(--green) 8%,var(--surface)); }
.form-status.is-error { border-color:color-mix(in srgb,#e45d5d 48%,var(--line));background:color-mix(in srgb,#e45d5d 7%,var(--surface)); }
.contact-form__required-note { margin:0 0 14px;color:var(--muted-2);font-size:11px; }
.field__hint { color:var(--muted-2);font-size:11px;line-height:1.5; }
.contact-form__more { margin-top:16px;border:1px solid var(--line);border-radius:15px;padding:0 16px; }
.contact-form__more > summary { min-height:48px;display:flex;align-items:center;cursor:pointer;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.02em; }
.contact-form__more > summary:focus-visible { outline:2px solid var(--blue);outline-offset:4px;border-radius:8px; }
.contact-form__more[open] > summary { color:var(--heading); }
.contact-form__more > .form-grid { padding-bottom:16px; }
.contact-form__more > .form-grid > p { margin:0;color:var(--muted-2);font-size:11px; }
.contact-form__next { margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.65; }
.form-honeypot { position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important; }

@media (max-width:1080px) {
  .contact-hero { min-height:auto;padding-top:148px; }
  .contact-hero__grid { grid-template-columns:1fr;gap:18px; }
  .contact-scene { width:min(760px,100%);margin:0 auto; }
  .contact-layout { grid-template-columns:1fr; }
  .contact-details { position:static; }
  .contact-detail-list { grid-template-columns:1fr 1fr; }
}
@media (max-width:780px) {
  .contact-hero { padding-top:118px;padding-bottom:58px; }
  .contact-hero__copy h1 { font-size:clamp(41px,13vw,60px); }
  .contact-hero__copy { padding-left:18px; }
  .contact-hero__lead { font-size:15px; }
  .contact-scene { min-height:500px; }
  .contact-core { width:172px;height:172px;border-radius:38px; }
  .contact-core__mark { font-size:44px; }
  .contact-ring--one { width:370px;height:370px; }
  .contact-ring--two { width:280px;height:280px; }
  .contact-plane { display:none; }
  .contact-detail-list { grid-template-columns:1fr; }
  .contact-form-panel { padding:28px 24px;border-radius:23px; }
  .form-grid { grid-template-columns:1fr; }
  .field--full { grid-column:auto; }
  .contact-form__actions { align-items:flex-start;flex-direction:column; }
  .contact-form__privacy { text-align:left; }
}
@media (max-width:520px) {
  .contact-scene { min-height:420px; }
  .contact-core { width:140px;height:140px;border-radius:31px; }
  .contact-core__mark { font-size:36px; }
  .contact-core small { right:14px;bottom:13px;font-size:7px; }
  .contact-core__pulse { left:18px;top:18px; }
  .contact-ring--one { width:315px;height:315px; }
  .contact-ring--two { width:230px;height:230px; }
  .contact-hero__actions .button { width:100%;justify-content:center; }
}
/* === CONTACT PAGE END === */

/* === ADMIN-SELECTABLE SITE PALETTES ===
   The visitor can still choose light/dark. The admin chooses the palette family.
*/
html[data-site-theme="midnight-amber"][data-theme="dark"] {
  --bg:#090d14; --bg-2:#111722; --surface:rgba(24,29,38,.78); --surface-2:rgba(31,37,48,.82); --surface-solid:#171d27;
  --text:#f6f2e9; --heading:#fffaf0; --muted:#bbb1a2; --muted-2:#847b70; --line:rgba(241,174,73,.15); --line-strong:rgba(241,174,73,.38);
  --blue:#efa83f; --blue-2:#ffc56f; --blue-soft:rgba(239,168,63,.12); --amber:#78aef7; --green:#4ad69b;
  --shadow:0 28px 80px rgba(0,0,0,.42); --shadow-soft:0 18px 50px rgba(0,0,0,.25); --header-bg:rgba(9,13,20,.8); --section-tint:rgba(239,168,63,.018); --grain:rgba(255,248,235,.08); --hero-grid:rgba(239,168,63,.055); --footer-bg:#070a10;
}
html[data-site-theme="midnight-amber"][data-theme="light"] {
  --bg:#fffaf2; --bg-2:#f5eee4; --surface:rgba(255,255,255,.74); --surface-2:rgba(255,252,246,.92); --surface-solid:#fffdfa;
  --text:#2d2924; --heading:#191714; --muted:#6e655b; --muted-2:#9b8f81; --line:rgba(116,83,38,.12); --line-strong:rgba(218,139,31,.3);
  --blue:#cf8421; --blue-2:#eeaa49; --blue-soft:rgba(207,132,33,.10); --amber:#397fc7; --green:#249a6a;
  --shadow:0 28px 80px rgba(93,69,38,.13); --shadow-soft:0 16px 42px rgba(93,69,38,.09); --header-bg:rgba(255,250,242,.84); --section-tint:rgba(239,222,198,.38); --grain:rgba(72,53,32,.055); --hero-grid:rgba(160,112,47,.05); --footer-bg:rgba(255,253,249,.9);
}
html[data-site-theme="graphite-teal"][data-theme="dark"] {
  --bg:#091313; --bg-2:#0e1c1b; --surface:rgba(15,31,30,.76); --surface-2:rgba(19,40,38,.78); --surface-solid:#102322;
  --text:#eef8f5; --heading:#f7fffc; --muted:#9bb8b1; --muted-2:#6e8d86; --line:rgba(77,205,185,.14); --line-strong:rgba(49,202,178,.34);
  --blue:#28bda8; --blue-2:#5dd4c2; --blue-soft:rgba(40,189,168,.12); --amber:#e2a14b; --green:#55d693;
  --shadow:0 28px 80px rgba(0,0,0,.36); --shadow-soft:0 18px 50px rgba(0,0,0,.22); --header-bg:rgba(9,19,19,.8); --section-tint:rgba(49,202,178,.018); --grain:rgba(233,255,249,.08); --hero-grid:rgba(61,185,168,.05); --footer-bg:#07100f;
}
html[data-site-theme="graphite-teal"][data-theme="light"] {
  --bg:#f5fbfa; --bg-2:#eaf5f2; --surface:rgba(255,255,255,.74); --surface-2:rgba(255,255,255,.9); --surface-solid:#ffffff;
  --text:#18302c; --heading:#0d2824; --muted:#5e7771; --muted-2:#869a95; --line:rgba(27,101,91,.11); --line-strong:rgba(25,166,146,.27);
  --blue:#159f8d; --blue-2:#33b9a5; --blue-soft:rgba(21,159,141,.10); --amber:#c78a38; --green:#1d9f67;
  --shadow:0 28px 80px rgba(35,83,76,.13); --shadow-soft:0 16px 42px rgba(35,83,76,.09); --header-bg:rgba(245,251,250,.84); --section-tint:rgba(219,239,234,.45); --grain:rgba(25,75,67,.055); --hero-grid:rgba(42,116,105,.05); --footer-bg:rgba(255,255,255,.86);
}
html[data-site-theme="ink-copper"][data-theme="dark"] {
  --bg:#0d0e11; --bg-2:#151519; --surface:rgba(29,29,34,.78); --surface-2:rgba(37,37,43,.8); --surface-solid:#1b1b20;
  --text:#f2efec; --heading:#fffaf5; --muted:#b5aca5; --muted-2:#827a74; --line:rgba(206,126,77,.15); --line-strong:rgba(202,116,64,.36);
  --blue:#c87341; --blue-2:#e19462; --blue-soft:rgba(200,115,65,.12); --amber:#7da9d9; --green:#58c18c;
  --shadow:0 28px 80px rgba(0,0,0,.43); --shadow-soft:0 18px 50px rgba(0,0,0,.26); --header-bg:rgba(13,14,17,.82); --section-tint:rgba(200,115,65,.018); --grain:rgba(255,248,242,.075); --hero-grid:rgba(200,115,65,.05); --footer-bg:#090a0c;
}
html[data-site-theme="ink-copper"][data-theme="light"] {
  --bg:#fbf8f5; --bg-2:#f0e9e3; --surface:rgba(255,255,255,.76); --surface-2:rgba(255,253,251,.92); --surface-solid:#fffefd;
  --text:#302822; --heading:#201914; --muted:#70645c; --muted-2:#988b82; --line:rgba(111,73,51,.12); --line-strong:rgba(183,97,49,.28);
  --blue:#ad5c2d; --blue-2:#ce7540; --blue-soft:rgba(173,92,45,.10); --amber:#467cad; --green:#2c9363;
  --shadow:0 28px 80px rgba(85,58,42,.13); --shadow-soft:0 16px 42px rgba(85,58,42,.09); --header-bg:rgba(251,248,245,.86); --section-tint:rgba(235,222,213,.42); --grain:rgba(75,52,39,.052); --hero-grid:rgba(110,72,50,.045); --footer-bg:rgba(255,254,252,.9);
}

/* CMS-powered testimonials; hidden entirely until enabled and populated.
   Base rules render every quote stacked and fully visible (crawlable, no-JS safe);
   main.js adds .is-carousel to enhance into an animated single-quote spotlight. */
.testimonials { background:linear-gradient(180deg,transparent,var(--section-tint),transparent); }
.testimonial-spotlight { display:grid; }
.testimonial-spotlight__mark { margin:0 0 6px;font-family:var(--font-heading);font-size:56px;line-height:1;color:var(--blue);opacity:.55; }
.testimonial-spotlight__counter { display:none;margin:0 0 18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted-2);letter-spacing:.04em; }
.testimonial-spotlight__stage { display:grid;gap:30px; }
.testimonial-slide { padding:0 0 30px;border-bottom:1px solid var(--line); }
.testimonial-slide:last-child { border-bottom:0;padding-bottom:0; }
.testimonial-slide blockquote { margin:0;font-family:var(--font-heading);font-weight:500;font-size:clamp(19px,2vw,24px);line-height:1.5;letter-spacing:-.015em;color:var(--heading); }
.testimonial-slide__meta { display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px; }
.testimonial-slide__avatar { width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 16%,var(--surface-solid)),var(--surface));color:var(--blue);font-family:var(--font-heading);font-weight:600;font-size:15px; }
.testimonial-slide__id strong { display:block;color:var(--heading);font-size:14px; }
.testimonial-slide__id span { display:block;margin-top:2px;color:var(--muted);font-size:11.5px; }
.testimonial-linkedin { display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:none; }
.testimonial-linkedin:hover { color:var(--blue-2); }
.testimonial-spotlight__rail { display:none; }

/* Enhanced (JS) single-quote carousel */
.testimonial-spotlight.is-carousel { grid-template-columns:1.6fr 1fr;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius-xl);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-soft); }
.testimonial-spotlight.is-carousel .testimonial-spotlight__main { position:relative;padding:52px 52px 40px;overflow:hidden; }
.testimonial-spotlight.is-carousel .testimonial-spotlight__main::before { content:"";position:absolute;inset:-20% -10% auto auto;width:60%;aspect-ratio:1;background:radial-gradient(circle,var(--blue-soft),transparent 70%);pointer-events:none; }
.testimonial-spotlight.is-carousel .testimonial-spotlight__counter { display:block; }
.testimonial-spotlight.is-carousel .testimonial-spotlight__stage { position:relative;min-height:230px;display:block; }
.testimonial-spotlight.is-carousel .testimonial-slide { position:absolute;inset:0;padding:0;border-bottom:0;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .55s var(--ease),transform .55s var(--ease); }
.testimonial-spotlight.is-carousel .testimonial-slide.is-active { position:relative;opacity:1;transform:translateY(0);pointer-events:auto; }
.testimonial-spotlight.is-carousel .testimonial-spotlight__rail { display:flex;flex-direction:column;gap:4px;padding:18px;border-left:1px solid var(--line);background:var(--surface-2); }
.testimonial-rail-item { position:relative;display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:inherit;font:inherit;text-align:left;overflow:hidden;cursor:pointer; }
.testimonial-rail-item:hover { background:color-mix(in srgb,var(--blue) 5%,transparent); }
.testimonial-rail-item:focus-visible { outline:2px solid var(--blue);outline-offset:-2px; }
.testimonial-rail-item::before { content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease); }
.testimonial-rail-item.is-active::before { transform:scaleY(1); }
.testimonial-rail-item.is-active { border-color:var(--line);background:var(--surface); }
.testimonial-rail-item__avatar { width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-solid);color:var(--muted-2);font-family:var(--font-heading);font-weight:600;font-size:12.5px;transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease); }
.testimonial-rail-item.is-active .testimonial-rail-item__avatar { border-color:var(--line-strong);background:var(--blue-soft);color:var(--blue); }
.testimonial-rail-item__text strong { display:block;color:var(--heading);font-size:12.5px; }
.testimonial-rail-item__text span { display:block;margin-top:2px;color:var(--muted);font-size:10.5px; }
.testimonial-rail-item__progress { position:absolute;left:0;bottom:0;height:2px;width:0%;background:var(--blue); }
.testimonial-rail-item__progress.is-running { transition:width linear; }
@media (max-width:900px){
  .testimonial-spotlight.is-carousel { grid-template-columns:1fr; }
  .testimonial-spotlight.is-carousel .testimonial-spotlight__rail { flex-direction:row;overflow-x:auto;border-left:0;border-top:1px solid var(--line); }
  .testimonial-rail-item { flex:0 0 auto;min-width:180px; }
  .testimonial-rail-item::before { left:0;top:auto;bottom:0;width:100%;height:3px;transform:scaleX(0); }
  .testimonial-rail-item.is-active::before { transform:scaleX(1); }
}
@media (max-width:620px){
  .testimonial-spotlight.is-carousel .testimonial-spotlight__main { padding:36px 22px 24px; }
}
@media (prefers-reduced-motion:reduce){
  .testimonial-spotlight.is-carousel .testimonial-slide { transition:none; }
  .testimonial-rail-item__progress.is-running { transition:none !important; }
}

/* Editorial project case studies. */
.project-hero { padding:142px 0 76px;overflow:hidden; }
.project-breadcrumbs { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px;color:var(--muted);font-size:12px; }
.project-breadcrumbs a { color:inherit; }
.project-breadcrumbs a:hover { color:var(--blue); }
.project-hero__grid { display:grid;grid-template-columns:minmax(340px,.78fr) minmax(520px,1.22fr);gap:64px;align-items:center; }
.project-hero__copy h1 { max-width:670px;margin:0;color:var(--heading);font-size:clamp(48px,5.7vw,78px);line-height:.98;letter-spacing:-.045em; }
.project-hero__lead { max-width:620px;margin:24px 0 0;color:var(--muted);font-size:18px;line-height:1.65; }
.project-hero__actions { display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px; }
.project-hero__actions .text-link { align-self:auto;margin:0; }
.project-hero__visual { position:relative;margin:0;transform:rotate(1.1deg); }
.project-hero__visual::before { content:"";position:absolute;inset:10% -9% -10% 10%;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 19%,transparent),transparent 68%);filter:blur(18px); }
.project-browser { overflow:hidden;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface-solid);box-shadow:var(--shadow); }
.project-browser__bar { height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-solid) 88%,var(--blue) 12%); }
.project-browser__bar span { width:7px;height:7px;border-radius:50%;background:var(--muted-2);opacity:.55; }
.project-browser__bar small { overflow:hidden;margin-left:7px;color:var(--muted-2);font-size:11px;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap; }
.project-browser img { display:block;width:100%;height:auto; }
.project-hero__visual figcaption { margin-top:12px;color:var(--muted-2);font-size:12px;text-align:right; }
.project-scope { border-block:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent); }
.project-scope__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-scope__grid > div { min-height:108px;display:flex;flex-direction:column;justify-content:center;padding:22px 28px;border-right:1px solid var(--line); }
.project-scope__grid > div:first-child { border-left:1px solid var(--line); }
.project-scope__grid span { margin-bottom:7px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.project-scope__grid strong { color:var(--heading);font-size:15px;line-height:1.45; }
.project-scope__stack { grid-column:span 1; }
.project-detail { padding-top:96px; }
.project-detail figure { margin:0; }
.project-detail img { width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-lg); }
.project-detail h2 { margin:0;color:var(--heading);font-size:clamp(30px,3.4vw,45px);line-height:1.08;letter-spacing:-.032em; }
.project-detail p { color:var(--muted);font-size:16px;line-height:1.78; }
.project-intro { display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:80px;align-items:start;padding-bottom:86px; }
.project-intro > p { margin:4px 0 0;font-size:18px; }
.project-story { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.project-story article { position:relative;min-height:390px;padding:44px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft);overflow:hidden; }
.project-story article > span { position:absolute;right:28px;top:20px;color:color-mix(in srgb,var(--blue) 22%,transparent);font-family:var(--font-heading);font-size:74px;line-height:1; }
.project-story h2 { max-width:490px;font-size:clamp(28px,3vw,40px); }
.project-story article > p:last-child { position:relative;margin:26px 0 0; }
.project-showcases { display:grid;gap:100px;margin-top:100px; }
.project-showcase { display:grid;gap:34px; }
.project-showcase__heading { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:end;margin-bottom:34px; }
.project-showcase__heading .eyebrow { grid-column:1/-1;margin-bottom:-48px; }
.project-showcase__heading p:last-child { margin:0; }
.project-showcase figure { overflow:hidden;padding:10px;border:1px solid var(--line-strong);border-radius:28px;background:var(--surface);box-shadow:var(--shadow); }
.project-showcase img { display:block;border-radius:19px; }
.project-showcase--reverse .project-showcase__heading h2 { grid-column:2; }
.project-showcase--reverse .project-showcase__heading p:last-child { grid-column:1;grid-row:2; }
.project-build-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:100px; }
.project-list-panel { padding:40px;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 78%,transparent); }
.project-list-panel h2 { margin-bottom:28px;font-size:34px; }
.project-capabilities { display:grid;gap:8px;margin:0;padding:0;list-style:none; }
.project-capabilities li { position:relative;padding:15px 16px 15px 39px;border-top:1px solid var(--line);color:var(--muted);font-size:15px;line-height:1.5; }
.project-capabilities li::before { content:'✓';position:absolute;left:8px;color:var(--blue);font-weight:800; }
.project-deliverables li::before { content:'→'; }
.project-results { display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:70px;margin-top:100px;padding:54px;border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 13%,var(--surface-solid)),var(--surface));box-shadow:var(--shadow-soft); }
.project-outcomes { margin:0;padding:0;list-style:none;counter-reset:outcomes; }
.project-outcomes li { position:relative;padding:20px 18px 20px 58px;border-bottom:1px solid var(--line);color:var(--text);font-size:16px;line-height:1.55; }
.project-outcomes li:first-child { border-top:1px solid var(--line); }
.project-outcomes li::before { counter-increment:outcomes;content:counter(outcomes,decimal-leading-zero);position:absolute;left:10px;color:var(--blue);font-family:var(--font-heading);font-size:22px; }
.project-next { display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:100px;padding:50px 0 10px;border-top:1px solid var(--line); }
.project-next h2 { max-width:680px; }
.project-next p:not(.eyebrow) { margin:16px 0 0; }
.project-next > div:last-child { flex:none;display:flex;align-items:center;gap:24px; }
.project-next .text-link { align-self:auto;margin:0; }
.service-answers h2 { margin-bottom:28px; }
.service-answers details { padding:22px 0;border-bottom:1px solid var(--line); }
.service-answers summary { cursor:pointer;color:var(--heading);font-size:18px;font-weight:650; }
.service-answers details p { max-width:850px;color:var(--muted);line-height:1.75; }
.service-answers > .container > p { margin-top:24px; }
/* service page: hero visual (no product screenshot, so a data-driven summary panel fills the grid) */
.service-hero-visual { position:relative;margin:0;align-self:start; }
.service-hero-visual::before { content:"";position:absolute;inset:8% -8% -8% 8%;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--blue) 19%,transparent),transparent 68%);filter:blur(18px); }
.service-hero-visual__panel { padding:44px;border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(150deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-soft); }
.service-hero-visual__icon { width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 12%,var(--surface-solid)),var(--surface));color:var(--blue);font-size:28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 14px 32px color-mix(in srgb,var(--blue) 12%,transparent); }
.service-hero-visual__kicker { margin:24px 0 0;color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.14em; }
.service-hero-visual__facts { margin:26px 0 0;padding-top:26px;border-top:1px solid var(--line);display:grid;gap:18px; }
.service-hero-visual__facts div { display:flex;align-items:baseline;justify-content:space-between;gap:16px; }
.service-hero-visual__facts small { color:var(--muted-2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em; }
.service-hero-visual__facts strong { color:var(--heading);font-size:13px;text-align:right; }
/* service page: colour-cycled accents so the story/panel cards read as distinct, not stacked duplicates */
.project-story--accent article:nth-of-type(3n+1) { border-top:3px solid var(--blue); }
.project-story--accent article:nth-of-type(3n+2) { border-top:3px solid var(--amber); }
.project-story--accent article:nth-of-type(3n+3) { border-top:3px solid var(--green); }
.project-story--accent article:nth-of-type(3n+1) > span:first-child { color:color-mix(in srgb,var(--blue) 30%,transparent); }
.project-story--accent article:nth-of-type(3n+2) > span:first-child { color:color-mix(in srgb,var(--amber) 30%,transparent); }
.project-story--accent article:nth-of-type(3n+3) > span:first-child { color:color-mix(in srgb,var(--green) 30%,transparent); }
.project-build-grid--accent .project-list-panel:nth-of-type(1) { border-top:3px solid var(--blue); }
.project-build-grid--accent .project-list-panel:nth-of-type(2) { border-top:3px solid var(--amber); }
.project-list-panel--accent { border-top:3px solid var(--blue); }
/* article page: framed header image without the "browser" url-bar chrome used on project pages */
.article-hero-frame { display:block;overflow:hidden;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface-solid);box-shadow:var(--shadow); }
.article-hero-frame img { display:block;width:100%;height:auto; }
.article-byline { margin:18px 0 0;color:var(--muted-2);font-size:13px;font-weight:650; }
.project-intro--article { grid-template-columns:1fr;max-width:820px; }
.project-intro--article > p { font-size:19px; }
/* Long-form articles: one reading column, a contents list, lists and an accessible flow diagram. */
.article-toc { max-width:820px;margin:0 0 48px;padding:26px 30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface); }
.article-toc ol { margin:12px 0 0;padding-left:22px;columns:2;column-gap:36px; }
.article-toc li { margin:0 0 8px;break-inside:avoid;color:var(--muted);font-size:15px; }
.article-toc a { color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px; }
.article-toc a:hover,.article-toc a:focus-visible { color:var(--blue); }
.article-longform { max-width:820px; }
.article-longform__section { padding:40px 0;border-top:1px solid var(--line);scroll-margin-top:96px; }
.article-longform__section h2 { display:flex;gap:16px;align-items:baseline;margin:0 0 20px;font-size:clamp(26px,3vw,36px); }
.article-longform__section h2 > span { flex:none;color:var(--blue);font-family:var(--font-heading);font-size:.62em; }
.article-longform__section p,.article-points li { color:var(--muted);font-size:17px;line-height:1.75; }
.article-longform__section p { margin:0 0 18px; }
.article-longform__section a.text-link { align-self:auto;margin:0;font-size:inherit;font-weight:650;text-decoration:underline;text-underline-offset:3px; }
.article-longform__section code { padding:1px 6px;border-radius:4px;background:var(--surface-2);font-size:.92em; }
.article-points { margin:0 0 18px;padding-left:22px; }
.article-points li { margin:0 0 10px; }
.article-flow { margin:8px 0 26px;padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface); }
.article-flow__steps { display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:flow; }
.article-flow__steps li { position:relative;display:grid;gap:4px;padding:12px 0 12px 52px;counter-increment:flow; }
.article-flow__steps li::before { content:counter(flow);position:absolute;left:0;top:10px;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--blue);border-radius:50%;color:var(--blue);font-size:13px;font-weight:750; }
.article-flow__steps li:not(:last-child)::after { content:"";position:absolute;left:16px;top:44px;bottom:-8px;width:1px;background:var(--line-strong); }
.article-flow__steps strong { font-size:16px; }
.article-flow__steps span { color:var(--muted);font-size:15px; }
.article-flow figcaption { margin-top:14px;color:var(--muted-2);font-size:13px; }
.article-longform .article-figure,.article-longform .article-code,.article-longform .article-table { margin:8px 0 28px; }
.article-figure img { display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-lg); }
.article-figure figcaption,.article-code figcaption,.article-table figcaption { margin-top:12px;color:var(--muted-2);font-size:13px;line-height:1.6; }
.article-code figcaption { margin:0 0 10px; }
.article-code pre { margin:0;padding:20px 22px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2);font-size:14px;line-height:1.65;tab-size:4; }
.article-longform__section .article-code code { padding:0;border-radius:0;background:none;font-size:inherit;color:var(--text);white-space:pre; }
.article-table__scroll { overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface); }
.article-table table { width:100%;border-collapse:collapse;font-size:15px;line-height:1.55; }
.article-table th,.article-table td { padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top; }
.article-table tr:last-child > * { border-bottom:0; }
.article-table thead th { color:var(--muted-2);font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase; }
.article-table tbody th { color:var(--heading);font-weight:650;white-space:nowrap; }
.article-table td { color:var(--muted); }
@media (max-width: 780px) {
  .article-toc { padding:22px 20px; }
  .article-toc ol { columns:1; }
  .article-longform__section { padding:32px 0; }
  .article-longform__section p,.article-points li { font-size:16px; }
  .article-flow { padding:20px 16px; }
  .article-code pre { padding:16px;font-size:13px; }
  .article-table th,.article-table td { padding:10px 12px; }
}
@media (max-width:1080px) {
  .project-hero__grid { grid-template-columns:1fr;gap:46px; }
  .project-hero__copy { max-width:760px; }
  .project-hero__visual { width:min(880px,100%);transform:none; }
  .service-hero-visual { width:min(560px,100%); }
  .project-scope__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-scope__grid > div:nth-child(odd) { border-left:1px solid var(--line); }
  .project-intro,.project-showcase__heading,.project-results { gap:42px; }
}
@media (max-width:780px) {
  .project-hero { padding:112px 0 58px; }
  .project-breadcrumbs { margin-bottom:28px; }
  .project-hero__copy h1 { font-size:clamp(40px,13vw,58px); }
  .project-hero__lead { font-size:16px; }
  .project-browser__bar { height:32px; }
  .project-scope__grid { grid-template-columns:1fr; }
  .project-scope__grid > div,.project-scope__grid > div:nth-child(odd) { min-height:88px;border-left:1px solid var(--line);border-bottom:1px solid var(--line); }
  .project-detail { padding-top:70px; }
  .project-intro,.project-story,.project-showcase__heading,.project-build-grid,.project-results { grid-template-columns:1fr; }
  .project-intro { gap:28px;padding-bottom:58px; }
  .project-story article { min-height:auto;padding:30px 24px; }
  .project-story article > span { font-size:54px; }
  .project-showcases,.project-build-grid,.project-results,.project-next { margin-top:68px; }
  .project-showcases { gap:68px; }
  .project-showcase__heading { gap:22px; }
  .project-showcase__heading .eyebrow { grid-column:auto;margin-bottom:0; }
  .project-showcase--reverse .project-showcase__heading h2,.project-showcase--reverse .project-showcase__heading p:last-child { grid-column:auto;grid-row:auto; }
  .project-showcase figure { padding:5px;border-radius:18px; }
  .project-list-panel { padding:30px 22px; }
  .service-hero-visual__panel { padding:30px 24px; }
  .project-results { gap:28px;padding:34px 24px; }
  .project-next { align-items:flex-start;flex-direction:column; }
  .project-next > div:last-child { align-items:flex-start;flex-direction:column; }
}

/* Defined consulting engagements and qualification flow. */
.hero .hero-copy h1.hero-buyer-heading { font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.12;letter-spacing:-.03em;overflow-wrap:break-word;text-wrap:balance; }
.qualification-details summary { cursor:pointer;font-size:1rem;font-weight:650; }
/* ---------------------------------------------------------------------------
   Offers: category filter + editorial carousel.
   All cards are server-rendered in the track; JavaScript only paginates,
   filters and promotes the per-card disclosure into the detail drawer.
   --------------------------------------------------------------------------- */
.offers { background:var(--bg-2); }
.offers-head { display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,auto);gap:30px 56px;align-items:start;border-top:1px solid var(--line);padding-top:26px; }
.offers-head__intro h2 { margin:10px 0 0;max-width:22ch;font-size:clamp(2.5rem,4.3vw,4.15rem);line-height:.96;text-wrap:balance; }
.offers-head__lead { margin:20px 0 0;max-width:58ch;color:var(--muted);font-size:1.0625rem;line-height:1.65; }
.offers-assurances { list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:18px; }
.offers-assurances li { display:flex;align-items:center;gap:12px;min-width:0; }
.offers-assurances__icon { flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--blue);border:1px solid var(--line-strong);background:var(--blue-soft); }
.offers-assurances__icon svg { width:19px;height:19px; }
.offers-assurances strong { display:block;font-size:.9375rem;font-weight:700;color:var(--heading);letter-spacing:-.01em; }
.offers-assurances small { display:block;font-size:.8125rem;color:var(--muted); }

.offers-filters { margin-top:44px;display:flex;gap:10px;flex-wrap:wrap; }
.offers-pill { display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:.9375rem;font-weight:650;letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease; }
.offers-pill svg { width:16px;height:16px;flex:none;opacity:.85; }
.offers-pill:hover { color:var(--heading);border-color:var(--line-strong); }
.offers-pill:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
.offers-pill.is-active { background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 10px 26px color-mix(in srgb, var(--blue) 26%, transparent); }
.offers-pill.is-active svg { opacity:1; }
html[data-theme="dark"] .offers-pill.is-active { color:#04121f; }

.offers-carousel { margin-top:26px;position:relative;display:flex;align-items:center;gap:14px; }
.offers-viewport { flex:1;min-width:0;overflow:hidden; }
.offers-track { list-style:none;margin:0;padding:20px 4px 24px;display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;overflow-anchor:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;transition:opacity .22s ease,transform .22s ease; }
.offers-track::-webkit-scrollbar { display:none; }
.offers-track.is-swapping { opacity:0;transform:translateY(10px); }
.offers-track.is-resetting { scroll-behavior:auto; }
.offers-track__item { flex:0 0 calc((100% - 44px) / 3);min-width:0;scroll-snap-align:start;display:flex; }
.offers-track__item[hidden] { display:none; }

.offer-card { position:relative;display:flex;flex-direction:column;width:100%;padding:28px 26px 26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-soft);transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease; }
.offer-card:hover { transform:translateY(-5px);border-color:var(--line-strong);box-shadow:var(--shadow); }
.offer-card:focus-within { border-color:var(--line-strong); }
.offer-card--featured { border-color:color-mix(in srgb, var(--blue) 42%, var(--line));box-shadow:var(--shadow-soft),0 0 0 1px color-mix(in srgb, var(--blue) 14%, transparent),0 -14px 40px -22px color-mix(in srgb, var(--blue) 55%, transparent); }
.offer-card--featured:hover { box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb, var(--blue) 22%, transparent); }
.offer-card__flag { position:absolute;top:-11px;left:26px;margin:0;padding:4px 11px;border-radius:999px;background:var(--blue);color:#fff;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase; }
html[data-theme="dark"] .offer-card__flag { color:#04121f; }
.offer-card__top { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.offer-card__num { font-family:var(--font-heading);font-size:.9375rem;font-weight:600;color:var(--muted-2);letter-spacing:.06em; }
.offer-card__badge { width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--blue);border:1px solid var(--line-strong);background:var(--blue-soft);transition:box-shadow .3s ease; }
.offer-card__badge svg { width:20px;height:20px; }
.offer-card:hover .offer-card__badge { box-shadow:0 0 0 4px color-mix(in srgb, var(--blue) 9%, transparent); }
.offer-card__category { margin:18px 0 0;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2); }
.offer-card__title { margin:9px 0 0;font-size:1.4375rem;line-height:1.2;color:var(--heading); }
.offer-card__fit { margin:12px 0 0;color:var(--muted);font-size:.9875rem;line-height:1.62;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden; }
.offer-card__deliverables { list-style:none;margin:20px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:11px; }
.offer-card__deliverables li { display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;line-height:1.5;color:var(--text); }
.offer-card__check { flex:none;width:17px;height:17px;margin-top:2px;color:var(--blue);stroke-width:2.2; }
/* Stacked rather than side by side: offer CTA labels and their translations
   vary enough in length that a single row wraps inconsistently between cards. */
.offer-card__actions { margin-top:auto;padding-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:15px; }
.offer-card__more { display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;color:var(--blue);font-size:.9375rem;font-weight:650;cursor:pointer; }
.offer-card__more-arrow { transition:transform .25s var(--ease);display:inline-block; }
.offer-card__more:hover .offer-card__more-arrow { transform:translateX(4px); }
.offer-card__more:focus-visible { outline:2px solid var(--blue);outline-offset:3px;border-radius:4px; }
.offer-card__cta { white-space:normal;text-align:center; }
.offer-card__full { margin-top:20px; }
.offers.has-drawer .offer-card__full { display:none; }
.offer-card__disclosure { border-top:1px solid var(--line);padding-top:16px; }
.offer-card__disclosure summary { cursor:pointer;font-size:.9375rem;font-weight:650;color:var(--heading);list-style:none;display:flex;align-items:center;gap:8px; }
.offer-card__disclosure summary::-webkit-details-marker { display:none; }
.offer-card__disclosure summary:before { content:'+';font-family:var(--font-heading);color:var(--blue-2);font-size:16px; }
.offer-card__disclosure[open] summary:before { content:'\2013'; }

.offers-arrow { flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-2);color:var(--heading);cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease,opacity .25s ease; }
.offers-arrow svg { width:19px;height:19px; }
.offers-arrow:hover:not(:disabled) { color:var(--blue);border-color:var(--line-strong);background:var(--blue-soft); }
.offers-arrow:disabled { opacity:.32;cursor:default; }
.offers-arrow:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
[dir="rtl"] .offers-arrow svg { transform:scaleX(-1); }

.offers-foot { margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap; }
.offers-progress { display:flex;gap:8px;align-items:center; }
.offers-progress button { width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--muted-2);opacity:.45;cursor:pointer;transition:width .25s var(--ease),opacity .25s ease,background .25s ease; }
.offers-progress button.is-active { width:24px;border-radius:999px;background:var(--blue);opacity:1; }
.offers-progress--bar { width:min(190px,42vw);height:3px;border-radius:999px;background:color-mix(in srgb, var(--muted-2) 34%, transparent);overflow:hidden;display:block; }
.offers-progress--bar span { display:block;height:100%;border-radius:999px;background:var(--blue);transform-origin:left center;transition:transform .3s var(--ease); }
[dir="rtl"] .offers-progress--bar span { transform-origin:right center; }
.offers-progress button:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
.offers-count { margin:0;font-size:.875rem;color:var(--muted);letter-spacing:.02em; }
.offers-count strong { font-family:var(--font-heading);color:var(--heading);font-weight:600; }

/* Detail drawer: right-hand slide-over on desktop, bottom sheet on small screens. */
.offer-drawer { position:fixed;inset:0;z-index:120;display:flex;justify-content:flex-end; }
.offer-drawer[hidden] { display:none; }
.offer-drawer__scrim { position:absolute;inset:0;background:color-mix(in srgb, var(--footer-bg) 62%, rgba(4,12,22,.55));backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease; }
.offer-drawer.is-open .offer-drawer__scrim { opacity:1; }
.offer-drawer__panel { position:relative;width:min(560px,100%);height:100%;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line-strong);box-shadow:-40px 0 90px rgba(0,0,0,.28);transform:translateX(100%);transition:transform .34s var(--ease); }
[dir="rtl"] .offer-drawer__panel { border-left:0;border-right:1px solid var(--line-strong);transform:translateX(-100%); }
.offer-drawer.is-open .offer-drawer__panel { transform:none; }
.offer-drawer__head { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:28px 30px 20px;border-bottom:1px solid var(--line); }
.offer-drawer__meta { margin:0;display:flex;gap:12px;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2); }
.offer-drawer__meta span:first-child { font-family:var(--font-heading);color:var(--blue);letter-spacing:.06em; }
.offer-drawer__head h3 { margin:10px 0 0;font-size:1.75rem;line-height:1.18;color:var(--heading); }
.offer-drawer__close { flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--heading);display:grid;place-items:center;cursor:pointer; }
.offer-drawer__close:hover { color:var(--blue);border-color:var(--line-strong); }
.offer-drawer__close:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
.offer-drawer__content { padding:26px 30px 40px;overflow-y:auto;flex:1; }
.offer-drawer__content:focus { outline:none; }
.offer-detail__format { margin:0;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2); }
.offer-detail__result { margin:14px 0 0;padding:15px 17px;border-left:2px solid var(--blue-2);background:var(--blue-soft);border-radius:0 12px 12px 0;font-size:1.0625rem;font-weight:650;color:var(--heading);line-height:1.5; }
[dir="rtl"] .offer-detail__result { border-left:0;border-right:2px solid var(--blue-2);border-radius:12px 0 0 12px; }
.offer-detail__body h4 { margin:28px 0 0;font-size:.8125rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted-2);font-family:var(--font); }
.offer-detail__list { margin:12px 0 0;padding-left:1.15rem;display:flex;flex-direction:column;gap:9px; }
.offer-detail__list li { font-size:.9875rem;line-height:1.6;color:var(--text); }
.offer-detail__terms { margin:26px 0 0; }
.offer-detail__terms dt { margin-top:18px;font-size:.8125rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted-2); }
.offer-detail__terms dd { margin:6px 0 0;font-size:.9875rem;line-height:1.65;color:var(--muted); }
.offer-detail__actions { margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:14px; }
.offer-detail__actions .text-link { align-self:flex-start;margin-bottom:0; }
.offer-card__actions .text-link { align-self:auto;margin-bottom:0; }
.offers.has-drawer .offer-drawer__content .offer-card__disclosure { border:0;padding:0; }
.offers.has-drawer .offer-drawer__content .offer-card__disclosure summary { display:none; }

@media(max-width:1199px) {
  .offers-head { grid-template-columns:1fr;gap:28px; }
  .offers-assurances { flex-direction:row;flex-wrap:wrap;gap:16px 30px; }
  .offers-filters { flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;
    /* Fade the trailing edge so the scrollable strip reads as scrollable. */
    mask-image:linear-gradient(to right, #000 0, #000 calc(100% - 46px), transparent 100%); }
  [dir="rtl"] .offers-filters { mask-image:linear-gradient(to left, #000 0, #000 calc(100% - 46px), transparent 100%); }
  .offers-filters::-webkit-scrollbar { display:none; }
  .offers-track__item { flex:0 0 calc((100% - 22px) / 2); }
}
@media(max-width:767px) {
  .offers-track__item { flex:0 0 100%; }
  .offers-carousel { gap:0; }
  .offers-arrow { display:none; }
  .offers-track { gap:16px;padding:20px 3px 22px; }
  .offer-card { padding:26px 22px 22px; }
  .offers-head__intro h2 { font-size:clamp(2.35rem,10vw,2.75rem);max-width:none; }
  .offers-assurances { gap:12px 22px; }
  .offer-card__actions { flex-direction:column;align-items:stretch; }
  .offer-card__cta { width:100%; }
  .offer-card__more { justify-content:center; }
  .offer-drawer { align-items:flex-end;justify-content:center; }
  .offer-drawer__panel { width:100%;height:92vh;border-left:0;border-top:1px solid var(--line-strong);border-radius:22px 22px 0 0;transform:translateY(100%); }
  [dir="rtl"] .offer-drawer__panel { border-right:0;transform:translateY(100%); }
  .offer-drawer__head { padding:22px 22px 18px; }
  .offer-drawer__content { padding:22px 22px 36px; }
}
@media(prefers-reduced-motion:reduce) {
  .offers-track { scroll-behavior:auto;transition:none; }
  .offers-track.is-swapping { opacity:1;transform:none; }
  .offer-card,.offer-card__more-arrow,.offer-drawer__panel,.offer-drawer__scrim { transition:none; }
  .offer-card:hover { transform:none; }
}
.case-business { padding:28px 0;border-block:1px solid var(--line);margin:32px 0; }
.case-business p { max-width:80ch;line-height:1.75; }
.case-business h3 { margin-top:24px; }
.case-evidence-note { margin-top:20px;color:var(--muted);font-size:1rem;line-height:1.65;max-width:85ch; }
.enquiry-options { margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);min-width:0; }
.enquiry-options legend { font-weight:650;padding:0 8px;font-size:1rem; }
.enquiry-options label { display:flex;align-items:center;gap:10px;font-size:1rem;line-height:1.6;margin:8px 0; }
.enquiry-options input { width:auto;accent-color:var(--blue); }
.call-request-fields[hidden] { display:none; }
.call-request-fields p { font-size:1rem;line-height:1.6; }
.qualification-details { margin:24px 0;border-block:1px solid var(--line);padding:20px 0; }
.qualification-details .form-grid { margin-top:20px; }
@media(max-width:600px) { .call-request-fields { grid-template-columns:1fr; } }

/* Main-page breadcrumbs share the visible hierarchy used in structured data. */
.main-breadcrumbs { padding-top:24px;margin-bottom:0;flex-wrap:wrap; }

/* work/milestones/services/about/contact heroes are `display:flex` rows with a single
   expected child (their .*-hero__grid). The breadcrumb sits inside those hero sections
   (so its own text lives within the space the hero already reserves to clear the fixed
   header) but as an absolutely-positioned overlay -- so it never becomes a second flex
   item that would split width with the hero's content grid. */
.work-hero .breadcrumb-overlay,
.milestones-hero .breadcrumb-overlay,
.services-hero .breadcrumb-overlay,
.about-hero .breadcrumb-overlay,
.contact-hero .breadcrumb-overlay {
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
  z-index: 2;
}
/* The 24px padding-top on .main-breadcrumbs exists to push it below a fixed header when
   it flows normally (as it still does on insights.php's .project-hero). Here `top` above
   already does that job, and the shortest hero variant (about-hero) leaves well under
   24px of extra headroom before its own content starts, so keep this overlay's rendered
   height to just its text. */
.breadcrumb-overlay .main-breadcrumbs {
  padding-top: 0;
}
@media (max-width: 780px) {
  .work-hero .breadcrumb-overlay,
  .milestones-hero .breadcrumb-overlay,
  .services-hero .breadcrumb-overlay,
  .about-hero .breadcrumb-overlay,
  .contact-hero .breadcrumb-overlay {
    top: 82px;
  }
}

/* Optional analytics controls; hidden stays authoritative without JavaScript. */
.consent-banner { position: fixed; inset-inline: 16px; bottom: 16px; z-index: 1000; max-width: 540px; max-height: calc(100dvh - 32px); overflow-y: auto; margin-inline: auto; padding: 24px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface-solid); color: var(--text); box-shadow: 0 12px 48px #0003; }
.consent-banner[hidden] { display: none; }
.consent-banner h2 { font: 600 18px/1.3 var(--font); color: var(--heading); letter-spacing: 0; margin: 0 36px 12px 0; }
.consent-banner p { margin: 0 0 20px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.consent-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.consent-banner .button { flex: 1 1 180px; margin: 0; padding: 12px 18px; min-height: 44px; color: var(--heading); background: var(--surface-solid); border: 1px solid var(--line-strong); border-radius: 6px; box-shadow: none; font: 600 14px/1.4 var(--font); cursor: pointer; }
.consent-banner [data-consent-choice="granted"] { background: #0868d5; border-color: #0868d5; color: #fff; }
.consent-banner .button:hover { filter: brightness(.92); transform: none; }
.consent-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; background: transparent; border: 0; color: var(--muted); font-size: 26px; cursor: pointer; border-radius: 4px; }
.consent-close:hover { background: var(--blue-soft); color: var(--heading); }
.consent-settings-row { padding-bottom: 20px; }
[data-consent-settings] { margin: 0; padding: 8px 0; border: 0; background: transparent; color: var(--muted); font: 400 12px/1.4 var(--font); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
[data-consent-settings]:hover { color: var(--blue); }
[data-consent-settings][hidden] { display: none; }
.consent-banner button:focus-visible, [data-consent-settings]:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }

/* ============================================================
   Services page redesign (svc2-*) — premium consulting layout.
   Theme-aware via CSS variables; light + dark handled automatically.
   ============================================================ */
.svc2 { overflow-x: clip; }
.services-page .site-header { background: color-mix(in srgb, var(--bg) 90%, transparent); }
.svc2-accent { color: var(--blue); }
.svc2 .eyebrow { font-size: 11px; letter-spacing: .18em; color: var(--blue); }
.svc2.section,
.svc2 .section { padding: 66px 0; }

/* Section heads */
.svc2-head { margin-bottom: 42px; }
.svc2-head h2 { font-size: clamp(30px, 4vw, 52px); line-height: 1.04; letter-spacing: -.02em; color: var(--heading); margin: 10px 0 0; text-wrap: balance; }
.svc2-head__sub { margin-top: 12px; color: var(--muted); font-size: 17px; }
.svc2-head--center { text-align: center; max-width: 760px; margin-inline: auto; }
.svc2-head:not(.svc2-head--center) { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px 48px; align-items: end; }
.svc2-head__intro { color: var(--muted); font-size: 17px; line-height: 1.55; }

/* HERO */
.svc2-hero { position: relative; padding: 84px 0 54px; border-bottom: 1px solid var(--line); }
.svc2-hero__glow { position: absolute; inset: 0; overflow: hidden; z-index: 0; pointer-events: none; }
.svc2-hero__glow::before { content: ""; position: absolute; top: -18%; right: -6%; width: 60%; height: 120%;
  background: radial-gradient(closest-side, var(--blue-soft), transparent 70%); opacity: .9; }
.svc2-hero .container { position: relative; z-index: 1; }
.svc2-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; margin-top: 0; }
.svc2-hero__copy h1 { font-size: clamp(40px, 5vw, 66px); line-height: 1.04; letter-spacing: -.025em; color: var(--heading); margin: 8px 0 22px; text-wrap: balance; }
.svc2-hero__lead { color: var(--muted); font-size: 19px; line-height: 1.6; max-width: 46ch; }
.svc2-caps { list-style: none; margin: 34px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 26px 40px; }
.svc2-caps li { display: flex; align-items: flex-start; gap: 12px; }
.svc2-caps__ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; flex: none;
  background: var(--blue-soft); color: var(--blue); border: 1px solid var(--line); font-size: 16px; }
.svc2-caps strong { display: block; color: var(--heading); font-size: 15px; font-weight: 700; }
.svc2-caps em { color: var(--muted); font-size: 13.5px; font-style: normal; }

/* HERO STACK VISUAL — chunky isometric slabs (matches concept) */
.svc2-stack { position: relative; min-height: 520px; display: grid; place-items: center; isolation: isolate; }
.svc2-stack__orbit { position: absolute; top: 50%; left: 50%; width: 92%; height: 320px; translate: -50% -50%;
  border-radius: 50%; border: 1px solid var(--line-strong); opacity: .55; transform: rotateX(75deg); z-index: 0; }
.svc2-stack__orbit::before { content: ""; position: absolute; left: 3%; top: 46%; width: 9px; height: 9px; border-radius: 50%;
  background: var(--blue); box-shadow: 0 0 14px var(--blue); }
.svc2-stack__orbit::after { content: ""; position: absolute; right: 4%; top: 42%; width: 8px; height: 8px; border-radius: 50%;
  background: var(--blue-2); box-shadow: 0 0 14px var(--blue); }
.svc2-stack__layers { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 26px; width: 250px; }
.svc2-layer { position: relative; height: 62px; border-radius: 15px; display: grid; place-items: center;
  background: linear-gradient(155deg, color-mix(in srgb, var(--blue) 22%, var(--surface-solid)) 0%, var(--surface-solid) 72%);
  border: 1px solid var(--line-strong);
  box-shadow: 0 26px 42px -22px color-mix(in srgb, var(--blue) 62%, transparent), inset 0 1px 0 rgba(255,255,255,.2);
  animation: svc2-float 6.5s var(--ease) infinite; animation-delay: calc(var(--i) * .32s); }
.svc2-layer span { position: relative; z-index: 3; font-family: var(--font); font-size: 13px; font-weight: 800;
  letter-spacing: .17em; text-transform: uppercase; color: var(--heading); }
/* top face (skewed parallelogram sitting above) */
.svc2-layer::before { content: ""; position: absolute; left: 8px; right: -14px; top: -14px; height: 22px; border-radius: 12px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--blue) 16%, var(--surface-solid)), color-mix(in srgb, var(--blue) 6%, var(--surface-solid)));
  border: 1px solid var(--line-strong); border-bottom: 0; transform: skewX(-45deg); transform-origin: bottom left; z-index: 2; }
/* right side face */
.svc2-layer::after { content: ""; position: absolute; top: 8px; bottom: -14px; right: -14px; width: 22px; border-radius: 12px;
  background: color-mix(in srgb, var(--blue) 30%, transparent); transform: skewY(-45deg); transform-origin: top left; opacity: .45; z-index: 1; }
/* Floating hex-icon tags */
.svc2-tag { position: absolute; z-index: 4; display: flex; align-items: center; gap: 11px; padding: 11px 15px; border-radius: 14px;
  background: var(--surface-solid); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.svc2-tag__ic { position: relative; flex: none; width: 30px; height: 30px; display: grid; place-items: center; color: var(--blue); }
.svc2-tag__ic::before { content: ""; position: absolute; inset: 0; background: var(--blue-soft); border: 1.5px solid var(--blue);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.svc2-tag__ic svg { position: relative; width: 15px; height: 15px; }
/* Icon SVG sizing inside chips */
.svc2-caps__ic svg { width: 19px; height: 19px; }
.svc2-card__ic svg { width: 40px; height: 40px; }
.svc2-flow__ic svg { width: 27px; height: 27px; }
.svc2-tag__tx small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--heading); }
.svc2-tag__tx em { font-style: normal; font-size: 11.5px; color: var(--muted); }
.svc2-tag--1 { top: 14%; left: -3%; } .svc2-tag--2 { top: 22%; right: -8%; }
.svc2-tag--3 { top: 56%; left: -8%; } .svc2-tag--4 { top: 64%; right: -5%; }
/* Dark-mode: translucent glass slabs with bright blue edge-glow */
html[data-theme="dark"] .svc2-layer {
  background: linear-gradient(155deg, rgba(46,100,175,.36), rgba(10,22,40,.72));
  box-shadow: 0 28px 44px -18px rgba(0,0,0,.6), 0 10px 26px -6px color-mix(in srgb, var(--blue) 78%, transparent),
    inset 0 -3px 12px -3px color-mix(in srgb, var(--blue) 80%, transparent), inset 0 1px 0 rgba(255,255,255,.14); }
html[data-theme="dark"] .svc2-layer::before { background: linear-gradient(180deg, rgba(70,130,210,.4), rgba(30,60,105,.34)); }
html[data-theme="dark"] .svc2-layer::after { background: color-mix(in srgb, var(--blue) 40%, #000); opacity: .5; }

/* CARDS (challenges + engagement) */
.svc2-challenge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.svc2-engage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.svc2-card { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 30px 26px;
  transition: transform .25s var(--ease), border-color .25s ease, box-shadow .25s ease; backdrop-filter: blur(12px); }
.svc2-card:hover { transform: translateY(-4px); border-color: var(--line-strong); box-shadow: var(--shadow-soft); }
.svc2-card__ic { display: inline-flex; color: var(--blue); margin-bottom: 20px; }
.svc2-card h3 { color: var(--heading); font-size: 21px; line-height: 1.2; margin: 0 0 10px; }
.svc2-card p { color: var(--muted); font-size: 15px; line-height: 1.55; }
.svc2-card--engage h3 { font-size: 24px; }
.svc2-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.svc2-tags span { font-size: 12px; font-weight: 700; color: var(--blue); background: var(--blue-soft);
  border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; }

/* FRAMEWORK FLOW */
.svc2-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.svc2-flow__step { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; padding: 0 6px; }
.svc2-flow__step::after { content: "→"; position: absolute; top: 30px; right: -12px; color: var(--muted-2); font-size: 20px; }
.svc2-flow__step:last-child::after { display: none; }
.svc2-flow__ic { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; margin-bottom: 18px;
  background: transparent; color: var(--blue); border: 1.5px solid color-mix(in srgb, var(--blue) 42%, var(--line-strong)); }
html[data-theme="dark"] .svc2-flow__ic { box-shadow: inset 0 0 18px -6px color-mix(in srgb, var(--blue) 60%, transparent), 0 0 20px -10px var(--blue); }
.svc2-flow__num { font-size: 12px; font-weight: 800; letter-spacing: .12em; color: var(--muted-2); }
.svc2-flow__label { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); margin-top: 6px; }
.svc2-flow__t { color: var(--heading); font-family: var(--font-heading); font-size: 19px; margin-top: 8px; }
.svc2-flow__b { color: var(--muted); font-size: 14px; margin-top: 6px; line-height: 1.45; }

/* SERVICE BANDS */
.svc2-bands { display: grid; gap: 18px; }
.svc2-band { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface); backdrop-filter: blur(12px); min-height: 188px;
  transition: transform .25s var(--ease), border-color .25s ease, box-shadow .25s ease; }
.svc2-band:hover { transform: translateY(-3px); border-color: var(--line-strong); box-shadow: var(--shadow-soft); }
.svc2-band__inner { display: grid; grid-template-columns: 1.02fr .98fr; gap: 30px; align-items: center;
  padding: 28px 34px; width: 66%; box-sizing: border-box; }
.svc2-band__num { float: left; min-width: 42px; font-family: var(--font); font-size: 21px; font-weight: 800; color: var(--blue); line-height: 1; }
.svc2-band__cat { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); margin: 9px 0 7px; }
.svc2-band__lead h3 { margin: 0 0 11px; font-size: 27px; line-height: 1.08; color: var(--heading); }
.svc2-band__lead h3 a { color: inherit; }
.svc2-band__lead h3 a:hover { color: var(--blue); }
.svc2-band__desc { color: var(--muted); font-size: 14px; line-height: 1.5; }
.svc2-band__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; align-content: center; }
.svc2-band__list li { display: flex; align-items: center; gap: 11px; color: var(--text); font-size: 14.5px; line-height: 1.35; }
.svc2-check { flex: none; width: 21px; height: 21px; color: var(--blue); display: inline-flex; }
.svc2-check svg { width: 21px; height: 21px; }
.svc2-band__media { position: absolute; top: 0; right: 0; bottom: 0; width: 42%; display: block; }
.svc2-band__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--surface) 0%, transparent 42%); pointer-events: none; }
.svc2-band__media img { width: 100%; height: 100%; object-fit: cover; object-position: center right; display: block; }
.svc2-band__go { position: absolute; right: 26px; top: 50%; transform: translateY(-50%); display: grid; place-items: center;
  width: 50px; height: 50px; border-radius: 50%; background: color-mix(in srgb, var(--surface-solid) 82%, white); color: var(--blue); font-size: 20px; z-index: 2;
  box-shadow: 0 12px 26px color-mix(in srgb,var(--blue) 34%,transparent); transition: transform .2s var(--ease); }
.svc2-band__media:hover .svc2-band__go { transform: translateY(-50%) translateX(3px); }
.svc2-more { min-height: 76px; margin-top: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: var(--muted); }
.svc2-more__spinner { width: 24px; height: 24px; border: 2px solid color-mix(in srgb, var(--blue) 24%, transparent); border-top-color: var(--blue); border-radius: 50%; animation: svc2-spin .8s linear infinite; }
.svc2-more__status { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.svc2-band--entering { animation: svc2-band-enter .42s var(--ease) both; }
@media (max-width: 900px) {
  .svc2-band { min-height: 0; }
  .svc2-band__inner { grid-template-columns: 1fr; width: 100%; padding-bottom: 158px; }
  .svc2-band__media { top: auto; left: 0; right: 0; width: 100%; height: 150px; }
  .svc2-band__media img { object-position: center; }
  .svc2-band__go { right: 20px; top: auto; bottom: 20px; transform: none; }
  .svc2-band__media:hover .svc2-band__go { transform: translateX(3px); }
}

/* FINAL CTA */
.svc2-cta__panel { position: relative; overflow: hidden; border-radius: 10px; border: 1px solid var(--line);
  min-height: 355px; padding: 66px 60px; display: grid; grid-template-columns: 1.18fr .82fr; gap: 30px; align-items: center;
  background: var(--surface); backdrop-filter: blur(12px); }
.svc2-cta__panel::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    linear-gradient(145deg, transparent 64%, color-mix(in srgb, var(--heading) 62%, transparent) 64.4% 71%, transparent 71.4%) 76% 76% / 210px 95px no-repeat,
    linear-gradient(155deg, transparent 58%, color-mix(in srgb, var(--heading) 72%, transparent) 58.4% 72%, transparent 72.4%) 86% 84% / 260px 120px no-repeat,
    radial-gradient(65% 44% at 75% 71%, color-mix(in srgb, var(--blue) 22%, transparent), transparent 74%),
    linear-gradient(168deg, transparent 42%, color-mix(in srgb, var(--blue) 18%, transparent) 42.5% 51%, transparent 51.5%) 0 100% / 100% 190px no-repeat,
    linear-gradient(172deg, transparent 47%, color-mix(in srgb, var(--heading) 12%, transparent) 47.5% 60%, transparent 60.5%) 0 100% / 100% 160px no-repeat;
  opacity: .9; }
.svc2-cta__panel::after { content: ""; position: absolute; z-index: 1; right: 206px; bottom: 116px; width: 18px; height: 72px; border-radius: 999px 999px 8px 8px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--heading) 82%, #000), color-mix(in srgb, var(--heading) 54%, #000));
  box-shadow: 0 -14px 0 -5px color-mix(in srgb, var(--heading) 88%, #000), 10px 28px 0 -7px color-mix(in srgb, var(--heading) 68%, #000), -9px 30px 0 -8px color-mix(in srgb, var(--heading) 68%, #000); }
.svc2-cta__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--surface-solid) 97%, transparent) 0%, color-mix(in srgb, var(--surface-solid) 86%, transparent) 44%, transparent 76%),
    radial-gradient(80% 70% at 82% 16%, color-mix(in srgb,var(--blue) 20%,transparent), transparent 60%),
    linear-gradient(180deg, color-mix(in srgb, var(--bg) 10%, transparent), color-mix(in srgb,var(--blue) 12%,transparent)); }
.svc2-cta__panel > * { position: relative; z-index: 2; }
.svc2-cta__copy h2 { font-size: clamp(34px, 4vw, 52px); line-height: 1.03; color: var(--heading); margin: 10px 0 16px; letter-spacing: -.02em; max-width: 12ch; }
.svc2-cta__copy p { color: var(--muted); font-size: 17px; max-width: 52ch; }
.svc2-cta__actions { display: flex; align-items: center; gap: 20px; margin-top: 26px; flex-wrap: wrap; }
.svc2-cta__tagline { justify-self: end; max-width: 9ch; font-family: var(--font-heading); font-size: clamp(26px, 2.9vw, 38px); line-height: 1.12; color: var(--heading); text-align: left; }
.svc2-cta__tagline::before,
.svc2-cta__tagline::after { content: ""; display: block; width: 22px; height: 3px; border-radius: 999px; background: var(--blue); margin-bottom: 20px; }
.svc2-cta__tagline::after { margin: 20px 0 0; }

/* Dark-mode refinements: subtle glass glow */
html[data-theme="dark"] .svc2-card,
html[data-theme="dark"] .svc2-band,
html[data-theme="dark"] .svc2-cta__panel { box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
html[data-theme="dark"] .svc2-card:hover,
html[data-theme="dark"] .svc2-band:hover { box-shadow: 0 18px 44px rgba(0,0,0,.4), 0 0 0 1px var(--line-strong); }

@keyframes svc2-spin { to { transform: rotate(360deg); } }
@keyframes svc2-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes svc2-band-enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Responsive */
@media (max-width: 1080px) {
  .svc2-hero__grid { grid-template-columns: 1fr; gap: 40px; }
  .svc2-stack { max-width: 460px; margin-inline: auto; width: 100%; }
  .svc2-challenge-grid { grid-template-columns: repeat(2, 1fr); }
  .svc2-flow { grid-template-columns: repeat(2, 1fr); gap: 30px; row-gap: 40px; }
  .svc2-flow__step::after { display: none; }
  .svc2-head:not(.svc2-head--center) { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .svc2-hero { padding: 104px 0 48px; }
  .svc2-hero__copy h1 { font-size: clamp(34px, 9vw, 46px); }
  .svc2-challenge-grid { grid-template-columns: 1fr; }
  .svc2-engage-grid { grid-template-columns: 1fr; }
  .svc2-flow { grid-template-columns: 1fr; gap: 26px; text-align: left; }
  .svc2-flow__step { flex-direction: row; align-items: center; gap: 16px; text-align: left; }
  .svc2-flow__ic { margin-bottom: 0; width: 54px; height: 54px; font-size: 20px; }
  .svc2-flow__t, .svc2-flow__b, .svc2-flow__label, .svc2-flow__num { text-align: left; }
  .svc2-cta__panel { grid-template-columns: 1fr; padding: 44px 26px; }
  .svc2-cta__tagline { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .svc2-stack__orbit, .svc2-layer, .svc2-more__spinner, .svc2-band--entering { animation: none; }
}

.svc2-band[hidden] { display: none; }

/* Stable rendering on every public page. */
body .site-header, body .site-header.is-scrolled { background: var(--surface-solid); backdrop-filter: none; -webkit-backdrop-filter: none; transition: border-color .2s ease; }
body .site-footer, body .work-project__button, body .work-filter-shell { backdrop-filter: none; -webkit-backdrop-filter: none; }
body > .ambient { display: none; }
body .reveal, body .reveal-child, body .reveal.is-visible .reveal-child { opacity: 1; transform: none; }

/* Shared FAQ and closing banner. */
.aeo-faq.section { padding: 24px 0 10px; }
.aeo-faq .faq-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 32px; padding: 28px 32px; background: var(--surface); border-block: 1px solid var(--line); }
.faq-intro h2 { font-size: 30px; line-height: 1.06; font-weight: 400; letter-spacing: 0; max-width: 20ch; margin: 10px 0 16px; }
.faq-intro > p:not(.eyebrow), .faq-intro .text-link { font-size: 12px; line-height: 1.5; }
.faq-items { min-width: 0; border-left: 1px solid var(--line); padding-left: 24px; }
.aeo-faq .faq-items details { padding: 0; border: 0; border-bottom: 1px solid var(--line); }
.aeo-faq .faq-items summary { padding: 10px 0; font: 400 13px/1.5 var(--font); color: var(--heading); cursor: pointer; }
.aeo-faq .faq-items details p { font-size: 13px; line-height: 1.65; color: var(--muted); margin: 0; padding: 4px 0 14px; }
.site-closing.section { padding: 10px 0 36px; }
.site-closing__panel { position: relative; isolation: isolate; min-height: 230px; display: grid; grid-template-columns: minmax(0,1fr) 135px; align-items: center; gap: 32px; padding: 28px 32px; overflow: hidden; border-radius: 8px; border: 1px solid var(--line); background: #eaf4fd url('/assets/images/services-mountain.png') center / cover no-repeat; background-image: image-set(url('/assets/images/services-mountain.webp') type('image/webp'), url('/assets/images/services-mountain.png') type('image/png')); }
.site-closing__panel::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #f0f7fdf5, #f0f7fdbb 45%, transparent 75%); }
.site-closing__copy { max-width: 480px; }
.site-closing__copy h2 { max-width: 23ch; font-size: 30px; line-height: 1.08; font-weight: 400; letter-spacing: 0; margin: 8px 0 12px; }
.site-closing__copy > p:not(.eyebrow) { font-size: 13px; line-height: 1.5; max-width: 55ch; }
.site-closing__actions { display: flex; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.site-closing__actions .button { min-height: 40px; padding: 10px 20px; font-size: 12px; }
.site-closing__tagline { font: 400 22px/1.1 var(--font-heading); color: var(--heading); max-width: 10ch; }
.site-closing__tagline::before, .site-closing__tagline::after { content: ''; display: block; width: 25px; height: 2px; background: var(--blue); margin: 14px 0; }
html[data-theme='dark'] .site-closing__panel { background-color: #031321; background-blend-mode: luminosity; }
html[data-theme='dark'] .site-closing__panel::before { background: linear-gradient(90deg, #031321fa, #031321bf 45%, #03132144 80%); }

/* Work: existing project photography in the reference composition. */
.work-page main .section { padding-block: 22px; }
.work-page .eyebrow { font-size: 10px; }
.work-hero { min-height: 0; padding: 120px 0 36px; }
.work-hero__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 50px; }
.work-hero__copy { padding-left: 30px; }
.work-hero__copy::before { content: none; }
.work-hero__copy h1 { font-size: 54px; font-weight: 500; line-height: .98; letter-spacing: 0; }
.work-hero__copy h1 span { color: var(--blue); }
html[data-theme='light'] .work-hero__copy h1 span { color: var(--heading); }
.work-hero__copy > p:not(.eyebrow) { font-size: 15px; line-height: 1.5; max-width: 43ch; margin-top: 20px; letter-spacing: 0; }
.work-benefits { display: flex; gap: 24px; margin-top: 28px; }
.work-benefits strong, .work-benefits small { display: block; font: 600 11px/1.5 var(--font); }
.work-benefits small { font-weight: 400; font-size: 10px; color: var(--muted); }
.work-benefits > div { border-left: 2px solid var(--blue); padding-left: 10px; }
.work-system { position: relative; min-height: 305px; }
.work-system__orbits { position: absolute; inset: 35px 65px; border: 1px solid var(--line-strong); border-radius: 50%; }
.work-system__orbits::before, .work-system__orbits::after { content: ''; position: absolute; inset: 15px -35px; border: 1px dashed var(--line-strong); border-radius: 50%; transform: rotate(30deg); }
.work-system__orbits::after { transform: rotate(-30deg); }
.work-system__core { position: absolute; width: 116px; height: 120px; left: 50%; top: 50%; translate: -50% -50%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: 18px; background: var(--surface-solid); box-shadow: 0 0 24px var(--blue-soft); }
.work-system__core .brand-mark { width: 52px; height: auto; }
.work-system__core small { margin-top: 10px; font-size: 9px; text-transform: uppercase; max-width: 9ch; text-align: center; }
.work-system__tag { position: absolute; min-width: 125px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-solid); }
.work-system__tag strong, .work-system__tag small { display: block; font: 600 11px/1.6 var(--font); }
.work-system__tag small { font-size: 9px; font-weight: 400; color: var(--muted); }
.work-system__tag--0 { left: 4%; top: 0; }.work-system__tag--1 { right: 0; top: 0; }.work-system__tag--2 { left: 0; top: 43%; }.work-system__tag--3 { right: 0; top: 45%; }.work-system__tag--4 { left: 50%; bottom: 0; translate: -50% 0; }
.work-stats > .container { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: center; background: var(--surface); border-block: 1px solid var(--line); padding: 24px; }
.work-stats__intro h2 { font-size: 44px; line-height: 1; letter-spacing: 0; font-weight: 400; }
.work-stats .stats-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
.work-stats .stat-card { padding: 12px 20px; min-height: 0; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.work-stats .stat-number { font-size: 32px; margin-block: 8px; }
.work-stats .stat-card h3 { font-size: 12px; line-height: 1.45; }
.work-stats .stat-icon { font-size: 18px; }
.work-stats .stat-card::before, .work-stats .stat-card::after { content: none; }
.work-stats .stat-card h3 { font-family: var(--font); font-weight: 400; }
.work-filter-shell { position: static; padding: 0; margin: 12px 0; border: 0; background: transparent; box-shadow: none; gap: 20px; }
.work-filter__tab { border: 1px solid var(--line); border-radius: 999px; font-size: 11px; padding: 9px 14px; }
[data-work-search] { max-width: 220px; min-width: 120px; border: 1px solid var(--line); border-radius: 999px; padding: 10px 14px; background: var(--surface); color: var(--heading); font: 12px var(--font); }
.work-filter__status { font-size: 11px; margin: 0 0 12px; }
.work-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; perspective: none; }
.work-project-grid > .work-project:first-child { grid-column: 1 / -1; }
.work-project__button { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); min-height: 270px; border-radius: 8px; box-shadow: none; transform-style: flat; }
.work-project__button:hover { transform: none; }
.work-project__media { grid-column: 2; grid-row: 1; aspect-ratio: auto; border: 0; display: flex; align-items: center; background: transparent; padding: 12px 10px; }
.work-project__media img { height: auto; max-height: 310px; object-fit: contain; filter: none; border-radius: 4px; }
.work-project__button:hover img { transform: none; }
.work-project__category, .work-project__expand { display: none; }
.work-project__body { grid-column: 1; grid-row: 1; min-height: 0; padding: 24px 18px; display: flex; flex-direction: column; align-items: flex-start; }
.work-project__body h3 { font-size: 25px; font-weight: 400; letter-spacing: 0; }
.work-project__body .eyebrow { font-size: 8px; margin-bottom: 12px; }
.work-project__stack { font-size: 8px; line-height: 1.5; color: var(--blue); letter-spacing: 0; }
.work-project__summary { font-size: 12px; line-height: 1.5; margin-top: 12px; }
.work-project__action { display: inline-block; padding: 9px 18px; margin-top: 18px; border-radius: 999px; font: 600 11px/1.4 var(--font); color: #fff; background: #0879ed; }
.work-project-grid > .work-project:first-child .work-project__button { min-height: 325px; grid-template-columns: .85fr 1.15fr; }
.work-project-grid > .work-project:first-child h3 { font-size: 38px; }
.work-project-grid > .work-project:first-child .work-project__body { padding: 30px; }
.work-depth { background: var(--surface); border-block: 1px solid var(--line); }
.work-depth__grid { display: grid; grid-template-columns: 1.15fr 1fr .65fr; gap: 36px; align-items: center; }
.work-depth h2 { font-size: 32px; font-weight: 400; line-height: 1.08; letter-spacing: 0; margin: 10px 0 16px; }
.work-depth p:not(.eyebrow) { font-size: 13px; line-height: 1.5; }
.work-depth .button { min-height: 40px; font-size: 12px; margin-top: 18px; }
.work-depth__stack { display: grid; gap: 8px; padding: 20px 40px; transform: skewY(10deg); }
.work-depth__stack span { display: block; padding: 11px 8px; border: 1px solid var(--line-strong); border-radius: 5px; background: linear-gradient(100deg,var(--surface-solid),var(--blue-soft)); text-align: center; text-transform: uppercase; font-size: 10px; box-shadow: 9px -6px 0 var(--blue-soft); }
.work-depth dl { border-left: 1px solid var(--line); padding-left: 24px; }
.work-depth dl > div { margin: 14px 0; }
.work-depth dt { font-size: 12px; color: var(--heading); }.work-depth dd { margin: 4px 0 0; font-size: 11px; color: var(--muted); }
.work-more__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.work-more__grid .work-project__button { display: flex; flex-direction: column; min-height: 0; }
.work-more__grid .work-project__media { padding: 0; aspect-ratio: 2 / 1; flex: none; }
.work-more__grid .work-project__media img { height: 100%; }
.work-more__grid .work-project__body { padding: 14px; }
.work-more__grid .work-project__body h3 { font: 600 14px/1.35 var(--font); }
.work-more__grid .work-project__stack, .work-more__grid .work-project__summary { display: none; }
.work-more__grid .work-project__action { background: transparent; color: var(--blue); padding: 0; }
@media(max-width:900px) {
 .work-hero__grid { gap: 24px; }.work-hero__copy { padding-left: 0; }.work-hero__copy h1 { font-size: 44px; }.work-benefits { gap: 12px; }
 .work-stats > .container { grid-template-columns: 200px 1fr; }.work-stats__intro h2 { font-size: 34px; }.work-stats .stat-card { padding: 10px; }
 .work-project__button { grid-template-columns: 1fr; }.work-project__media { grid-row: 2; grid-column: 1; }.work-project__body { grid-row: 1; }
 .work-project-grid > .work-project:first-child .work-project__button { grid-template-columns: 1fr 1fr; }.work-project-grid > .work-project:first-child .work-project__media { grid-row: 1; grid-column: 2; }
 .work-depth__grid { grid-template-columns: 1fr 1fr; }.work-depth dl { grid-column: 1/-1; display:flex; justify-content:space-between; gap:12px; border:0; padding:0; }
 .work-more__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .work-hero { padding-top:110px; }.work-hero__grid { grid-template-columns:1fr; gap:32px; }.work-system { min-height:300px; }.work-system__tag { min-width:105px; padding:12px; }
 .work-stats > .container { grid-template-columns:1fr; gap:20px; }.work-stats .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .work-filter-shell { flex-wrap:wrap; }.work-filter { width:100%; }[data-work-search] { max-width:none; width:100%; }
 .work-project-grid { grid-template-columns:1fr; }.work-project-grid > .work-project:first-child .work-project__button { grid-template-columns:1fr; }.work-project-grid > .work-project:first-child .work-project__media { grid-row:2; grid-column:1; }
 .work-depth__grid { grid-template-columns:1fr; }.work-depth__stack { max-width:260px; width:100%; margin:auto; }.work-depth dl { flex-wrap:wrap; }.work-depth dl > div { width:43%; }
 .work-more__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .aeo-faq .faq-layout { grid-template-columns:1fr; padding:24px; gap:20px; }.faq-items { border:0; padding:0; }.faq-intro h2 { font-size:28px; }
 .site-closing__panel { display:block; padding:24px 24px 120px; background-position:72% bottom; }.site-closing__copy h2 { font-size:28px; }.site-closing__tagline { font-size:20px; margin-top:24px; }.site-closing__panel::before { background:linear-gradient(#f0f7fd,#f0f7fddd 60%,transparent); }
 html[data-theme='dark'] .site-closing__panel::before { background:linear-gradient(#031321,#031321dd 60%,#03132144); }
}

/* Keep scrolling content painted without blur or reveal compositing. */
.services-page .ambient { display: none; }
.services-page .site-header,
.services-page .site-header.is-scrolled { background: var(--surface-solid); backdrop-filter: none; -webkit-backdrop-filter: none; transition: border-color .2s ease; }
.services-page .site-footer,
.services-page .svc2-card,
.services-page .svc2-band,
.services-page .svc2-cta__panel { backdrop-filter: none; -webkit-backdrop-filter: none; }
.services-page .reveal,
.services-page .reveal-child,
.services-page .reveal.is-visible .reveal-child { opacity: 1; transform: none; transition: none; }
.services-page .svc2-band--entering { animation: none; }

/* Services hero proportions and isometric stack from the design reference. */
.svc2-hero { padding: 120px 0 48px; }
.svc2-hero .container { max-width: 1180px; padding-inline: 24px; }
.svc2-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
.svc2-hero__copy h1 { max-width: 19ch; font-size: 42px; font-weight: 400; line-height: 1.06; letter-spacing: 0; text-wrap: initial; margin: 12px 0 18px; }
.svc2-hero__lead { max-width: 48ch; font-size: 14px; line-height: 1.55; }
.svc2-title-line { display: block; }
.svc2-hero__copy h1 { max-width: none; }
html[data-theme="light"] .svc2-hero .svc2-accent { color: var(--heading); }
html[data-theme="dark"] .svc2-hero .svc2-accent { color: #00b3f5; }
.svc2-caps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; width: 112%; }
.svc2-caps li { gap: 9px; align-items: center; min-width: 0; }
.svc2-caps__ic { width: 36px; height: 36px; border-radius: 50%; background: transparent; border-color: #8bc5ff; }
.svc2-caps strong { font-size: 11px; font-weight: 600; }
.svc2-caps em { display: block; font-size: 10px; line-height: 1.4; }
.svc2-stack { min-height: 345px; }
.svc2-stack::before { content: ''; position: absolute; width: 330px; height: 330px; border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 0 0 24px color-mix(in srgb, var(--blue) 3%, transparent), 0 0 0 48px color-mix(in srgb, var(--blue) 2%, transparent); }
.svc2-stack__orbit { width: 85%; height: 95px; transform: none; opacity: .7; }
.svc2-stack__layers { width: 174px; gap: 12px; transform: skewY(12deg); margin-left: -42px; }
.svc2-layer { height: 47px; border-radius: 6px; animation: none; background: linear-gradient(90deg, #f8fcff, #d6ebff 80%, #84c6fc); box-shadow: 0 12px 24px -12px #2998f4, inset 0 1px 0 #fff; }
.svc2-layer:nth-child(1) { z-index: 5; }
.svc2-layer:nth-child(2) { z-index: 4; }
.svc2-layer:nth-child(3) { z-index: 3; }
.svc2-layer:nth-child(4) { z-index: 2; }
.svc2-layer:nth-child(5) { z-index: 1; }
.svc2-layer::before { left: -1px; right: -1px; top: -31px; height: 31px; border-radius: 5px 6px 0 0; transform: skewX(-60deg); background: linear-gradient(130deg, #f6fbff, #9bcfff); }
.svc2-layer::after { top: -16px; bottom: 0; right: -54px; width: 54px; border-radius: 0 4px 5px 0; transform: skewY(-30deg); background: linear-gradient(90deg, #8dceff, #c2e3ff); opacity: 1; }
.svc2-layer span { font-size: 10px; letter-spacing: 0; font-weight: 700; }
.svc2-tag { border-radius: 7px; padding: 11px 12px; gap: 8px; box-shadow: none; background: color-mix(in srgb, var(--surface-solid) 85%, transparent); }
.svc2-tag__tx small { font-size: 9px; letter-spacing: 0; }
.svc2-tag__tx em { display: block; font-size: 8px; }
.svc2-tag__ic { width: 21px; height: 21px; }
.svc2-tag--1 { top: 5%; left: 0; }
.svc2-tag--2 { top: 12%; right: -2%; }
.svc2-tag--3 { top: 61%; left: 0; }
.svc2-tag--4 { top: 69%; right: -2%; }
@media (min-width: 1250px) {
  .svc2-hero__copy h1 { font-size: 46px; }
  .svc2-hero { padding-bottom: 56px; }
}
@media (max-width: 760px) {
  .svc2-hero { padding: 110px 0 36px; }
  .svc2-hero__grid { grid-template-columns: 1fr; gap: 42px; }
  .svc2-hero__copy h1 { font-size: 36px; max-width: 22ch; }
  .svc2-caps { width: 100%; gap: 12px; }
  .svc2-caps li { align-items: flex-start; flex-direction: column; }
  .svc2-stack { width: 100%; max-width: 480px; min-height: 350px; margin-inline: auto; }
}

/* Keep pagination visibility authoritative over component display rules. */
.svc2-more[hidden], .svc2-more [hidden] { display: none !important; }
.svc2-more__spinner { display: none; }
.svc2-more { min-height: 1px; margin-top: 12px; }
.svc2-more__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* Shared band proportions for every service batch. */
.svc2-band { border-radius: 8px; }
.svc2-band__inner { position: relative; z-index: 2; width: 80%; grid-template-columns: 1.1fr 1fr; gap: 36px; padding: 22px 28px; pointer-events: none; }
.svc2-band__inner a { pointer-events: auto; }
.svc2-band__lead { position: relative; padding-left: 44px; min-width: 0; }
.svc2-band__num { position: absolute; left: 0; top: 3px; float: none; }
.svc2-band__cat { margin-top: 0; }
.svc2-band__list { gap: 7px; min-width: 0; }
.svc2-band__list li { font-size: 14px; align-items: flex-start; }
.svc2-band__media { width: 36%; }
.svc2-band__media::before { background: linear-gradient(90deg, var(--surface-solid), transparent 85%); }

/* The background must never participate in the CTA grid. */
.svc2-cta__panel { grid-template-columns: minmax(0, 1fr) 155px; min-height: 365px; padding: 48px 42px; border-radius: 8px; background: #edf5fc url('/assets/images/services-mountain.png') center / cover no-repeat; background-image: image-set(url('/assets/images/services-mountain.webp') type('image/webp'), url('/assets/images/services-mountain.png') type('image/png')); }
.svc2-cta__panel::before, .svc2-cta__panel::after { content: none; }
.svc2-cta__panel > .svc2-cta__bg { position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(245,250,255,.94), rgba(245,250,255,.65) 43%, transparent 65%); }
.svc2-cta__copy { grid-column: 1; grid-row: 1; max-width: 510px; }
.svc2-cta__copy h2 { font-size: 42px; font-weight: 500; max-width: 16ch; letter-spacing: 0; }
.svc2-cta__copy p { font-size: 15px; }
.svc2-cta__copy .eyebrow { font-size: 11px; }
.svc2-cta__tagline { grid-column: 2; grid-row: 1; align-self: start; margin-top: 22px; font-size: 25px; font-weight: 400; letter-spacing: 0; }
.svc2-cta__actions { gap: 20px; }
.svc2-cta__actions .text-link { font-size: 13px; font-weight: 400; text-decoration: underline; }
html[data-theme="dark"] .svc2-cta__panel { background-color: #03111d; background-blend-mode: luminosity; }
html[data-theme="dark"] .svc2-cta__panel > .svc2-cta__bg { background: linear-gradient(90deg, rgba(2,15,27,.96), rgba(2,15,27,.75) 43%, rgba(2,15,27,.25) 75%); }
@media (max-width: 900px) {
  .svc2-band__inner { width: 100%; grid-template-columns: 1fr; padding: 24px 24px 175px; gap: 20px; }
  .svc2-band__media { width: 100%; }
  .svc2-band__list { padding-left: 44px; }
  .svc2-cta__panel { padding: 32px; grid-template-columns: minmax(0, 1fr) 120px; }
  .svc2-cta__copy h2 { font-size: 34px; }
  .svc2-cta__tagline { font-size: 22px; }
}
@media (max-width: 600px) {
  .svc2-cta__panel { display: block; padding: 28px 24px 210px; background-position: 72% bottom; }
  .svc2-cta__panel > .svc2-cta__bg { background: linear-gradient(#f3f8fd 0%, rgba(243,248,253,.94) 52%, transparent 78%); }
  html[data-theme="dark"] .svc2-cta__panel > .svc2-cta__bg { background: linear-gradient(#03111d 0%, rgba(3,17,29,.92) 52%, rgba(3,17,29,.2) 80%); }
  .svc2-cta__tagline { max-width: 15ch; margin-top: 28px; font-size: 21px; }
  .svc2-cta__copy h2 { font-size: 32px; }
}
/* AI readiness scorecard funnel */
.scorecard-page{background:#07101c;color:#f5f8fc}.scorecard-hero{position:relative;overflow:hidden;padding-top:clamp(8rem,14vw,12rem)}
.scorecard-hero__grid,.scorecard-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.scorecard-hero__copy h1{max-width:12ch;font-size:clamp(3.2rem,7vw,7.4rem);line-height:.94;letter-spacing:-.055em;margin:.3em 0}
.scorecard-hero__lead{max-width:720px;font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.65;color:var(--muted,#a3b1c2)}
.scorecard-benefits{display:grid;gap:.8rem;margin:2rem 0 2.4rem;padding:0;list-style:none}.scorecard-benefits li{position:relative;padding-left:1.8rem;color:#d9e4ef}.scorecard-benefits li:before{content:'✓';position:absolute;left:0;color:#63b8ff;font-weight:800}
.scorecard-preview{display:grid;place-items:center;perspective:1200px}.scorecard-preview__sheet{position:relative;width:min(100%,470px);aspect-ratio:1/1.28;padding:clamp(2rem,5vw,4rem);border:1px solid rgba(99,184,255,.35);border-radius:12px;background:linear-gradient(145deg,#112842,#08121f 58%,#10243b);box-shadow:0 40px 100px rgba(0,0,0,.45);transform:rotateY(-7deg) rotateX(2deg);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.scorecard-preview__sheet:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(65,196,255,.22),transparent 32%),linear-gradient(135deg,transparent 45%,rgba(255,255,255,.06));pointer-events:none}.scorecard-preview__kicker{color:#63b8ff;letter-spacing:.18em;font-size:.75rem;font-weight:800}.scorecard-preview strong{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;margin:.7rem 0 1rem}.scorecard-preview p{color:#aebdcb;line-height:1.6}.scorecard-preview__scale{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}.scorecard-preview__scale span{border:1px solid rgba(99,184,255,.35);border-radius:99px;padding:.45rem .7rem;font-size:.65rem;letter-spacing:.12em;color:#c8e9ff}
.scorecard-main{border-top:1px solid rgba(255,255,255,.08)}.scorecard-layout{align-items:start}.scorecard-context{position:sticky;top:7rem}.scorecard-context h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em}.scorecard-context>p{max-width:620px;color:#aebdcb;line-height:1.75}.scorecard-proof{display:grid;gap:.65rem;margin:2rem 0;padding:1.5rem;border:1px solid rgba(99,184,255,.22);border-radius:14px;background:rgba(12,30,49,.72)}.scorecard-proof strong{color:#63b8ff}.scorecard-proof span:before{content:'—';margin-right:.65rem;color:#4d90be}.scorecard-note{font-size:.9rem}.scorecard-consent{display:flex;gap:.8rem;align-items:flex-start;margin:1.4rem 0;color:#b7c5d2;line-height:1.55;font-size:.9rem}.scorecard-consent input{margin-top:.25rem;accent-color:#63b8ff}.scorecard-thanks{min-height:100vh;display:grid;place-items:center;padding:6vw 0}.scorecard-thanks__panel{max-width:900px;padding:clamp(2rem,6vw,6rem);border:1px solid rgba(99,184,255,.28);border-radius:20px;background:linear-gradient(145deg,rgba(17,40,66,.96),rgba(7,16,28,.98));box-shadow:0 40px 120px rgba(0,0,0,.4);text-align:center}.scorecard-thanks h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.95;letter-spacing:-.05em;margin:.3em 0}.scorecard-thanks p{color:#afbdca;line-height:1.7;max-width:700px;margin:1.5rem auto}.scorecard-thanks .button{margin:.5rem}
@media(max-width:900px){.scorecard-hero__grid,.scorecard-layout{grid-template-columns:1fr}.scorecard-context{position:static}.scorecard-preview__sheet{transform:none}.scorecard-hero{padding-top:8rem}}

/* A built header or footer: the widgets carry the theme's own classes, so
   only the row itself needs laying out. Without this a single-section
   header stacks its columns on a 12-column grid instead of one line. */
.site-header--built .builder-section { padding-block: 0; }
.site-header--built .builder-row { display: flex; align-items: center; gap: 18px; }
.site-header--built .builder-column { display: flex; align-items: center; gap: 12px; }
.site-header--built .builder-column:nth-child(2) { flex: 1 1 auto; justify-content: center; }
.site-footer--built .builder-section { padding-block: 0; }

/* Commercial paths (home): three ways to start. */
.hero-proof { list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:12.5px;line-height:1.5; }
.hero-proof li { position:relative;padding-inline-start:14px; }
.hero-proof li::before { content:"";position:absolute;inset-inline-start:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--blue); }
.paths-head { max-width:760px; }
.paths-head h2 { margin:10px 0 0;font-size:clamp(2.2rem,3.8vw,3.6rem);line-height:1;text-wrap:balance; }
.paths-head__lead { margin:18px 0 0;max-width:62ch;color:var(--muted);font-size:1.0625rem;line-height:1.65; }
.paths-grid { list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px; }
.path-card { display:flex;flex-direction:column;padding:28px 26px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-soft);min-width:0; }
.path-card__top { display:flex;align-items:center;justify-content:space-between; }
.path-card__num { font-family:var(--font-heading);font-size:.9375rem;font-weight:600;color:var(--muted);letter-spacing:.06em; }
.path-card__badge { width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--blue);border:1px solid var(--line-strong);background:var(--blue-soft); }
.path-card__badge svg { width:20px;height:20px; }
.path-card__category { margin:18px 0 0;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-2); }
.path-card__title { margin:6px 0 0;font-size:1.45rem;line-height:1.15;color:var(--heading);letter-spacing:-.02em; }
.path-card__format { align-self:flex-start;width:fit-content;margin:10px 0 0;padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);font-size:.75rem;line-height:1.4; }
.path-card__sample { font-size:.875rem; }
/* Ongoing leadership is a different kind of engagement from the fixed-scope
   assessments: it spans the grid under them rather than sitting among them. */
.path-card--ongoing { grid-column:1 / -1; }
@media (min-width:761px) { .path-card--ongoing .path-card__deliverables { grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px; } }
.path-card__facts { margin:16px 0 0;display:grid;gap:12px; }
.path-card__facts dt { font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted); }
.path-card__facts dd { margin:4px 0 0;color:var(--text);font-size:.9375rem;line-height:1.55; }
.path-card__deliverables-label { margin:18px 0 0;color:var(--muted);font-size:.875rem; }
.path-card__deliverables-label strong { color:var(--heading); }
.path-card__deliverables { margin:8px 0 0;padding-inline-start:18px;color:var(--text);font-size:.9375rem;line-height:1.55;display:grid;gap:4px; }
.path-card__actions { margin-top:auto;padding-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px; }
.path-card__actions .button { min-height:48px; }
.path-card__proof { font-size:.875rem; }
.path-card__proof span { color:var(--muted); }
.path-card__more { margin-top:18px;padding-top:16px;border-top:1px solid var(--line); }
.path-card__more p { margin:0;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted); }
.path-card__more ul { list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px; }
.path-card__more a { display:inline-block;padding:6px 0;color:var(--blue-2);font-size:.875rem; }
@media (max-width:1320px) { .paths-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .paths-grid { grid-template-columns:1fr; } }

/* Below-the-fold sections are laid out only as they approach the screen:
   the home page is long, and styling all of it up front delayed the first
   paint on phones. The carousels that measure themselves are left alone. */
main > section:not(:first-child):not(.offers):not(.testimonials):not(.paths) { content-visibility:auto; contain-intrinsic-size:auto 900px; }
@media print { main > section { content-visibility:visible; } }
html[data-theme="light"] .path-card__more a,html[data-theme="light"] .path-card__proof,html[data-theme="light"] .path-card__sample,html[data-theme="light"] .path-card__category { color:#0a64b8; }

.path-card__price,.offer-card__price,.offer-detail__price { margin:14px 0 0;color:var(--muted);font-size:.9375rem; }
.path-card__price strong,.offer-card__price strong,.offer-detail__price strong { color:var(--heading);font-size:1.25rem;letter-spacing:-.01em; }
.path-card__note,.offer-detail__note { margin:6px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.5; }
.offer-card__services { margin-top:14px;padding-top:12px;border-top:1px solid var(--line); }
.offer-card__services p { margin:0;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted); }
.offer-card__services ul { list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px; }
.offer-card__services a { display:inline-block;padding:5px 0;font-size:.8125rem;color:var(--blue-2); }
html[data-theme="light"] .offer-card__services a { color:#0a64b8; }
.paths-terms { margin-top:34px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid); }
.paths-terms h3 { margin:0;font-size:1.05rem;color:var(--heading); }
.paths-terms ul { margin:10px 0 0;padding-inline-start:18px;display:grid;gap:6px;color:var(--text);font-size:.9375rem;line-height:1.55; }

/* Service page: the engagement it sells, in full, before the evidence. */
.service-engagement { margin-top:56px;padding:32px 30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-soft); }
.service-engagement__head h2 { margin:8px 0 0;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1;color:var(--heading); }
.service-engagement__result { margin:14px 0 0;max-width:68ch;color:var(--text);font-size:1.0625rem;line-height:1.6; }
.service-engagement__terms { margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px; }
.service-engagement__terms dt { font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted); }
.service-engagement__terms dd { margin:6px 0 0;color:var(--text);font-size:.9375rem;line-height:1.6; }
.service-engagement__terms dd strong { color:var(--heading); }
.service-engagement__actions { margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px; }
.service-engagement__actions .button { min-height:48px; }
@media (max-width:760px) { .service-engagement { padding:24px 20px; } .service-engagement__terms { grid-template-columns:1fr; } }
.project-evidence__note { padding:14px 16px;border-inline-start:3px solid var(--line-strong);background:var(--blue-soft);border-radius:10px;color:var(--text);font-size:.9375rem;line-height:1.6; }
.project-evidence__takeaway { font-weight:600;color:var(--heading); }

/* Illustrative sample report: reads like a document, not a landing page. */
.sample-report__container { max-width:880px; }
.sample-report__label { margin:0 0 28px;padding:14px 18px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--blue-soft);color:var(--text);font-size:.9375rem;line-height:1.55; }
.sample-report__label strong { color:var(--heading); }
.sample-report h2 { margin:36px 0 12px;font-size:clamp(1.35rem,2.2vw,1.75rem);color:var(--heading); }
.sample-report h2:first-of-type { margin-top:0; }
.sample-report p,.sample-report li { color:var(--text);font-size:1rem;line-height:1.65; }
.sample-report ul,.sample-report ol { padding-inline-start:22px;display:grid;gap:6px; }
.sample-report__findings h3,.sample-report__options h3 { margin:0;font-size:1.0625rem;color:var(--heading); }
.sample-report__findings p,.sample-report__options p { margin:6px 0 0; }
.sample-report__table { overflow-x:auto;border:1px solid var(--line);border-radius:12px; }
.sample-report__table:focus-visible { outline:2px solid var(--blue);outline-offset:2px; }
.sample-report table { width:100%;min-width:560px;border-collapse:collapse;font-size:.9375rem; }
.sample-report th,.sample-report td { padding:12px 14px;text-align:start;vertical-align:top;border-bottom:1px solid var(--line);color:var(--text);line-height:1.5; }
.sample-report thead th { font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted); }
.sample-report tbody th { color:var(--heading);font-weight:600; }
.sample-report tr:last-child th,.sample-report tr:last-child td { border-bottom:0; }
.sample-report__options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.sample-report__options article { padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid); }
@media (max-width:760px) { .sample-report__options { grid-template-columns:1fr; } }
.sample-report__cta { margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px; }
.sample-report__cta p { margin:0;flex:1 1 320px; }

/* Commercial paths, featured layout: one large card, the others compact
   beside it; tabs or a click on a compact card choose the featured one. */
.paths-tabs { display:flex;flex-wrap:wrap;gap:8px;margin:34px 0 0; }
.paths-tab { appearance:none;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--heading);border-radius:999px;padding:10px 18px;font:inherit;font-size:.875rem;font-weight:600;transition:background .2s,color .2s,border-color .2s; }
.paths-tab:hover { border-color:var(--blue); }
.paths-tab[aria-selected="true"] { background:#0f1f3a;border-color:#0f1f3a;color:#fff; }
.paths-stage { list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-auto-rows:auto;gap:16px; }
.paths-stage .path-card { position:relative;grid-column:2;margin:0;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:0;align-items:end;align-content:center;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s; }
.paths-stage .path-card:hover { border-color:var(--blue);transform:translateY(-2px); }
.paths-stage .path-card:not(.is-featured) :is(.path-card__top,.path-card__body,.path-card__more,.path-card__actions,.path-card__note) { display:none; }
.paths-stage .path-card:not(.is-featured) .path-card__category { grid-column:1;margin:0; }
.paths-stage .path-card:not(.is-featured) .path-card__title { grid-column:1;font-size:1.25rem;margin-top:4px; }
.paths-stage .path-card:not(.is-featured) .path-card__fit { grid-column:1;margin:4px 0 0;color:var(--muted);font-size:.875rem;line-height:1.5; }
.paths-stage .path-card:not(.is-featured) .path-card__foot { grid-column:2;grid-row:1 / span 3;text-align:end; }
.paths-stage .path-card:not(.is-featured) .path-card__price { margin:0;font-size:.8125rem; }
.paths-stage .path-card:not(.is-featured) .path-card__price strong { display:block;font-size:1.125rem; }
.path-card__pick { position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:pointer;border-radius:inherit; }
.paths-stage .path-card.is-featured { grid-column:1;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:stretch;text-align:start;padding:40px;cursor:default;transform:none;overflow:hidden;
  background:radial-gradient(420px 420px at 100% 0,rgba(31,111,209,.5),transparent 70%),#0f1f3a;border-color:#0f1f3a;color:#dfe7f2; }
.path-card.is-featured .path-card__pick { display:none; }
.path-card.is-featured .path-card__num { color:#8fa3c0; }
.path-card.is-featured .path-card__badge { background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff; }
.path-card.is-featured .path-card__category,html[data-theme="light"] .path-card.is-featured .path-card__category { color:#8fbaf0;margin-top:22px; }
.path-card.is-featured .path-card__title { color:#fff;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08;margin-top:10px; }
.path-card.is-featured .path-card__fit { margin:14px 0 0;color:#c6d2e3;font-size:1.0625rem;line-height:1.6;max-width:52ch; }
.path-card__problem { margin:18px 0 0;color:#c6d2e3;font-size:.9375rem;line-height:1.6; }
.path-card__problem span { display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8fa3c0;margin-bottom:4px; }
.path-card.is-featured .path-card__deliverables-label { color:#8fa3c0; }
.path-card.is-featured .path-card__deliverables { list-style:none;padding:0;color:#e5ecf6; }
.path-card.is-featured .path-card__deliverables li { position:relative;padding-inline-start:26px; }
.path-card.is-featured .path-card__deliverables li::before { content:"✓";position:absolute;inset-inline-start:0;color:#8fbaf0; }
.path-card.is-featured .path-card__foot { margin-top:auto;padding-top:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px; }
.path-card.is-featured .path-card__price { margin:0;color:#9fb0c8; }
.path-card.is-featured .path-card__price strong { color:#fff;font-size:1.6rem; }
.path-card.is-featured .path-card__actions { margin:0;padding:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px; }
.path-card.is-featured .path-card__proof,.path-card.is-featured .path-card__sample,html[data-theme="light"] .path-card.is-featured .path-card__proof { color:#cfe0f7; }
.path-card.is-featured .path-card__proof span { color:#8fa3c0; }
.path-card.is-featured .path-card__note { flex-basis:100%;margin:0;color:#9fb0c8; }
.path-card.is-featured .path-card__more { border-top-color:rgba(255,255,255,.14); }
.path-card.is-featured .path-card__more p { color:#8fa3c0; }
.path-card.is-featured .path-card__more a,html[data-theme="light"] .path-card.is-featured .path-card__more a { color:#cfe0f7; }
.path-card.is-featured > * { position:relative; }
.paths-stage .path-card.is-swapping { animation:paths-in .35s ease; }
@keyframes paths-in { from { opacity:.3;transform:translateY(8px); } }
@media (prefers-reduced-motion:reduce) { .paths-stage .path-card { transition:none;animation:none; } }
@media (max-width:900px) {
  .paths-stage { grid-template-columns:1fr; }
  .paths-stage .path-card,.paths-stage .path-card.is-featured { grid-column:1;grid-row:auto; }
  .paths-stage .path-card.is-featured { padding:28px 24px;order:-1; }
  .paths-tabs { flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-4px;padding:2px 4px; }
  .paths-tab { flex:0 0 auto; }
}
.paths-stage .path-card--ongoing { grid-column:2; }
.paths-stage .path-card:not(.is-featured) .path-card__format { display:none; }
.path-card.is-featured .path-card__format { margin-top:14px;border-color:rgba(255,255,255,.22);color:#c6d2e3; }
/* Featured card footer: a pricing panel, then proof links, then related services as chips. */
.path-card.is-featured .path-card__foot { margin-top:auto;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 24px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04); }
.path-card.is-featured .path-card__pricing { min-width:0; }
.path-card.is-featured .path-card__price { margin:0;color:#9fb0c8;font-size:.9375rem; }
.path-card.is-featured .path-card__price strong { font-size:1.75rem;letter-spacing:-.02em; }
.path-card.is-featured .path-card__note { margin:6px 0 0;color:#9fb0c8;font-size:.8125rem;line-height:1.5;max-width:48ch; }
.path-card.is-featured .path-card__actions { margin:0;padding:0;display:block; }
.path-card.is-featured .path-card__actions .button { min-height:48px;white-space:nowrap; }
.path-card__links { grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1); }
.path-card__links a { display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.07);color:#dfe8f5;font-size:.8125rem;text-decoration:none;transition:background .2s; }
.path-card__links a:hover { background:rgba(255,255,255,.14); }
.path-card__links a span { color:#9fb0c8; }
.path-card__links a strong { font-weight:600;color:#fff; }
.path-card__links i { font-style:normal;color:#8fbaf0;transition:transform .2s; }
.path-card__links a:hover i { transform:translateX(3px); }
.paths-stage .path-card:not(.is-featured) .path-card__links { display:none; }
.path-card.is-featured .path-card__more { margin-top:22px;padding-top:0;border-top:0; }
.path-card.is-featured .path-card__more ul { gap:8px; margin-top:10px; }
.path-card.is-featured .path-card__more a { padding:6px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:.8125rem;color:#cfe0f7;text-decoration:none;transition:border-color .2s,background .2s; }
.path-card.is-featured .path-card__more a:hover { border-color:#8fbaf0;background:rgba(143,186,240,.08); }
@media (max-width:600px) { .path-card.is-featured .path-card__foot { grid-template-columns:1fr;padding:18px; } .path-card.is-featured .path-card__actions .button { width:100%; } }
.path-card.is-featured .path-card__body { margin-bottom:28px; }

/* Service page: decision dossier. Dark hero with a panel and a figures
   band, proof-led "in depth" cards, fit/scope/deliverables, split offer. */
.svc-hero { --svc-navy:#0f1f3a;background:radial-gradient(900px 520px at 85% -10%,rgba(31,111,209,.45),transparent 60%),var(--svc-navy);color:#c6d2e3;padding:128px 0 0; }
.svc-hero .breadcrumb,.svc-hero .breadcrumb a { color:#8fa3c0; }
.svc-hero .eyebrow { color:#8fbaf0; }
.svc-hero__grid { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:center;padding:36px 0 56px; }
.svc-hero h1 { color:#fff;font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.04;margin:14px 0 18px;text-transform:none;letter-spacing:-.02em;text-wrap:balance; }
.svc-hero__lead { font-size:1.1875rem;line-height:1.6;max-width:46ch;margin:0 0 28px;color:#c6d2e3; }
.svc-hero__actions { display:flex;flex-wrap:wrap;gap:12px; }
.svc-hero__ghost { background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25); }
.svc-hero__ghost:hover { border-color:#8fbaf0;color:#fff; }
.svc-panel { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:26px; }
.svc-panel .eyebrow { margin:0 0 6px; }
.svc-layer { display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:12px 16px;margin-top:10px;font-size:.9375rem;color:#e5ecf6; }
.svc-layer small { color:#8fbaf0;font-size:.75rem;white-space:nowrap; }
.svc-layer.is-hot { border-color:#8fbaf0;background:rgba(143,186,240,.1); }
.svc-band { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid rgba(255,255,255,.12); }
.svc-band > div { padding:22px 24px 28px;border-inline-start:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column-reverse;justify-content:flex-end; }
.svc-band > div:first-child { border:0;padding-inline-start:0; }
.svc-band dd { margin:0;font-family:var(--font-heading);font-size:2.2rem;line-height:1.1;color:#fff;font-weight:600; }
.svc-band dd.is-text { font-size:1.35rem;line-height:1.25; }
.svc-band dt { margin-top:6px;font-size:.8125rem;color:#9fb0c8; }
.svc-body { padding-top:80px; }
.svc-intro { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:56px;margin-bottom:48px; }
.svc-intro h2 { font-size:clamp(2rem,3.4vw,2.6rem);line-height:1.1;margin-top:10px; }
.svc-intro > p { margin:0;font-size:1.0625rem;line-height:1.75;color:var(--text); }
.svc-proof { display:grid;gap:20px; }
.svc-proof article { display:grid;grid-template-columns:80px minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:start;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft); }
.svc-proof article.is-solo { grid-template-columns:80px minmax(0,1fr); }
.svc-proof__n { font-family:var(--font-heading);font-size:3rem;line-height:1;color:var(--line-strong); }
.svc-proof h3 { font-size:1.6rem;line-height:1.2;margin:6px 0 10px;color:var(--heading); }
.svc-proof article p { margin:0;line-height:1.7;color:var(--text); }
.svc-case { display:block;background:var(--blue-soft);border:1px solid transparent;border-radius:16px;padding:20px;color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s; }
.svc-case:hover { border-color:var(--blue);transform:translateY(-2px); }
.svc-case small { font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-2); }
.svc-case strong { display:block;font-family:var(--font-heading);font-size:1.25rem;color:var(--heading);margin:4px 0 6px; }
.svc-case p { font-size:.875rem;line-height:1.55;color:var(--muted)!important; }
.svc-case__more { display:inline-block;margin-top:10px;font-size:.875rem;font-weight:600;color:var(--blue-2); }
.svc-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px; }
.svc-cards > section { background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-soft); }
.svc-cards h2 { font-size:1.45rem;margin:8px 0 14px;color:var(--heading); }
.svc-check { list-style:none;margin:0;padding:0; }
.svc-check li { position:relative;padding:10px 0 10px 28px;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.55;color:var(--text); }
.svc-check li:first-child { border-top:0; }
.svc-check li::before { content:"✓";position:absolute;inset-inline-start:2px;top:10px;color:var(--blue);font-weight:700; }
.svc-check li { padding-inline:28px 0; }
.svc-cards > .is-dark { background:#0f1f3a;border-color:#0f1f3a;color:#c6d2e3; }
.svc-cards > .is-dark h2 { color:#fff; }
.svc-cards > .is-dark .eyebrow { color:#8fbaf0; }
.svc-cards > .is-dark .svc-check li { color:#e5ecf6;border-color:rgba(255,255,255,.1); }
.svc-cards > .is-dark .svc-check li::before { color:#8fbaf0; }
.svc-offer { margin:48px 0 20px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);background:var(--surface-solid);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow-soft); }
.svc-offer__main { padding:40px; }
.svc-offer h2 { font-size:clamp(1.8rem,3vw,2.2rem);margin:8px 0 10px;color:var(--heading); }
.svc-offer__result { margin:12px 0 0;color:var(--muted); }
.svc-offer__terms { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:26px 0 0; }
.svc-offer__terms dt { font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px; }
.svc-offer__terms dd { margin:0;font-size:.9375rem;line-height:1.6;color:var(--text); }
.svc-offer__price { background:radial-gradient(360px 300px at 100% 0,rgba(31,111,209,.4),transparent 70%),#0f1f3a;color:#c6d2e3;padding:40px;display:flex;flex-direction:column; }
.svc-offer__price small { color:#8fa3c0;font-size:.8125rem; }
.svc-offer__amount { margin:6px 0 4px;font-family:var(--font-heading);font-size:2.8rem;line-height:1;color:#fff;font-weight:600; }
.svc-offer__amount.is-text { font-size:1.8rem; }
.svc-offer__terms-note { margin:20px 0 0;font-size:.875rem;line-height:1.6;color:#c6d2e3; }
.svc-offer__actions { margin-top:auto;padding-top:26px;display:flex;flex-direction:column;gap:12px; }
.svc-offer__cta { justify-content:center;background:#fff;color:#0f1f3a;min-height:50px; }
.svc-offer__cta:hover { background:#e6f0fc;color:#0f1f3a; }
.svc-offer__link { color:#cfe0f7;font-size:.875rem;text-align:center; }
@media (max-width:900px) {
  .svc-hero { padding-top:108px; }
  .svc-hero__grid,.svc-intro,.svc-offer { grid-template-columns:1fr; }
  .svc-hero__grid { gap:32px; }
  .svc-band { grid-template-columns:1fr 1fr; }
  .svc-band > div { border:0;padding-inline-start:0; }
  .svc-proof article,.svc-proof article.is-solo { grid-template-columns:1fr;gap:14px;padding:24px; }
  .svc-proof__n { font-size:2rem; }
  .svc-cards { grid-template-columns:1fr; }
  .svc-offer__main,.svc-offer__price { padding:26px; }
  .svc-offer__terms { grid-template-columns:1fr; }
}
.svc-offer + .section-inner { margin-top:72px; }

/* Service page: evidence (case studies) and further reading. */
.svc-sec-head { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px; }
.svc-sec-head h2,.svc-reading h2 { font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1.1;margin-top:10px;color:var(--heading); }
.svc-sec-head__link { display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--line-strong);border-radius:999px;color:var(--heading);font-size:.875rem;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s;white-space:nowrap; }
.svc-sec-head__link:hover { border-color:var(--blue);background:var(--blue-soft); }
.svc-sec-head__link i,.svc-work__more i,.svc-reading i { font-style:normal;transition:transform .2s; }
.svc-work { margin-top:88px; }
.svc-work__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.svc-work__card { display:flex;flex-direction:column;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s,border-color .25s; }
.svc-work__card:hover { transform:translateY(-4px);border-color:var(--blue);box-shadow:0 24px 50px rgba(15,31,58,.12); }
.svc-work__media { position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#e8f0fb,#f7faff);overflow:hidden;border-bottom:1px solid var(--line); }
.svc-work__media img { width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .5s; }
.svc-work__card:hover .svc-work__media img { transform:scale(1.04); }
.svc-work__tag { position:absolute;inset-inline-start:14px;top:14px;padding:5px 11px;border-radius:999px;background:rgba(15,31,58,.82);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(6px); }
.svc-work__body { display:flex;flex-direction:column;flex:1;padding:22px 24px 24px; }
.svc-work__role { font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-2); }
.svc-work__title { display:block;margin-top:6px;font-family:var(--font-heading);font-size:1.45rem;line-height:1.2;color:var(--heading);font-weight:600; }
.svc-work__summary { display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px;font-size:.9375rem;line-height:1.6;color:var(--muted); }
.svc-work__stack { display:flex;flex-wrap:wrap;gap:6px;margin-top:16px; }
.svc-work__stack span { padding:4px 10px;border-radius:8px;background:var(--blue-soft);color:var(--heading);font-size:.75rem;font-weight:500; }
.svc-work__more { margin-top:auto;padding-top:20px;display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--blue-2); }
.svc-work__card:hover .svc-work__more i,.svc-sec-head__link:hover i,.svc-reading a:hover i { transform:translateX(4px); }
[dir="rtl"] .svc-work__card:hover .svc-work__more i,[dir="rtl"] .svc-sec-head__link:hover i,[dir="rtl"] .svc-reading a:hover i { transform:translateX(-4px) scaleX(-1); }
[dir="rtl"] .svc-work__more i,[dir="rtl"] .svc-sec-head__link i,[dir="rtl"] .svc-reading i { transform:scaleX(-1); }
.svc-reading { margin:72px 0 24px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px; }
.svc-reading.is-single { grid-template-columns:1fr; }
.svc-reading__col { background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft); }
.svc-reading__list { list-style:none;margin:20px 0 0;padding:0; }
.svc-reading__list a { display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--line);color:var(--heading);text-decoration:none;transition:color .2s; }
.svc-reading__list li:first-child a { border-top:0; }
.svc-reading__list a:hover { color:var(--blue-2); }
.svc-reading__n { font-family:var(--font-heading);font-size:1.1rem;color:var(--muted); }
.svc-reading__title { font-weight:600;line-height:1.4; }
.svc-reading__list i { color:var(--blue-2); }
.svc-reading__col--services { background:#0f1f3a;border-color:#0f1f3a; }
.svc-reading__col--services h2 { color:#fff; }
.svc-reading__col--services .eyebrow { color:#8fbaf0; }
.svc-reading__chips { list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px; }
.svc-reading__chips a { display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#e5ecf6;font-size:.875rem;text-decoration:none;transition:border-color .2s,background .2s; }
.svc-reading__chips a:hover { border-color:#8fbaf0;background:rgba(143,186,240,.1); }
.svc-reading__chips i { color:#8fbaf0; }
@media (max-width:1100px) { .svc-work__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  .svc-work__grid,.svc-reading { grid-template-columns:1fr; }
  .svc-sec-head { flex-direction:column;align-items:flex-start; }
  .svc-reading__col { padding:24px; }
}

/* Readiness scorecards. */
.sc-dial__total { margin:8px 0 14px;display:flex;align-items:baseline;gap:8px;color:#9fb0c8; }
.sc-dial__total strong { font-family:var(--font-heading);font-size:4rem;line-height:1;color:#fff;font-weight:600; }
.sc-meter { position:relative;height:10px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden; }
.sc-meter span { position:absolute;inset-block:0;inset-inline-start:0;width:0;border-radius:inherit;background:linear-gradient(90deg,#8fbaf0,#3d8bf0);transition:width .35s ease; }
.sc-meter i { position:absolute;top:0;bottom:0;width:2px;background:rgba(15,31,58,.9); }
.sc-dial__band { margin:16px 0 4px;font-family:var(--font-heading);font-size:1.35rem;color:#fff;line-height:1.3; }
.sc-dial__count { margin:0;font-size:.8125rem;color:#9fb0c8; }
.sc-define { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:start; }
.sc-define h2 { font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.12;margin:10px 0 12px;color:var(--heading); }
.sc-define p { color:var(--text);line-height:1.7; }
.sc-define__fields { display:grid;gap:12px;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-soft); }
.sc-define__fields label span { display:block;font-size:.8125rem;font-weight:600;color:var(--heading);margin-bottom:6px; }
.sc-define__fields input,.sc-form__field input { width:100%;padding:11px 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-solid);color:var(--text);font:inherit; }
.sc-define__fields small { color:var(--muted);font-size:.75rem; }
.sc-scale { list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.sc-scale li { display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface-solid); }
.sc-scale b { flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#0f1f3a;color:#fff;font-family:var(--font-heading);font-size:1.2rem; }
.sc-scale span { font-size:.875rem;color:var(--muted);line-height:1.5; }
.sc-scale strong { display:block;color:var(--heading);font-size:.9375rem; }
.sc-rule { margin:14px 0 0;color:var(--muted);font-size:.9375rem; }
.sc-factors { list-style:none;margin:28px 0 0;padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-soft);overflow:hidden; }
.sc-factor { display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 24px;border-top:1px solid var(--line);transition:background .2s; }
.sc-factor:first-child { border-top:0; }
.sc-factor.is-scored { background:linear-gradient(90deg,var(--blue-soft),transparent 60%); }
.sc-factor__n { font-family:var(--font-heading);font-size:1.4rem;color:var(--line-strong); }
.sc-factor.is-scored .sc-factor__n { color:var(--blue-2); }
.sc-factor h3 { margin:0;font-size:1.125rem;color:var(--heading); }
.sc-factor p { margin:4px 0 0;font-size:.9rem;color:var(--muted);line-height:1.5; }
.sc-factor__score { display:flex;gap:6px; }
.sc-factor__score label { position:relative;cursor:pointer; }
.sc-factor__score input { position:absolute;opacity:0;inset:0;margin:0;cursor:pointer; }
.sc-factor__score span { display:grid;place-items:center;width:46px;height:42px;border:1px solid var(--line-strong);border-radius:10px;font-weight:700;color:var(--heading);transition:.15s; }
.sc-factor__score label:hover span { border-color:var(--blue); }
.sc-factor__score input:focus-visible + span { outline:2px solid var(--blue);outline-offset:2px; }
.sc-factor__score input:checked + span { background:#0f1f3a;border-color:#0f1f3a;color:#fff; }
.sc-factor__score label:nth-child(3) input:checked + span { background:var(--blue);border-color:var(--blue); }
.sc-result { margin-top:72px; }
.sc-result h2 { font-size:clamp(1.9rem,3.2vw,2.5rem);margin:10px 0 24px;color:var(--heading); }
.sc-bands { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.sc-band { padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid);transition:transform .25s,border-color .25s,box-shadow .25s;opacity:.92; }
.sc-band__range { margin:0;font-family:var(--font-heading);font-size:2.4rem;line-height:1;color:var(--heading); }
.sc-band h3 { margin:12px 0 8px;font-size:1.2rem;color:var(--heading); }
.sc-band p:last-child { margin:0;color:var(--muted);font-size:.9375rem;line-height:1.6; }
.sc-band--0 { border-top:4px solid #3aa37a; } .sc-band--1 { border-top:4px solid #e0a53a; } .sc-band--2 { border-top:4px solid #d4655f; }
.sc-band.is-active { opacity:1;transform:translateY(-4px);border-color:var(--blue);box-shadow:0 22px 50px rgba(15,31,58,.14); }
.sc-next { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;margin-top:16px; }
.sc-weak,.sc-actions { padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid); }
.sc-weak[hidden] { display:none; }
.sc-weak:not([hidden]) + .sc-actions { grid-column:auto; }
.sc-weak[hidden] + .sc-actions { grid-column:1 / -1; }
.sc-weak ul,.sc-actions ol { list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px; }
.sc-weak li { display:flex;gap:12px;align-items:center;font-weight:600;color:var(--heading); }
.sc-weak li b { width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#fdecea;color:#b3413b; }
.sc-actions li { display:flex;gap:14px;align-items:flex-start; }
.sc-actions b { flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#0f1f3a;color:#e9b44c;font-family:var(--font-heading);font-size:1.2rem; }
.sc-actions span { color:var(--muted);font-size:.9375rem;line-height:1.5; }
.sc-actions strong { display:block;color:var(--heading); }
.sc-cta { margin-top:56px; }
.sc-cta__offer { margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--blue-soft); }
.sc-cta__offer strong { display:block;color:var(--heading);font-family:var(--font-heading);font-size:1.15rem; }
.sc-cta__offer span { font-size:.875rem;color:var(--muted); }
.sc-cta__hint { margin:10px 0 0;font-size:.8125rem;color:var(--muted); }
.sc-form h3 { margin:0 0 6px;color:#fff;font-size:1.4rem; }
.sc-form__form { display:grid;gap:12px;margin-top:18px; }
.sc-form__field span { display:block;font-size:.8125rem;color:#c6d2e3;margin-bottom:6px; }
.sc-form__field input { background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff; }
.sc-form__consent { font-size:.8125rem;color:#c6d2e3;line-height:1.5; }
.sc-form__note { margin:0;font-size:.75rem;color:#8fa3c0; }
.path-card__score { display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.8125rem;font-weight:600;color:#e9b44c;text-decoration:none; }
.path-card__score:hover { color:#ffd27a; }
.paths-stage .path-card:not(.is-featured) .path-card__score { display:none; }
@media (max-width:900px) {
  .sc-define,.sc-next { grid-template-columns:1fr; }
  .sc-scale,.sc-bands { grid-template-columns:1fr; }
  .sc-factor { grid-template-columns:1fr;gap:10px;padding:18px; }
  .sc-factor__n { display:none; }
  .sc-factor__score span { width:100%;min-width:64px; }
  .sc-factor__score label { flex:1; }
}
.sc-form .lead-magnet__trap { position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden; }
/* Contrast: accent text on light surfaces uses the darker blue. */
.mq-repeat:is(ul) { list-style:none;margin:0;padding:0; }
html[data-theme="light"] :is(.eyebrow,.text-link,.svc-case small,.svc-case__more,.svc-work__role,.svc-work__more,.svc-reading__list i,.svc-check li::before) { color:#0a5aa6; }
html[data-theme="light"] .svc-proof__n,html[data-theme="light"] .sc-factor__n { color:#5b6b82; }
html[data-theme="light"] .section-note { color:#5b6b82; }
.svc-hero .eyebrow,.sc-hero .eyebrow,.svc-cards > .is-dark .eyebrow,.svc-reading__col--services .eyebrow,.svc-panel .eyebrow { color:#8fbaf0!important; }
.svc-proof__n,.sc-factor__n { color:var(--muted); opacity:.75; }
.svc-case p { color:var(--text)!important; }
.sc-scale span { color:var(--text); }
.svc-proof__n,.sc-factor__n { opacity:1;color:var(--muted); }
.sc-cta__offer span,.sc-scale span { color:var(--text); }

/* Article detail: editorial navy. A navy hero panel with the short version
   beside the headline, a contents rail that tracks the reader, a serif
   reading column and a two-lane flow figure split at the human gate. */
.article-hero { --article-navy:#071a33;--article-navy-2:#0d2547;--article-navy-line:rgba(125,182,255,.2);--article-sky:#8cc2ff;--article-gold:#f2c14e;padding:128px 0 0; }
html[data-theme="dark"] .article-hero { --article-navy:#0c1d35;--article-navy-2:#132a4a; }
.article-hero .breadcrumb { margin-bottom:22px; }
.article-hero__panel { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:56px;align-items:end;padding:64px;border:1px solid var(--article-navy-line);border-radius:28px;background:var(--article-navy);color:#fff;box-shadow:var(--shadow); }
.article-hero__panel .eyebrow { color:var(--article-sky); }
.article-hero.project-hero h1 { max-width:none;margin:18px 0 0;color:#fff;font-family:var(--font-heading);font-size:clamp(40px,5.4vw,74px);font-weight:500;line-height:1.03;letter-spacing:-.025em;text-transform:none; }
.article-hero__lead { max-width:700px;margin:24px 0 0;color:#c3d1e8;font-family:var(--font-heading);font-size:clamp(19px,1.7vw,23px);line-height:1.5; }
.article-hero .article-byline { display:flex;align-items:center;gap:14px;margin:36px 0 0;color:#93a6c6;font-size:14px;font-weight:500; }
.article-hero .article-byline > span:last-child { display:grid;gap:3px; }
.article-hero .article-byline strong { color:#fff;font-size:15px;font-weight:600; }
.article-byline__mark,.article-author__mark { flex:none;display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border:1px solid var(--article-navy-line,var(--line));border-radius:50%;background:#fff;color:#071a33; }
.article-byline__mark img,.article-author__mark img { width:72%;height:auto; }
html[data-theme="dark"] .article-byline__mark,html[data-theme="dark"] .article-author__mark { background:#0c1d35;color:#fff; }
.article-hero__brief { padding:28px;border:1px solid var(--article-navy-line);border-radius:18px;background:var(--article-navy-2); }
.article-hero__brief ul { display:grid;gap:16px;margin:18px 0 0;padding:0;list-style:none; }
.article-hero__brief li { display:flex;gap:14px;color:#dce6f5;font-size:15px;line-height:1.55; }
.article-hero__brief li > span:first-child { flex:none;width:24px;color:var(--article-sky);font-family:var(--font-heading);font-size:17px; }
.article-hero__brief a { color:#fff; }

.article-detail { padding-top:72px; }
.article-layout { display:grid;grid-template-columns:minmax(0,760px);justify-content:center;gap:64px; }
.article-layout--toc { grid-template-columns:240px minmax(0,720px);justify-content:start; }
.article-rail { position:relative; }
.article-layout--toc .article-toc { position:sticky;top:112px;max-height:calc(100vh - 140px);overflow:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none; }
.article-layout--toc .article-toc ol { columns:1;margin:16px 0 0;padding:0;list-style:none; }
.article-layout--toc .article-toc li { margin:0 0 2px;font-size:13.5px;line-height:1.4; }
.article-layout--toc .article-toc a { display:flex;gap:8px;padding:7px 10px;border-radius:8px;color:var(--muted);text-decoration:none; }
.article-layout--toc .article-toc a > span { flex:none;width:22px;color:var(--muted-2);font-variant-numeric:tabular-nums; }
.article-layout--toc .article-toc a:hover,.article-layout--toc .article-toc a:focus-visible { color:var(--heading);background:var(--blue-soft); }
.article-layout--toc .article-toc a[aria-current="true"] { color:var(--heading);background:var(--blue-soft);font-weight:650; }
.article-progress { height:3px;margin-top:14px;border-radius:2px;background:var(--line); }
.article-progress span { display:block;width:calc(var(--article-progress,0) * 100%);height:100%;border-radius:2px;background:var(--blue);transition:width .15s linear; }

.article-main { min-width:0; }
.article-main--short { max-width:760px;margin:56px auto 0; }
.article-lead.project-intro { max-width:none;margin:0 0 8px;padding:0;border:0; }
.article-lead p { margin:0;color:var(--text);font-family:var(--font-heading);font-size:clamp(19px,1.8vw,23px);line-height:1.6; }
.article-lead p::first-letter { float:left;margin:8px 12px 0 0;color:var(--heading);font-size:4.1em;line-height:.8;font-weight:500; }
.article-detail .article-longform { max-width:none; }
.article-detail .article-longform__section { padding:56px 0 8px;border-top:1px solid var(--line); }
.article-detail .article-longform__section:first-child { margin-top:48px; }
.article-detail .article-longform__section h2 { margin:0 0 22px;color:var(--heading);font-family:var(--font-heading);font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.15;letter-spacing:-.015em; }
.article-detail .article-longform__section h2 > span { color:var(--blue);font-size:.55em;font-style:italic; }
.article-detail .article-longform__section p,.article-detail .article-points li { color:var(--text);font-family:var(--font-heading);font-size:19px;line-height:1.75; }
.article-detail .article-longform__section p { margin:0 0 20px; }

.article-detail .article-flow { margin:12px 0 28px;padding:32px;border:0;border-radius:22px;background:#071a33;color:#fff; }
html[data-theme="dark"] .article-detail .article-flow { background:#0c1d35;border:1px solid rgba(125,182,255,.2); }
.article-detail .article-flow__steps { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px; }
.article-detail .article-flow__steps li { display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:12px;background:rgba(125,182,255,.09); }
.article-detail .article-flow__steps li::before { position:static;width:auto;height:auto;border:0;place-items:start;color:#8cc2ff;font-family:var(--font-heading);font-size:22px;line-height:1; }
.article-detail .article-flow__steps li::after { content:none; }
.article-detail .article-flow__steps strong { color:#fff;font-size:15px; }
.article-detail .article-flow__steps span { color:#a7b8d3;font-size:13.5px;line-height:1.45; }
.article-flow__lane-title { margin:0 0 14px;color:#8cc2ff;font-size:11.5px;font-weight:650;letter-spacing:.14em;text-transform:uppercase; }
.article-flow--gated .article-flow__lane--human .article-flow__lane-title,.article-flow--gated .article-flow__lane--human li::before { color:#f2c14e; }
.article-flow--gated .article-flow__lane--human .article-flow__steps li { background:rgba(242,193,78,.1); }
.article-flow--gated .article-flow__lane--human .article-flow__steps { counter-reset:flow var(--flow-start,0); }
.article-flow__gate { display:flex;align-items:center;gap:12px;margin:20px 0;color:#f2c14e;font-size:11.5px;font-weight:650;letter-spacing:.14em;text-transform:uppercase; }
.article-flow__gate::before,.article-flow__gate::after { content:"";flex:1;height:1px;background:rgba(242,193,78,.4); }
.article-flow__gate svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.article-detail .article-flow figcaption { margin-top:20px;padding-top:16px;border-top:1px solid rgba(125,182,255,.18);color:#93a6c6;font-size:13px; }

.article-references { margin-top:56px;padding-top:28px;border-top:1px solid var(--line); }
.article-references ol { display:grid;gap:10px;margin:16px 0 0;padding-left:22px;color:var(--muted);font-size:15px;line-height:1.5; }
.article-references a { color:var(--heading);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px; }
.article-references a:hover { color:var(--blue); }
.article-author { display:flex;gap:24px;align-items:flex-start;margin-top:48px;padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--surface-solid); }
.article-author__mark { width:84px;height:84px;border-color:var(--line); }
.article-author h2 { margin:6px 0 0;color:var(--heading);font-family:var(--font-heading);font-size:28px;font-weight:500;letter-spacing:-.01em; }
.article-author p { margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.6; }
.article-author .article-author__role { color:var(--blue);font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase; }
.article-author__links { display:flex;flex-wrap:wrap;gap:20px; }
.article-author__links .text-link { margin:0;align-self:auto; }

.article-further { margin-top:96px; }
.article-further__head { display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line); }
.article-further__head h2 { margin:0;color:var(--heading);font-family:var(--font-heading);font-size:clamp(30px,3.4vw,42px);font-weight:500;letter-spacing:-.015em; }
.article-further__head .text-link { margin:0;align-self:auto; }
.article-further__grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:32px; }
.article-card { display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:250px;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface-solid);color:var(--heading);text-decoration:none;transition:transform .3s var(--ease),border-color .3s var(--ease); }
.article-card:hover,.article-card:focus-visible { transform:translateY(-3px);border-color:var(--line-strong); }
.article-card__body { display:grid;gap:10px; }
.article-card strong { font-family:var(--font-heading);font-size:25px;font-weight:500;line-height:1.2; }
.article-card__body > span { color:var(--muted);font-size:15px;line-height:1.55; }
.article-card--case { border-color:transparent;background:#071a33;color:#fff; }
html[data-theme="dark"] .article-card--case { background:#0c1d35;border-color:rgba(125,182,255,.2); }
.article-card--case .eyebrow { color:#8cc2ff; }
.article-card--case strong { font-size:30px; }
.article-card--case .article-card__body > span { color:#a7b8d3; }
.article-detail .project-next { margin-top:96px; }

@media (max-width:1080px) {
  .article-hero__panel { grid-template-columns:1fr;gap:36px;padding:48px 40px; }
  .article-layout--toc { grid-template-columns:minmax(0,1fr); }
  .article-layout--toc .article-toc { position:static;max-height:none;padding:22px 20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface); }
  .article-layout--toc .article-toc ol { columns:2;column-gap:24px; }
  .article-layout--toc .article-toc li { break-inside:avoid; }
  .article-progress { display:none; }
}
@media (max-width:640px) {
  .article-hero { padding-top:104px; }
  .article-hero__panel { padding:32px 22px;border-radius:22px; }
  .article-hero__brief { padding:22px; }
  .article-detail { padding-top:48px; }
  .article-layout--toc .article-toc ol { columns:1; }
  .article-detail .article-longform__section p,.article-detail .article-points li { font-size:17px; }
  .article-detail .article-flow { padding:22px 16px; }
  .article-author { flex-direction:column;padding:24px; }
}

/* Insights listing: the article page's navy panel as the opening, with the
   listing's figures and the newest article; a sticky filter bar of topic
   chips, service, format and search; cards three, two, then one across. */
.insights-hero .article-hero__panel { align-items:stretch;grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr);gap:48px;padding:clamp(28px,5vw,60px); }
.insights-hero h1 { margin:16px 0 0;color:#fff;font-family:var(--font-heading);font-size:clamp(38px,5.2vw,68px);font-weight:500;line-height:1.04;letter-spacing:-.025em;text-transform:none;text-wrap:balance; }
.insights-hero h1 em { color:var(--article-sky);font-style:italic; }
.insights-hero .article-hero__lead { max-width:620px;margin-top:22px;font-size:clamp(18px,1.6vw,21px); }
.insights-stats { display:flex;flex-wrap:wrap;gap:28px;margin:36px 0 0;padding-top:22px;border-top:1px solid var(--article-navy-line); }
.insights-stats > div { display:flex;flex-direction:column-reverse;gap:2px; }
.insights-stats dd { margin:0;color:#fff;font-family:var(--font-heading);font-size:30px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums; }
.insights-stats dt { color:#93a6c6;font-size:12px;letter-spacing:.04em; }
.insights-feature { position:relative;display:flex;flex-direction:column;gap:16px;padding:22px;border:1px solid var(--article-navy-line);border-radius:20px;background:var(--article-navy-2);transition:border-color .2s var(--ease),transform .2s var(--ease); }
.insights-feature:hover,.insights-feature:focus-within { border-color:rgba(140,194,255,.45);transform:translateY(-2px); }
.insights-feature__cover { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#0a2140; }
.insights-feature .eyebrow { margin:0;color:var(--article-gold); }
.insights-feature h2 { margin:0;color:#fff;font-family:var(--font-heading);font-size:24px;font-weight:500;line-height:1.2;letter-spacing:-.01em; }
.insights-feature h2 a { color:inherit;text-decoration:none; }
.insights-feature h2 a::after { content:"";position:absolute;inset:0;border-radius:inherit; }
.insights-feature h2 a:focus-visible { outline:none; }
.insights-feature:has(h2 a:focus-visible) { outline:2px solid var(--article-sky);outline-offset:3px; }
.insights-feature > p:not(.eyebrow):not(.insights-feature__meta) { margin:0;color:#c3d1e8;font-size:14px;line-height:1.55; }
.insights-feature__meta { display:flex;justify-content:space-between;gap:12px;margin:auto 0 0;color:#93a6c6;font-size:12.5px; }
[dir="rtl"] .insights-arrow { display:inline-block;transform:scaleX(-1); }

.insights-listing { padding:0 0 32px; }
.insights-bar { position:sticky;top:var(--insights-bar-top,72px);z-index:40;margin-top:36px;padding:14px 0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px); }
.insights-bar__row { display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.insights-topics { display:flex;flex:1 1 520px;gap:8px;min-width:0;padding-block:2px;overflow-x:auto;scrollbar-width:none; }
.insights-topics::-webkit-scrollbar { display:none; }
.insights-tools { display:flex;flex:0 1 auto;flex-wrap:wrap;gap:10px;min-width:0; }
.insights-chip { display:inline-flex;flex:none;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid);color:var(--text);font-size:13.5px;line-height:1.2;white-space:nowrap;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease; }
.insights-chip:hover { border-color:var(--blue); }
.insights-chip[aria-pressed="true"] { border-color:var(--heading);background:var(--heading);color:var(--bg); }
.insights-chip__n { color:var(--muted-2);font-size:11.5px;font-variant-numeric:tabular-nums; }
.insights-chip[aria-pressed="true"] .insights-chip__n { color:inherit;opacity:.7; }
.insights-chip__dot,.insight-tag__dot { flex:none;width:8px;height:8px;border-radius:50%;background:var(--hue,var(--blue)); }
.insights-select { max-width:100%;padding:8px 38px 8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238193ab' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--text);font:inherit;font-size:13.5px;-webkit-appearance:none;appearance:none;cursor:pointer; }
[dir="rtl"] .insights-select { padding:8px 16px 8px 38px;background-position:left 14px center; }
.insights-search { display:flex;align-items:center;gap:8px;width:210px;min-width:0;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid); }
.insights-search:focus-within { border-color:var(--blue); }
.insights-search svg { flex:none;width:15px;height:15px;fill:none;stroke:var(--muted-2);stroke-width:2; }
.insights-search input { width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13.5px; }
.insights-apply { padding:8px 18px;border:1px solid var(--heading);border-radius:999px;background:var(--heading);color:var(--bg);font:inherit;font-size:13.5px;font-weight:650;cursor:pointer; }
.insights-apply[hidden] { display:none; }
.insights-status { display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:22px 0 18px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums; }
.insights-status a,.insights-empty a { color:var(--blue);font-weight:650;text-decoration:none; }
.insights-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;transition:opacity .2s ease; }
[data-insights][aria-busy="true"] .insights-grid { opacity:.55; }
.insight-card { position:relative;display:flex;flex-direction:column;gap:14px;padding:12px 12px 20px;border:1px solid var(--line);border-radius:20px;background:var(--surface-solid);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease); }
.insight-card:hover,.insight-card:focus-within { transform:translateY(-3px);border-color:color-mix(in srgb,var(--hue) 55%,var(--line));box-shadow:var(--shadow-soft,var(--shadow)); }
.insight-card:has(h3 a:focus-visible) { outline:2px solid var(--blue);outline-offset:3px; }
.insight-card.is-new { animation:insights-appear .45s ease both; }
@keyframes insights-appear { from { opacity:.001;transform:translateY(10px); } to { opacity:1;transform:none; } }
.insight-card__cover { position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:14px;background:#071a33; }
.insight-card__cover img { display:block;width:100%;height:100%;object-fit:cover; }
.insight-card__topic { position:absolute;inset-inline-start:14px;bottom:12px;color:var(--hue);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 8px rgba(7,26,51,.9); }
.insight-card__kind { position:absolute;inset-inline-end:12px;top:12px;padding:3px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(7,26,51,.55);color:#fff;font-size:10.5px;font-weight:650;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px); }
.insight-card__body { display:flex;flex:1;flex-direction:column;gap:10px;padding-inline:8px; }
.insight-card__meta { display:flex;flex-wrap:wrap;gap:8px;margin:0;color:var(--muted-2);font-size:12px; }
.insight-card h3 { margin:0;color:var(--heading);font-family:var(--font-heading);font-size:22px;font-weight:500;line-height:1.22;letter-spacing:-.01em;text-wrap:balance; }
.insight-card h3 a { color:inherit;text-decoration:none; }
.insight-card h3 a::after { content:"";position:absolute;inset:0;border-radius:inherit; }
.insight-card h3 a:focus-visible { outline:none; }
.insight-card__summary { margin:0;color:var(--muted);font-size:14px;line-height:1.55; }
.insight-card__foot { display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line); }
.insight-tag { display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:12px; }
.insight-tag__dot { width:7px;height:7px; }
.insight-card__go { flex:none;color:var(--blue);font-size:13px;font-weight:650; }
.insights-empty { padding:48px 24px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center; }
.insights-empty p { margin:0 0 12px; }
.insights-more { display:grid;justify-items:center;gap:14px;margin-top:40px; }
.insights-progress { width:220px;height:3px;border-radius:2px;background:var(--line); }
.insights-progress span { display:block;height:100%;border-radius:2px;background:var(--blue);transition:width .3s ease; }
.insights-more__count,.insights-more__end { margin:0;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums; }
.insights-more__button { display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border:1px solid var(--heading);border-radius:999px;background:var(--heading);color:var(--bg);font-size:14px;font-weight:650;text-decoration:none;transition:transform .15s ease; }
.insights-more__button:hover { transform:translateY(-1px); }
.insights-more__button[aria-busy="true"] { opacity:.6;pointer-events:none; }
.insights-more__button[aria-busy="true"]::before { content:"";width:14px;height:14px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:insights-spin .7s linear infinite; }
@keyframes insights-spin { to { transform:rotate(360deg); } }
.insights-more__previous { color:var(--blue);font-size:13px;font-weight:650;text-decoration:none; }
html[data-theme="light"] .insights-status a,html[data-theme="light"] .insights-empty a,html[data-theme="light"] .insight-card__go,html[data-theme="light"] .insights-more__previous { color:#0a5aa6; }
@media (prefers-reduced-motion:reduce) {
  .insight-card,.insight-card.is-new,.insights-feature,.insights-more__button,.insights-progress span { transition:none;animation:none; }
  .insight-card:hover,.insight-card:focus-within,.insights-feature:hover { transform:none; }
}
@media (max-width:1080px) {
  .insights-hero .article-hero__panel { grid-template-columns:1fr; }
  .insights-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .insights-grid { grid-template-columns:1fr; }
  .insights-tools { width:100%; }
  .insights-tools .insights-select,.insights-search { flex:1 1 140px;width:auto; }
  .insights-stats { gap:18px 24px; }
}
.insights-hero .article-hero__panel .eyebrow { color:var(--article-sky)!important; }
.insights-hero .insights-feature .eyebrow { color:var(--article-gold)!important; }
.insights-tools .insights-select[name="service"] { max-width:260px;text-overflow:ellipsis; }
@media (max-width:640px) { .insights-tools .insights-select[name="service"] { max-width:none; } }

/* Article sharing: plain share links, copy link, the system share sheet on touch. */
.article-share { display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:48px 0 0;padding:20px 0;border-block:1px solid var(--line); }
.article-share__label { margin:0;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase; }
.article-share__list { display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none; }
.article-share__list li:has(> [hidden]) { display:none; }
.article-share__item { display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid);color:var(--heading);font:inherit;font-size:13.5px;line-height:1.2;text-decoration:none;cursor:pointer;transition:border-color .15s ease,background .15s ease; }
.article-share__item:hover,.article-share__item:focus-visible { border-color:var(--blue);background:var(--blue-soft); }
.article-share__item svg { flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.article-share__status { flex-basis:100%;min-height:1em;margin:0;color:var(--muted);font-size:12.5px; }
.article-share__status:empty { display:none; }
.article-share--hero { margin:26px 0 0;padding:0;border:0; }
.article-share--hero .article-share__label { color:#93a6c6; }
.article-share--hero .article-share__item { justify-content:center;width:38px;height:38px;padding:0;border-color:var(--article-navy-line);background:rgba(125,182,255,.08);color:#dce6f5; }
.article-share--hero .article-share__item:hover,.article-share--hero .article-share__item:focus-visible { border-color:var(--article-sky);background:rgba(125,182,255,.18);color:#fff; }
.article-share--hero .article-share__item > span:not(.sr-only) { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
.article-share--hero .article-share__status { color:#c3d1e8; }
.article-share :focus-visible { outline:2px solid var(--blue);outline-offset:2px; }
.article-share--hero :focus-visible { outline-color:var(--article-sky); }
/* On phones the bar wraps to three rows: it scrolls away instead of covering a fifth of the screen. */
@media (max-width:640px) { .insights-bar { position:static; } }
