: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; }
.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); }

.consulting-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 { padding:30px 0 18px;border-top:1px solid var(--line);background:var(--footer-bg);backdrop-filter:blur(16px); }
.footer-main { display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(280px,1fr);gap:28px;align-items:center; }
.footer-brand .brand-mark-img { height:32px;width:auto; }
.footer-brand .brand-name { font-family:Georgia,"Times New Roman",serif;font-size:11px;font-weight:700;letter-spacing:-.01em; }
.footer-brand .brand-role { font-size:8px;letter-spacing:.13em; }
.footer-nav { display:flex;align-items:center;gap:20px; }
.footer-nav a { color:var(--muted);font-size:10px;letter-spacing:.01em; }
.footer-nav a:hover { color:var(--blue); }
.footer-contact { display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;color:var(--muted-2);font-size:10px; }
.footer-email { display:inline-flex;align-items:center;gap:7px;margin-right:4px;color:var(--muted);font-size:9px;letter-spacing:.02em; }
.footer-email svg { width:13px;height:13px;fill:currentColor; }
.footer-email:hover { color:var(--blue); }
.social-link { width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:color-mix(in srgb,var(--surface) 76%,transparent);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease; }
.social-link:hover { color:var(--blue);border-color:var(--line-strong);background:var(--blue-soft);transform:translateY(-2px); }
.social-link svg { width:13px;height:13px;fill:currentColor; }
.social-link--placeholder { opacity:.68; }
.footer-bottom { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:14px;border-top:1px solid var(--line); }
.footer-bottom p { margin:0;color:var(--muted-2);font-size:8px;text-transform:uppercase;letter-spacing:.09em;line-height:1.5; }
.footer-bottom p:last-child { max-width:680px;text-align:right; }
.footer-bottom span { color:var(--blue);margin:0 3px; }

/* reveal / motion */
.reveal { opacity:0;transform:translateY(30px);transition:opacity .78s var(--ease),transform .78s var(--ease); }
.reveal.is-visible { opacity:1;transform:none; }
.reveal-child { opacity:0;transform:translateY(24px) scale(.99);transition:opacity .65s var(--ease) var(--delay,0ms),transform .65s var(--ease) var(--delay,0ms); }
.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-main { grid-template-columns:1fr auto; }
  .footer-nav { justify-content:flex-end; }
  .footer-contact { grid-column:1/-1;justify-content:flex-end;padding-top:2px; }
}

@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; }
  .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; }
  .footer-main { grid-template-columns:1fr; }
  .footer-nav { flex-wrap:wrap;justify-content:flex-start;gap:10px 18px; }
  .footer-contact { grid-column:auto;justify-content:flex-start; }
  .footer-bottom { flex-direction:column; }
  .footer-bottom p:last-child { text-align:left; }
  .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{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.technology-card{min-height:300px;padding:27px 28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);transition:border-color .25s ease,transform .35s var(--ease),background .25s ease}.technology-card:hover{transform:translateY(-7px);border-color:var(--line-strong);background:var(--surface-2)}.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{grid-template-columns:repeat(2,minmax(0,1fr))}.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,.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)); }
.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; }
@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; }
.offer-ladder { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative; }
.offer-ladder:before { content:'';position:absolute;left:0;right:0;top:57px;height:2px;background:linear-gradient(90deg,var(--blue),var(--amber));opacity:.22;z-index:0; }
.tier { position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-soft);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s ease; }
.tier:hover { transform:translateY(-6px);box-shadow:var(--shadow); }
.tier-top { padding:28px 28px 0;display:flex;flex-direction:column;gap:13px; }
.tier-num { width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-heading);font-weight:600;font-size:14px;border:1.5px solid currentColor; }
.tier[data-step="1"] .tier-num { color:var(--blue); }
.tier[data-step="2"] .tier-num { color:color-mix(in srgb, var(--blue) 45%, var(--amber)); }
.tier[data-step="3"] .tier-num { color:var(--amber); }
.tier-format { margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--muted-2); }
.tier-top h3 { margin:0;font-size:1.5rem;line-height:1.2;color:var(--heading); }
.tier-fit { margin:0;color:var(--muted);font-size:1rem;line-height:1.6; }
.tier-result { margin:18px 28px 0;padding:14px 16px;border-left:2px solid var(--blue-2);background:var(--blue-soft);border-radius:0 10px 10px 0;font-size:1rem;font-weight:650;color:var(--heading);line-height:1.5; }
.tier-body { padding:22px 28px 28px;display:flex;flex-direction:column;gap:16px;flex:1; }
.tier-body ul { margin:0;padding-left:1.2rem; }
.tier-body p,.tier-body li,.tier-body dd { font-size:1rem;line-height:1.65; }
.tier-body li + li { margin-top:8px; }
.tier-details { border-top:1px solid var(--line);padding-top:16px; }
.tier-details summary,.qualification-details summary { cursor:pointer;font-size:1rem;font-weight:650; }
.tier-details summary { list-style:none;display:flex;align-items:center;gap:8px;color:var(--heading); }
.tier-details summary::-webkit-details-marker { display:none; }
.tier-details summary:before { content:'+';font-family:var(--font-heading);color:var(--blue-2);font-size:16px; }
.tier-details[open] summary:before { content:'\2013'; }
.tier-details dt { margin-top:16px;font-weight:700; }
.tier-details dd { margin:4px 0 0;color:var(--muted); }
.tier-actions { margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:12px; }
.tier-actions .button { white-space:normal;text-align:left;max-width:100%; }
.tier--featured { background:var(--heading);border-color:transparent; }
.tier--featured .tier-format { color:color-mix(in srgb, var(--bg) 55%, transparent); }
.tier--featured .tier-num { color:var(--amber);border-color:var(--amber); }
.tier--featured .tier-top h3,.tier--featured .tier-body li,.tier--featured .tier-body p { color:var(--bg); }
.tier--featured .tier-fit { color:color-mix(in srgb, var(--bg) 68%, transparent); }
.tier--featured .tier-result { background:color-mix(in srgb, var(--amber) 16%, transparent);border-left-color:var(--amber);color:var(--bg); }
.tier--featured .tier-details { border-color:color-mix(in srgb, var(--bg) 20%, transparent); }
.tier--featured .tier-details summary { color:var(--bg); }
.tier--featured .tier-details dt { color:color-mix(in srgb, var(--bg) 55%, transparent); }
.tier--featured .tier-details dd { color:color-mix(in srgb, var(--bg) 72%, transparent); }
.tier--featured .button--primary { background:var(--amber);color:#161005;box-shadow:none; }
.tier--featured .button--primary:hover { background:var(--bg);color:var(--heading); }
.tier--featured .text-link { color:color-mix(in srgb, var(--bg) 65%, transparent); }
.tier--featured .text-link:hover { color:var(--amber); }
.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:1000px) { .offer-ladder { grid-template-columns:1fr; } .offer-ladder:before { display:none; } }
@media(max-width:600px) { .tier-top { padding:24px 22px 0; } .tier-result { margin:16px 22px 0; } .tier-body { padding:20px 22px 24px; } .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; }
