/* Optical surfaces, editorial pacing, and responsive finishing layer.
   Original structural styles and bespoke workstream diagrams live in style.css. */
:root {
  --bg:#050507; --muted:#a8a8b1; --blue:#79baff;
  --ease:cubic-bezier(.22,1,.36,1);
  --glass:linear-gradient(135deg,#ffffff21,#ffffff08 48%,#ffffff12);
  --glass-edge:#ffffff32;
  --glass-shadow:inset 0 1px 0 #ffffff45,inset 0 -1px 0 #ffffff0b,0 12px 40px #0004;
}
html {scroll-padding-top:110px; scrollbar-gutter:stable;overflow-x:clip}
body {background:var(--bg);overflow-x:clip}
::selection {background:#b9d7ff;color:#07172e}
h1,h2,h3 {text-wrap:balance}
p {text-wrap:pretty}
.site-nav {
  top:18px;left:50%;right:auto;transform:translateX(-50%);width:min(1080px,calc(100% - 48px));
  height:64px;padding:0 12px 0 25px;border-radius:38px;border:1px solid var(--glass-edge);
  background:linear-gradient(130deg,#34363cbb,#17181bcc 65%,#2c3036b3);
  box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.7);-webkit-backdrop-filter:blur(30px) saturate(1.7);
  transition:background .35s,box-shadow .35s;
}
.site-nav.is-scrolled {background:linear-gradient(130deg,#33363beb,#16181ee8);box-shadow:var(--glass-shadow),0 8px 32px #0002}
.wordmark {font-size:20px;letter-spacing:-.7px}
.site-nav nav {gap:25px;align-items:center}
.site-nav nav a {min-height:44px;display:flex;align-items:center;gap:4px;font-size:14px;position:relative;color:#d3d3d9}
.site-nav nav a::after {content:'';position:absolute;bottom:4px;left:50%;right:50%;height:2px;border-radius:2px;background:#b2d7ff;transition:left .3s var(--ease),right .3s var(--ease)}
.site-nav nav a:hover::after,.site-nav nav a[aria-current]::after {left:22%;right:22%}
.button {min-height:48px;gap:16px;transition:transform .4s var(--ease),background .3s,box-shadow .3s;box-shadow:inset 0 1px 0 #ffffff35}
.button span,.hero-work-link span {display:inline-block;transition:transform .35s var(--ease)}
.button:hover span,.hero-work-link:hover span {transform:translate(2px,-2px)}
.button:active {transform:scale(.97)}
.button-small {min-height:42px;padding:10px 19px;background:#e9eef5;color:#11151c;box-shadow:inset 0 1px 1px #fff,0 2px 8px #0002}
.button-small:hover {background:#fff;box-shadow:0 3px 18px #e5eeff30}
.page-progress {left:25px;width:calc(100% - 50px);bottom:0;background:linear-gradient(90deg,#8aabff,#bfeaff);opacity:.75}
.menu-toggle {display:none}
.hero-scroll {height:190svh}
.hero-stage {min-height:720px}
.hero-copy {top:19%;padding:0 6%}
.hero-copy .eyebrow {font-size:13px;letter-spacing:.17em;color:#b4b6bf;margin-bottom:26px}
.hero-copy h1 {font-size:clamp(54px,6.5vw,98px);line-height:1.035;font-weight:600;letter-spacing:-.06em}
.hero-copy-first h1>span {background:linear-gradient(100deg,#eef5ff 12%,#a0c4f5 48%,#899de0 85%);color:transparent;background-clip:text;-webkit-background-clip:text}
.hero-description {font-size:clamp(18px,1.55vw,22px);line-height:1.5;color:#b4b6c0;font-weight:400;margin-top:25px}
.hero-art img {width:min(1450px,118vw);bottom:-25%;opacity:.9}
.hero-art::after {background:linear-gradient(#000 4%,#0000 48%,#0000 82%,#0008)}
.hero-actions {display:flex;align-items:center;justify-content:center;gap:30px;margin-top:30px}
.button-glass {background:var(--glass);border:1px solid #ffffff45;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--glass-shadow);font-size:15px;padding:12px 22px}
.button-glass:hover {background:#ffffff25;box-shadow:var(--glass-shadow),0 0 35px #98c1ff18}
.hero-work-link {font-size:15px;color:#d9e5f5;min-height:44px;display:inline-flex;align-items:center;gap:10px}
.hero-copy-second {top:27%}
.hero-copy-second h2 {font-size:clamp(62px,8vw,118px);font-weight:600}
.scroll-cue {bottom:8%;font-size:13px;background:#11141a66;border:1px solid #ffffff20;border-radius:30px;padding:12px 19px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.scroll-cue svg {height:18px;width:13px}
.hero-location,.hero-role {position:absolute;bottom:27px;font-size:11px;letter-spacing:.08em;color:#9598a1}
.hero-location {left:4%;display:flex;gap:13px}
.hero-role {right:4%}
@media(max-width:800px) {
  .site-nav {width:calc(100% - 28px);top:14px;height:60px;padding:0 10px 0 19px;gap:12px}
  .site-nav>.button-small {margin-left:auto;font-size:14px;padding:8px 14px;min-height:40px}
  .menu-toggle {width:40px;height:40px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:6px;border-radius:50%;background:#ffffff0d}
  .menu-toggle span {width:16px;height:1.5px;background:#fff;transition:transform .3s}
  .menu-toggle[aria-expanded=true] span:first-child {transform:translateY(3.75px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child {transform:translateY(-3.75px) rotate(-45deg)}
  .site-nav nav {display:none;position:absolute;top:70px;left:0;right:0;padding:16px;flex-direction:column;align-items:stretch;gap:0;background:#1c1e25f5;border:1px solid #ffffff30;border-radius:25px;box-shadow:var(--glass-shadow);backdrop-filter:blur(30px)}
  .site-nav.menu-open nav {display:flex}
  .site-nav nav a,.site-nav nav a:nth-child(1),.site-nav nav a:nth-child(3) {display:flex;font-size:17px;padding:12px 16px}
  .site-nav nav a::after {display:none}
  .hero-stage {min-height:680px}
  .hero-copy {top:23%;padding:0 5%}
  .hero-copy h1 {font-size:clamp(39px,7.5vw,60px);line-height:1.06}
  .hero-copy .eyebrow {font-size:11px;letter-spacing:.08em;margin-bottom:24px}
  .hero-description {font-size:17px;max-width:430px;margin:22px auto 0}
  .hero-art img {width:1000px;bottom:-3%}
  .hero-actions {gap:18px;margin-top:25px}
  .button-glass,.hero-work-link {font-size:14px}
  .button-glass {padding:10px 15px;gap:10px}
  .hero-role {display:none}
  .hero-location {left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px}
  .hero-copy-second {top:29%}
}
@media(max-height:720px) and (min-width:801px) {
  .hero-stage {min-height:620px}
  .hero-copy {top:21%}
  .hero-copy h1 {font-size:66px}
  .hero-copy .eyebrow {margin-bottom:18px}
  .hero-description {font-size:18px;margin-top:18px}
  .hero-actions {margin-top:20px}
  .hero-art img {bottom:-47%;width:1200px}
}

/* The narrative: quiet introductions, tactile diagrams, explicit evidence. */
.bridge {height:115svh;min-height:650px;background:#050507}
.bridge-inner {padding:8% 10%;min-height:530px}
.bridge .eyebrow {color:#a2a4af;font-size:12px;letter-spacing:.14em}
.bridge h2 {max-width:950px;font-size:clamp(42px,5.25vw,76px);font-weight:550;line-height:1.12;letter-spacing:-.045em;margin:32px 0}
.enhanced .read-through span {color:#85858d}
.bridge-caption {font-size:20px;color:#a9abb6;max-width:550px}
.journey {background:radial-gradient(ellipse at 80% 25%,#15213466,transparent 50%),#08090d}
.journey-top {border-bottom:1px solid #ffffff17;padding-bottom:20px}
.journey-top>.eyebrow {color:#a7a9b4;font-size:12px;letter-spacing:.12em}
.chapter-count {color:#ccd9eb;font-size:17px;font-family:var(--font);white-space:nowrap;flex-shrink:0}
.chapter-count>span {color:#989ba6}
.motion.immersive .journey {height:680svh}
.motion.immersive .journey-stage {max-width:1460px;padding:110px 7% 105px;min-height:780px}
.motion.immersive .panels {margin:25px 0 15px}
.story-panel {gap:7%;--accent:#a5caff}
.story-copy {max-width:525px;min-width:0}
.story-copy h2 {font-size:clamp(46px,4.65vw,70px);font-weight:580;letter-spacing:-.05em;line-height:1.05}
.chapter-label {font-size:12px;letter-spacing:.12em;line-height:1.6;margin-bottom:23px}
.need {font-size:21px;font-weight:500;letter-spacing:-.4px;margin-top:29px;color:#e5e6ed}
.story-description {font-size:17px;line-height:1.65;color:#b0b2be;margin:13px 0 24px;max-width:455px}
.discipline-list {gap:7px;margin-bottom:25px}
.discipline-list span {font-size:12px;border-radius:20px;padding:6px 11px;background:#ffffff04;color:#b9bcc8;border-color:#ffffff1c}
.inline-button {min-height:44px;color:#b6d7ff;font-size:15px;gap:12px}
.inline-button span {display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #ffffff26;background:var(--glass);font-size:20px;transition:transform .45s var(--ease),background .3s}
.inline-button:hover span {transform:rotate(90deg);background:#ffffff26}
.story-visual {height:460px;min-width:0}
.story-visual::before {background:radial-gradient(ellipse,color-mix(in srgb,var(--accent),transparent 83%),transparent 68%);filter:blur(20px);inset:-25px;opacity:.75}
.visual-caption {font-size:13px;color:#a7abb9;letter-spacing:.005em;position:absolute;top:100%;left:0;width:100%;margin-top:16px}
.tilt-surface {transition:transform .6s var(--ease)}
:is(.signal,.signal-core,.message-layer,.trust-analysts,.experience-slice,.experience-window,.sales-source,.sales-card,.scale-core,.scale-inputs>span,.scale-outputs>span) {
  background:linear-gradient(145deg,#ffffff18,#ffffff05 52%,#ffffff0d),color-mix(in srgb,var(--accent),#10121b 91%);
  border-color:color-mix(in srgb,var(--accent),transparent 67%);
  box-shadow:inset 0 1px 0 #ffffff2b,inset 0 -1px 0 #ffffff08,0 18px 50px #0004;
  backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);
}
.signal {border-radius:20px}
.signal small,.deal-row small {font-size:13px;color:#afb8ca}
.signal-core {border-radius:28px;box-shadow:inset 0 1px 0 #ffffff55,0 0 60px #8dbaff18,0 18px 50px #0007}
.signal-core>span {color:#bfd7f1}
.message-layer>span {color:#bab1d6}
.message-result {background:linear-gradient(135deg,#eee9ffdd,#c3baf1c9 60%,#9babe8d9);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:inset 0 1px 1px #fff,0 20px 50px #0005;border-radius:25px}
.message-result em {color:#32365e}
.trust-customer {background:linear-gradient(140deg,#f8ecdae8,#d6c6b6b8);border-color:#fff9;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:inset 0 1px 0 #fff,0 24px 50px #0005}
.trust-analysts>p {color:#c4bcae;font-size:13px}
.trust-seal {background:#36312bab;backdrop-filter:blur(25px);border-color:#ffffff45;box-shadow:var(--glass-shadow);font-size:13px;color:#f1d8b9}
.window-bar,.window-base {color:#bdd6cc}
.experience-grid>span {background:#ffffff09;color:#daeee5}
.scale-inputs>span,.scale-outputs>span {font-size:14px}
.human-review {color:#bcb6cc;font-size:14px}
.journey-dock {
  --pill-left:8px;--pill-width:100px;
  isolation:isolate;background:linear-gradient(120deg,#41444b99,#1e2028c9 50%,#363b46a8);
  border:1px solid #ffffff36;box-shadow:var(--glass-shadow);backdrop-filter:blur(35px) saturate(1.6);-webkit-backdrop-filter:blur(35px) saturate(1.6);
  border-radius:40px;padding:7px;gap:3px;
}
.journey-dock::before {content:'';position:absolute;z-index:-1;left:0;top:7px;bottom:7px;width:var(--pill-width);transform:translateX(var(--pill-left));border-radius:30px;background:linear-gradient(140deg,#ffffff32,#ffffff13);box-shadow:inset 0 1px 1px #ffffff70,0 3px 10px #0002;transition:transform .6s var(--ease),width .5s var(--ease)}
.journey-dock a {font-size:14px;padding:14px 16px;min-height:47px;color:#bec2cd;overflow:visible}
.journey-dock a[aria-current],.journey-dock a:hover {background:transparent;color:white}
.journey-dock a>i {display:none}
.dock-number {color:#929bad}
.journey-dock a[aria-current] .dock-number {color:#e0eaff}
.motion.immersive .journey-dock {bottom:33px}
@media(min-width:1100px) and (max-height:900px) {
  .motion.immersive .panels {margin:18px 0 10px}
  .motion.immersive .story-copy h2 {font-size:52px}
  .motion.immersive .chapter-label {margin-bottom:17px}
  .motion.immersive .need {font-size:19px;margin-top:22px}
  .motion.immersive .story-description {font-size:16px;line-height:1.55;margin:10px 0 18px}
  .motion.immersive .discipline-list {margin-bottom:16px}
  .motion.immersive .story-visual {height:420px}
}

/* A daylight interlude makes the connected system easier to see. */
.connected-section,.motion .connected-section {background:radial-gradient(ellipse at 50% 60%,#dce8ff88,transparent 55%),#f5f5f7;color:#202125}
.motion .connected-section {height:145svh}
.connected-stage>.eyebrow {color:#62656f;font-size:12px;letter-spacing:.14em;margin-bottom:28px}
.connected-stage h2 {font-size:clamp(43px,5.3vw,78px);font-weight:580;letter-spacing:-.05em}
.connected-core {background:linear-gradient(135deg,#ffffffbf,#e7eefb70);border-color:#fff;box-shadow:inset 0 1px 1px #fff,0 20px 55px #32486c16;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);padding:30px 37px;border-radius:31px}
.connected-core>strong {font-size:38px;font-weight:600}
.connected-core>span {color:#5e626d}
.connected-node {background:linear-gradient(130deg,#ffffffe6,#ffffff77);border-color:#fff;box-shadow:inset 0 1px 0 #fff,0 9px 26px #34476512;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:15px;transition:background .3s,box-shadow .3s,color .3s}
.connected-node:hover,.connected-node:focus-visible {background:#fff;box-shadow:0 10px 32px #547bbe2b;color:#005ebd}
.connected-caption {font-size:19px;color:#646975;max-width:680px;margin:0 auto}
.connection-lines path {stroke:#9fb3d6;stroke-width:1.2}

/* Case studies: substantial, touchable cards with a deliberate reading order. */
.work-section {background:#f5f5f7;padding:90px 0 110px}
.work-inner {max-width:1600px}
.section-title {padding:0 7%;align-items:end;margin-bottom:42px}
.section-title h2 {font-size:clamp(42px,4.8vw,70px);letter-spacing:-.048em;font-weight:580}
.section-title h2>span {color:#767982}
.section-title .eyebrow {font-size:12px;letter-spacing:.12em;color:#666974}
.section-title>p {color:#646975;font-size:16px;line-height:1.55}
.work-rail {gap:24px;padding:15px 7% 38px;scroll-padding-left:7%;scroll-padding-right:7%;align-items:stretch}
.work-card {flex-basis:375px;min-height:540px;border-radius:32px;padding:34px 32px 76px;border:1px solid #fff9;box-shadow:inset 0 1px 0 #fff,0 8px 24px #222a3810;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.work-card::after,.button-glass::after {content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(350px circle at var(--light-x,50%) var(--light-y,-100%),#fff2,transparent 65%);transition:opacity .4s;opacity:0}
.button-glass {position:relative;isolation:isolate}
.work-card:hover::after,.button-glass:hover::after {opacity:1}
.work-card:hover {transform:translateY(-7px) scale(1.012);box-shadow:inset 0 1px 0 #fff,0 22px 48px #28375423}
.work-card:active {transform:scale(.985)}
.work-card .card-eyebrow {font-size:12px;letter-spacing:.09em;opacity:1;line-height:1.5}
.work-card h3 {font-size:34px;line-height:1.1;margin:24px 0 40px;font-weight:580;letter-spacing:-.045em}
.work-card p {font-size:16px;line-height:1.55}
.work-number {font-size:85px;font-weight:550;letter-spacing:-.065em;margin-bottom:36px}
.work-number>span {font-size:12px;line-height:1.5;letter-spacing:.07em;margin-top:17px}
.card-web {background:linear-gradient(150deg,#182630,#070e16);color:#f5f7fb;border-color:#ffffff28}
.card-web::before {content:'';position:absolute;inset:10% -60% -15%;z-index:-1;background:linear-gradient(#0c151d55,#0c151d55),url('assets/marketing-optical-core.png') center 80%/cover no-repeat;opacity:.45}
.card-web .work-number {text-shadow:0 3px 30px #b0d8ff22}
.card-ar {background:linear-gradient(145deg,#fcfdff,#e2e8f6);color:#262c45}
.card-customer {background:linear-gradient(145deg,#fff,#ebe7e2);color:#34312e}
.card-ci {background:linear-gradient(145deg,#ecf4ff,#d7e3f8);color:#213550}
.card-systems {background:linear-gradient(145deg,#20222c,#0d101a);color:#f0f1ff;border-color:#ffffff25}
:is(.card-ar,.card-customer,.card-ci) p {color:#545c6b}
:is(.card-ar,.card-customer,.card-ci) .card-eyebrow {color:#5c6372}
:is(.card-ar,.card-customer,.card-ci) .work-number>span {color:#5f6775}
.card-ci .work-number {font-size:78px}
.card-customer .work-number {font-size:65px;letter-spacing:-.05em}
.card-plus {width:38px;height:38px;bottom:25px;right:27px;background:#ffffff6b;border:1px solid #fff9;box-shadow:inset 0 1px 1px #fff9;color:#364154;backdrop-filter:blur(16px);font-size:24px}
:is(.card-web,.card-systems) .card-plus {background:#ffffff1c;color:#f5f7ff;border-color:#ffffff45}
.work-card:hover .card-plus {transform:scale(1.08);background:#fff;color:#151e30}
.rail-controls {margin:0 7%;align-items:center}
.rail-controls>span {font-size:14px;color:#686b74}
.rail-controls button {height:44px;width:44px;background:#e4e5e9;color:#444a55;transition:transform .25s,background .25s}
.rail-controls button:not(:disabled):hover {background:#d7dbe3;transform:scale(1.06)}
.rail-controls button:disabled {opacity:.3}
.work-footnote {font-size:12px;color:#6b6f79;margin:28px 7% 0;max-width:650px;line-height:1.6}

/* Biography and the final invitation. */
.about-section {max-width:1240px;padding:135px 7% 120px}
.about-intro {text-align:left;max-width:960px;margin-bottom:85px}
.about-intro .eyebrow {font-size:12px;letter-spacing:.14em;margin-bottom:25px}
.about-intro h2 {font-weight:570;letter-spacing:-.05em;font-size:clamp(46px,5.5vw,80px)}
.about-intro h2>span {color:#9699a5}
.about-intro>p:last-child {font-size:22px;color:#aeb1be;line-height:1.5}
.career-timeline {max-width:960px}
.career-item {padding:0 0 55px;grid-template-columns:25% 75%}
.career-date {font-size:13px;color:#a8adbb;letter-spacing:.04em}
.career-item>div {padding-left:60px}
.career-item h3 {font-size:31px;font-weight:550;letter-spacing:-.8px}
.career-theme {color:#b7cee9;font-size:21px}
.career-item p {font-size:17px;line-height:1.6;color:#aaafbd;max-width:560px}
.timeline-track {left:25%;bottom:65px;background:#ffffff20}
.timeline-track i {width:2px;background:linear-gradient(#d3e7ff,#81b6ff 60%,#b7acf6)}
.career-item::before {left:calc(25% - 4px);border-color:#050507;box-shadow:0 0 0 5px #050507}
.personal-note {text-align:left;padding:10px 0 0 25%;font-size:17px;color:#9fa5b5}
.contact-section {position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 105%,#23375688,transparent 65%),#000;padding:125px 5% 135px;min-height:640px}
.contact-inner .eyebrow {font-size:12px;letter-spacing:.16em;color:#a9aebb}
.contact-inner h2 {font-size:clamp(65px,8.5vw,122px);font-weight:570;letter-spacing:-.065em}
.contact-inner>p:not(.eyebrow) {font-size:21px;color:#b0b5c2;margin:27px 0 30px}
.contact-inner .button-large {background:linear-gradient(145deg,#f6faff,#c9d9ef);color:#172232;border:1px solid #fff9;box-shadow:inset 0 1px 0 #fff,0 15px 50px #a0c6ff15;min-height:56px;font-size:18px;padding:16px 32px}
.contact-inner .button-large:hover {box-shadow:inset 0 1px 0 #fff,0 15px 55px #a0c6ff35}
.email-link {color:#a8afbf;font-size:15px;min-height:44px;margin-top:20px;display:flex;align-items:center}
footer {font-size:12px;color:#a0a4b0;padding:25px 5%}
footer button,footer a {font-size:13px;min-height:44px;display:inline-flex;align-items:center;color:#b7bdca}
.motion .reveal {transition:opacity .9s var(--ease),transform 1.1s var(--ease);transform:translateY(35px)}
.motion .reveal.is-visible {transform:none}

/* Case study reader: proper navigation and a visible way back. */
.case-modal {padding:0;width:min(880px,calc(100% - 40px));max-height:calc(100svh - 64px);background:#f8f9fc;color:#202635;border:1px solid #ffffffba;border-radius:32px;box-shadow:inset 0 1px 0 #fff,0 35px 120px #0009;scrollbar-width:thin;scrollbar-color:#bac1cc transparent}
.case-modal::backdrop {background:#080c17a6;backdrop-filter:blur(20px) saturate(.7);-webkit-backdrop-filter:blur(20px) saturate(.7)}
.case-modal[open] {animation:reader-in .5s var(--ease)}
.reader-toolbar {position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 23px 15px 30px;background:#f8f9fccc;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-bottom:1px solid #c5ccd84d}
.reader-position {font-size:12px;letter-spacing:.09em;color:#686f7d}
.modal-close {position:static;float:none;width:40px;height:40px;margin:0;background:#e5e8efbd;border:1px solid #fff9;box-shadow:inset 0 1px 0 #fff;backdrop-filter:blur(20px);color:#343d4f;font-size:25px;transition:background .25s,transform .3s}
.modal-close:hover {background:#d5dce7;transform:rotate(90deg)}
.case-content {padding:34px 62px 55px}
.case-content .eyebrow {font-size:12px;letter-spacing:.1em;color:#686f7d}
.case-content h2 {font-size:clamp(34px,4vw,53px);font-weight:580;letter-spacing:-.045em;margin:22px 0}
.case-content h2:focus {outline:none}
.case-content .case-lead {font-size:21px;line-height:1.5;color:#626b7b;margin-bottom:32px}
.case-content .case-metric {display:grid;grid-template-columns:auto 1fr;gap:24px;background:linear-gradient(130deg,#fff,#e6edf8aa);border:1px solid #fff;border-radius:22px;padding:26px;box-shadow:0 6px 22px #65779a0e}
.case-metric strong {font-size:36px;font-weight:580;line-height:1.12;color:#243e62}
.case-metric span {font-size:14px;color:#5f6b7e;max-width:310px}
.case-content h3 {font-size:22px;color:#293144;letter-spacing:-.025em;margin:30px 0 12px}
.case-content p {font-size:17px;line-height:1.7;color:#5c6677}
.case-content .case-note {font-size:12px;line-height:1.65;color:#707887;border-color:#dce0e7;margin-top:32px}
.case-content a {min-height:44px;align-content:center;color:#0065c5}
.reader-next {display:flex;justify-content:space-between;align-items:center;gap:25px;text-align:left;background:#e9eef6;color:#243b5f;width:100%;padding:22px 25px;border-radius:20px;margin-top:30px;border:1px solid #fff;transition:background .25s}
.reader-next small {display:block;color:#626f84;font-size:12px;margin-bottom:5px}
.reader-next strong {font-size:17px;font-weight:550;line-height:1.4}
.reader-next>span:last-child {font-size:25px}
.reader-next:hover {background:#dce7f6}
@keyframes reader-in {from {opacity:0;transform:translateY(35px) scale(.97)} to {opacity:1;transform:none}}

/* Same material language for the résumé; print stays ink-friendly. */
.resume-page {background:#f5f5f7;color:#202530;color-scheme:light}
.resume-page>header:not(.site-nav) {position:relative;max-width:1000px;margin:0 auto;padding:28px 5%;border-color:#d8dce4;align-items:center;gap:25px}
.resume-page .wordmark {color:#202530}
.resume-main {max-width:1000px;padding:75px 5% 90px}
.resume-main .label {color:#696f7b;font-size:12px;letter-spacing:.12em}
.resume-main h1 {font-weight:580;letter-spacing:-.055em;font-size:70px;margin:25px 0 15px}
.resume-main .resume-role {color:#41516b;font-size:25px;line-height:1.35;max-width:650px}
.resume-main p,.resume-main li {color:#5b6575;font-size:17px;line-height:1.65}
.resume-main .dates {color:#64748a;font-size:14px}
.resume-main h2 {font-size:34px;font-weight:550}
.resume-main h3 {font-size:24px;font-weight:550;line-height:1.35}
.resume-main section {border-color:#d7dce5;margin-top:40px;padding:25px 0 0}
.resume-main a,.resume-main+footer a {color:#0065c5}
.resume-main ul {padding-left:23px}
.print-button {background:linear-gradient(135deg,#253a55,#111b2b);color:#fff;min-height:48px;box-shadow:inset 0 1px 0 #ffffff42;padding:12px 22px;font-size:15px}
.resume-main+footer {background:#edf0f5;border-color:#d9dfe9;color:#687386}

/* Flow mode: ordinary scrolling, full content, no viewport-sized traps. */
body:not(.hero-immersive) .hero-scroll {height:auto}
body:not(.hero-immersive) .hero-stage {height:100svh;min-height:720px;position:relative}
body:not(.hero-immersive) .hero-copy-first {opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important}
body:not(.hero-immersive) .hero-copy-second {display:none}
body:not(.hero-immersive) .hero-art {transform:none!important;opacity:1!important}
body:not(.hero-immersive) .scroll-cue {opacity:1!important;pointer-events:auto!important}
.hero-immersive .hero-stage {min-height:0}
.compact-motion .journey,.reduced-motion .journey {height:auto}
.compact-motion .journey-stage,.reduced-motion .journey-stage {position:relative;display:block;height:auto;min-height:0;padding:85px 6% 40px}
.compact-motion .panels,.reduced-motion .panels {margin-top:30px;position:relative}
.compact-motion .story-panel,.reduced-motion .story-panel {position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:70px 0 90px;margin-bottom:0;border-bottom:1px solid #ffffff17;opacity:1;visibility:visible;scroll-margin-top:50px}
.compact-motion .story-panel:last-child,.reduced-motion .story-panel:last-child {border-bottom:0}
.compact-motion .story-copy h2,.reduced-motion .story-copy h2 {font-size:clamp(39px,4.7vw,61px)}
.compact-motion .story-visual,.reduced-motion .story-visual {height:390px}
.compact-motion .story-description,.reduced-motion .story-description {font-size:17px;line-height:1.65}
.compact-motion .discipline-list {display:flex}
.compact-motion .journey-dock,.reduced-motion .journey-dock {display:flex;position:sticky;top:90px;left:auto;bottom:auto;transform:none;z-index:10;margin:24px auto 0;max-width:100%;overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
.compact-motion .journey-dock a,.reduced-motion .journey-dock a {flex-shrink:0}
.compact-motion .connected-section,.reduced-motion .connected-section {height:auto;padding:90px 6%}
.compact-motion .connected-stage,.reduced-motion .connected-stage {position:relative;top:auto;height:auto;min-height:0;display:block}
.compact-motion .connected-map,.reduced-motion .connected-map {height:330px;margin:40px auto}
.reduced-motion .hero-stage {height:100svh;min-height:720px}
.reduced-motion .hero-scroll {height:auto}
.reduced-motion .hero-copy {top:21%}
.reduced-motion .hero-art img {bottom:-25%}
.reduced-motion .hero-copy-second {display:none}
.reduced-motion .story-copy,.reduced-motion .story-visual {filter:none!important;opacity:1!important;transform:none!important}
.reduced-motion *,.reduced-motion *::before,.reduced-motion *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
html:has(.reduced-motion) {scroll-behavior:auto}
@media(max-width:1099px) {
  .hero-role {display:none}
  .compact-motion .hero-copy-first h1 {font-size:clamp(39px,7.5vw,70px)}
  .compact-motion .hero-description {font-size:17px}
  .story-visual {width:100%;max-width:450px;margin:auto}
  .signal {width:155px;padding:14px}
  .signal-core {width:143px;height:145px}
  .signal-core strong {font-size:27px}
  .trust-customer>strong {font-size:29px}
  .message-result {right:0}
  .journey-dock a {padding:13px 15px}
  .motion .connected-section {height:auto;padding:100px 6%}
  .motion .connected-stage {height:auto;position:relative;top:auto;min-height:0;display:block}
  .motion .connected-map {height:330px;margin:40px auto}
}
@media(max-width:800px) {
  .bridge {height:105svh;min-height:610px}
  .bridge-inner {padding:80px 7%;min-height:500px}
  .bridge .eyebrow {font-size:11px;max-width:290px}
  .bridge h2 {font-size:clamp(34px,7.5vw,54px);line-height:1.15}
  .bridge-caption {font-size:18px}
  .journey-top>.eyebrow {font-size:11px;max-width:230px}
  .compact-motion .journey-stage,.reduced-motion .journey-stage {padding:60px 6% 20px}
  .compact-motion .story-panel,.reduced-motion .story-panel {grid-template-columns:1fr;gap:32px;padding:50px 0 70px}
  .compact-motion .story-copy,.reduced-motion .story-copy {max-width:540px;margin:0 auto;width:100%}
  .compact-motion .story-copy h2,.reduced-motion .story-copy h2 {font-size:clamp(40px,8.3vw,58px)}
  .chapter-label,.motion .chapter-label {font-size:12px;letter-spacing:.065em;margin-bottom:18px}
  .need,.motion .need {font-size:20px;margin-top:24px}
  .story-description,.motion .story-description {font-size:17px;line-height:1.65;margin:13px 0 20px}
  .discipline-list,.motion .discipline-list {display:flex;gap:6px;margin-bottom:19px}
  .discipline-list>span {font-size:12px;padding:5px 9px}
  .inline-button,.motion .inline-button {font-size:15px}
  .compact-motion .journey-dock,.reduced-motion .journey-dock {width:100%;top:88px;border-radius:30px;padding:6px;gap:0}
  .journey-dock a {flex:1 0 54px;flex-direction:column;gap:5px;padding:10px 7px;font-size:12px;min-height:53px}
  .journey-dock .dock-number {font-size:11px}
  .journey-dock::before {top:6px;bottom:6px}
  .compact-motion .story-visual,.reduced-motion .story-visual {height:350px;max-width:390px;overflow:visible}
  .visual-caption,.motion .visual-caption {display:block;font-size:12px;margin-top:25px}
  .motion .signal>small,.motion .deal-row small {display:block}
  .signal small {font-size:12px}
  .motion .orbit-diagram {max-width:360px;height:285px}
  .motion .signal {width:145px;padding:11px}
  .motion .signal-core {width:124px;height:120px}
  .motion .signal-core strong {font-size:24px}
  .motion .message-stack {height:280px;max-width:340px}
  .motion .message-layer {padding:17px 20px}
  .motion .message-layer>strong {font-size:22px}
  .motion .layer-two {top:76px}
  .motion .layer-three {top:153px}
  .motion .message-result {bottom:-15px;padding:18px;width:155px}
  .motion .trust-stack {height:290px;max-width:330px}
  .motion .trust-card {padding:18px}
  .motion .trust-customer {top:135px}
  .motion .trust-customer>strong {font-size:27px}
  .motion .trust-analysts>p {display:block;font-size:12px}
  .motion .analyst-names {margin:18px 0;font-size:20px}
  .motion .experience-stack {height:290px;max-width:330px;margin-top:30px}
  .motion .experience-window {top:30px}
  .motion .window-content {padding:18px}
  .motion .window-content>strong {font-size:32px;margin:10px 0 18px}
  .motion .sales-source {padding:15px}
  .motion .sales-card {padding:15px 20px}
  .motion .deal-row {padding:12px 0}
  .motion .sales-card-top {font-size:12px;margin-bottom:10px}
  .motion .scale-core {padding:20px;margin:16px 20px}
  .motion .scale-core>strong {font-size:30px;margin-top:9px}
  .motion .scale-outputs>span {padding:8px 6px}
  .motion .human-review {margin-top:18px}
  .connected-section,.motion .connected-section,.compact-motion .connected-section,.reduced-motion .connected-section {padding:80px 6%}
  .connected-stage h2 {font-size:clamp(37px,7.9vw,54px)}
  .connected-stage>.eyebrow {font-size:11px;letter-spacing:.09em;line-height:1.6}
  .connected-map,.motion .connected-map {height:315px;min-height:315px;margin:35px auto;max-width:460px}
  .connected-core {padding:23px 27px;border-radius:26px}
  .connected-core>strong {font-size:29px}
  .connected-node {font-size:13px;padding:11px 14px;min-height:44px}
  .node-0 {left:0;top:0;--dx:0px;--dy:0px}
  .node-1 {left:auto;right:0;top:0;--dx:0px;--dy:0px}
  .node-2 {right:0;top:23%;--dx:0px;--dy:0px}
  .node-3 {right:auto;left:0;top:23%;--dx:0px;--dy:0px}
  .node-4 {left:0;bottom:0;--dx:0px;--dy:0px}
  .node-5 {right:0;bottom:0;--dx:0px;--dy:0px}
  .connection-lines {display:none}
  .connected-caption {font-size:17px}
  .work-section {padding:40px 0 80px}
  .section-title {display:block;padding:0 6%;margin-bottom:25px}
  .section-title h2 {font-size:43px}
  .section-title>p {max-width:360px;font-size:16px;margin-top:22px}
  .work-rail {gap:18px;padding:15px 6% 28px;scroll-padding:6%}
  .work-card {flex-basis:85%;max-width:360px;min-height:530px;padding:30px 28px 74px;border-radius:28px}
  .work-card h3 {font-size:33px}
  .work-number {font-size:78px}
  .card-ci .work-number {font-size:70px}
  .card-customer .work-number {font-size:60px}
  .rail-controls {margin:0 6%}
  .work-footnote {margin:24px 6% 0}
  .about-section {padding:90px 7% 85px}
  .about-intro {margin-bottom:60px}
  .about-intro h2 {font-size:clamp(43px,8.5vw,62px)}
  .about-intro>p:last-child {font-size:20px}
  .career-item {grid-template-columns:1fr;padding:0 0 45px 28px;gap:12px}
  .career-item>div {padding-left:0}
  .career-item h3 {font-size:29px}
  .career-date {font-size:12px}
  .career-theme {font-size:20px}
  .career-item p {font-size:17px}
  .timeline-track {left:0;bottom:70px}
  .career-item::before {left:-4px;top:12px}
  .personal-note {padding:10px 0 0 28px;font-size:16px}
  .contact-section {padding:90px 6%;min-height:580px}
  .contact-inner h2 {font-size:clamp(62px,13vw,88px)}
  .contact-inner>p:not(.eyebrow) {font-size:18px}
  footer {gap:10px;flex-wrap:wrap;padding:20px 6%}
  footer>span:nth-child(2) {display:none}
  footer>div {gap:20px}
  .case-modal {width:calc(100% - 20px);max-height:calc(100svh - 24px);border-radius:25px}
  .reader-toolbar {padding:12px 15px 12px 23px}
  .case-content {padding:25px 24px 30px}
  .case-content h2 {font-size:37px}
  .case-content .case-lead {font-size:20px}
  .case-content .case-metric {grid-template-columns:1fr;gap:14px;padding:23px}
  .case-metric strong {font-size:35px}
  .case-content p {font-size:17px}
  .reader-next {padding:19px}
  .resume-main {padding:50px 6% 60px}
  .resume-main h1 {font-size:52px}
  .resume-main .resume-role {font-size:22px}
  .resume-main h3 {font-size:22px}
  .resume-page>header:not(.site-nav) {padding:23px 6%;font-size:13px}
  .reduced-motion .hero-stage {min-height:680px}
  .reduced-motion .hero-copy {top:23%}
  .reduced-motion .hero-art img {bottom:-3%}
  body:not(.hero-immersive) .hero-stage {min-height:680px}
  html:not(.enhanced) .site-nav {position:absolute;height:auto;min-height:60px;flex-wrap:wrap;border-radius:25px;padding:14px 18px}
  html:not(.enhanced) .site-nav nav {display:flex;position:static;order:3;flex-direction:row;flex-wrap:wrap;padding:0;border:0;box-shadow:none;background:transparent;gap:10px;backdrop-filter:none}
  html:not(.enhanced) .site-nav nav a {font-size:13px;padding:0;min-height:36px}
  html:not(.enhanced) .menu-toggle {display:none}
}
@media(max-width:380px) {
  .site-nav {gap:6px;padding-left:15px}
  .wordmark {font-size:18px}
  .site-nav>.button-small {font-size:13px;padding:8px 12px;gap:6px}
  .hero-copy h1 {font-size:36px}
  .hero-description {font-size:16px}
  .hero-description br {display:none}
  .hero-actions {gap:13px}
  .button-glass {padding:10px 13px;font-size:13px}
  .hero-work-link {font-size:13px}
  .journey-dock a {padding:10px 5px;flex-basis:47px;font-size:11px}
  .compact-motion .story-copy h2,.reduced-motion .story-copy h2 {font-size:37px}
  .work-card h3 {font-size:30px}
  .card-ci .work-number {font-size:64px}
  .connected-node {font-size:12px;padding:10px 11px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(prefers-contrast:more) {
  .site-nav,.journey-dock {background:#141821;border-color:#d0daeb}
  .story-description,.need,.hero-description {color:#e1e4ed}
  .connected-node,.connected-core {background:#fff;border-color:#687991}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .site-nav,.journey-dock,.button-glass {background:#20242e}
  .reader-toolbar {background:#f8f9fc}
  .connected-node,.connected-core {background:#f9fbff}
}
@media print {
  .resume-page {background:white;color:#111}
  .resume-page>header,.resume-page footer,.print-button {display:none!important}
  .resume-main {max-width:none;padding:0;font-size:10pt}
  .resume-main h1 {font-size:30pt;margin:0 0 8pt}
  .resume-main .resume-role {font-size:13pt;color:#222}
  .resume-main p,.resume-main li {font-size:10pt;line-height:1.45;color:#222}
  .resume-main h2 {font-size:16pt;margin:8pt 0 14pt}
  .resume-main h3 {font-size:12pt;break-after:avoid;margin-top:18pt}
  .resume-main .dates {font-size:9pt;break-after:avoid}
  .resume-main section {padding-top:12pt;margin-top:18pt;border-color:#bbb}
  .resume-main li {break-inside:avoid;margin:5pt 0}
  .resume-main a {color:#222}
  .resume-main ul {margin:8pt 0;padding-left:14pt}
  @page {margin:16mm}
}
