:root {
  --ink: #050607;
  --graphite: #0c0f14;
  --night: #20252e;
  --tidal-deep: #103a56;
  --tidal: #1c5c88;
  --tidal-glow: #56a6cc;
  --brand-blue: #b8efff;
  --horizon: #78a6ff;
  --cobalt: #2c62d6;
  --pearl: #fafbf9;
  --mist: #f1f4f2;
  --paper: #ffffff;
  --text: #102735;
  --text-soft: #3f5662;
  --text-muted: #586d7a;
  --line: #d7e4e1;
  --white-line: rgba(255,255,255,.18);
  --success: #5dd6ba;
  --warning: #f3c969;
  --error: #e85d75;
  --purple: #9b8cf0;
  --radius: 8px;
  --radius-hero: 20px;
  --ease: cubic-bezier(.22,1,.36,1);
  --ease-slow: cubic-bezier(.16,1,.3,1);
  --page: clamp(20px, 5vw, 72px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; overflow-x: hidden; background: var(--pearl); color: var(--text); font-family: var(--font-brand); font-size: 14px; line-height: 1.55; }
body.menu-open { overflow: hidden; }
button, input, textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img, video, canvas { display: block; max-width: 100%; }
::selection { background: var(--brand-blue); color: var(--ink); }

.page-progress { position: fixed; inset: 0 0 auto; height: 2px; z-index: 100; pointer-events: none; background: rgba(255,255,255,.08); }
.page-progress i { display: block; width: 100%; height: 100%; background: var(--brand-blue); transform: scaleX(0); transform-origin: left; }
@media (pointer: fine) {
  html, body, body * { cursor: url("../assets/cursor-outline.svg?v=2") 3 3, auto !important; }
}

.site-header { position: fixed; z-index: 80; inset: 0 0 auto; height: 76px; padding: 0 var(--page); display: flex; align-items: center; gap: 30px; color: white; border-bottom: 1px solid rgba(255,255,255,.13); background: rgba(5,6,7,.64); backdrop-filter: blur(20px) saturate(135%); }
.wordmark { display: inline-flex; align-items: center; gap: 11px; font-size: 11px; font-weight: 600; letter-spacing: .15em; }
.wordmark-icon { width: 26px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; letter-spacing: 0; }
.wordmark-icon img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 12px rgba(184,239,255,.2)); }
.main-nav { margin-left: auto; display: flex; gap: 28px; font-size: 11px; color: rgba(255,255,255,.68); }
.main-nav a { position: relative; padding: 9px 0; transition: color 160ms ease; }
.main-nav a::after { content: ""; position: absolute; inset: auto 100% 3px 0; height: 1px; background: var(--brand-blue); transition: right 240ms var(--ease); }
.main-nav a:hover { color: white; }
.main-nav a:hover::after { right: 0; }
.header-cta { padding: 11px 15px; border: 1px solid rgba(255,255,255,.36); border-radius: 6px; font-size: 11px; transition: background 160ms, color 160ms, border 160ms; }
.header-cta:hover { color: var(--ink); background: var(--brand-blue); border-color: var(--brand-blue); }
.header-cta span, .button span, .ink-link span { margin-left: 12px; }
.menu-toggle { display: none; margin-left: auto; width: 38px; height: 38px; border: 1px solid var(--white-line); background: transparent; border-radius: 6px; }
.menu-toggle i { display: block; width: 15px; height: 1px; background: white; margin: 4px auto; }

.scene { position: relative; overflow: hidden; }
.scene[id] { scroll-margin-top: 75px; }
.section-pad { padding: clamp(90px, 10vw, 150px) var(--page); }
.scene-dark, .scene-night { color: white; background: var(--ink); }
.scene-paper { background: var(--pearl); color: var(--text); }
.scene-tidal { color: white; background: linear-gradient(145deg, var(--tidal-deep), var(--tidal) 75%); }
.scene-label { position: relative; z-index: 3; display: flex; align-items: center; gap: 14px; color: var(--text-muted); font-size: 10px; font-weight: 500; letter-spacing: .13em; }
.scene-label::after { content: ""; width: 55px; height: 1px; background: currentColor; opacity: .5; order: -1; }
.scene-label span:first-child { color: var(--cobalt); }
.scene-label-light { color: rgba(255,255,255,.6); }
.scene-label-light span:first-child { color: var(--brand-blue); }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 10px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.live-dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-blue); box-shadow: 0 0 16px rgba(184,239,255,.85); }
.live-dot::after { content: ""; position: absolute; inset: -5px; border: 1px solid var(--brand-blue); border-radius: 50%; animation: livePulse 2s ease-out infinite; }
h1, h2, h3, p { text-wrap: balance; }
h1, h2, h3 { font-weight: 300; letter-spacing: 0; }
h1 em, h2 em { color: var(--cobalt); font-style: normal; }
.scene-dark h1 em, .scene-tidal h2 em, .scene-night h2 em { color: var(--brand-blue); }
.section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 8vw; align-items: end; margin-top: 55px; }
.section-heading h2, .opportunity-intro h2 { margin: 0; font-size: clamp(52px, 6.6vw, 104px); line-height: .98; }
.section-heading > p { max-width: 420px; margin: 0 0 8px; color: var(--text-soft); font-size: 16px; line-height: 1.65; }
.reveal { opacity: 1; filter: none; transform: none; }
.js .reveal { opacity: var(--reveal-opacity,1); filter: blur(var(--reveal-blur,0px)); transform: translateY(var(--reveal-y,0px)) scale(var(--reveal-scale,1)); transition:none; }
.js .hero .reveal { opacity: 1; filter: none; transform: none; will-change: auto; }
.js .home-cover .reveal { opacity: 1; filter: none; transform: none; will-change: auto; }
.reveal-delay { transition-delay: 160ms; }
.reveal-delay-2 { transition-delay: 300ms; }
.reveal.is-visible { opacity:var(--reveal-opacity,1); filter:blur(var(--reveal-blur,0)); transform:translateY(var(--reveal-y,0)) scale(var(--reveal-scale,1)); }

.hero { min-height: 100svh; padding: clamp(118px, 13vh, 170px) var(--page) 72px; isolation: isolate; background: radial-gradient(circle at 80% 24%, rgba(86,166,204,.16), transparent 32%), var(--ink); }
.signal-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .58; z-index: -1; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,6,7,.96) 0%, rgba(5,6,7,.78) 43%, rgba(5,6,7,.1) 78%), linear-gradient(0deg, rgba(5,6,7,.95), transparent 35%); }
.hero-grid { min-height: calc(100svh - 190px); display: grid; grid-template-columns: .98fr 1.02fr; gap: 4vw; align-items: center; }
.hero-copy { position: relative; z-index: 2; max-width: 620px; }
.hero-copy h1 { margin: 27px 0 25px; font-size: clamp(50px, 4.6vw, 78px); line-height: .94; white-space: nowrap; }
.hero-copy h1 em { display: inline-block; text-shadow: 0 0 45px rgba(184,239,255,.18); }
.hero-lede { max-width: 540px; margin: 0; color: rgba(255,255,255,.68); font-size: clamp(15px, 1.15vw, 18px); line-height: 1.62; }
.hero-actions { display: flex; align-items: center; gap: 26px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 20px; border: 1px solid transparent; border-radius: 8px; font-size: 12px; font-weight: 500; transition: transform 160ms ease, background 160ms ease, color 160ms ease, box-shadow 240ms ease; }
.button:hover { transform: translateY(-2px); }
.button-blue { color: var(--ink); background: var(--brand-blue); box-shadow: 0 0 35px rgba(184,239,255,.14); }
.button-blue:hover { background: white; box-shadow: 0 0 42px rgba(184,239,255,.28); }
.button-white { color: var(--ink); background: white; }
.button-cobalt { color: white; background: var(--cobalt); }
.quiet-link { padding: 10px 0; color: rgba(255,255,255,.64); font-size: 11px; border-bottom: 1px solid rgba(255,255,255,.2); }
.quiet-link span { margin-left: 10px; color: var(--brand-blue); }
.brand-film { position: relative; perspective: 1300px; }
.film-shell { position: relative; z-index: 2; aspect-ratio: 16/10.5; overflow: hidden; border: 1px solid rgba(184,239,255,.38); border-radius: var(--radius-hero); background: black; box-shadow: 0 32px 90px rgba(0,0,0,.52), 0 0 60px rgba(86,166,204,.08); transform: rotateY(-3deg) rotateX(1deg); transition: transform 600ms var(--ease); }
.brand-film:hover .film-shell { transform: rotateY(0) rotateX(0) translateY(-5px); }
.film-shell video { width: 100%; height: 100%; object-fit: cover; }
.film-glass { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg, rgba(255,255,255,.12), transparent 22%, transparent 78%, rgba(184,239,255,.08)), linear-gradient(0deg, rgba(0,0,0,.5), transparent 26%); }
.film-topline, .film-bottomline { position: absolute; z-index: 2; left: 18px; right: 18px; display: flex; justify-content: space-between; align-items: center; font-size: 8px; letter-spacing: .13em; }
.film-topline { top: 16px; color: rgba(255,255,255,.72); }
.film-bottomline { bottom: 15px; }
.film-bottomline button { padding: 7px 10px; color: white; border: 1px solid rgba(255,255,255,.28); background: rgba(0,0,0,.35); border-radius: 4px; font-size: 8px; letter-spacing: .12em; }
.film-status { display: flex; align-items: center; gap: 7px; font-size: 8px; letter-spacing: .12em; }
.film-status i { width: 5px; height: 5px; border-radius: 50%; background: var(--success); box-shadow: 0 0 10px var(--success); }
.film-corner { position: absolute; width: 18px; height: 18px; border-color: var(--brand-blue); opacity: .85; }
.corner-a { top: 9px; left: 9px; border-top: 1px solid; border-left: 1px solid; }
.corner-b { top: 9px; right: 9px; border-top: 1px solid; border-right: 1px solid; }
.corner-c { bottom: 9px; left: 9px; border-bottom: 1px solid; border-left: 1px solid; }
.corner-d { right: 9px; bottom: 9px; border-right: 1px solid; border-bottom: 1px solid; }
.film-shadow { position: absolute; z-index: 0; inset: 20% -5% -12% 10%; border-radius: 50%; background: rgba(86,166,204,.2); filter: blur(70px); }
.hero-index { position: absolute; right: var(--page); bottom: 26px; display: flex; align-items: center; gap: 13px; color: rgba(255,255,255,.5); font-size: 8px; letter-spacing: .13em; }
.hero-index span:first-child { color: var(--brand-blue); }
.hero-index i { width: 55px; height: 1px; background: rgba(255,255,255,.2); }

.president { background: linear-gradient(125deg, var(--pearl), white 55%, #edf4f7); }
.president-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 9vw; align-items: center; margin-top: 60px; }
.president-photo { position: relative; margin: 0; }
.president-photo::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; border: 1px solid rgba(44,98,214,.28); border-radius: var(--radius-hero); }
.president-photo img { width: 100%; min-height: 610px; object-fit: cover; filter: saturate(.8) contrast(1.04); border-radius: var(--radius-hero); }
.president-photo figcaption { position: absolute; inset: auto 18px 18px; padding: 14px 16px; display: flex; justify-content: space-between; color: white; background: rgba(12,15,20,.72); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.17); border-radius: 6px; font-size: 8px; letter-spacing: .12em; }
.president-copy { max-width: 710px; }
.quote-mark { color: var(--cobalt); font-size: 85px; font-weight: 200; line-height: .5; }
.president-copy h2 { margin: 32px 0; font-size: clamp(48px, 5.3vw, 84px); line-height: 1; }
.president-copy > p { max-width: 630px; color: var(--text-soft); font-size: 17px; line-height: 1.7; }
.signature-lockup { display: flex; flex-direction: column; gap: 2px; margin: 32px 0; }
.signature-lockup span { font-size: 22px; font-weight: 300; }
.signature-lockup small { color: var(--text-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.ink-link { display: inline-flex; padding: 10px 0; color: var(--text); border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 500; }

.services { background: white; }
.services-heading { border-bottom: 1px solid var(--line); padding-bottom: 55px; }
.service-board { display: grid; grid-template-columns: .44fr .56fr; gap: clamp(25px,5vw,80px); margin-top: 55px; }
.service-nav { display: flex; flex-direction: column; }
.service-tab { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; min-height: 77px; padding: 0 7px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text-muted); text-align: left; transition: color 160ms, padding 240ms var(--ease); }
.service-tab span { color: var(--cobalt); font-size: 9px; }
.service-tab strong { font-size: 22px; font-weight: 400; letter-spacing: 0; }
.service-tab i { opacity: 0; font-style: normal; color: var(--cobalt); transform: translateX(-8px); transition: opacity 160ms, transform 240ms; }
.service-tab:hover, .service-tab.is-active { color: var(--text); padding-left: 15px; }
.service-tab.is-active i { opacity: 1; transform: none; }
.service-panel { position: relative; min-height: 540px; padding: clamp(28px,4vw,60px); overflow: hidden; color: white; background: linear-gradient(145deg, var(--graphite), #152033); border-radius: var(--radius-hero); box-shadow: 0 25px 70px rgba(16,39,53,.18); }
.service-panel::before { content: ""; position: absolute; right: -120px; bottom: -160px; width: 420px; height: 420px; border: 1px solid rgba(184,239,255,.16); border-radius: 50%; box-shadow: inset 0 0 80px rgba(86,166,204,.08); }
.service-panel::after { content: ""; position: absolute; right: -15%; top: -30%; width: 60%; height: 80%; background: radial-gradient(circle, rgba(86,166,204,.16), transparent 66%); }
.service-panel > * { position: relative; z-index: 2; }
.service-panel-top { display: flex; justify-content: space-between; color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .13em; }
.status-chip { display: flex; align-items: center; gap: 7px; padding: 5px 8px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; }
.status-chip i { width: 5px; height: 5px; border-radius: 50%; background: var(--success); }
.service-panel h3 { max-width: 690px; margin: clamp(65px,9vw,120px) 0 20px; font-size: clamp(45px,5.2vw,78px); line-height: .98; }
.service-panel > p { max-width: 570px; color: rgba(255,255,255,.65); font-size: 16px; }
.deliverable-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: 35px 0; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); }
.deliverable-grid span { padding: 11px 13px; background: rgba(5,6,7,.62); color: rgba(255,255,255,.7); font-size: 10px; }
.service-panel .ink-link { color: white; border-color: rgba(255,255,255,.2); }

.portal { color: white; background: var(--graphite); isolation: isolate; }
.portal::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 52px 52px; }
.portal-aurora { position: absolute; z-index: -1; top: -25vw; right: -12vw; width: 80vw; height: 70vw; background: radial-gradient(circle, rgba(86,166,204,.26), rgba(44,98,214,.09) 38%, transparent 66%); filter: blur(25px); }
.portal-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 7vw; align-items: end; margin-top: 55px; }
.portal-heading h2 { margin: 24px 0 0; font-size: clamp(55px,6.8vw,108px); line-height: .94; }
.portal-heading > p { max-width: 430px; margin: 0 0 8px; color: rgba(255,255,255,.62); font-size: 16px; line-height: 1.65; }
.portal-shell { display: grid; grid-template-columns: 238px 1fr; height: 720px; margin-top: 75px; overflow: hidden; border: 1px solid rgba(184,239,255,.24); border-radius: var(--radius-hero); background: #f5f8f7; box-shadow: 0 45px 100px rgba(0,0,0,.38), 0 0 60px rgba(86,166,204,.08); }
.portal-sidebar { display: flex; flex-direction: column; color: white; background: linear-gradient(180deg, #0b1015, #121c25); border-right: 1px solid rgba(255,255,255,.09); }
.portal-brand { height: 76px; padding: 0 18px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.09); }
.portal-brand > span { width: 31px; height: 36px; display: grid; place-items: center; color: var(--brand-blue); font-size: 12px; }
.portal-brand > span img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 0 10px rgba(184,239,255,.18)); }
.portal-brand div { display: flex; flex-direction: column; }
.portal-brand strong { font-size: 10px; letter-spacing: .13em; }
.portal-brand small { color: rgba(255,255,255,.38); font-size: 7px; letter-spacing: .12em; }
.portal-sidebar nav { padding: 19px 10px; display: flex; flex-direction: column; gap: 4px; }
.portal-nav-item { display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 7px; min-height: 43px; padding: 0 10px; border: 0; border-radius: 6px; color: rgba(255,255,255,.52); background: transparent; text-align: left; font-size: 10px; transition: color 160ms, background 160ms, transform 160ms; }
.portal-nav-item:hover { color: white; transform: translateX(2px); }
.portal-nav-item.is-active { color: white; background: rgba(120,166,255,.14); box-shadow: inset 2px 0 var(--horizon); }
.portal-nav-item i { color: var(--brand-blue); font-size: 16px; font-style: normal; text-align: center; }
.portal-nav-item b { color: rgba(255,255,255,.24); font-size: 7px; font-weight: 500; }
.portal-user { margin-top: auto; padding: 15px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid rgba(255,255,255,.09); }
.portal-user > span { width: 30px; height: 30px; display: grid; place-items: center; color: var(--graphite); background: var(--brand-blue); border-radius: 50%; font-size: 8px; }
.portal-user div { display: flex; flex-direction: column; }
.portal-user strong { font-size: 8px; }
.portal-user small { color: rgba(255,255,255,.4); font-size: 7px; }
.portal-user > i { width: 6px; height: 6px; border-radius: 50%; background: var(--success); }
.portal-workspace { min-width: 0; color: var(--text); background: var(--pearl); }
.portal-toolbar { height: 76px; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.88); }
.portal-toolbar > div { display: flex; align-items: center; gap: 12px; }
.portal-toolbar button { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); background: white; border-radius: 5px; }
.portal-toolbar span { font-size: 8px; color: var(--text-muted); }
.portal-live { display: flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 999px; }
.portal-live i { width: 5px; height: 5px; border-radius: 50%; background: var(--success); box-shadow: 0 0 6px var(--success); }
.avatar-stack { display: flex; }
.avatar-stack i { width: 27px; height: 27px; display: grid; place-items: center; margin-left: -6px; border: 2px solid white; border-radius: 50%; background: var(--tidal-deep); color: white; font-style: normal; font-size: 6px; }
.portal-module { height: calc(100% - 76px); padding: 22px; overflow: auto; view-transition-name: portal-module; }
.module-header { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.module-header span { color: var(--cobalt); font-size: 8px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.module-header h3 { margin: 5px 0 0; font-size: 28px; font-weight: 300; }
.module-header p { max-width: 390px; margin: 0; color: var(--text-muted); font-size: 10px; }
.module-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 10px; margin-top: 18px; }
.portal-card { position: relative; min-height: 120px; padding: 15px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: white; box-shadow: 0 8px 20px rgba(16,39,53,.035); }
.portal-card.dark { color: white; background: linear-gradient(145deg, var(--tidal-deep), #163f59); border-color: transparent; }
.portal-card > span, .portal-card .card-label { display: block; color: var(--text-muted); font-size: 7px; font-weight: 500; letter-spacing: .11em; text-transform: uppercase; }
.portal-card.dark > span, .portal-card.dark .card-label { color: rgba(255,255,255,.52); }
.portal-card h4 { margin: 6px 0 0; font-size: 17px; font-weight: 400; letter-spacing: 0; }
.portal-card p { margin: 6px 0 0; color: var(--text-muted); font-size: 9px; }
.portal-card.dark p { color: rgba(255,255,255,.65); }
.span-3 { grid-column: span 3; }.span-4 { grid-column: span 4; }.span-5 { grid-column: span 5; }.span-6 { grid-column: span 6; }.span-7 { grid-column: span 7; }.span-8 { grid-column: span 8; }.span-9 { grid-column: span 9; }.span-12 { grid-column: 1/-1; }
.metric { margin-top: 18px; font-size: 32px; font-weight: 300; letter-spacing: 0; }
.metric small { margin-left: 5px; color: var(--success); font-size: 8px; font-weight: 500; letter-spacing: 0; }
.mini-bars { height: 62px; margin-top: 11px; display: flex; align-items: end; gap: 4px; }
.mini-bars i { flex: 1; min-height: 8px; background: linear-gradient(180deg, var(--horizon), var(--cobalt)); border-radius: 2px 2px 0 0; animation: barIn 700ms var(--ease) both; transform-origin: bottom; }
.activity-row, .vault-row, .pipeline-row, .lead-row { display: flex; align-items: center; gap: 9px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.activity-row:last-child, .vault-row:last-child, .lead-row:last-child { border-bottom: 0; }
.activity-row > i { width: 7px; height: 7px; border-radius: 50%; background: var(--cobalt); }
.activity-row div, .vault-row div, .lead-row div { display: flex; flex: 1; flex-direction: column; }
.activity-row strong, .vault-row strong, .lead-row strong { font-size: 8px; font-weight: 500; }
.activity-row small, .vault-row small, .lead-row small { color: var(--text-muted); font-size: 7px; }
.activity-row > span, .lead-row > span { font-size: 7px; color: var(--text-muted); }
.opportunity-orbit { position: relative; height: 190px; margin-top: 10px; }
.opportunity-orbit i { position: absolute; border: 1px solid rgba(120,166,255,.22); border-radius: 50%; }
.opportunity-orbit i:nth-child(1) { inset: 5%; }.opportunity-orbit i:nth-child(2) { inset: 20%; }.opportunity-orbit i:nth-child(3) { inset: 36%; }
.opportunity-orbit b { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--brand-blue); box-shadow: 0 0 18px var(--brand-blue); }
.opportunity-orbit b:nth-of-type(1) { left: 26%; top: 33%; }.opportunity-orbit b:nth-of-type(2) { right: 20%; top: 21%; background: var(--success); }.opportunity-orbit b:nth-of-type(3) { right: 35%; bottom: 18%; background: var(--warning); }
.opportunity-orbit span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 31px; font-weight: 300; }
.score-row { margin-top: 13px; }
.score-row > div { display: flex; justify-content: space-between; font-size: 7px; }
.score-track { height: 4px; margin-top: 5px; overflow: hidden; border-radius: 3px; background: var(--mist); }
.score-track i { display: block; height: 100%; background: var(--cobalt); transform-origin: left; animation: growX 700ms var(--ease) both; }
.asset-preview { height: 110px; margin-top: 10px; border-radius: 5px; background: linear-gradient(135deg, #0c0f14 0 45%, var(--brand-blue) 45% 63%, #1c5c88 63%); position: relative; overflow: hidden; }
.asset-preview::after { content: "NU"; position: absolute; right: -4px; bottom: -25px; color: rgba(255,255,255,.9); font-size: 70px; font-weight: 200; }
.asset-state { margin-left: auto; padding: 4px 6px; color: #166534; background: #dcfce7; border-radius: 999px; font-size: 6px; }
.vault-row > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; color: white; background: var(--tidal); border-radius: 4px; font-size: 7px; }
.node-map { position: relative; height: 300px; margin-top: 8px; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size: 25px 25px; border-radius: 6px; }
.node { position: absolute; width: 92px; padding: 8px; color: var(--text); background: white; border: 1px solid var(--line); border-radius: 5px; box-shadow: 0 6px 14px rgba(16,39,53,.08); font-size: 7px; }
.node::before { content: ""; width: 5px; height: 5px; display: inline-block; margin-right: 5px; border-radius: 50%; background: var(--cobalt); }
.node-a { left: 5%; top: 10%; }.node-b { left: 36%; top: 34%; }.node-c { right: 5%; top: 10%; }.node-d { left: 18%; bottom: 7%; }.node-e { right: 12%; bottom: 12%; }
.node-line { position: absolute; height: 1px; background: var(--horizon); transform-origin: left; opacity: .55; }
.node-line-a { width: 32%; left: 15%; top: 25%; transform: rotate(20deg); }.node-line-b { width: 31%; left: 45%; top: 43%; transform: rotate(-22deg); }.node-line-c { width: 25%; left: 29%; top: 68%; transform: rotate(-42deg); }.node-line-d { width: 34%; left: 45%; top: 52%; transform: rotate(32deg); }
.pipeline { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; margin-top: 16px; }
.pipeline-step { position: relative; min-height: 92px; padding: 11px 8px; border: 1px solid var(--line); border-radius: 6px; background: white; }
.pipeline-step::after { content: "→"; position: absolute; right: -8px; top: 38%; z-index: 2; color: var(--cobalt); }
.pipeline-step:last-child::after { display: none; }
.pipeline-step > span { color: var(--cobalt); font-size: 7px; }
.pipeline-step strong { display: block; margin-top: 20px; font-size: 8px; font-weight: 500; }
.pipeline-step small { color: var(--text-muted); font-size: 6px; }
.pipeline-step.is-running { color: white; background: var(--tidal-deep); border-color: transparent; box-shadow: 0 0 18px rgba(86,166,204,.18); }
.pipeline-step.is-running strong, .pipeline-step.is-running small { color: white; }
.waveform { height: 80px; display: flex; align-items: center; gap: 3px; margin-top: 15px; }
.waveform i { width: 3px; border-radius: 3px; background: var(--horizon); animation: wave 1.4s ease-in-out infinite; }
.pitch-canvas { min-height: 255px; padding: 18px; color: white; background: linear-gradient(135deg,var(--ink),#183d55); border-radius: 7px; }
.pitch-canvas > span { font-size: 7px; color: var(--brand-blue); }
.pitch-canvas h4 { max-width: 320px; margin: 50px 0 10px; font-size: 31px; line-height: 1; }
.pitch-canvas p { max-width: 320px; color: rgba(255,255,255,.6); }
.pitch-thumbs { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin-top: 14px; }
.pitch-thumbs i { aspect-ratio: 16/10; border: 1px solid rgba(255,255,255,.18); border-radius: 3px; background: linear-gradient(135deg,#13202c,var(--tidal)); }
.pitch-thumbs i:nth-child(2) { background: linear-gradient(135deg,var(--brand-blue),#87bed9); }.pitch-thumbs i:nth-child(3) { background: linear-gradient(135deg,#101010,#4c4c4c); }
.portal-caption { display: flex; justify-content: space-between; margin-top: 16px; color: rgba(255,255,255,.38); font-size: 8px; letter-spacing: .1em; }
.backend-portal-preview { position:absolute; inset:0; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:12px; padding:14px; overflow:hidden; background:radial-gradient(circle at 78% 8%,rgba(86,166,204,.18),transparent 34%),#071015; }
.portal-shell-embedded { width:100%; height:auto; min-height:0; margin:0; grid-template-columns:260px minmax(0,1fr); border-radius:14px; box-shadow:0 34px 90px rgba(0,0,0,.42),0 0 55px rgba(86,166,204,.09); }
.portal-shell-embedded .portal-brand,.portal-shell-embedded .portal-toolbar { height:78px; }
.portal-shell-embedded .portal-brand { padding-inline:18px; }
.portal-shell-embedded .portal-brand>span { width:38px; height:38px; font-size:14px; }
.portal-shell-embedded .portal-brand strong { font-size:11px; }
.portal-shell-embedded .portal-brand small { font-size:7px; }
.portal-shell-embedded .portal-sidebar nav { padding:18px 11px; gap:7px; }
.portal-shell-embedded .portal-nav-item { min-height:58px; padding-inline:11px; grid-template-columns:32px 1fr auto; }
.portal-shell-embedded .portal-nav-item i { font-size:18px; }
.portal-shell-embedded .portal-nav-item>span strong { font-size:10px; }
.portal-shell-embedded .portal-nav-item>span small { font-size:7px; }
.portal-shell-embedded .portal-user { padding:18px; }
.portal-shell-embedded .portal-user>span { width:36px; height:36px; font-size:9px; }
.portal-shell-embedded .portal-user strong { font-size:9px; }
.portal-shell-embedded .portal-user small { font-size:7px; }
.portal-shell-embedded .portal-toolbar { padding-inline:24px; }
.portal-shell-embedded .portal-toolbar span { font-size:9px; }
.portal-shell-embedded .portal-toolbar button { width:34px; height:34px; }
.portal-shell-embedded .portal-module { height:calc(100% - 78px); padding:24px; }
.portal-shell-embedded .module-header h3 { font-size:32px; }
.portal-shell-embedded .module-header p { max-width:440px; font-size:11px; line-height:1.55; }
.portal-shell-embedded .module-grid { gap:12px; margin-top:20px; }
.portal-shell-embedded .portal-card { min-height:140px; padding:18px; }
.portal-shell-embedded .portal-card>span { font-size:8px; }
.portal-shell-embedded .portal-card h4 { font-size:20px; }
.portal-shell-embedded .portal-card p { font-size:10px; line-height:1.5; }
.portal-shell-embedded .metric { margin-top:22px; font-size:38px; }
.portal-shell-embedded .activity-row,.portal-shell-embedded .vault-row,.portal-shell-embedded .lead-row { padding:11px 0; }
.portal-shell-embedded .activity-row strong,.portal-shell-embedded .vault-row strong,.portal-shell-embedded .lead-row strong { font-size:9px; }
.portal-shell-embedded .activity-row small,.portal-shell-embedded .vault-row small,.portal-shell-embedded .lead-row small { font-size:7px; }
.backend-portal-preview .portal-caption { margin:0; padding:0 2px; }
.portal-synced { color:#7b8a90!important; letter-spacing:.08em; }
.portal-alert-button { position:relative; }
.portal-alert-button b { position:absolute; right:-5px; top:-6px; width:16px; height:16px; display:grid; place-items:center; color:white; border:2px solid white; border-radius:50%; background:#2c62d6; font-size:6px; }
.portal-account-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; padding:16px 18px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.78); box-shadow:0 8px 22px rgba(16,39,53,.035); }
.portal-account-bar>div:first-child { display:grid; grid-template-columns:auto 1fr; gap:2px 10px; align-items:center; }
.portal-account-bar span { grid-column:1/-1; color:var(--cobalt); font-size:7px; font-weight:600; letter-spacing:.12em; }
.portal-account-bar strong { font-size:15px; font-weight:600; }
.portal-account-bar small { color:var(--text-muted); font-size:8px; }
.portal-account-bar>div:last-child { display:flex; gap:7px; }
.portal-account-bar button,.portal-card-action { padding:10px 13px; color:#30434d; border:1px solid var(--line); border-radius:6px; background:white; font-size:8px; font-weight:600; cursor:pointer; transition:transform 160ms,background 160ms,color 160ms; }
.portal-account-bar button:hover,.portal-card-action:hover { transform:translateY(-2px); }
.portal-account-bar button.is-primary { color:white; border-color:var(--cobalt); background:var(--cobalt); }
.portal-chart-key { display:flex; align-items:center; gap:15px; margin-top:13px; color:rgba(255,255,255,.5); font-size:6px; letter-spacing:.08em; }
.portal-chart-key span { display:flex; align-items:center; gap:5px; }
.portal-chart-key i { width:6px; height:6px; display:block; border-radius:2px; background:var(--brand-blue); }
.portal-chart-key span:nth-child(2) i { background:#78a6ff; }
.portal-chart-key strong { margin-left:auto; color:#5dd6ba; font-size:10px; }
.portal-card-action { width:100%; margin-top:10px; color:var(--cobalt); text-align:left; background:#f5f8ff; }
.project-row { display:grid; grid-template-columns:minmax(230px,1.2fr) minmax(100px,.8fr) auto; gap:15px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
.project-row:last-child { border-bottom:0; }
.project-row>div { display:grid; grid-template-columns:27px 1fr; gap:10px; align-items:center; }
.project-row>div>b { width:27px; height:27px; display:grid; place-items:center; color:white; border-radius:5px; background:var(--tidal); font-size:7px; }
.project-row>div span { display:flex; flex-direction:column; }
.project-row>div strong { font-size:10px; }
.project-row>div small { margin-top:3px; color:var(--text-muted); font-size:7px; }
.project-row>i { height:5px; overflow:hidden; border-radius:999px; background:var(--mist); }
.project-row>i b { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--cobalt),var(--horizon)); }
.project-row>em { color:#16704c; font-size:6px; font-style:normal; font-weight:700; letter-spacing:.08em; }
.project-row>em.is-review { color:#aa6903; }
.calendar-row { display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:center; padding:11px 0; border-bottom:1px solid var(--line); }
.calendar-row:last-child { border-bottom:0; }
.calendar-row>b { width:38px; height:40px; display:grid; place-content:center; color:var(--cobalt); border:1px solid rgba(44,98,214,.18); border-radius:6px; background:#f5f8ff; font-size:13px; text-align:center; }
.calendar-row>b small { display:block; margin-top:1px; font-size:5px; letter-spacing:.1em; }
.calendar-row>div { display:flex; flex-direction:column; }
.calendar-row strong { font-size:9px; }
.calendar-row small { margin-top:3px; color:var(--text-muted); font-size:7px; }
.activity-feed { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:15px; background:var(--line); border:1px solid var(--line); }
.activity-feed>div { display:grid; grid-template-columns:30px 1fr auto; gap:9px; align-items:start; padding:13px; background:white; }
.activity-feed i { width:30px; height:30px; display:grid; place-items:center; color:white; border-radius:50%; background:var(--tidal); font-size:6px; font-style:normal; }
.activity-feed p { margin:0!important; display:flex; flex-direction:column; }
.activity-feed strong { color:var(--text); font-size:8px; }
.activity-feed small { margin-top:4px; color:var(--text-muted); font-size:7px; }
.activity-feed time { color:var(--text-muted); font-size:6px; }
.portal-shell-embedded .portal-explainer { width:min(330px,calc(100% - 24px)); padding:23px; }
.portal-shell-embedded .portal-explainer h4 { font-size:23px; }
.portal-shell-embedded .portal-explainer p { font-size:11px; }

/* Backend ecosystem — an owner-facing operating system, grounded in the real product. */
.backend-portal-preview {
  padding: 18px;
  background:
    radial-gradient(circle at 88% 5%,rgba(120,166,255,.11),transparent 28%),
    linear-gradient(145deg,#080a0d,#11151a);
}
.portal-shell-embedded {
  grid-template-columns: 250px minmax(0,1fr);
  border-color: rgba(255,255,255,.14);
  border-radius: 12px;
  background: #f4f5f2;
  box-shadow: 0 38px 100px rgba(0,0,0,.46);
}
.portal-shell-embedded .portal-sidebar {
  background: linear-gradient(180deg,#0b0e12,#12171c 58%,#090c0f);
}
.portal-shell-embedded .portal-brand {
  height: 72px;
  border-color: rgba(255,255,255,.08);
}
.portal-shell-embedded .portal-brand > span { width: 32px; height: 39px; }
.portal-shell-embedded .portal-brand strong { font-size: 11px; letter-spacing: .12em; }
.portal-shell-embedded .portal-brand small { margin-top: 2px; font-size: 7px; letter-spacing: .1em; }
.portal-company-switch { padding: 15px 14px 7px; }
.portal-company-switch > span { display: block; margin: 0 4px 8px; color: rgba(255,255,255,.3); font-size: 8px; letter-spacing: .12em; }
.portal-company-switch button { width: 100%; display: grid; grid-template-columns: 29px 1fr auto; gap: 9px; align-items: center; padding: 9px; color: white; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: rgba(255,255,255,.04); text-align: left; }
.portal-company-switch button i { width: 29px; height: 29px; display: grid; place-items: center; color: #071015; border-radius: 4px; background: var(--horizon); font-size: 10px; font-style: normal; font-weight: 800; }
.portal-company-switch button strong { font-size: 10px; font-weight: 600; }
.portal-company-switch button b { color: rgba(255,255,255,.34); font-size: 9px; font-weight: 400; }
.portal-shell-embedded .portal-sidebar nav { padding: 12px 10px; gap: 3px; }
.portal-shell-embedded .portal-nav-item { min-height: 58px; padding-inline: 10px; grid-template-columns: 28px 1fr auto; border-radius: 5px; }
.portal-shell-embedded .portal-nav-item i { font-size: 17px; }
.portal-shell-embedded .portal-nav-item > span strong { font-size: 11px; font-weight: 600; }
.portal-shell-embedded .portal-nav-item > span small { margin-top: 3px; font-size: 8px; line-height: 1.25; }
.portal-shell-embedded .portal-nav-item.is-active { background: rgba(120,166,255,.11); box-shadow: inset 2px 0 var(--horizon); }
.portal-system-state { margin: auto 14px 0; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.09); }
.portal-system-state span { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.62); font-size: 8px; letter-spacing: .08em; }
.portal-system-state span i { width: 6px; height: 6px; border-radius: 50%; background: #5dd6ba; box-shadow: 0 0 9px rgba(93,214,186,.7); }
.portal-system-state small { display: block; margin-top: 6px; color: rgba(255,255,255,.26); font-size: 7px; }
.portal-shell-embedded .portal-user { margin-top: 0; padding: 14px; }
.portal-shell-embedded .portal-user strong { font-size: 10px; }
.portal-shell-embedded .portal-user small { margin-top: 2px; font-size: 8px; }
.portal-shell-embedded .portal-toolbar {
  height: 68px;
  padding-inline: 22px;
  background: rgba(255,255,255,.94);
}
.portal-shell-embedded .portal-toolbar > div:first-child { gap: 8px; }
.portal-toolbar .portal-path-root { color: #859097; font-size: 8px; letter-spacing: .11em; }
.portal-toolbar > div:first-child > i { color: #b3babd; font-size: 9px; font-style: normal; }
.portal-toolbar #portal-breadcrumb { color: #18242a; font-size: 11px; font-weight: 600; }
.portal-shell-embedded .portal-toolbar button { width: 32px; height: 32px; border-radius: 4px; }
.portal-shell-embedded .portal-live { padding: 6px 8px; font-size: 8px; }
.portal-shell-embedded .portal-module { height: calc(100% - 68px); padding: 22px 24px 34px; }
.portal-account-bar { margin-bottom: 22px; padding: 13px 15px; border-radius: 6px; box-shadow: none; }
.portal-account-bar > div:first-child { grid-template-columns: 1fr; gap: 2px; }
.portal-account-bar span { font-size: 8px; }
.portal-account-bar strong { font-size: 16px; }
.portal-account-bar small { font-size: 9px; line-height: 1.35; }
.portal-account-bar button,.portal-card-action { min-height: 34px; padding: 8px 11px; border-radius: 4px; font-size: 9px; }
.portal-shell-embedded .module-header { align-items: start; }
.portal-shell-embedded .module-header h3 { max-width: 680px; margin-top: 7px; font-size: clamp(28px,2.55vw,38px); line-height: 1.02; letter-spacing: 0; }
.portal-shell-embedded .module-header p { max-width: 470px; padding-top: 3px; font-size: 12px; line-height: 1.55; }
.portal-shell-embedded .module-grid { gap: 11px; margin-top: 19px; }
.portal-shell-embedded .portal-card { min-height: 138px; padding: 17px; border-radius: 6px; box-shadow: 0 7px 22px rgba(12,25,33,.035); }
.portal-shell-embedded .portal-card > span { font-size: 9px; font-weight: 650; letter-spacing: .1em; }
.portal-shell-embedded .portal-card h4 { font-size: 20px; line-height: 1.12; }
.portal-shell-embedded .portal-card p { font-size: 11px; line-height: 1.5; }
.portal-shell-embedded .portal-card.dark { background: linear-gradient(145deg,#0f1c24,#123b53); }
.portal-shell-embedded .portal-card::after { content: "OPEN CONTEXT ↗"; top: 12px; right: 12px; font-size: 6px; }

.decision-list { margin-top: 13px; border-top: 1px solid rgba(255,255,255,.12); }
.decision-list > div { display: grid; grid-template-columns: 23px 8px 1fr auto; gap: 10px; align-items: center; min-height: 66px; border-bottom: 1px solid rgba(255,255,255,.1); }
.decision-list > div > b { color: rgba(255,255,255,.28); font-size: 9px; }
.decision-list > div > i { width: 7px; height: 7px; border-radius: 50%; background: var(--horizon); box-shadow: 0 0 12px rgba(120,166,255,.45); }
.decision-list p { display: flex; flex-direction: column; margin: 0!important; }
.decision-list strong { color: white; font-size: 12px; font-weight: 550; }
.decision-list small { margin-top: 4px; color: rgba(255,255,255,.45); font-size: 9px; }
.decision-list em { color: rgba(255,255,255,.44); font-size: 8px; font-style: normal; letter-spacing: .08em; }
.portal-decision-card .portal-card-action { margin-top: 13px; color: white; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.07); }
.pulse-score { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; margin-top: 17px; }
.pulse-score > strong { grid-row: 1/3; font-size: 48px; font-weight: 300; letter-spacing: 0; }
.pulse-score > i { height: 6px; overflow: hidden; border-radius: 999px; background: #e5e8e7; }
.pulse-score > i b { width: var(--pulse); height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--cobalt),var(--horizon)); }
.pulse-score > small { color: var(--text-muted); font-size: 8px; letter-spacing: .1em; }
.pulse-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin-top: 16px; }
.pulse-grid > div { padding: 10px 7px; border: 1px solid var(--line); border-radius: 4px; background: #fafbfa; }
.pulse-grid b { display: block; font-size: 17px; font-weight: 500; }
.pulse-grid small { display: block; margin-top: 3px; color: var(--text-muted); font-size: 8px; }
.portal-pulse-card > p { margin-top: 13px; }
.portal-shell-embedded .project-row { grid-template-columns: minmax(250px,1.3fr) minmax(90px,.7fr) auto; padding: 13px 0; }
.portal-shell-embedded .project-row > div strong { font-size: 11px; }
.portal-shell-embedded .project-row > div small { font-size: 9px; }
.portal-shell-embedded .project-row > em { font-size: 7px; }
.portal-trace-card h4 { margin-top: 11px; }
.system-trace { margin-top: 14px; }
.system-trace > div { display: grid; grid-template-columns: 27px 1fr; gap: 10px; align-items: start; padding: 9px 0; border-top: 1px solid var(--line); }
.system-trace i { width: 25px; height: 25px; display: grid; place-items: center; color: var(--cobalt); border: 1px solid rgba(44,98,214,.2); border-radius: 50%; font-size: 8px; font-style: normal; }
.system-trace p { display: flex; flex-direction: column; margin: 0!important; }
.system-trace strong { font-size: 10px; }
.system-trace small { margin-top: 2px; color: var(--text-muted); font-size: 8px; line-height: 1.35; }

.signal-legend { display: flex; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); }
.signal-legend span { display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.5); font-size: 7px; }
.signal-legend span i { width: 6px; height: 6px; border-radius: 50%; background: var(--horizon); }
.signal-legend span:nth-child(2) i { background: #5dd6ba; }
.signal-legend span:nth-child(3) i { background: #f3c969; }
.portal-shell-embedded .opportunity-orbit { height: 180px; }
.portal-shell-embedded .opportunity-orbit span { font-size: 42px; }
.portal-shell-embedded .opportunity-orbit span small { font-size: 10px; }
.portal-dossier > h4 { max-width: 570px; margin-top: 14px; font-size: 23px!important; }
.evidence-columns { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 17px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evidence-columns > div { min-height: 105px; padding: 14px 13px 12px 0; }
.evidence-columns > div + div { padding-left: 13px; border-left: 1px solid var(--line); }
.evidence-columns b { color: var(--cobalt); font-size: 8px; letter-spacing: .1em; }
.evidence-columns p { margin-top: 9px!important; font-size: 10px!important; }
.decision-boundary { display: grid; grid-template-columns: 1fr auto; gap: 4px 18px; margin-top: 15px; padding: 12px; border-left: 3px solid var(--cobalt); background: #f3f6fc; }
.decision-boundary span { grid-column: 1/-1; color: var(--cobalt); font-size: 8px!important; letter-spacing: .1em; }
.decision-boundary strong { font-size: 12px; }
.decision-boundary em { color: var(--text-muted); font-size: 9px; font-style: normal; }
.opportunity-table,.vault-table { margin-top: 14px; }
.opportunity-table > div,.vault-table > div { display: grid; grid-template-columns: 1.4fr .65fr .8fr 1.1fr .65fr; gap: 14px; align-items: center; min-height: 49px; padding: 0 8px; border-top: 1px solid var(--line); }
.opportunity-table .is-head,.vault-table .is-head { min-height: 33px; color: var(--text-muted); background: #f6f7f5; font-size: 8px; letter-spacing: .08em; }
.opportunity-table strong,.vault-table strong { font-size: 10px; }
.opportunity-table span,.opportunity-table em,.opportunity-table b,.vault-table span,.vault-table b { color: var(--text-muted); font-size: 9px; font-style: normal; font-weight: 500; }
.opportunity-table > div:not(.is-head) > span:nth-child(3) { display: grid; grid-template-columns: 1fr auto; gap: 7px; align-items: center; }
.opportunity-table span i { height: 4px; display: block; overflow: hidden; border-radius: 99px; background: linear-gradient(90deg,var(--cobalt) var(--score),#e3e7e5 var(--score)); }
.opportunity-table em { color: #24353d; }

.portal-asset-card .asset-preview { height: 150px; display: grid; place-items: center; }
.portal-asset-card .asset-preview b { width: 39px; height: 39px; display: grid; place-items: center; color: white; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(0,0,0,.28); font-size: 11px; }
.portal-asset-card .asset-preview small { position: absolute; right: 10px; bottom: 8px; z-index: 2; padding: 4px 6px; color: white; border-radius: 3px; background: rgba(0,0,0,.55); font-size: 7px; }
.asset-tags { display: flex; gap: 5px; margin-top: 12px; }
.asset-tags span { padding: 5px 7px; color: var(--cobalt); border: 1px solid rgba(44,98,214,.16); border-radius: 999px; background: #f4f7fd; font-size: 7px; }
.portal-readiness-card > h4 { margin-top: 11px; }
.readiness-chain { display: grid; grid-template-columns: repeat(5,1fr); gap: 5px; margin-top: 18px; }
.readiness-chain > div { position: relative; min-height: 104px; padding: 10px; border: 1px solid var(--line); border-radius: 4px; background: #fafbfa; }
.readiness-chain > div:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 46%; right: -8px; color: var(--cobalt); font-size: 9px; }
.readiness-chain i { width: 23px; height: 23px; display: grid; place-items: center; color: white; border-radius: 50%; background: var(--cobalt); font-size: 7px; font-style: normal; }
.readiness-chain .is-review i { color: #6d4900; background: #f3c969; }
.readiness-chain strong { display: block; margin-top: 14px; font-size: 8px; }
.readiness-chain small { display: block; margin-top: 4px; color: var(--text-muted); font-size: 7px; line-height: 1.3; }
.readiness-result { display: grid; grid-template-columns: 1fr auto; gap: 3px 14px; margin-top: 11px; padding: 10px 12px; background: #fff8e8; }
.readiness-result span { grid-column: 1/-1; color: #8c5f05; font-size: 7px!important; }
.readiness-result strong { font-size: 11px; }
.readiness-result em { color: var(--text-muted); font-size: 8px; font-style: normal; }
.vault-table > div { grid-template-columns: 1.45fr .7fr 1fr 1fr .65fr; }
.vault-table strong { display: flex; align-items: center; gap: 9px; }
.vault-table strong i { width: 30px; height: 27px; display: grid; place-items: center; color: white; border-radius: 3px; background: var(--tidal); font-size: 7px; font-style: normal; }
.vault-table b { justify-self: start; padding: 5px 7px; color: #166534; border-radius: 99px; background: #dcfce7; font-size: 7px; }
.vault-table b.is-review { color: #885d0a; background: #fff1c2; }

.portal-graph-card .node-map { height: 285px; }
.portal-graph-card .node { width: 132px; padding: 10px; font-size: 8px; }
.portal-graph-card .node strong { display: block; margin-top: 4px; font-size: 10px; }
.graph-key { display: flex; gap: 14px; margin-top: 10px; }
.graph-key span { display: flex; align-items: center; gap: 5px; color: var(--text-muted); font-size: 7px; }
.graph-key i { width: 6px; height: 6px; border-radius: 50%; background: #5dd6ba; }
.graph-key span:nth-child(2) i { background: var(--horizon); }
.graph-key span:nth-child(3) i { background: #f3c969; }
.portal-graph-status .metric { font-size: 43px; }
.version-note { margin-top: 14px; padding: 12px; border: 1px solid rgba(44,98,214,.14); background: #f5f8ff; }
.version-note b { color: var(--cobalt); font-size: 8px; }
.version-note p { margin-top: 6px!important; font-size: 9px!important; }

.portal-pipeline-card .pipeline { margin-top: 17px; }
.portal-pipeline-card .pipeline-step { min-height: 100px; }
.portal-pipeline-card .pipeline-step.is-done { background: #f1faf7; border-color: rgba(22,101,52,.16); }
.portal-pipeline-card .pipeline-step.is-done::before { content: "✓"; position: absolute; top: 9px; right: 9px; color: #16704c; font-size: 8px; }
.portal-pipeline-card .pipeline-step strong { font-size: 9px; }
.portal-pipeline-card .pipeline-step small { display: block; margin-top: 4px; font-size: 8px; line-height: 1.3; }
.timeline-preview { display: grid; grid-template-columns: 170px 1fr; gap: 16px; align-items: center; margin-top: 15px; }
.timeline-frame { position: relative; height: 110px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(135deg,#071015 0 45%,#2c62d6 45% 61%,#112f42 61%); }
.timeline-frame i { position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.16); }
.timeline-frame b { color: rgba(255,255,255,.88); font-size: 42px; font-weight: 200; }
.timeline-frame small { position: absolute; right: 7px; bottom: 6px; font-size: 7px; }
.timeline-preview > div:last-child { position: relative; }
.timeline-preview .waveform { height: 76px; margin-top: 0; }
.timeline-preview > div:last-child > span { color: rgba(255,255,255,.42); font-size: 7px; }
.timeline-preview > div:last-child > span:nth-of-type(2) { float: right; }
.timeline-preview > div:last-child > i { position: absolute; top: 0; bottom: 13px; width: 1px; background: #f3c969; box-shadow: 0 0 8px #f3c969; }
.review-focus { display: grid; grid-template-columns: 57px 1fr; gap: 11px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.review-focus > i { align-self: start; padding: 6px; color: #835a08; border-radius: 3px; background: #fff1c2; font-size: 8px; font-style: normal; text-align: center; }
.review-focus p { display: flex; flex-direction: column; margin: 0!important; }
.review-focus strong { font-size: 11px; }
.review-focus small { margin-top: 4px; color: var(--text-muted); font-size: 8px; }
.review-rule { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 10px; color: white; background: var(--tidal-deep); }
.review-rule b { font-size: 8px; }
.review-rule span { color: rgba(255,255,255,.55); font-size: 8px!important; }

.portal-pitch-card .pitch-canvas { min-height: 318px; padding: 22px; }
.portal-pitch-card .pitch-canvas h4 { max-width: 500px; margin-top: 54px; font-size: 36px; }
.portal-pitch-card .pitch-canvas p { max-width: 520px; font-size: 11px; }
.portal-pitch-card .pitch-canvas footer { display: flex; justify-content: space-between; gap: 15px; margin-top: 16px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.14); }
.portal-pitch-card .pitch-canvas footer b { color: rgba(255,255,255,.4); font-size: 7px; letter-spacing: .1em; }
.portal-pitch-card .pitch-canvas footer em { color: var(--brand-blue); font-size: 9px; font-style: normal; }
.lead-identity { display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; margin-top: 16px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.lead-identity > i { width: 42px; height: 42px; display: grid; place-items: center; color: white; border-radius: 5px; background: var(--tidal); font-size: 10px; font-style: normal; }
.lead-identity p { display: flex; flex-direction: column; margin: 0!important; }
.lead-identity strong { font-size: 12px; }
.lead-identity small { margin-top: 3px; color: var(--text-muted); font-size: 8px; }
.lead-identity > b { padding: 6px 8px; color: #166534; border-radius: 99px; background: #dcfce7; font-size: 8px; }
.lead-evidence > div { display: grid; grid-template-columns: 70px 1fr; gap: 9px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.lead-evidence span { color: var(--text-muted); font-size: 7px!important; letter-spacing: .08em; }
.lead-evidence strong { font-size: 10px; font-weight: 550; }
.portal-lead-card .decision-boundary { grid-template-columns: 1fr; }
.publish-check { display: grid; grid-template-columns: repeat(4,1fr) 1.2fr; gap: 6px; margin-top: 14px; }
.publish-check > div { min-height: 108px; padding: 12px; border: 1px solid var(--line); background: #fafbfa; }
.publish-check .is-ready i { width: 25px; height: 25px; display: grid; place-items: center; color: #166534; border-radius: 50%; background: #dcfce7; font-size: 9px; font-style: normal; }
.publish-check p { display: flex; flex-direction: column; margin: 14px 0 0!important; }
.publish-check strong { font-size: 10px; }
.publish-check small { margin-top: 4px; color: var(--text-muted); font-size: 8px; line-height: 1.35; }
.publish-check .publish-final { display: flex; flex-direction: column; justify-content: center; color: white; border-color: transparent; background: linear-gradient(145deg,var(--tidal-deep),#173f58); }
.publish-final span { color: var(--brand-blue); font-size: 7px!important; letter-spacing: .1em; }
.publish-final strong { margin-top: 10px; font-size: 17px; }
.publish-final small { margin-top: 7px; color: rgba(255,255,255,.5); }
.backend-portal-preview .portal-caption { color: rgba(255,255,255,.43); font-size: 9px; }

@media(max-width:1100px) {
  .portal-shell-embedded { grid-template-columns: 215px minmax(0,1fr); }
  .portal-shell-embedded .portal-nav-item { grid-template-columns: 25px 1fr; }
  .portal-shell-embedded .portal-nav-item b { display: none; }
  .portal-shell-embedded .portal-module { padding-inline: 18px; }
  .portal-shell-embedded .module-header { flex-direction: column; gap: 10px; }
  .portal-shell-embedded .module-header p { max-width: 720px; }
  .pulse-grid { grid-template-columns: repeat(2,1fr); }
  .portal-shell-embedded .project-row { grid-template-columns: 1fr auto; }
  .portal-shell-embedded .project-row > i { grid-column: 1/-1; grid-row: 2; }
  .readiness-chain { grid-template-columns: repeat(3,1fr); }
  .readiness-chain > div:not(:last-child)::after { display: none; }
  .publish-check { grid-template-columns: repeat(2,1fr); }
  .publish-check .publish-final { grid-column: 1/-1; min-height: 90px; }
}

@media(max-width:820px) {
  .backend-portal-preview { padding: 8px; }
  .portal-shell-embedded { display: block; }
  .portal-shell-embedded .portal-company-switch,.portal-shell-embedded .portal-system-state { display: none; }
  .portal-shell-embedded .portal-sidebar nav { padding: 8px; }
  .portal-shell-embedded .portal-nav-item { min-width: 170px; }
  .portal-shell-embedded .portal-workspace { height: 820px; }
  .portal-shell-embedded .portal-account-bar { flex-direction: row; }
  .timeline-preview { grid-template-columns: 135px 1fr; }
  .opportunity-table,.vault-table { min-width: 650px; }
  .portal-card:has(.opportunity-table),.portal-card:has(.vault-table) { overflow-x: auto; }
}

@media(max-width:560px) {
  .portal-shell-embedded .portal-toolbar { padding-inline: 10px; }
  .portal-toolbar .portal-path-root,.portal-toolbar > div:first-child > i,.portal-synced { display: none; }
  .portal-shell-embedded .portal-account-bar { align-items: stretch; flex-direction: column; }
  .portal-account-bar > div:last-child { width: 100%; }
  .portal-account-bar button { flex: 1; }
  .portal-shell-embedded .module-header h3 { font-size: 27px; }
  .portal-shell-embedded .module-header p { font-size: 11px; }
  .decision-list > div { grid-template-columns: 21px 7px 1fr; }
  .decision-list em { grid-column: 3; }
  .evidence-columns { grid-template-columns: 1fr; }
  .evidence-columns > div { min-height: 0; padding: 12px 0; }
  .evidence-columns > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .decision-boundary { grid-template-columns: 1fr; }
  .readiness-chain { grid-template-columns: 1fr 1fr; }
  .readiness-result { grid-template-columns: 1fr; }
  .portal-graph-card .node { width: 100px; }
  .timeline-preview { grid-template-columns: 1fr; }
  .timeline-frame { height: 125px; }
  .publish-check { grid-template-columns: 1fr; }
  .publish-check .publish-final { grid-column: auto; }
  .backend-portal-preview .portal-caption span:last-child { display: none; }
}

.output { background: linear-gradient(140deg, white, var(--pearl)); }
.output-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; align-items: center; }
.output-copy h2 { margin: 55px 0 27px; font-size: clamp(56px,6.7vw,104px); line-height: .96; }
.output-copy > p { max-width: 480px; color: var(--text-soft); font-size: 16px; }
.output-list { margin-top: 42px; border-top: 1px solid var(--line); }
.output-list div { display: grid; grid-template-columns: 38px 1fr; gap: 8px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.output-list span { color: var(--cobalt); font-size: 8px; }
.output-list strong { font-size: 12px; font-weight: 500; }
.output-film { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--graphite); border-radius: var(--radius-hero); box-shadow: 0 28px 70px rgba(16,39,53,.18); }
.output-film video { width: 100%; height: 100%; object-fit: cover; }
.output-film-overlay { position: absolute; inset: 0; padding: 17px; display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%); color: white; }
.output-film-overlay > div:first-child { display: flex; justify-content: space-between; font-size: 7px; letter-spacing: .12em; }
.output-film-overlay button { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100px; height: 100px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: white; background: rgba(0,0,0,.28); backdrop-filter: blur(8px); }
.output-film-overlay button i { display: block; font-style: normal; font-size: 17px; }
.output-film-overlay button span { display: block; margin-top: 7px; font-size: 7px; letter-spacing: .1em; }
.film-progress { position: absolute; inset: auto 17px 13px; height: 2px; background: rgba(255,255,255,.18); }
.film-progress i { display: block; width: 0; height: 100%; background: var(--brand-blue); }

.leaders { background: var(--mist); }
.leader-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(7px,1.25vw,18px); margin-top:70px; }
.leader-card { display: block; }
.leader-visual { position: relative; width: 100%; height: auto; aspect-ratio: 4/5; overflow: hidden; border-radius: var(--radius-hero); display: grid; place-items: center; color: white; transition: transform 450ms var(--ease), box-shadow 450ms; }
.leader-card:hover .leader-visual { transform: translateY(-8px); box-shadow: 0 28px 60px rgba(16,39,53,.16); }
.leader-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg,rgba(5,6,7,.52),transparent 46%); pointer-events: none; }
.leader-visual > img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: filter 450ms; }
.leader-card:hover .leader-visual > img { filter: saturate(1.05); }
.leader-visual > span { position: relative; z-index: 2; font-size: 94px; font-weight: 200; letter-spacing: 0; }
.leader-visual > small { position: absolute; z-index: 2; left: 16px; top: 14px; font-size: 7px; letter-spacing: .12em; }
.leader-visual > i { position: absolute; z-index: 2; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; pointer-events: none; }
.leader-visual > i::after { content: ""; position: absolute; inset: 55px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.leader-danny { background: radial-gradient(circle at 70% 25%, rgba(86,166,204,.8), transparent 30%), linear-gradient(145deg,var(--tidal-deep),var(--tidal)); }
.leader-charlie { background: radial-gradient(circle at 30% 20%, rgba(120,166,255,.75), transparent 32%), linear-gradient(145deg,#0c0f14,#20252e); }
.leader-meta { display: flex; justify-content: space-between; align-items: end; margin-top: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.leader-meta > div { display: flex; flex-direction: column; }
.leader-meta span { color: var(--cobalt); font-size: 8px; letter-spacing: .1em; }
.leader-meta h3 { margin: 4px 0 0; font-size: 33px; }
.leader-meta b { color: var(--text-muted); font-size: 8px; font-weight: 500; letter-spacing: .09em; }
.leader-card > p { max-width: 460px; color: var(--text-soft); font-size: 12px; }

.why { min-height: 900px; display: grid; place-items: center; text-align: center; isolation: isolate; background: radial-gradient(circle at 50% 15%, rgba(58,70,88,.7), transparent 45%), linear-gradient(180deg,var(--graphite),#050607); }
.night-stars { position: absolute; inset: 0; z-index: -1; opacity: .45; background-image: radial-gradient(circle at 20% 25%,white 0 1px,transparent 1.5px), radial-gradient(circle at 80% 35%,white 0 1px,transparent 1.5px), radial-gradient(circle at 65% 70%,var(--brand-blue) 0 1px,transparent 1.5px), radial-gradient(circle at 35% 80%,white 0 1px,transparent 1.5px); background-size: 310px 280px, 430px 360px, 520px 420px, 600px 500px; animation: starDrift 25s linear infinite; }
.why-inner { max-width: 1140px; position: relative; z-index: 2; }
.why-inner .scene-label { justify-content: center; }
.why-kicker { margin: 70px 0 18px; color: var(--brand-blue); font-size: 15px; }
.why h2 { margin: 0; font-size: clamp(56px,7.8vw,120px); line-height: .96; }
.why h2 + p { max-width: 630px; margin: 35px auto; color: rgba(255,255,255,.65); font-size: 17px; line-height: 1.7; }

.reach { background: white; }
.reach-heading { display: grid; grid-template-columns: 1fr .55fr; gap: 8vw; align-items: end; margin-top: 55px; }
.reach-heading h2 { margin: 0; font-size: clamp(58px,7vw,108px); line-height: .94; }
.reach-heading p { max-width: 370px; margin: 0 0 8px; color: var(--text-soft); font-size: 16px; }
.reach-tabs { display: flex; margin-top: 70px; border-bottom: 1px solid var(--line); }
.reach-tab { padding: 14px 0; margin-right: 30px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-muted); font-size: 10px; font-weight: 500; }
.reach-tab.is-active { color: var(--text); border-color: var(--cobalt); }
.reach-panel { display: none; padding-top: 45px; }
.reach-panel.is-active { display: grid; animation: panelIn 450ms var(--ease) both; }
.reach-panel[data-reach-panel="contact"] { grid-template-columns: .72fr 1.28fr; gap: 7vw; }
.panel-kicker { color: var(--cobalt); font-size: 8px; font-weight: 500; letter-spacing: .12em; }
.contact-card h3, .form-heading h3 { margin: 18px 0 30px; font-size: clamp(34px,4vw,57px); line-height: 1.05; }
.contact-card { display: flex; flex-direction: column; align-items: flex-start; padding-top: 25px; }
.contact-card > a { width: 100%; padding: 12px 0; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 17px; }
.contact-card > a span { color: var(--cobalt); }
.contact-card > small { margin-top: 22px; color: var(--text-muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.map-card { position: relative; min-height: 410px; overflow: hidden; color: var(--tidal-deep); background: #e7f1f4; border: 1px solid var(--line); border-radius: var(--radius-hero); }
.map-grid { position: absolute; inset: -30%; opacity: .55; background-image: linear-gradient(25deg,transparent 49.5%,rgba(16,58,86,.22) 49.8%,transparent 50.3%),linear-gradient(110deg,transparent 49.5%,rgba(16,58,86,.18) 49.8%,transparent 50.3%),linear-gradient(0deg,transparent 49.5%,rgba(16,58,86,.15) 49.8%,transparent 50.3%); background-size: 135px 90px; transform: rotate(-10deg) scale(1.2); }
.map-label { position: absolute; color: rgba(16,58,86,.5); font-size: 8px; letter-spacing: .14em; }
.label-hudson { top: 17%; right: 15%; }.label-brooklyn { left: 14%; bottom: 15%; }
.map-path { position: absolute; height: 1px; background: var(--cobalt); box-shadow: 0 0 10px rgba(44,98,214,.4); transform-origin: left; }
.path-a { width: 56%; left: 12%; top: 43%; transform: rotate(-17deg); }.path-b { width: 38%; left: 39%; top: 65%; transform: rotate(23deg); }
.map-pin { position: absolute; left: 53%; top: 45%; width: 36px; height: 36px; display: grid; place-items: center; color: white; background: var(--cobalt); border: 4px solid rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 0 0 9px rgba(44,98,214,.14); animation: mapPulse 2s ease-in-out infinite; }
.map-pin span { font-size: 10px; }
.map-coordinates { position: absolute; right: 17px; bottom: 15px; text-align: right; font-size: 9px; font-weight: 500; letter-spacing: .1em; }
.map-coordinates small { color: rgba(16,58,86,.58); font-size: 7px; }
.schedule-form, .quote-builder { max-width: 1180px; width: 100%; }
.form-heading p { max-width: 500px; color: var(--text-soft); }
.date-row, .time-row { display: flex; gap: 8px; margin: 28px 0; }
.date-choice { width: 80px; height: 88px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 6px; background: white; }
.date-choice span, .date-choice small { font-size: 7px; letter-spacing: .1em; }
.date-choice strong { font-size: 28px; font-weight: 300; }
.date-choice.is-active { color: white; background: var(--tidal-deep); border-color: var(--tidal-deep); }
.time-row { padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.time-choice { padding: 9px 12px; border: 1px solid var(--line); border-radius: 5px; background: white; font-size: 9px; }
.time-choice.is-active { color: white; background: var(--cobalt); border-color: var(--cobalt); }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 30px 0; }
.form-fields label { display: flex; flex-direction: column; gap: 6px; color: var(--text-muted); font-size: 8px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.form-fields label:last-child { grid-column: 1/-1; }
.form-fields input, .form-fields textarea { padding: 11px 0; border: 0; border-bottom: 1px solid var(--line); outline: 0; color: var(--text); background: transparent; resize: vertical; }
.form-fields input:focus, .form-fields textarea:focus { border-color: var(--cobalt); }
.form-success { color: #166534; font-size: 10px; }
.quote-options { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 30px; }
.quote-option { min-height: 160px; padding: 15px; display: flex; flex-direction: column; align-items: flex-start; text-align: left; border: 1px solid var(--line); border-radius: 8px; background: var(--mist); transition: transform 160ms, background 160ms, color 160ms; }
.quote-option:hover { transform: translateY(-4px); }
.quote-option.is-selected { color: white; background: var(--tidal-deep); border-color: var(--tidal-deep); }
.quote-option > span { color: var(--cobalt); font-size: 9px; }
.quote-option.is-selected > span { color: var(--brand-blue); }
.quote-option strong { margin-top: auto; font-size: 18px; font-weight: 400; }
.quote-option small { margin-top: 7px; color: var(--text-muted); font-size: 8px; }
.quote-option.is-selected small { color: rgba(255,255,255,.6); }
.quote-addons { display: flex; flex-wrap: wrap; gap: 18px; padding: 22px 0; margin: 25px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.quote-addons label { font-size: 10px; }
.quote-addons input { accent-color: var(--cobalt); margin-right: 6px; }
.quote-addons span { margin-left: 5px; color: var(--text-muted); }
.quote-total { display: flex; align-items: end; gap: 30px; }
.quote-total > div { display: flex; flex-direction: column; gap: 4px; }
.quote-total > div:first-child { margin-right: auto; }
.quote-total span { color: var(--text-muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.quote-total strong { font-size: 23px; font-weight: 300; }
.site-footer { min-height: 90px; padding: 20px var(--page); display: flex; align-items: center; justify-content: space-between; gap: 25px; color: rgba(255,255,255,.46); background: var(--ink); font-size: 9px; letter-spacing: .08em; }
.site-footer .wordmark { color: white; }

@keyframes livePulse { 0% { transform: scale(.5); opacity: 1; } 80%,100% { transform: scale(2.2); opacity: 0; } }
@keyframes breathe { 0%,100% { transform: scale(.95) translate(0,0); opacity: .65; } 50% { transform: scale(1.08) translate(-3%,4%); opacity: 1; } }
@keyframes radarPulse { from { transform: scale(.65); opacity: .8; } to { transform: scale(1.35); opacity: 0; } }
@keyframes radarSweep { to { transform: rotate(360deg); } }
@keyframes panelIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes barIn { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes growX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes wave { 0%,100% { transform: scaleY(.45); } 50% { transform: scaleY(1); } }
@keyframes starDrift { to { background-position: 40px 30px, -50px 20px, 30px -40px, -30px 50px; } }
@keyframes mapPulse { 0%,100% { box-shadow: 0 0 0 7px rgba(44,98,214,.12); } 50% { box-shadow: 0 0 0 14px rgba(44,98,214,.04); } }

@supports (animation-timeline: scroll()) {
  .page-progress i { animation: scrollProgress linear both; animation-timeline: scroll(root); }
  .brand-film { animation: filmScroll linear both; animation-timeline: view(); animation-range: entry 0% cover 70%; }
  @keyframes scrollProgress { to { transform: scaleX(1); } }
  @keyframes filmScroll { from { transform: translateY(50px) scale(.94); } to { transform: none; } }
}

@media (max-width: 1100px) {
  .portal-shell { grid-template-columns: 190px 1fr; }
  .portal-nav-item { grid-template-columns: 24px 1fr; }
  .portal-nav-item b { display: none; }
  .system-visual { grid-template-columns: .8fr 1.2fr; padding: 4vw; }
  .span-3 { grid-column: span 6; }
  .quote-options { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
  .site-header { height: 68px; }
  .main-nav, .header-cta { display: none; }
  .menu-toggle { display: block; }
  .main-nav.is-open { position: absolute; top: 68px; left: 0; right: 0; height: calc(100vh - 68px); padding: 35px 22px; display: flex; flex-direction: column; gap: 8px; color: white; background: rgba(5,6,7,.98); }
  .main-nav.is-open a { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 20px; }
  .section-pad { padding-top: 95px; padding-bottom: 95px; }
  .hero { padding-top: 110px; min-height: auto; }
  .hero-grid, .president-grid, .opportunity-intro, .section-heading, .service-board, .portal-heading, .output-grid, .reach-heading, .reach-panel[data-reach-panel="contact"] { grid-template-columns: 1fr; }
  .hero-grid { gap: 60px; }
  .hero-copy h1 { font-size: clamp(58px,15vw,100px); white-space: normal; }
  .brand-film { width: 105%; margin-left: -2.5%; }
  .president-photo img { min-height: 480px; }
  .opportunity-intro { gap: 28px; }
  .outcome-rail { grid-template-columns: 1fr; margin-top: 55px; }
  .outcome-card { min-height: 220px; }
  .outcome-card h3 { margin-top: 50px; }
  .system-console { grid-template-columns: 1fr; }
  .system-tabs { display: grid; grid-template-columns: repeat(3,1fr); border-right: 0; border-bottom: 1px solid var(--line); }
  .system-tab { min-height: 120px; display: block; padding: 15px; border-right: 1px solid var(--line); }
  .system-tab span, .system-tab strong, .system-tab small { display: block; }
  .system-tab strong { margin: 8px 0 3px; font-size: 18px; }
  .system-tab.is-active { box-shadow: inset 0 3px var(--cobalt); }
  .system-visual { grid-template-columns: 1fr; padding: 35px 24px; }
  .system-radar { max-width: 330px; width: 80%; margin: auto; }
  .service-board { gap: 35px; }
  .portal-shell { display: block; width: 100%; height: auto; }
  .portal-sidebar { display: block; width: 100%; min-width: 0; overflow: hidden; }
  .portal-brand, .portal-user { display: none; }
  .portal-sidebar nav { width: 100%; flex-direction: row; overflow-x: auto; padding: 10px; }
  .portal-nav-item { flex: 0 0 auto; min-width: 150px; grid-template-columns: 22px 1fr; }
  .portal-workspace { width: 100%; min-width: 0; height: 680px; }
  .portal-caption { display: block; line-height: 1.8; }
  .portal-caption span { display: block; }
  .output-film { order: -1; }
  .leader-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .why { min-height: 780px; }
  .reach-panel[data-reach-panel="contact"] { gap: 45px; }
}

@media (max-width: 560px) {
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .hero-copy h1 { max-width: 100%; font-size: clamp(43px, 12vw, 58px); line-height: .98; letter-spacing: 0; text-wrap: wrap; }
  .section-heading h2, .opportunity-intro h2, .portal-heading h2, .output-copy h2, .why h2, .reach-heading h2 { font-size: clamp(48px,14vw,76px); }
  .president-copy h2 { font-size: 46px; }
  .president-photo img { min-height: 410px; }
  .president-photo figcaption { align-items: flex-start; flex-direction: column; gap: 4px; }
  .system-tabs { grid-template-columns: 1fr; }
  .system-tab { min-height: 84px; display: grid; }
  .system-visual { padding: 27px 18px; }
  .service-panel { min-height: 520px; }
  .deliverable-grid { grid-template-columns: 1fr; }
  .portal { padding-left: 10px; padding-right: 10px; }
  .portal > .scene-label, .portal-heading, .portal-caption { margin-left: 10px; margin-right: 10px; }
  .portal-toolbar { padding: 0 10px; }
  .portal-live, .avatar-stack { display: none; }
  .portal-module { padding: 12px; }
  .module-header { align-items: flex-start; flex-direction: column; }
  .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9 { grid-column: 1/-1; }
  .portal-workspace { height: 800px; }
  .pipeline { grid-template-columns: 1fr; }
  .pipeline-step::after { content: "↓"; top: auto; right: 50%; bottom: -10px; }
  .node-map { height: 260px; }
  .leader-visual { height: auto; }
  .reach-tabs { overflow-x: auto; white-space: nowrap; }
  .quote-options { grid-template-columns: 1fr; }
  .quote-option { min-height: 120px; }
  .quote-total { align-items: stretch; flex-direction: column; }
  .quote-total > div:first-child { margin-right: 0; }
  .form-fields { grid-template-columns: 1fr; }
  .form-fields label:last-child { grid-column: auto; }
  .site-footer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: 120ms !important; }
  .signal-canvas { display: none; }
}

/* --------------------------------------------------------------------------
   Depth pass: Paper warmth, heavier headline beats, cinematic media systems
   -------------------------------------------------------------------------- */
:root {
  --warm-paper: #fcf6ec;
  --warm-canvas: #f6efe6;
  --warm-deep: #ebd4b4;
  --warm-glow: #f7e3c4;
  --warm-ink: #2a1f14;
  --warm-soft: #6d5844;
}

h1 strong, h2 strong, h3 strong { font-weight: 800; letter-spacing: 0; }
.scene-paper { background: var(--warm-paper); }
.system { background: linear-gradient(145deg, var(--warm-paper), #f3e9dd); }
.services { background: #fffaf4; }
.output { background: radial-gradient(circle at 60% 15%, #fff, transparent 34%), linear-gradient(145deg, var(--warm-paper), #f0e4d7); }
.leaders { background: #f3eadf; }
.reach { background: #fffaf5; }

/* Broadcast instrument / opening film */
.broadcast-rig { position: relative; display: grid; grid-template-columns: 55px minmax(0,1fr) 42px; align-items: stretch; }
.broadcast-spine, .broadcast-meter { position: relative; z-index: 4; min-width: 0; border: 1px solid rgba(184,239,255,.28); background: rgba(7,11,14,.88); backdrop-filter: blur(16px); }
.broadcast-spine { border-right: 0; border-radius: 12px 0 0 12px; display: flex; flex-direction: column; align-items: center; padding: 13px 0; }
.broadcast-spine > span { color: var(--brand-blue); font-size: 12px; font-weight: 700; }
.broadcast-spine > i { width: 1px; flex: 1; margin: 13px 0; background: linear-gradient(transparent, rgba(184,239,255,.65), transparent); }
.broadcast-spine > small { color: rgba(255,255,255,.42); font-size: 6px; line-height: 1.5; letter-spacing: .14em; writing-mode: vertical-rl; transform: rotate(180deg); }
.broadcast-spine > b { margin-top: 13px; color: rgba(255,255,255,.25); font-size: 7px; }
.broadcast-meter { border-left: 0; border-radius: 0 12px 12px 0; padding: 13px 9px; display: flex; flex-direction: column; align-items: center; }
.broadcast-meter > span { color: var(--success); font-size: 6px; letter-spacing: .1em; }
.broadcast-meter > div { flex: 1; display: flex; flex-direction: column-reverse; justify-content: center; gap: 5px; }
.broadcast-meter i { display: block; width: 16px; height: 3px; background: rgba(184,239,255,.18); animation: meterLive 1.1s ease-in-out infinite; }
.broadcast-meter i:nth-child(2n) { animation-delay: -.28s; }.broadcast-meter i:nth-child(3n) { animation-delay: -.57s; }
.broadcast-meter > small { color: rgba(255,255,255,.28); font-size: 5px; writing-mode: vertical-rl; }
.brand-film .film-shell { aspect-ratio: 16/9; border-radius: 0; transform: none; box-shadow: 0 35px 100px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.04); }
.brand-film:hover .film-shell { transform: translateY(-3px); }
.film-word { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; padding-right: 6%; pointer-events: none; mix-blend-mode: difference; }
.film-word span { color: white; font-size: clamp(26px,4.3vw,68px); font-weight: 800; line-height: .76; letter-spacing: 0; opacity: .2; transform: translateX(12%); animation: filmWord 6s var(--ease) infinite; }
.film-word span:nth-child(2) { animation-delay: .12s; }.film-word span:nth-child(3) { animation-delay: .24s; }
.film-chapters { position: absolute; z-index: 3; left: 18px; right: 18px; bottom: 47px; display: grid; grid-template-columns: repeat(5,1fr) auto; gap: 4px; align-items: center; }
.film-chapters i { height: 2px; background: rgba(255,255,255,.2); }
.film-chapters i.is-active { background: var(--brand-blue); box-shadow: 0 0 12px rgba(184,239,255,.7); animation: chapterGrow 5.97s linear infinite; transform-origin: left; }
.film-chapters span { margin-left: 7px; color: rgba(255,255,255,.45); font-size: 5px; letter-spacing: .12em; }
.film-concept { display: grid; grid-template-columns: 30px 1fr auto; gap: 12px; margin: 17px 55px 0; color: rgba(255,255,255,.55); font-size: 8px; align-items: center; }
.film-concept span { color: var(--brand-blue); }.film-concept strong { color: rgba(255,255,255,.78); font-weight: 500; }.film-concept small { color: rgba(255,255,255,.3); }

/* Warm, horizontal president transmission */
.president { color: var(--warm-ink); background: radial-gradient(circle at 78% 20%, rgba(235,212,180,.75), transparent 32%), linear-gradient(145deg, #fffaf2, #f2e5d6); }
.president-stage { position: relative; margin-top: 58px; }
.president-photo { height: clamp(430px,48vw,690px); overflow: hidden; border-radius: var(--radius-hero); background: var(--warm-deep); box-shadow: 0 30px 75px rgba(92,65,37,.14); }
.president-photo::before { inset: 16px; z-index: 2; border-color: rgba(247,227,196,.55); pointer-events: none; }
.president-photo img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 33%; border-radius: 0; filter: sepia(.15) saturate(.78) contrast(1.04); transform: scale(1.015); }
.president-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(42,31,20,.06), transparent 45%), linear-gradient(0deg, rgba(42,31,20,.62), transparent 35%); pointer-events: none; }
.president-photo figcaption { z-index: 4; inset: auto 28px 28px; max-width: 430px; background: rgba(42,31,20,.62); border-color: rgba(247,227,196,.28); }
.portrait-data { position: absolute; z-index: 4; right: 28px; top: 28px; display: flex; gap: 6px; }
.portrait-data span { padding: 6px 8px; color: rgba(255,255,255,.68); border: 1px solid rgba(255,255,255,.2); border-radius: 4px; background: rgba(42,31,20,.34); backdrop-filter: blur(10px); font-size: 6px; letter-spacing: .1em; }
.portrait-scan { position: absolute; z-index: 3; inset: 0; overflow: hidden; pointer-events: none; }
.portrait-scan > i { position: absolute; background: rgba(247,227,196,.42); }
.portrait-scan > i:nth-child(1) { width: 1px; height: 70%; left: 33%; top: 10%; }.portrait-scan > i:nth-child(2) { width: 55%; height: 1px; left: 8%; top: 44%; }.portrait-scan > i:nth-child(3) { width: 80px; height: 80px; left: calc(33% - 40px); top: calc(44% - 40px); border: 1px solid rgba(247,227,196,.5); border-radius: 50%; background: transparent; animation: portraitTarget 3s ease-in-out infinite; }
.portrait-scan > span { position: absolute; left: calc(33% + 10px); top: calc(44% + 9px); color: rgba(255,255,255,.6); font-size: 6px; letter-spacing: .12em; }
.president-copy { position: relative; z-index: 6; width: min(1080px,88%); max-width: none; margin: -115px auto 0; padding: clamp(32px,4vw,58px); overflow: hidden; border: 1px solid rgba(109,88,68,.16); border-radius: 18px; background: linear-gradient(135deg,rgba(255,253,248,.97),rgba(255,248,239,.93)); backdrop-filter: blur(22px); box-shadow: 0 25px 70px rgba(92,65,37,.12); }
.president-copy::after { content: "NU / 02"; position: absolute; right: 24px; top: 22px; color: rgba(44,98,214,.28); font-size: 7px; letter-spacing: .14em; }
.president-copy h2 { max-width: 900px; margin: 14px 0 34px; font-size: clamp(40px,4.25vw,68px); line-height: 1.02; }
.president-copy h2 strong { color: var(--cobalt); }
.message-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 8px; border-top: 1px solid rgba(109,88,68,.16); border-bottom: 1px solid rgba(109,88,68,.16); }
.message-columns article { min-height: 190px; padding: 26px 34px 28px 0; }
.message-columns article + article { padding-left: 34px; border-left: 1px solid rgba(109,88,68,.16); }
.message-columns span { display: block; margin-bottom: 34px; color: var(--cobalt); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.message-columns p { max-width: 410px; margin: 0; color: var(--warm-soft); font-size: 14px; line-height: 1.7; }
.elevator-pitch { display: grid; grid-template-columns: 165px 1fr; gap: 24px; align-items: start; margin: 0; padding: 24px 0 28px; border-top: 1px solid rgba(109,88,68,.18); }
.elevator-pitch span { color: var(--cobalt); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.elevator-pitch p { max-width: 760px; margin: 0; color: var(--warm-ink); font-size: clamp(17px,1.45vw,22px); font-weight: 600; line-height: 1.42; }
.president-copy .quote-mark { color: #c68451; }
.president-copy-footer { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-top: 24px; }
.president-copy-footer .signature-lockup { margin: 0; }
.president-copy-footer .ink-link { margin: 0; }

/* Each service has a genuinely different visual scene. */
.service-panel { min-height: 680px; display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: auto 1fr auto auto; gap: 0 34px; }
.service-panel-top { grid-column: 1/-1; }
.service-scene { position: relative; grid-row: 2/4; min-height: 410px; margin-top: 25px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; background: rgba(4,8,12,.58); }
.service-story { align-self: end; padding-top: 35px; }
.service-panel h3 { margin: 0 0 20px; font-size: clamp(39px,4.4vw,67px); }
.service-panel > p { margin: 0; }
.service-panel .deliverable-grid { grid-column: 2; margin: 25px 0; }
.service-panel > .ink-link { grid-column: 2; justify-self: start; }
.service-scene::after { content: "INTERACTIVE SERVICE MODEL"; position: absolute; left: 12px; bottom: 10px; color: rgba(255,255,255,.25); font-size: 5px; letter-spacing: .13em; }
.strategy-map { position: absolute; inset: 10%; }
.strategy-map i { position: absolute; border: 1px solid rgba(184,239,255,.22); border-radius: 50%; }.strategy-map i:nth-child(1){inset:3%}.strategy-map i:nth-child(2){inset:20%}.strategy-map i:nth-child(3){inset:37%}
.strategy-map b { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-blue); box-shadow: 0 0 18px var(--brand-blue); }.strategy-map b:nth-of-type(1){left:16%;top:28%}.strategy-map b:nth-of-type(2){right:18%;top:17%;background:var(--success)}.strategy-map b:nth-of-type(3){right:23%;bottom:19%;background:var(--warning)}
.strategy-map span { position: absolute; inset: 0; display: grid; place-items: center; color: white; font-size: 30px; font-weight: 800; }
.identity-stage { position:absolute; inset:0; display:grid; grid-template-columns:1.25fr .75fr; }
.identity-type { display:flex; flex-direction:column; justify-content:center; padding:22px; }
.identity-type span { font-size: clamp(40px,5vw,72px); font-weight:800; letter-spacing:0; line-height:.75; }
.identity-type span:nth-child(2){color:var(--brand-blue)}
.identity-swatches { display:grid; grid-template-rows:repeat(4,1fr); }.identity-swatches i:nth-child(1){background:#b8efff}.identity-swatches i:nth-child(2){background:#2c62d6}.identity-swatches i:nth-child(3){background:#fcf6ec}.identity-swatches i:nth-child(4){background:#050607}
.content-reel { position:absolute; inset:18px; display:grid; grid-template-rows:1fr auto; gap:10px; }.content-frame{position:relative;overflow:hidden;border-radius:6px;background:linear-gradient(135deg,#b8efff 0 37%,#050607 37% 72%,#1c5c88 72%)}.content-frame::after{content:"MAKE IT MOVE";position:absolute;left:14px;bottom:8px;color:white;font-size:24px;font-weight:800;letter-spacing:0}.content-timeline{height:64px;padding:9px;display:flex;gap:3px;align-items:end;border:1px solid rgba(255,255,255,.1)}.content-timeline i{flex:1;background:var(--horizon);animation:wave 1.4s ease-in-out infinite}
.browser-demo { position:absolute; inset:16px; overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#fff;color:var(--text)}.browser-demo-top{height:30px;padding:0 10px;display:flex;align-items:center;gap:5px;background:#edf3f4}.browser-demo-top i{width:6px;height:6px;border-radius:50%;background:#78a6ff}.browser-demo-screen{display:grid;grid-template-columns:.55fr .45fr;height:calc(100% - 30px)}.browser-demo-copy{padding:24px 16px}.browser-demo-copy span{font-size:7px;color:var(--cobalt)}.browser-demo-copy strong{display:block;margin-top:13px;font-size:27px;line-height:.92}.browser-demo-art{background:linear-gradient(145deg,#103a56,#56a6cc);position:relative}.browser-demo-art::after{content:"N";position:absolute;right:-5px;bottom:-38px;color:#b8efff;font-size:150px;font-weight:800}
.growth-dashboard{position:absolute;inset:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.growth-metric{padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:6px}.growth-metric span{display:block;color:rgba(255,255,255,.45);font-size:6px}.growth-metric strong{display:block;margin-top:15px;font-size:27px;font-weight:300}.growth-chart{grid-column:1/-1;padding:12px;display:flex;align-items:end;gap:4px;border:1px solid rgba(255,255,255,.12);border-radius:6px}.growth-chart i{flex:1;background:linear-gradient(var(--brand-blue),var(--cobalt));animation:barIn 650ms var(--ease) both}

/* Portal navigation detail and click-to-explain layer. */
.portal-nav-item { min-height: 50px; }
.portal-nav-item > span { display: flex; flex-direction: column; gap: 1px; }
.portal-nav-item > span strong { font-size: 9px; font-weight: 500; }.portal-nav-item > span small { color: rgba(255,255,255,.28); font-size: 6px; }
.portal-nav-item.is-active > span small { color: rgba(184,239,255,.62); }
.portal-workspace { position: relative; }
.portal-card { cursor: pointer; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.portal-card:hover, .portal-card:focus-visible { transform: translateY(-2px); border-color: rgba(44,98,214,.4); box-shadow: 0 12px 28px rgba(16,39,53,.09); outline: 0; }
.portal-card::after { content: "TAP TO EXPLAIN ↗"; position: absolute; right: 9px; top: 9px; color: rgba(44,98,214,.55); font-size: 5px; letter-spacing: .08em; opacity: 0; transition: opacity 160ms; }
.portal-card:hover::after, .portal-card:focus-visible::after { opacity: 1; }
.portal-explainer { position: absolute; z-index: 20; width: min(310px,calc(100% - 24px)); padding: 20px; color: white; background: rgba(12,15,20,.96); border: 1px solid rgba(184,239,255,.32); border-radius: 8px; box-shadow: 0 25px 70px rgba(0,0,0,.32); backdrop-filter: blur(18px); animation: explainerIn 240ms var(--ease) both; }
.portal-explainer > button { position: absolute; right: 9px; top: 8px; width: 27px; height: 27px; color: white; border: 1px solid rgba(255,255,255,.18); border-radius: 4px; background: transparent; }
.portal-explainer > span { color: var(--brand-blue); font-size: 6px; letter-spacing: .13em; }.portal-explainer h4 { margin: 12px 25px 9px 0; font-size: 20px; font-weight: 500; letter-spacing: 0; }.portal-explainer p { margin: 0; color: rgba(255,255,255,.66); font-size: 10px; line-height: 1.55; }.portal-explainer small { display: block; margin-top: 14px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.34); font-size: 6px; letter-spacing: .08em; }

/* Output as a connected living system. */
.output-heading { display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-top:55px }.output-heading h2{margin:0;font-size:clamp(58px,7vw,110px);line-height:.94}.output-heading h2 strong{color:var(--cobalt)}.output-heading p{max-width:450px;margin:0 0 10px;color:var(--warm-soft);font-size:16px;line-height:1.7}
.output-system { position:relative; min-height:820px; margin-top:70px; border:1px solid rgba(109,88,68,.16); border-radius:20px; background:radial-gradient(circle at 50% 50%,rgba(120,166,255,.12),transparent 28%),rgba(255,255,255,.55); overflow:hidden }
.output-system::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(44,98,214,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(44,98,214,.055) 1px,transparent 1px);background-size:42px 42px}
.output-film { position:absolute;z-index:4;left:50%;top:50%;width:min(62%,760px);aspect-ratio:16/9;transform:translate(-50%,-50%); }
.output-node { position:absolute;z-index:5;width:190px;padding:15px;border:1px solid rgba(44,98,214,.2);border-radius:8px;background:rgba(255,250,244,.9);box-shadow:0 14px 36px rgba(92,65,37,.1);backdrop-filter:blur(14px) }
.output-node > span{color:var(--cobalt);font-size:7px}.output-node > i{float:right;color:var(--cobalt);font-style:normal;font-size:19px}.output-node > strong{display:block;margin-top:25px;font-size:13px}.output-node > small{display:block;margin-top:4px;color:var(--text-muted);font-size:8px}.node-story{left:4%;top:8%}.node-brand{right:4%;top:8%}.node-work{left:4%;bottom:8%}.node-system{right:4%;bottom:8%}
.output-connectors{position:absolute;z-index:2;inset:10%;border:1px solid rgba(44,98,214,.13);border-radius:50%}.output-connectors::before{content:"";position:absolute;inset:18%;border:1px solid rgba(44,98,214,.12);border-radius:50%}.output-connectors i{position:absolute;width:38%;height:1px;background:linear-gradient(90deg,var(--cobalt),transparent);transform-origin:left}.output-connectors i:nth-child(1){left:9%;top:15%;transform:rotate(32deg)}.output-connectors i:nth-child(2){right:9%;top:15%;transform:rotate(148deg);transform-origin:right}.output-connectors i:nth-child(3){left:9%;bottom:15%;transform:rotate(-32deg)}.output-connectors i:nth-child(4){right:9%;bottom:15%;transform:rotate(-148deg);transform-origin:right}.output-connectors span{position:absolute;left:50%;top:50%;width:46px;height:46px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;color:white;background:var(--cobalt);box-shadow:0 0 35px rgba(44,98,214,.38);font-size:12px}
.output-ticker{display:flex;justify-content:center;gap:24px;margin-top:28px;color:var(--warm-soft);font-size:8px;letter-spacing:.13em}.output-ticker i{color:var(--cobalt);font-style:normal}

/* Why NuCulture: emotional scale + kinetic letter system. */
.why { min-height: 1450px; padding-top: 150px; padding-bottom: 150px; }
.why-inner { max-width: 1400px; width:100%; }
.why-kicker { margin-top:90px; }
.why h2 { font-size:clamp(55px,7.5vw,115px); }.why h2 strong{color:white}.why h2 em{font-weight:200}
.kinetic-word { display:flex;justify-content:center;margin:110px -2vw 40px;perspective:1000px; }
.kinetic-word span { position:relative;color:transparent;-webkit-text-stroke:1px rgba(184,239,255,.38);font-size:clamp(90px,15vw,240px);font-weight:800;line-height:.72;letter-spacing:0;transform-origin:center;animation:letterFloat 5s var(--ease) infinite; }
.kinetic-word span:nth-child(2){animation-delay:-.7s}.kinetic-word span:nth-child(3){animation-delay:-1.4s}.kinetic-word span:nth-child(4){animation-delay:-2.1s}.kinetic-word span:nth-child(5){animation-delay:-2.8s}.kinetic-word span:nth-child(6){animation-delay:-3.5s}
.kinetic-word span::after{content:attr(data-letter);position:absolute;inset:0;color:transparent;background:linear-gradient(120deg,transparent 15%,var(--brand-blue) 42%,white 50%,var(--horizon) 58%,transparent 82%);background-size:260% 100%;background-position:180% 0;background-clip:text;-webkit-background-clip:text;animation:letterSignal 4.5s linear infinite}
.why-statement{max-width:760px;margin:55px auto!important;color:rgba(255,255,255,.72)!important;font-size:clamp(20px,2.3vw,34px)!important;line-height:1.45!important}
.why-beats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:70px 0}.why-beats article{min-height:230px;padding:24px;text-align:left;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(255,255,255,.035);backdrop-filter:blur(8px);transition:transform 240ms var(--ease),background 240ms}.why-beats article:hover{transform:translateY(-8px);background:rgba(184,239,255,.06)}.why-beats span{color:var(--brand-blue);font-size:8px}.why-beats strong{display:block;margin-top:70px;font-size:25px}.why-beats p{color:rgba(255,255,255,.5);font-size:11px}

/* Client-safe quote engine. */
.pricing-engine-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:28px}.pricing-services{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.pricing-service{padding:14px;border:1px solid var(--line);border-radius:8px;background:white}.pricing-service.is-active{border-color:rgba(44,98,214,.38);box-shadow:inset 3px 0 var(--cobalt)}.pricing-service-head{display:flex;align-items:flex-start;gap:8px}.pricing-service-head input{margin-top:3px;accent-color:var(--cobalt)}.pricing-service-head div{display:flex;flex:1;flex-direction:column}.pricing-service-head strong{font-size:11px;font-weight:600}.pricing-service-head small{color:var(--text-muted);font-size:7px}.pricing-service-controls{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:10px;border-top:1px solid var(--line)}.pricing-service-controls span{color:var(--cobalt);font-size:8px;font-weight:500}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:25px;height:25px;border:1px solid var(--line);border-radius:4px;background:var(--mist)}.stepper output{min-width:42px;text-align:center;font-size:9px}.pricing-summary{padding:20px;color:white;background:linear-gradient(145deg,var(--tidal-deep),#183f59);border-radius:10px}.pricing-summary>#scope-name{display:block;margin:12px 0 20px;font-size:28px;font-weight:300}.pricing-summary #quote-lines{border-top:1px solid rgba(255,255,255,.14)}.quote-line{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:8px}.quote-line span{color:rgba(255,255,255,.58)}.quote-line strong{font-weight:500}.pricing-total{display:flex;justify-content:space-between;align-items:end;margin-top:22px}.pricing-total span{color:rgba(255,255,255,.55);font-size:7px;text-transform:uppercase;letter-spacing:.09em}.pricing-total strong{font-size:26px;font-weight:300}.pricing-summary>small{display:block;margin-top:18px;color:rgba(255,255,255,.4);font-size:7px;line-height:1.5}
.event-catalog{margin:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.event-catalog summary{padding:17px 0;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;cursor:pointer;list-style:none}.event-catalog summary::-webkit-details-marker{display:none}.event-catalog summary span{font-size:13px;font-weight:500}.event-catalog summary small{color:var(--text-muted);font-size:8px}.event-catalog summary i{font-size:18px;font-style:normal;color:var(--cobalt)}.event-catalog[open] summary i{transform:rotate(45deg)}.event-catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding-bottom:20px}.event-item{padding:12px;text-align:left;border:1px solid var(--line);border-radius:7px;background:white}.event-item input{accent-color:var(--cobalt)}.event-item strong{display:block;margin:8px 0 3px;font-size:10px}.event-item small{display:block;color:var(--text-muted);font-size:7px}.event-item span{display:block;margin-top:9px;color:var(--cobalt);font-size:8px}.event-item.is-selected{border-color:rgba(44,98,214,.42);background:#f3f7ff}

@keyframes meterLive { 0%,100%{opacity:.18;transform:scaleX(.55)}50%{opacity:.9;transform:scaleX(1)} }
@keyframes filmWord { 0%,18%{opacity:0;transform:translateX(14%)}35%,70%{opacity:.2;transform:none}88%,100%{opacity:0;transform:translateX(-8%)} }
@keyframes chapterGrow { from{transform:scaleX(0)}to{transform:scaleX(1)} }
@keyframes portraitTarget { 0%,100%{transform:scale(.82);opacity:.4}50%{transform:scale(1.12);opacity:.9} }
@keyframes explainerIn { from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none} }
@keyframes letterFloat { 0%,100%{transform:translateY(0) rotateX(0)}50%{transform:translateY(-12px) rotateX(8deg)} }
@keyframes letterSignal { to{background-position:-80% 0} }

@media(max-width:900px){
  .broadcast-rig{grid-template-columns:38px minmax(0,1fr) 28px}.broadcast-spine>small,.broadcast-meter>small{display:none}.film-concept{margin-left:38px;margin-right:28px;grid-template-columns:24px 1fr}.film-concept small{display:none}
  .president-photo{height:500px}.president-copy{width:94%;margin-top:-70px;padding:28px}.president-copy h2{font-size:clamp(38px,7vw,54px)}.message-columns{grid-template-columns:1fr}.message-columns article{min-height:0;padding:24px 0}.message-columns article+article{padding-left:0;border-left:0;border-top:1px solid rgba(109,88,68,.16)}.message-columns span{margin-bottom:16px}.message-columns p{max-width:none}
  .service-panel{display:block;min-height:0}.service-scene{min-height:380px}.service-story{padding-top:30px}.service-panel .deliverable-grid{margin-top:25px}
  .output-heading{grid-template-columns:1fr;gap:25px}.output-system{min-height:950px}.output-film{width:88%}.output-node{width:165px}.node-story{left:3%;top:4%}.node-brand{right:3%;top:4%}.node-work{left:3%;bottom:4%}.node-system{right:3%;bottom:4%}.output-ticker{overflow:hidden;justify-content:flex-start;white-space:nowrap}
  .why{min-height:1250px}.why-beats{grid-template-columns:1fr}.why-beats article{min-height:160px}.why-beats strong{margin-top:38px}
  .pricing-engine-layout{grid-template-columns:1fr}.event-catalog-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
  .broadcast-rig{grid-template-columns:28px minmax(0,1fr) 22px}.broadcast-spine{padding:8px 0}.broadcast-spine>i{margin:8px 0}.broadcast-spine>b{display:none}.broadcast-meter{padding:8px 3px}.broadcast-meter i{width:10px}.film-word{display:none}.film-chapters span{display:none}.film-concept{margin:12px 22px 0 28px;grid-template-columns:20px 1fr}.brand-film .film-topline{font-size:5px}
  .president-photo{height:340px}.portrait-data{display:none}.president-copy{width:100%;margin-top:-25px;padding:24px 20px}.president-copy h2{font-size:34px;line-height:1.05}.president-copy-footer{align-items:flex-start;flex-direction:column;gap:18px}.president-photo figcaption{inset:auto 12px 12px}
  .service-scene{min-height:300px}.identity-type span{font-size:42px}.service-panel h3{font-size:39px}
  .portal-explainer{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:12px;width:auto}
  .output-system{min-height:800px}.output-film{width:94%}.output-node{width:128px;padding:10px}.output-node>strong{margin-top:14px;font-size:10px}.output-node>small{font-size:6px}.output-connectors{inset:12% 3%}.node-story,.node-work{left:2%}.node-brand,.node-system{right:2%}
  .why{min-height:1200px}.kinetic-word{margin-top:80px}.why-statement{font-size:20px!important}.why-beats{margin-top:45px}
  .pricing-services,.event-catalog-grid{grid-template-columns:1fr}.pricing-total{align-items:flex-start;flex-direction:column;gap:8px}.event-catalog summary{grid-template-columns:1fr auto}.event-catalog summary small{grid-column:1/-1;grid-row:2}.quote-total{align-items:stretch}
}

/* --------------------------------------------------------------------------
   Cleanup pass: stronger hierarchy, distinct system symbols, wide services
   -------------------------------------------------------------------------- */
@media (min-width: 821px) {
  .hero-grid { grid-template-columns: minmax(430px,.98fr) minmax(500px,1.02fr); gap: 4vw; }
  .brand-film { width: min(100%,900px); justify-self: end; }
}

.president-profile-link { position: absolute; z-index: 6; left: 28px; top: 28px; padding: 9px 12px; color: white; border: 1px solid rgba(255,255,255,.28); border-radius: 5px; background: rgba(42,31,20,.48); backdrop-filter: blur(12px); font-size: 7px; letter-spacing: .11em; transition: background 160ms ease, transform 160ms ease; }
.president-profile-link:hover { color: var(--ink); background: var(--brand-blue); transform: translateY(-2px); }
.president-profile-link span { margin-left: 9px; }
.signature-lockup { width: fit-content; }
.signature-lockup:hover span { color: var(--cobalt); }

.opportunity { min-height: 0; padding-top: clamp(80px,7vw,110px); padding-bottom: clamp(80px,7vw,110px); }
.opportunity-intro { grid-template-columns: 1.45fr .55fr; margin-top: 42px; }
.opportunity-intro h2 { font-size: clamp(60px,7.6vw,118px); line-height: .88; }
.opportunity-intro > p { max-width: 300px; margin-bottom: 3px; font-size: clamp(18px,1.6vw,24px); line-height: 1.35; }
.outcome-rail { grid-template-columns: repeat(3,minmax(230px,1fr)); gap: 8px; margin-top: 48px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
.outcome-card { min-height: 190px; padding: 20px; }
.outcome-card h3 { margin: 43px 0 8px; font-size: clamp(30px,3vw,46px); }
.outcome-card p { font-size: 12px; }

.system-symbol { position: relative; aspect-ratio: 1; width: min(100%,360px); margin: auto; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; background: radial-gradient(circle,rgba(120,166,255,.15),transparent 62%); }
.system-symbol::after { content: "NU / SYSTEM"; position: absolute; left: 50%; bottom: 8%; transform: translateX(-50%); color: var(--text-muted); font-size: 6px; letter-spacing: .14em; white-space: nowrap; }
.listen-signal { position: absolute; inset: 12%; display: grid; place-items: center; }
.listen-signal i { position: absolute; width: 42%; height: 78%; border: 1px solid rgba(44,98,214,.25); border-left: 0; border-radius: 0 100% 100% 0; transform-origin: left center; animation: listenWave 2.8s var(--ease) infinite; }
.listen-signal i:nth-child(2) { width: 62%; height: 94%; animation-delay: -.45s; }
.listen-signal i:nth-child(3) { width: 82%; height: 110%; animation-delay: -.9s; }
.listen-signal b { width: 11px; height: 11px; margin-left: -33%; border-radius: 50%; background: var(--cobalt); box-shadow: 0 0 28px rgba(44,98,214,.6); }
.listen-signal span, .build-mark, .move-radar span { position: relative; z-index: 2; padding: 7px 10px; color: white; border-radius: 999px; background: var(--cobalt); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.build-blocks { width: 64%; aspect-ratio: 1; display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; transform: rotate(45deg); }
.build-blocks i { border: 1px solid rgba(44,98,214,.24); border-radius: 3px; background: rgba(120,166,255,.12); animation: buildBlock 2.4s var(--ease) infinite; }
.build-blocks i:nth-child(2n) { animation-delay: -.4s; }.build-blocks i:nth-child(3n) { animation-delay: -.8s; }
.build-blocks i:nth-child(5) { background: var(--cobalt); box-shadow: 0 0 30px rgba(44,98,214,.4); }
.build-mark { position: absolute; }
.move-radar { position: absolute; inset: 9%; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.move-radar::before, .move-radar::after, .move-radar i { content: ""; position: absolute; border: 1px solid rgba(44,98,214,.18); border-radius: 50%; }
.move-radar::before { inset: 18%; }.move-radar::after { inset: 37%; }
.move-radar i:nth-child(1) { inset: 28%; animation: radarPulse 2.4s ease-out infinite; }
.move-radar i:nth-child(2) { inset: 8%; animation: radarPulse 2.4s .7s ease-out infinite; }
.move-radar i:nth-child(3) { inset: 49%; border: 0; background: var(--cobalt); box-shadow: 0 0 28px rgba(44,98,214,.55); }
.move-radar b { position: absolute; left: 50%; top: 50%; width: 50%; height: 1px; transform-origin: left; background: linear-gradient(90deg,var(--cobalt),transparent); animation: radarSweep 4s linear infinite; }

.service-board { display: block; margin-top: 62px; }
.service-index-track { display: grid; grid-template-columns: 70px 1fr auto; gap: 18px; align-items: center; margin-bottom: 12px; color: var(--text-muted); font-size: 8px; letter-spacing: .12em; }
.service-index-track > span { color: var(--cobalt); font-weight: 700; }
.service-index-track > i { height: 2px; overflow: hidden; background: rgba(44,98,214,.12); }
.service-index-track > i b { display: block; width: 33.333%; height: 100%; background: var(--cobalt); transition: width 520ms var(--ease); }
.service-nav { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow-x: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); scrollbar-width: none; }
.service-nav::-webkit-scrollbar { display: none; }
.service-tab { min-width: 175px; min-height: 92px; padding: 15px 14px; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; align-content: center; border: 0; border-right: 1px solid var(--line); }
.service-tab span { grid-column: 1/-1; margin-bottom: 7px; }
.service-tab strong { font-size: clamp(15px,1.45vw,22px); }
.service-tab:hover, .service-tab.is-active { padding-left: 20px; background: rgba(255,255,255,.55); box-shadow: inset 0 -3px var(--cobalt); }
.service-panel { min-height: 650px; margin-top: 18px; grid-template-columns: 1.12fr .88fr; grid-template-rows: auto 1fr auto auto auto; gap: 0 46px; }
.service-panel-top { grid-column: 1/-1; }
.service-scene { grid-column: 1; grid-row: 2/6; min-height: 500px; }
.service-story { grid-column: 2; grid-row: 2; align-self: center; }
.service-fit { display: grid; grid-template-columns: 112px 1fr; gap: 12px; margin: 25px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.55; }
.service-fit span { color: var(--brand-blue); font-size: 7px; font-weight: 700; letter-spacing: .12em; }
.deliverable-label { grid-column: 2; grid-row: 3; align-self: end; margin: 20px 0 0; color: var(--brand-blue); font-size: 7px; font-weight: 700; letter-spacing: .13em; }
.service-panel .deliverable-grid { grid-column: 2; grid-row: 4; grid-template-columns: repeat(2,1fr); margin: 8px 0 24px; }
.service-actions { grid-column: 2; grid-row: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.service-actions .ink-link { color: white; border-color: rgba(255,255,255,.22); }
.service-scope-link { padding: 12px 14px; color: rgba(255,255,255,.66); border: 1px solid rgba(255,255,255,.13); border-radius: 5px; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; transition: color 180ms,background 180ms; }
.service-scope-link:hover { color: #071015; background: var(--brand-blue); }
.service-panel.service-swap { animation: serviceSwap 520ms var(--ease) both; }
.service-panel.is-coming-soon > :not(.service-coming-soon) {
  filter: grayscale(1) blur(6px);
  opacity: .4;
  pointer-events: none;
  user-select: none;
}
.service-coming-soon {
  position: absolute!important;
  z-index: 20!important;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 13px;
  padding: 32px;
  color: #fff;
  background: rgba(9,10,10,.38);
  -webkit-backdrop-filter: grayscale(1) blur(7px);
  backdrop-filter: grayscale(1) blur(7px);
  text-align: center;
  isolation: isolate;
}
.service-coming-soon[hidden] { display: none; }
.service-coming-soon span,
.service-coming-soon small {
  color: rgba(255,255,255,.62);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
}
.service-coming-soon strong {
  font-size: clamp(46px,7vw,104px);
  font-weight: 760;
  line-height: .84;
  letter-spacing: -.02em;
}
.service-coming-soon small { font-size: 7px; }

@media (min-width: 821px) {
  .service-panel[data-layout="assets"] { grid-template-columns: .88fr 1.12fr; }
  .service-panel[data-layout="assets"] .service-scene { grid-column: 2; }
  .service-panel[data-layout="assets"] .service-story,
  .service-panel[data-layout="assets"] .deliverable-label,
  .service-panel[data-layout="assets"] .deliverable-grid,
  .service-panel[data-layout="assets"] .service-actions { grid-column: 1; }
  .service-panel[data-layout="events"] { min-height: 900px; grid-template-columns: 1fr; grid-template-rows: auto auto minmax(430px,1fr) auto auto auto; }
  .service-panel[data-layout="events"] .service-story { grid-column: 1; grid-row: 2; }
  .service-panel[data-layout="events"] .service-scene { grid-column: 1; grid-row: 3; min-height: 460px; }
  .service-panel[data-layout="events"] .deliverable-label { grid-column: 1; grid-row: 4; }
  .service-panel[data-layout="events"] .deliverable-grid { grid-column: 1; grid-row: 5; grid-template-columns: repeat(4,1fr); margin-bottom: 18px; }
  .service-panel[data-layout="events"] .service-actions { grid-column: 1; grid-row: 6; }
  .service-panel[data-layout="backend"] { min-height: 1440px; grid-template-columns:1fr; grid-template-rows:auto auto minmax(1010px,1fr) auto auto auto; }
  .service-panel[data-layout="backend"] .service-story { grid-column:1; grid-row:2; }
  .service-panel[data-layout="backend"] .service-scene { grid-column:1; grid-row:3; min-height:1040px; }
  .service-panel[data-layout="backend"] .deliverable-label { grid-column:1; grid-row:4; }
  .service-panel[data-layout="backend"] .deliverable-grid { grid-column:1; grid-row:5; grid-template-columns:repeat(4,1fr); margin-bottom:18px; }
  .service-panel[data-layout="backend"] .service-actions { grid-column:1; grid-row:6; }
  .service-panel[data-layout="growth"] { min-height:1180px; grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto minmax(650px,1fr) auto; column-gap:58px; }
  .service-panel[data-layout="growth"] .service-story { grid-column:1; grid-row:2/4; align-self:center; }
  .service-panel[data-layout="growth"] .service-scene { grid-column:1/-1; grid-row:4; min-height:680px; margin-top:42px; }
  .service-panel[data-layout="growth"] .deliverable-label { grid-column:2; grid-row:2; align-self:end; }
  .service-panel[data-layout="growth"] .deliverable-grid { grid-column:2; grid-row:3; grid-template-columns:repeat(2,1fr); margin:8px 0 0; }
  .service-panel[data-layout="growth"] .service-actions { grid-column:1/-1; grid-row:5; margin-top:20px; }
}
.service-panel[data-layout="events"] .service-story { width:min(780px,100%); justify-self:center; text-align:center; }
.service-panel[data-layout="events"] .service-story h3 { max-width:760px; margin-inline:auto; }
.service-panel[data-layout="events"] .service-story>p:not(.service-fit) { max-width:600px; margin-inline:auto; }
.service-panel[data-layout="events"] .service-fit { display:none; }
.service-panel[data-layout="events"] .deliverable-label { text-align:center; }
.service-panel[data-layout="events"] .service-actions { justify-content:center; }
.service-panel[data-layout="backend"] .service-story { width:min(850px,100%); justify-self:center; text-align:center; }
.service-panel[data-layout="backend"] .service-story h3 { max-width:820px; margin-inline:auto; }
.service-panel[data-layout="backend"] .service-story>p:not(.service-fit) { max-width:680px; margin-inline:auto; }
.service-panel[data-layout="backend"] .service-fit { display:none; }
.service-panel[data-layout="backend"] .deliverable-label { text-align:center; }
.service-panel[data-layout="backend"] .service-actions { justify-content:center; }
.service-panel[data-layout="growth"] .service-story { width:100%; justify-self:stretch; text-align:left; }
.service-panel[data-layout="growth"] .service-story h3 { max-width:680px; }
.service-panel[data-layout="growth"] .service-story>p:not(.service-fit) { max-width:650px; }
.service-panel[data-layout="growth"] .service-fit { display:grid; }
.service-panel[data-layout="growth"] .deliverable-label { text-align:left; }
.service-panel[data-layout="growth"] .service-actions { justify-content:center; }
.service-panel[data-layout="brand-content"] .deliverable-grid span:last-child { grid-column: 1 / -1; }
.service-scene-brand-content::after { display: none; }

/* Content Studio preview: the homepage now opens with current production work,
   the same promise, and the same operating flow as the full studio page. */
.home-studio-preview {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  gap: 12px;
  padding: 16px;
  overflow: hidden;
  color: #f7f8f6;
  background:
    radial-gradient(circle at 83% 18%,rgba(44,98,214,.24),transparent 34%),
    linear-gradient(145deg,#050708 0%,#07111b 58%,#0b1730 100%);
}
.home-studio-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .34;
  background-image:
    linear-gradient(rgba(184,239,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,239,255,.055) 1px,transparent 1px);
  background-size: 42px 42px;
}
.home-studio-preview > header,
.home-studio-preview > footer {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  letter-spacing: .13em;
}
.home-studio-preview > header {
  justify-content: space-between;
  padding-bottom: 10px;
  color: var(--brand-blue);
  border-bottom: 1px solid rgba(184,239,255,.16);
  font-size: 7px;
}
.home-studio-preview > header b { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.48); font-weight: 500; }
.home-studio-preview > header i { width: 6px; height: 6px; border-radius: 50%; background: #77e2bb; box-shadow: 0 0 14px rgba(119,226,187,.74); animation: studioLive 1.8s ease-in-out infinite; }
.home-studio-reel-grid {
  position: relative;
  z-index: 2;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(120px,.65fr);
  grid-template-rows: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.home-studio-reel {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(184,239,255,.18);
  border-radius: 7px;
  background: #0a1014;
}
.home-studio-reel.is-primary { grid-row: 1 / -1; }
.home-studio-reel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg,rgba(2,5,8,.74),transparent 50%); }
.home-studio-reel video { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; opacity: 1; filter: saturate(.84) contrast(1.04); transition: opacity 220ms ease,transform 900ms var(--ease),filter 400ms ease; }
.home-studio-reel:nth-child(2) video { object-position: center 42%; }
.home-studio-reel:nth-child(3) video { object-position: center 38%; }
.home-studio-reel:hover video { transform: scale(1.035); filter: saturate(1) contrast(1.03); }
.home-studio-reel.is-changing video { opacity: 0; }
.home-studio-reel > span { position: absolute; z-index: 3; left: 11px; bottom: 9px; color: rgba(255,255,255,.72); font-size: 6px; letter-spacing: .13em; }
.home-studio-statement {
  position: absolute;
  z-index: 4;
  left: 32px;
  bottom: 54px;
  pointer-events: none;
  text-shadow: 0 5px 28px rgba(0,0,0,.72);
}
.home-studio-statement span,
.home-studio-statement strong { display: block; line-height: .82; letter-spacing: -.015em; }
.home-studio-statement span { font-size: clamp(22px,2.5vw,36px); font-weight: 350; }
.home-studio-statement strong { color: var(--brand-blue); font-size: clamp(30px,3.5vw,50px); }
.home-studio-preview > footer {
  justify-content: space-between;
  gap: 6px;
  color: rgba(255,255,255,.56);
  font-size: 6px;
}
.home-studio-preview > footer i { color: var(--brand-blue); font-size: 10px; font-style: normal; }
.deep-brand-content-system .service-deep-visual-inner { inset: 0; transform: none; }

@keyframes studioLive { 0%,100% { opacity: .42; } 50% { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .home-studio-preview > header i { animation: none; }
  .home-studio-reel video { transition: none; }
}

@media (max-width: 620px) {
  .service-panel[data-layout="brand-content"] .deliverable-grid span:last-child { grid-column: auto; }
  .home-studio-preview { gap: 8px; padding: 10px; }
  .home-studio-preview > header { padding-bottom: 7px; font-size: 6px; }
  .home-studio-preview > header b { display: none; }
  .home-studio-reel-grid { grid-template-columns: minmax(0,1.18fr) minmax(92px,.82fr); gap: 5px; }
  .home-studio-reel > span { left: 7px; bottom: 6px; font-size: 5px; }
  .home-studio-statement { left: 20px; bottom: 41px; }
  .home-studio-statement span { font-size: 18px; }
  .home-studio-statement strong { font-size: 27px; }
  .home-studio-preview > footer { font-size: 5px; }
  .home-studio-preview > footer i:nth-of-type(2),
  .home-studio-preview > footer i:nth-of-type(3),
  .home-studio-preview > footer span:nth-of-type(3),
  .home-studio-preview > footer span:nth-of-type(4) { display: none; }
}

.output-node { width: 176px; }
.node-socials { left: 4%; top: 6%; }.node-leads { right: 4%; top: 6%; }
.node-content { left: 1.5%; top: 41%; }.node-finance { right: 1.5%; top: 41%; }
.node-sales { left: 4%; bottom: 6%; }.node-operations { right: 4%; bottom: 6%; }
.output-connectors { inset: 7% 10%; }
.output-connectors i { left: 50%; top: 50%; width: 46%; transform-origin: left center; }
.output-connectors i:nth-child(1) { transform: rotate(-151deg); }.output-connectors i:nth-child(2) { transform: rotate(-29deg); }
.output-connectors i:nth-child(3) { transform: rotate(180deg); }.output-connectors i:nth-child(4) { transform: rotate(0); }
.output-connectors i:nth-child(5) { transform: rotate(151deg); }.output-connectors i:nth-child(6) { transform: rotate(29deg); }
.output-film-overlay button { width: 132px; height: 132px; display: grid; place-content: center; gap: 3px; background: rgba(5,6,7,.72); border-color: rgba(184,239,255,.58); box-shadow: 0 0 45px rgba(184,239,255,.16); }
.output-film-overlay button i { color: var(--brand-blue); font-size: 15px; font-weight: 700; }
.output-film-overlay button strong { display: block; color: white; font-size: 11px; letter-spacing: .04em; }
.output-film-overlay button span { margin: 0; color: rgba(255,255,255,.52); font-size: 6px; }

/* Ten-case managed-brand rail ------------------------------------------------ */
.case-studies { position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 78% 12%, rgba(184,239,255,.2), transparent 28%), radial-gradient(circle at 14% 42%, rgba(44,98,214,.32), transparent 34%), linear-gradient(145deg,#07111c 0%,#102f52 52%,#07131f 100%); }
.case-studies::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .34; background-image: linear-gradient(rgba(184,239,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(184,239,255,.08) 1px,transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom,black,transparent 72%); }
.case-studies-head { padding-top: clamp(54px,6vw,82px); padding-bottom: 18px; }
.case-studies-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8vw; align-items: end; margin-top: 58px; }
.case-studies-heading-minimal { grid-template-columns: 1.25fr .75fr; gap: 5vw; margin-top: 20px; }
.case-studies-heading-minimal .case-rail-controls { grid-column: 1; align-self: end; justify-self: start; margin: 0; }
.case-studies-heading-minimal .case-studies-intro { grid-column: 2; width: 100%; max-width: 560px; justify-self: end; }

/* Give selected work a clear editorial chapter title. */
.case-studies-heading-minimal {
  grid-template-columns: 1fr minmax(280px,.56fr);
  align-items: end;
  gap: clamp(24px,4vw,64px);
}
.case-studies-heading-minimal h2 {
  grid-column: 1 / -1;
  margin: 12px 0 18px;
  font-size: clamp(86px,11.5vw,190px);
  line-height: .8;
  white-space: nowrap;
}
.case-studies-heading-minimal .case-rail-controls { grid-column: 1; grid-row: 2; }
.case-studies-heading-minimal .case-studies-intro { grid-column: 2; grid-row: 2; }
.case-studies-heading h2 { margin: 0; font-size: clamp(66px,8vw,126px); font-weight: 300; line-height: .86; letter-spacing: 0; }
.case-studies-heading h2 em { color: var(--brand-blue); font-style: normal; font-weight: 800; }
.case-studies-heading h2 em { text-transform: uppercase; }
.case-studies-intro>p { max-width: 470px; margin: 0; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.55; }
.case-rail-controls { display: flex; align-items: center; gap: 14px; margin-top: 35px; }
.case-rail-controls button { width: 48px; height: 48px; border: 1px solid rgba(184,239,255,.32); border-radius: 50%; color: white; background: rgba(7,17,28,.24); font-size: 18px; cursor: pointer; transition: color 180ms,background 180ms,transform 180ms; }
.case-rail-controls button:hover { color: #07111c; background: var(--brand-blue); transform: scale(1.05); }
.case-rail-controls span { min-width: 68px; color: rgba(255,255,255,.54); font-size: 8px; letter-spacing: .12em; text-align: center; }.case-rail-controls b { color: var(--brand-blue); }
.case-rail-wrap { position: relative; padding: 0 0 34px; }
.case-rail-wrap::before,.case-rail-wrap::after { content: ""; position: absolute; z-index: 3; top: 0; bottom: 55px; width: 7vw; pointer-events: none; }.case-rail-wrap::before { left: 0; background: linear-gradient(90deg,#0b1c2e,transparent); }.case-rail-wrap::after { right: 0; background: linear-gradient(-90deg,#0a1929,transparent); }
.case-rail { display: flex; gap: 12px; padding: 0 max(6vw,24px) 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; cursor: ew-resize; }.case-rail::-webkit-scrollbar { display: none; }
.case-tile { position: relative; flex: 0 0 clamp(285px,26vw,390px); aspect-ratio: .82; padding: 23px; overflow: hidden; scroll-snap-align: center; color: white; border: 0; border-radius: 14px; background: #111820; text-align: left; cursor: pointer; isolation: isolate; box-shadow: 0 22px 52px rgba(2,8,15,.28); transition: color 480ms var(--ease),background 480ms var(--ease),transform 420ms var(--ease),box-shadow 420ms; }
.case-tile::before,.case-tile::after { content: ""; position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; transition: transform 700ms var(--ease),border-color 480ms; }
.case-tile::before { width: 88%; aspect-ratio: 1; right: -28%; top: -12%; }.case-tile::after { width: 52%; aspect-ratio: 1; left: -19%; bottom: 8%; }
.case-tile:hover { transform: translateY(-8px); box-shadow: 0 34px 70px rgba(55,41,29,.2); }
.case-tile:focus-visible { outline: 3px solid var(--cobalt); outline-offset: 4px; }
.case-tile>span { display: block; font-size: 7px; letter-spacing: .14em; opacity: .72; }
.case-tile>strong { display: block; margin-top: clamp(82px,9vw,138px); font-size: clamp(42px,4.5vw,66px); font-weight: 650; line-height: .8; letter-spacing: 0; }
.case-tile>small { position: absolute; left: 23px; bottom: 52px; font-size: 10px; letter-spacing: .04em; opacity: .66; }
.case-tile>i { position: absolute; right: 21px; bottom: 20px; font-style: normal; font-size: 7px; letter-spacing: .12em; }
.case-tile.is-active { color: #111b20; background: #fffdf8; transform: translateY(-8px); box-shadow: 0 34px 80px rgba(44,98,214,.15); }
.case-tile.is-active::before,.case-tile.is-active::after { border-color: rgba(44,98,214,.24); transform: scale(1.15); }.case-tile.is-active>span,.case-tile.is-active>i { color: var(--cobalt); opacity: 1; }
.case-plg { background: linear-gradient(145deg,#071015,#164b6c); }.case-river { background: linear-gradient(145deg,#172a20,#6f8e45); }.case-vito { background: linear-gradient(145deg,#281d17,#9b6a42); }.case-loan { background: linear-gradient(145deg,#14284a,#3268c8); }.case-101 { background: linear-gradient(145deg,#090b0e,#4b535e); }.case-belo { background: linear-gradient(145deg,#512319,#b84d28); }.case-joy { background: linear-gradient(145deg,#142c23,#4e8c60); }.case-arts { background: linear-gradient(145deg,#392258,#7758a4); }.case-capable { background: linear-gradient(145deg,#164c5b,#46a0a0); }.case-teach { background: linear-gradient(145deg,#151b35,#4e64b5); }
.case-detail { position: relative; width: min(1180px,88vw); margin: 0 auto 52px; padding: 30px clamp(24px,3vw,46px) 28px; overflow: hidden; color: #111b20; border: 1px solid rgba(184,239,255,.24); border-radius: 18px; background: #fffdf8; box-shadow: 0 26px 70px rgba(2,8,15,.22); opacity: 0; transform: translateY(28px); transition: opacity 300ms var(--ease),transform 420ms var(--ease); }
.case-detail.is-open { opacity: 1; transform: none; }
.case-detail-close { position: absolute; z-index: 2; top: 18px; right: 20px; display: flex; align-items: center; gap: 11px; padding: 6px 10px 6px 6px; color: #111b20; border: 1px solid rgba(17,27,32,.18); border-radius: 999px; background: rgba(255,253,248,.9); cursor: pointer; transition: color 180ms,background 180ms,transform 180ms; }
.case-detail-close span { width: 30px; height: 30px; display: grid; place-items: center; color: white; border-radius: 50%; background: var(--cobalt); font-size: 15px; }
.case-detail-close strong { font-size: 7px; letter-spacing: .12em; }
.case-detail-close:hover { color: white; background: #111b20; transform: translateY(-2px); }
.case-detail.is-refreshing { animation: caseDetailSwap 540ms var(--ease) both; }
.case-detail-index { display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; color: #647178; font-size: 8px; letter-spacing: .13em; }.case-detail-index>span:first-child { color: var(--cobalt); }.case-detail-index i { height: 1px; background: rgba(17,27,32,.17); }
.case-detail-main { display: grid; grid-template-columns: .72fr 1.28fr; gap: 4vw; align-items: center; margin: 28px 0 34px; }
.case-detail-main>div>span { color: var(--cobalt); font-size: 8px; letter-spacing: .14em; }
.case-detail-main h3 { max-width: 520px; margin: 10px 0 16px; font-size: clamp(42px,5vw,72px); font-weight: 350; line-height: .86; letter-spacing: 0; }
.case-detail-main a { display: inline-block; padding-bottom: 8px; color: #3c4b52; border-bottom: 1px solid rgba(17,27,32,.24); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.case-detail-main>p { max-width: 620px; margin: 0; font-size: clamp(18px,2vw,28px); line-height: 1.2; letter-spacing: 0; }
.case-detail-grid { display: grid; grid-template-columns: .8fr 1.2fr 1fr; border-top: 1px solid rgba(17,27,32,.16); }
.case-detail-grid article { min-height: 0; padding: 18px 24px 12px 0; border-right: 1px solid rgba(17,27,32,.12); }.case-detail-grid article+article { padding-left: 24px; }.case-detail-grid article:last-child { border-right: 0; }
.case-detail-grid span { color: var(--cobalt); font-size: 8px; letter-spacing: .13em; }.case-detail-grid p { margin: 22px 0 0; color: #4f5f66; font-size: 13px; line-height: 1.6; }
.case-detail-grid ul { margin: 16px 0 0; padding: 0; list-style: none; }.case-detail-grid li { padding: 7px 0; color: #4f5f66; border-bottom: 1px solid rgba(17,27,32,.1); font-size: 11px; }.case-detail-grid li::before { content: "↳"; margin-right: 9px; color: var(--cobalt); }
.case-evidence { margin: 18px 0 0; padding-top: 14px; color: #7b8589; border-top: 1px solid rgba(17,27,32,.1); font-size: 7px; letter-spacing: .04em; }

@keyframes caseDetailSwap { 0% { opacity: .15; transform: translateY(18px); } 100% { opacity: 1; transform: none; } }

@keyframes listenWave { 0%,100% { opacity: .18; transform: scale(.75); } 50% { opacity: 1; transform: scale(1); } }
@keyframes buildBlock { 0%,100% { transform: scale(.84); opacity: .42; } 50% { transform: scale(1); opacity: 1; } }
@keyframes serviceSwap { 0% { opacity: .45; transform: translateY(12px) scale(.992); } 100% { opacity: 1; transform: none; } }

@media (max-width: 820px) {
  .case-studies-heading,.case-detail-main { grid-template-columns: 1fr; }
  .case-studies-heading-minimal .case-rail-controls,.case-studies-heading-minimal .case-studies-intro { grid-column: 1; justify-self: stretch; }
  .case-studies-heading-minimal .case-studies-intro { grid-row: 1; }
  .case-studies-heading-minimal .case-rail-controls { grid-row: 2; margin-top: 14px; }
  .case-detail-grid { grid-template-columns: 1fr; }
  .case-detail { width: 92vw; padding: 28px 24px 22px; }
  .case-detail-grid article,.case-detail-grid article+article { min-height: 0; padding: 18px 0 22px; border-right: 0; border-bottom: 1px solid rgba(17,27,32,.12); }
  .case-detail-grid p,.case-detail-grid ul { margin-top: 14px; }
  .opportunity-intro { grid-template-columns: 1fr; }
  .outcome-rail { grid-template-columns: repeat(3,minmax(230px,1fr)); margin-top: 40px; }
  .system-symbol { width: min(82%,320px); }
  .system-radar { display: none; }
  .service-board { margin-top: 42px; }
  .service-panel { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto auto auto; gap: 0; }
  .service-scene { grid-column: 1; grid-row: 2; min-height: 390px; }
  .service-story { grid-column: 1; grid-row: 3; }
  .deliverable-label { grid-column: 1; grid-row: 4; }
  .service-panel .deliverable-grid { grid-column: 1; grid-row: 5; }
  .service-actions { grid-column: 1; grid-row: 6; }
  .service-panel[data-layout="backend"] .service-scene { min-height:920px; }
  .portal-shell-embedded .portal-workspace { height:790px; }
  .portal-shell-embedded .portal-account-bar { align-items:flex-start; flex-direction:column; }
  .portal-shell-embedded .activity-feed { grid-template-columns:1fr; }
  .portal-shell-embedded .project-row { grid-template-columns:1fr auto; }
  .portal-shell-embedded .project-row>i { grid-column:1/-1; grid-row:2; }
  .service-panel[data-layout="growth"] .service-scene { min-height:590px; }
  .output-system { min-height: 1020px; }
}

@media (max-width: 560px) {
  .case-studies-head { padding-top: 48px; padding-bottom: 14px; }
  .case-studies-heading h2 { font-size: 57px; }
  .case-tile { flex-basis: 78vw; max-width: 340px; padding: 21px; }.case-tile>strong { margin-top: 94px; font-size: 46px; }.case-tile>small { left: 21px; }
  .case-rail-wrap::before,.case-rail-wrap::after { display: none; }
  .case-detail { width: calc(100% - 24px); margin-bottom: 28px; padding: 24px 18px 18px; border-radius: 13px; }
  .case-detail-main { margin: 36px 0 24px; }.case-detail-main h3 { font-size: 42px; }.case-detail-main>p { font-size: 18px; }
  .case-detail-close { top: 16px; right: 16px; }.case-detail-close strong { display: none; }
  .elevator-pitch { grid-template-columns: 1fr; gap: 10px; }
  .service-fit { grid-template-columns: 1fr; gap: 7px; }
  .president-profile-link { left: 12px; top: 12px; }
  .opportunity { padding-top: 78px; padding-bottom: 78px; }
  .opportunity-intro h2 { font-size: 56px; }
  .outcome-card { min-height: 175px; }
  .system-tabs { grid-template-columns: repeat(3,1fr); }
  .system-tab { min-height: 98px; display: block; }
  .system-tab strong { font-size: 15px; }
  .system-tab small { font-size: 9px; }
  .service-index-track { grid-template-columns: 55px 1fr; }
  .service-index-track small { display: none; }
  .service-tab { min-width: 165px; }
  .service-panel { min-height: 0; padding: 22px 16px 28px; }
  .service-scene { min-height: 310px; }
  .service-panel .deliverable-grid { display: flex; grid-template-columns: none; overflow-x: auto; background: transparent; border: 0; gap: 6px; scrollbar-width: none; }
  .service-panel .deliverable-grid span { flex: 0 0 145px; border: 1px solid rgba(255,255,255,.14); }
  .output-system { min-height: 0; padding: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .output-system::before { pointer-events: none; }
  .output-node { position: relative; inset: auto; width: auto; min-height: 104px; }
  .node-socials { grid-column: 1; grid-row: 1; }.node-leads { grid-column: 2; grid-row: 1; }
  .node-content { grid-column: 1; grid-row: 2; }.node-finance { grid-column: 2; grid-row: 2; }
  .node-sales { grid-column: 1; grid-row: 4; }.node-operations { grid-column: 2; grid-row: 4; }
  .output-connectors { display: none; }
  .output-film { position: relative; left: auto; top: auto; width: 100%; grid-column: 1/-1; grid-row: 3; transform: none; }
  .output-film-overlay button { width: 112px; height: 112px; }
}

/* --------------------------------------------------------------------------
   Story pass: section transitions, combined offers, interactive ecosystem
   -------------------------------------------------------------------------- */
.scene-transition { position: absolute; z-index: 70; inset: 0; overflow: hidden; pointer-events: none; opacity: 1; transition: opacity 680ms ease; }
.scene-transition i, .scene-transition span { position: absolute; display: block; transition: transform 1250ms var(--ease-slow), opacity 900ms ease; }
.scene-active > .scene-transition { opacity: 0; transition-delay: 820ms; }

.transition-signal i { top: 0; bottom: 0; width: 25.2%; background: #050607; }.transition-signal i:nth-child(1){left:0}.transition-signal i:nth-child(2){left:25%}.transition-signal i:nth-child(3){left:50%}.transition-signal i:nth-child(4){left:75%}
.scene-active > .transition-signal i:nth-child(odd){transform:translateY(-102%)}.scene-active > .transition-signal i:nth-child(even){transform:translateY(102%)}
.transition-signal span { inset: 49% 8%; height: 1px; background: var(--brand-blue); box-shadow: 0 0 22px rgba(184,239,255,.8); transform:scaleX(1); }.scene-active > .transition-signal span{transform:scaleX(0)}

.transition-portrait i { left:0; right:0; height:25.2%; background:#f4e7d7; }.transition-portrait i:nth-child(1){top:0}.transition-portrait i:nth-child(2){top:25%}.transition-portrait i:nth-child(3){top:50%}.transition-portrait i:nth-child(4){top:75%}
.scene-active > .transition-portrait i:nth-child(odd){transform:translateX(-102%)}.scene-active > .transition-portrait i:nth-child(even){transform:translateX(102%)}
.transition-portrait span { left:50%; top:50%; width:90px; height:90px; border:1px solid rgba(44,98,214,.3); border-radius:50%; transform:translate(-50%,-50%) scale(1); }.scene-active > .transition-portrait span{transform:translate(-50%,-50%) scale(4);opacity:0}

.transition-wipe { background:#103a56; }.transition-wipe i { top:-20%; width:32%; height:140%; background:#1c5c88; transform:skewX(-13deg); }.transition-wipe i:nth-child(1){left:-7%}.transition-wipe i:nth-child(2){left:22%}.transition-wipe i:nth-child(3){left:51%}.transition-wipe i:nth-child(4){left:80%}
.scene-active > .transition-wipe i { transform:translateY(110%) skewX(-13deg); }.scene-active > .transition-wipe i:nth-child(even){transform:translateY(-110%) skewX(-13deg)}
.transition-wipe span{inset:0;background:linear-gradient(90deg,transparent,var(--brand-blue),transparent);opacity:.35}.scene-active > .transition-wipe span{transform:translateX(100%)}

/* Section 04: a scroll-charged NuCulture lockup resolves into the existing wipe. */
.transition-services-logo {
  --service-intro-progress: 0;
  --service-intro-halo: .1;
  --service-intro-scale: .88;
  inset:0 0 auto;
  height:100svh;
  background:
    radial-gradient(circle at 50% 50%, rgba(86,166,204,.34), transparent 29%),
    linear-gradient(135deg,#0b2d43,#103a56 46%,#174f70);
  isolation:isolate;
}
.transition-services-logo::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  opacity:.28;
  background-image:
    linear-gradient(rgba(184,239,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,239,255,.12) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at center,black,transparent 72%);
}
.transition-services-logo > i { z-index:1; background:linear-gradient(150deg,#1c5c88,#103a56 58%,#0a2a3e); }
.transition-services-logo > span { z-index:2; }
.services-transition-mark {
  position:absolute;
  z-index:5;
  left:50%;
  top:38%;
  width:clamp(210px,22vw,310px);
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  color:white;
  border-radius:50%;
  background:radial-gradient(circle,rgba(5,20,29,.92) 0 42%,rgba(5,20,29,.52) 58%,transparent 69%);
  box-shadow:0 0 90px rgba(184,239,255,var(--service-intro-halo));
  transform:translate(-50%,-50%) scale(var(--service-intro-scale));
  transition:transform 1180ms var(--ease-slow),opacity 720ms ease,box-shadow 160ms linear;
}
.services-transition-mark::before,
.services-transition-mark::after {
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:50%;
}
.services-transition-mark::before {
  padding:3px;
  background:conic-gradient(from -90deg,var(--brand-blue) calc(var(--service-intro-progress) * 1turn),rgba(184,239,255,.13) 0);
  filter:drop-shadow(0 0 10px rgba(184,239,255,.88));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.services-transition-mark::after {
  inset:8px;
  border:1px solid rgba(184,239,255,.18);
  box-shadow:inset 0 0 28px rgba(184,239,255,.08);
}
.services-transition-mark > u {
  position:absolute;
  inset:-18px;
  border-radius:50%;
  text-decoration:none;
  transform:rotate(calc(var(--service-intro-progress) * 1turn));
  transition:transform 80ms linear;
}
.services-transition-mark > u::after {
  content:"";
  position:absolute;
  left:50%;
  top:-3px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:white;
  box-shadow:0 0 10px white,0 0 28px 8px rgba(184,239,255,.76);
  transform:translateX(-50%);
}
.services-transition-mark > b {
  position:relative;
  width:78px;
  height:95px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 13px 18px rgba(0,0,0,.42)) drop-shadow(0 0 18px rgba(184,239,255,.15));
}
.services-transition-mark > b img { width:100%; height:100%; object-fit:contain; }
.services-transition-mark > strong {
  position:relative;
  margin-top:18px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.25em;
  text-indent:.25em;
}
.services-transition-mark > small {
  position:relative;
  margin-top:8px;
  color:rgba(255,255,255,.48);
  font-size:7px;
  letter-spacing:.16em;
}
.scene-active > .transition-services-logo .services-transition-mark {
  opacity:0;
  transform:translate(-50%,-50%) scale(1.34);
  transition-delay:80ms;
}

.transition-iris { background:#f7efe5; }.transition-iris i { left:50%; top:50%; border:1px solid rgba(44,98,214,.22); border-radius:50%; transform:translate(-50%,-50%) scale(1); }.transition-iris i:nth-child(1){width:18vw;height:18vw}.transition-iris i:nth-child(2){width:36vw;height:36vw}.transition-iris i:nth-child(3){width:58vw;height:58vw}.transition-iris i:nth-child(4){width:82vw;height:82vw}
.scene-active > .transition-iris i{transform:translate(-50%,-50%) scale(2.4);opacity:0}.transition-iris span{left:50%;top:50%;width:44px;height:44px;border-radius:50%;background:var(--cobalt);transform:translate(-50%,-50%)}.scene-active > .transition-iris span{transform:translate(-50%,-50%) scale(.2);opacity:0}

.transition-stack i { left:0; right:0; height:25.2%; background:#fffaf4; border-bottom:1px solid rgba(44,98,214,.14); }.transition-stack i:nth-child(1){top:0}.transition-stack i:nth-child(2){top:25%}.transition-stack i:nth-child(3){top:50%}.transition-stack i:nth-child(4){top:75%}
.scene-active > .transition-stack i:nth-child(1){transform:translateX(-102%)}.scene-active > .transition-stack i:nth-child(2){transform:translateX(102%)}.scene-active > .transition-stack i:nth-child(3){transform:translateX(-102%)}.scene-active > .transition-stack i:nth-child(4){transform:translateX(102%)}
.transition-stack span{left:8%;right:8%;top:50%;height:3px;background:var(--cobalt);transform:scaleX(1)}.scene-active > .transition-stack span{transform:scaleX(0)}

.transition-scan { background:#050b0f; }.transition-scan i { top:0; bottom:0; width:1px; background:rgba(184,239,255,.28); box-shadow:0 0 35px rgba(184,239,255,.28); }.transition-scan i:nth-child(1){left:20%}.transition-scan i:nth-child(2){left:40%}.transition-scan i:nth-child(3){left:60%}.transition-scan i:nth-child(4){left:80%}
.scene-active > .transition-scan i{transform:translateX(45vw);opacity:0}.transition-scan span{top:0;bottom:0;left:0;width:3px;background:var(--brand-blue);box-shadow:0 0 45px var(--brand-blue)}.scene-active > .transition-scan span{transform:translateX(100vw)}

.transition-orbit { background:#f6ecdf; }.transition-orbit i { left:50%;top:50%;border:1px solid rgba(44,98,214,.22);border-radius:50%;transform:translate(-50%,-50%) rotate(0deg) scale(1); }.transition-orbit i:nth-child(1){width:22vw;height:22vw}.transition-orbit i:nth-child(2){width:42vw;height:42vw}.transition-orbit i:nth-child(3){width:64vw;height:64vw}.transition-orbit i:nth-child(4){width:88vw;height:88vw}
.scene-active > .transition-orbit i{transform:translate(-50%,-50%) rotate(70deg) scale(1.5);opacity:0}.transition-orbit span{left:50%;top:50%;width:70px;height:70px;border-radius:50%;background:var(--cobalt);transform:translate(-50%,-50%)}.scene-active > .transition-orbit span{transform:translate(-50%,-50%) scale(0);opacity:0}

.transition-doors i { top:0; bottom:0; width:25.1%; background:#f1e5d8; }.transition-doors i:nth-child(1){left:0}.transition-doors i:nth-child(2){left:25%}.transition-doors i:nth-child(3){right:25%}.transition-doors i:nth-child(4){right:0}
.scene-active > .transition-doors i:nth-child(-n+2){transform:translateX(-205%)}.scene-active > .transition-doors i:nth-child(n+3){transform:translateX(205%)}
.transition-doors span{left:50%;top:0;bottom:0;width:1px;background:rgba(44,98,214,.45)}.scene-active > .transition-doors span{transform:scaleY(0)}

.transition-type { background:#080b0e; }.transition-type i{display:none}.transition-type span{inset:0;display:grid;place-items:center;color:transparent;-webkit-text-stroke:1px rgba(184,239,255,.38);font-size:clamp(100px,22vw,330px);font-weight:800;letter-spacing:0}.transition-type span::after{content:"WHY"}.scene-active > .transition-type span{transform:scale(1.45);opacity:0}

.transition-horizon { background:#fffaf5; }.transition-horizon i{left:0;right:0;height:25.1%;background:#fffaf5}.transition-horizon i:nth-child(1){top:0}.transition-horizon i:nth-child(2){top:25%}.transition-horizon i:nth-child(3){top:50%}.transition-horizon i:nth-child(4){top:75%}
.scene-active > .transition-horizon i{transform:translateY(-410%)}.transition-horizon span{left:0;right:0;top:50%;height:2px;background:var(--cobalt);box-shadow:0 0 30px rgba(44,98,214,.35)}.scene-active > .transition-horizon span{transform:translateY(-50vh);opacity:0}

.brand-system-demo { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; }
.brand-question { position:relative;display:grid;place-items:center;overflow:hidden;border-right:1px solid rgba(255,255,255,.12) }
.brand-question::before,.brand-question::after,.brand-question i{content:"";position:absolute;border:1px solid rgba(184,239,255,.2);border-radius:50%}.brand-question::before{width:72%;aspect-ratio:1}.brand-question::after{width:48%;aspect-ratio:1}.brand-question i{width:25%;aspect-ratio:1;animation:radarPulse 2.8s ease-out infinite}.brand-question span{position:relative;z-index:2;font-size:clamp(24px,3.8vw,58px);font-weight:800;letter-spacing:0}.brand-question b{position:absolute;left:18px;bottom:18px;color:var(--brand-blue);font-size:7px;letter-spacing:.14em}
.brand-expression{display:flex;flex-direction:column;justify-content:space-between;padding:24px;background:linear-gradient(145deg,#173c57,#050607)}.brand-expression strong{font-size:clamp(35px,4.2vw,66px);line-height:.74;letter-spacing:0}.brand-expression strong em{color:var(--brand-blue);font-style:normal}.brand-expression>div{display:grid;grid-template-columns:repeat(4,1fr);height:48px}.brand-expression>div i:nth-child(1){background:#b8efff}.brand-expression>div i:nth-child(2){background:#2c62d6}.brand-expression>div i:nth-child(3){background:#fcf6ec}.brand-expression>div i:nth-child(4){background:#050607;border:1px solid rgba(255,255,255,.2)}
.event-world { position:absolute; inset:0; display:grid; grid-template-columns:1fr; padding:14px; background:#050607; }
.venue-card { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(184,239,255,.16); border-radius:10px; }
.venue-card header,.venue-card footer { position:absolute; z-index:12; left:15px; right:15px; display:flex; align-items:center; justify-content:space-between; }
.venue-card header { top:13px; }.venue-card footer { bottom:12px; justify-content:flex-start; gap:6px; }
.venue-card header span,.venue-card footer span { color:rgba(255,255,255,.63); font-size:6px; letter-spacing:.13em; }
.venue-card header i { padding:5px 7px; color:#071015; border-radius:999px; background:var(--brand-blue); font-size:5px; font-style:normal; font-weight:800; letter-spacing:.12em; }
.venue-card footer span { padding:6px 8px; border:1px solid rgba(255,255,255,.13); border-radius:999px; }
.stage-venue { background:linear-gradient(180deg,#07111a,#020304); }
.venue-beams i { position:absolute; top:-12%; width:22%; height:78%; background:linear-gradient(180deg,rgba(184,239,255,.34),transparent 76%); clip-path:polygon(44% 0,56% 0,100% 100%,0 100%); transform-origin:top; }
.venue-beams i:nth-child(1){left:5%;animation:venueBeam 3.2s ease-in-out infinite}.venue-beams i:nth-child(2){left:39%;animation:venueBeam 3.2s -.8s ease-in-out infinite}.venue-beams i:nth-child(3){right:5%;animation:venueBeam 3.2s -1.6s ease-in-out infinite}
.venue-screen { position:absolute; z-index:4; left:12%; right:12%; top:16%; padding:28px 16px 32px; border:1px solid rgba(184,239,255,.28); background:rgba(4,8,12,.72); text-align:center; box-shadow:0 0 70px rgba(44,98,214,.2); }
.venue-screen small { color:var(--brand-blue); font-size:5px; letter-spacing:.14em; }.venue-screen strong { display:block; margin-top:20px; font-size:clamp(46px,6vw,92px); line-height:.76; letter-spacing:0; }
.venue-deck { position:absolute; z-index:3; left:8%; right:8%; bottom:22%; height:14%; background:linear-gradient(90deg,#102f52,#2c62d6,#102f52); clip-path:polygon(7% 0,93% 0,100% 100%,0 100%); box-shadow:0 -24px 55px rgba(120,166,255,.2); }
.venue-crowd { position:absolute; z-index:7; left:4%; right:4%; bottom:11%; height:60px; display:flex; align-items:end; justify-content:space-around; }
.venue-crowd i { position:relative; width:9px; height:9px; border-radius:50%; background:#111c22; box-shadow:0 9px 0 3px #111c22; animation:crowdBounce 1.7s ease-in-out infinite alternate; }
.venue-crowd i::before,.venue-crowd i::after { content:""; position:absolute; bottom:-13px; width:3px; height:19px; border-radius:3px; background:#111c22; transform-origin:bottom; }
.venue-crowd i::before { left:-3px; transform:rotate(-42deg); }.venue-crowd i::after { right:-3px; transform:rotate(42deg); }
.venue-crowd i:nth-child(3n){transform:scale(.72);animation-delay:-.3s}.venue-crowd i:nth-child(4n){transform:translateY(-13px) scale(.84);animation-delay:-.7s}.venue-crowd i:nth-child(5n)::before{transform:rotate(-76deg)}.venue-crowd i:nth-child(5n)::after{transform:rotate(76deg)}
.venue-flashes { position:absolute; z-index:9; inset:47% 7% 13%; pointer-events:none; }
.venue-flashes i { position:absolute; width:5px; height:5px; border-radius:50%; background:white; box-shadow:0 0 8px 4px white,0 0 22px 9px rgba(184,239,255,.8); animation:cameraFlash 3.4s steps(1) infinite; opacity:0; }
.venue-flashes i:nth-child(1){left:9%;top:57%;animation-delay:-.2s}.venue-flashes i:nth-child(2){left:28%;top:33%;animation-delay:-1.5s}.venue-flashes i:nth-child(3){left:46%;top:70%;animation-delay:-2.3s}.venue-flashes i:nth-child(4){right:31%;top:42%;animation-delay:-.8s}.venue-flashes i:nth-child(5){right:13%;top:63%;animation-delay:-2.8s}.venue-flashes i:nth-child(6){right:3%;top:27%;animation-delay:-1.9s}
.sponsor-venue { perspective:900px; background:radial-gradient(circle at 50% 4%,rgba(184,239,255,.17),transparent 28%),linear-gradient(180deg,#080e12 0 20%,#17242a 20% 28%,#dce5e5 28% 100%); }
.sponsor-venue header span { color:rgba(255,255,255,.72); }.sponsor-venue footer span { color:#526168; border-color:rgba(7,16,21,.15); background:rgba(255,255,255,.7); }
.sponsor-venue header,.sponsor-venue footer,.sponsor-venue .hall-booth,.sponsor-venue .hall-guests,.sponsor-venue .hall-structure>i { display:none; }
.hall-lights { position:absolute; z-index:10; left:2%; right:2%; top:7%; height:12%; display:flex; justify-content:space-around; }
.hall-lights i { width:5px; height:5px; border-radius:50%; background:white; box-shadow:0 0 7px 3px rgba(255,255,255,.8),0 10px 28px 10px rgba(184,239,255,.18); }.hall-lights i:nth-child(3n){transform:translateY(17px)}.hall-lights i:nth-child(2n){opacity:.68}
.expo-plane { position:absolute; z-index:4; left:-3%; right:-3%; top:19%; bottom:-4%; overflow:visible; border:1px solid rgba(184,239,255,.18); background:#d9e0df; box-shadow:0 28px 55px rgba(0,0,0,.48); transform:perspective(720px) rotateX(49deg) rotateZ(-1.5deg) scale(1.02); transform-origin:center bottom; transform-style:preserve-3d; }
.expo-plane::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 47%,rgba(44,98,214,.14) 47% 53%,transparent 53%),linear-gradient(0deg,transparent 46%,rgba(255,255,255,.72) 46% 54%,transparent 54%); }
.hall-structure { position:absolute; z-index:1; inset:0; overflow:hidden; background:repeating-linear-gradient(90deg,transparent 0 16.4%,rgba(7,16,21,.1) 16.7%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(7,16,21,.08) 48px),linear-gradient(180deg,#c4cdcc,#edf1ef 42%,#becaca); }
.hall-structure i { position:absolute; z-index:2; width:6px; height:6px; border:2px solid white; border-radius:50%; background:#66777c; box-shadow:4px 7px 4px rgba(7,16,21,.24); }.hall-structure i:nth-child(1){left:5%;top:7%}.hall-structure i:nth-child(2){left:22%;top:34%}.hall-structure i:nth-child(3){left:39%;bottom:13%}.hall-structure i:nth-child(4){right:39%;top:12%}.hall-structure i:nth-child(5){right:22%;top:47%}.hall-structure i:nth-child(6){right:5%;bottom:8%}
.hall-aisle { position:absolute; z-index:3; left:34%; right:34%; top:0; bottom:0; border-left:1px solid rgba(44,98,214,.2); border-right:1px solid rgba(44,98,214,.2); background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(184,239,255,.5),rgba(255,255,255,.35)); }
.hall-booth { --booth-accent:var(--cobalt); position:absolute; z-index:5; width:25%; height:17%; overflow:visible; border:1px solid color-mix(in srgb,var(--booth-accent) 28%,transparent); background:color-mix(in srgb,var(--booth-accent) 12%,#eef3f1); box-shadow:6px 9px 0 rgba(32,49,56,.2),0 15px 18px rgba(27,58,69,.17); transform:translateZ(14px); transform-style:preserve-3d; }
.hall-booth::before { content:""; position:absolute; z-index:2; left:-1px; right:-1px; top:-2px; height:28%; border:1px solid rgba(7,16,21,.16); border-top:4px solid var(--booth-accent); background:linear-gradient(90deg,#fff,#dfe7e7); box-shadow:0 7px 8px rgba(7,16,21,.16); transform:translateZ(24px) rotateX(-10deg); transform-origin:center bottom; }
.hall-booth::after { content:""; position:absolute; z-index:3; left:-1px; top:-1px; bottom:16%; width:16%; border:1px solid rgba(7,16,21,.13); border-left:4px solid var(--booth-accent); background:#e9eeee; box-shadow:5px 3px 8px rgba(7,16,21,.13); transform:translateZ(15px) rotateY(8deg); transform-origin:right center; }
.booth-b::after,.booth-d::after,.booth-f::after,.booth-h::after { left:auto; right:-1px; border-left:1px solid rgba(7,16,21,.13); border-right:4px solid var(--booth-accent); transform:translateZ(15px) rotateY(-8deg); transform-origin:left center; }
.hall-booth strong { position:absolute; z-index:5; left:22%; right:7%; top:4%; height:22%; overflow:hidden; border:1px solid rgba(7,16,21,.12); background:linear-gradient(90deg,#b8efff 0 29%,transparent 29% 35%,#cad5d7 35% 64%,transparent 64% 70%,var(--booth-accent) 70%); box-shadow:0 4px 6px rgba(7,16,21,.13); font-size:0; transform:translateZ(28px); }
.hall-booth strong::before { content:""; position:absolute; left:36%; top:18%; width:27%; height:58%; background:#071015; box-shadow:inset 0 0 0 2px #60737b; }
.hall-booth strong::after { content:""; position:absolute; left:5%; right:5%; bottom:10%; height:2px; background:rgba(7,16,21,.2); box-shadow:0 -7px 0 rgba(7,16,21,.11); }
.hall-booth small { position:absolute; z-index:6; right:8%; bottom:17%; width:14px; height:14px; display:block; border:2px solid white; border-radius:50%; background:var(--booth-accent); box-shadow:2px 4px 0 #718086; font-size:0; transform:translateZ(18px); }
.hall-booth small::before { content:""; position:absolute; left:50%; bottom:100%; width:5px; height:8px; border-radius:2px 2px 0 0; background:#fff; transform:translateX(-50%); }
.hall-booth>b { position:absolute; z-index:7; left:22%; right:22%; bottom:8px; height:11px; border:1px solid rgba(7,16,21,.22); border-top:3px solid var(--booth-accent); background:#fff; box-shadow:3px 4px 0 #718086; transform:translateZ(19px); }
.hall-booth>b::before,.hall-booth>b::after { content:""; position:absolute; top:100%; width:3px; height:8px; background:#526168; }.hall-booth>b::before{left:10%}.hall-booth>b::after{right:10%}
.booth-c strong,.booth-f strong { background:repeating-linear-gradient(90deg,#fff 0 18%,#8ea0a6 18% 21%,#dce5e5 21% 39%); }.booth-d strong,.booth-g strong { background:radial-gradient(circle at center,var(--booth-accent) 0 19%,#fff 20% 55%,#cbd6d7 56%); }
.booth-a{left:3%;top:7%}.booth-b{right:3%;top:7%;--booth-accent:#183f59}.booth-c{left:5%;top:38%;width:21%;height:16%;--booth-accent:var(--brand-blue)}.booth-d{right:5%;top:38%;width:21%;height:16%;--booth-accent:#e1773f}.booth-e{left:2%;top:70%;width:27%;height:15%;--booth-accent:#183f59}.booth-f{right:2%;top:70%;width:27%;height:15%}.booth-g{left:28%;top:9%;width:12%;height:12%;--booth-accent:#e1773f}.booth-h{right:28%;top:9%;width:12%;height:12%;--booth-accent:var(--brand-blue)}
.hall-guests { position:absolute; z-index:12; left:25%; right:25%; top:3%; bottom:3%; transform:translateZ(28px); }
.hall-guests i { position:absolute; width:6px; height:6px; border-radius:50%; background:#26353c; box-shadow:0 7px 0 1px #26353c; animation:hallWalk 3.8s ease-in-out infinite alternate; }
.hall-guests i::after { content:""; position:absolute; left:1px; top:12px; width:4px; height:5px; border-left:1px solid #26353c; border-right:1px solid #26353c; }
.hall-guests i:nth-child(1){left:18%;top:15%}.hall-guests i:nth-child(2){right:15%;top:20%;animation-delay:-.5s}.hall-guests i:nth-child(3){left:38%;top:31%;animation-delay:-1s}.hall-guests i:nth-child(4){right:38%;top:38%;animation-delay:-1.5s}.hall-guests i:nth-child(5){left:6%;top:48%;animation-delay:-2s}.hall-guests i:nth-child(6){right:4%;top:52%;animation-delay:-2.5s}.hall-guests i:nth-child(7){left:47%;top:8%;animation-delay:-3s}.hall-guests i:nth-child(8){right:24%;top:68%;animation-delay:-3.5s}.hall-guests i:nth-child(9){left:21%;top:74%;animation-delay:-.8s}.hall-guests i:nth-child(10){left:43%;top:57%;animation-delay:-1.2s}.hall-guests i:nth-child(11){right:42%;top:82%;animation-delay:-1.8s}.hall-guests i:nth-child(12){left:4%;top:86%;animation-delay:-2.2s}.hall-guests i:nth-child(13){right:7%;top:89%;animation-delay:-2.9s}.hall-guests i:nth-child(14){left:31%;top:92%;animation-delay:-3.2s}.hall-guests i:nth-child(15){right:29%;top:45%;animation-delay:-.4s}.hall-guests i:nth-child(16){left:53%;top:23%;animation-delay:-1.4s}

/* Sponsor hall translated from Patrick's perspective sketch */
.sketch-expo-floor { position:absolute; z-index:4; left:3%; right:3%; top:23%; bottom:-3%; overflow:hidden; background:linear-gradient(145deg,#e8edeb,#c8d2d1); clip-path:polygon(17% 0,83% 0,100% 100%,0 100%); box-shadow:0 28px 55px rgba(0,0,0,.42); transform-style:preserve-3d; }
.sketch-expo-floor::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 49.7%,rgba(44,98,214,.13) 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,rgba(255,255,255,.75) 50%,transparent 50.3%); }
.sketch-grid { position:absolute; inset:0; opacity:.35; background-image:linear-gradient(rgba(7,16,21,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(7,16,21,.1) 1px,transparent 1px); background-size:36px 36px; transform:perspective(520px) rotateX(12deg) scale(1.08); }
.sketch-booth { --setup:#2c62d6; position:absolute; z-index:5; width:25%; height:16%; filter:drop-shadow(8px 11px 8px rgba(7,16,21,.27)); }
.sketch-booth>i { position:absolute; left:0; top:0; width:72%; height:47%; border:1px solid rgba(7,16,21,.18); border-top:5px solid var(--setup); background:linear-gradient(180deg,#fff,#dbe3e2); box-shadow:5px 7px 0 #718087; transform:skewY(-3deg); }
.sketch-booth>b { position:absolute; left:4%; top:42%; width:31%; height:58%; border:1px solid rgba(7,16,21,.18); border-left:4px solid var(--setup); background:#edf1ef; box-shadow:4px 6px 0 #819095; transform:skewY(5deg); }
.sketch-booth>span { position:absolute; right:3%; bottom:4%; width:48%; height:25%; border:1px solid rgba(7,16,21,.2); border-top:3px solid var(--setup); background:#fff; box-shadow:4px 5px 0 #6f7e83; }
.sketch-booth>span::before,.sketch-booth>span::after { content:""; position:absolute; top:100%; width:3px; height:10px; background:#536268; }.sketch-booth>span::before{left:13%}.sketch-booth>span::after{right:13%}
.sketch-booth-left { left:15%; top:17%; --setup:#2c62d6; }
.sketch-booth-right { right:14%; top:16%; --setup:#183f59; transform:scaleX(-1); }
.sketch-booth-right>* { transform:scaleX(-1); }.sketch-booth-right>i { transform:scaleX(-1) skewY(-3deg); }.sketch-booth-right>b { transform:scaleX(-1) skewY(5deg); }
.sketch-booth-front { left:10%; bottom:14%; width:30%; height:19%; --setup:#b8efff; transform:scale(1.08); }
.sketch-centerpiece { position:absolute; z-index:7; left:47%; top:25%; width:6%; height:37%; filter:drop-shadow(7px 10px 8px rgba(7,16,21,.3)); }
.sketch-centerpiece>i { position:absolute; inset:0; border:1px solid rgba(7,16,21,.3); border-top:6px solid var(--cobalt); background:linear-gradient(90deg,#f8faf9,#b9c8ca); box-shadow:7px 8px 0 #637279; }
.sketch-centerpiece>b { position:absolute; left:20%; right:20%; top:17%; height:30%; border:1px solid rgba(184,239,255,.45); background:#071015; box-shadow:inset 0 0 0 2px #274c60; }
.sketch-visitor { position:absolute; z-index:8; left:56%; top:47%; width:16px; height:35px; filter:drop-shadow(7px 9px 3px rgba(7,16,21,.25)); animation:sketchVisitor 3.8s ease-in-out infinite alternate; }
.sketch-visitor>i { position:absolute; left:4px; top:0; width:8px; height:8px; border-radius:50%; background:#17252b; }
.sketch-visitor>b { position:absolute; left:5px; top:8px; width:6px; height:16px; border-radius:3px 3px 1px 1px; background:#2c62d6; }
.sketch-visitor>b::before,.sketch-visitor>b::after { content:""; position:absolute; top:13px; width:3px; height:13px; background:#17252b; transform-origin:top; }.sketch-visitor>b::before{left:-1px;transform:rotate(8deg)}.sketch-visitor>b::after{right:-1px;transform:rotate(-8deg)}
.sponsor-venue .sketch-booth,.sponsor-venue .sketch-centerpiece,.sponsor-venue .sketch-visitor { display:none; }
@keyframes venueBeam { 0%,100%{opacity:.24;transform:rotate(-4deg)}50%{opacity:.72;transform:rotate(5deg)} }
@keyframes crowdBounce { from{margin-bottom:0}to{margin-bottom:5px} }
@keyframes cameraFlash { 0%,8%,100%{opacity:0}9%,11%{opacity:1}12%{opacity:0} }
@keyframes hallWalk { from{transform:translateY(-4px) rotate(-2deg)}to{transform:translateY(7px) rotate(2deg)} }
@keyframes sketchVisitor { from{transform:translate(-3px,-2px)}to{transform:translate(5px,4px)} }

/* Distinct service demonstrations */
.brand-identity-card { position:absolute; inset:0; display:grid; grid-template-rows:1.08fr 1.32fr auto; overflow:hidden; color:#071015; background:#f8f1e7; }
.brand-identity-card span,.asset-studio span,.backend-flow span { color:var(--brand-blue); font-size:6px; letter-spacing:.14em; }
.brand-card-head { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:25px 28px; overflow:hidden; color:white; background:linear-gradient(135deg,#071015,#173f59); }
.brand-card-head::after { content:""; position:absolute; right:-10%; bottom:-65%; width:56%; aspect-ratio:1; border:1px solid rgba(184,239,255,.2); border-radius:50%; box-shadow:0 0 0 30px rgba(184,239,255,.035),0 0 0 62px rgba(184,239,255,.02); }
.brand-card-head strong { position:relative; z-index:2; font-size:clamp(42px,4.9vw,74px); line-height:.79; letter-spacing:0; }
.brand-card-head>i { position:absolute; z-index:2; right:28px; top:21px; width:43px; height:43px; display:grid; place-items:center; color:#071015; border-radius:50%; background:var(--brand-blue); font-size:24px; font-style:normal; font-weight:800; }
.brand-card-parts { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid rgba(7,16,21,.14); }
.brand-card-parts article { display:flex; flex-direction:column; justify-content:space-between; gap:18px; padding:22px; border-right:1px solid rgba(7,16,21,.13); }
.brand-card-parts article:last-child { border-right:0; }
.brand-card-parts b { color:var(--cobalt); font-size:8px; letter-spacing:.13em; }
.brand-card-parts strong { display:block; margin-bottom:8px; font-size:clamp(15px,1.7vw,25px); letter-spacing:0; }
.brand-card-parts small { display:block; max-width:150px; color:#59686e; font-size:9px; line-height:1.45; }
.brand-card-output { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; padding:16px 22px; background:#fffaf4; }
.brand-card-output span { color:var(--cobalt); }
.brand-card-output strong { justify-self:end; color:#44545b; font-size:7px; letter-spacing:.08em; text-align:right; }

.asset-studio { position:absolute; inset:0; display:grid; grid-template-columns:1fr 34px 1fr; overflow:hidden; color:white; background:#050607; }
.capture-bay,.vault-bay { position:relative; min-width:0; display:flex; flex-direction:column; padding:22px; }
.capture-bay { background:radial-gradient(circle at 50% 52%,rgba(44,98,214,.28),transparent 43%),linear-gradient(145deg,#102f52,#050607 72%); }
.vault-bay { background:linear-gradient(145deg,#f8f1e7,#dbeef2); color:#071015; }
.asset-section-label { display:flex; align-items:center; gap:9px; }
.asset-section-label>span { width:22px; height:22px; display:grid; place-items:center; color:#071015; border-radius:50%; background:var(--brand-blue); font-weight:800; }
.asset-section-label>strong { font-size:8px; letter-spacing:.12em; }
.asset-section-label>i { margin-left:auto; padding:5px 7px; color:rgba(255,255,255,.65); border:1px solid rgba(255,255,255,.16); border-radius:999px; font-size:5px; font-style:normal; letter-spacing:.12em; }
.capture-devices { position:relative; flex:1; min-height:270px; }
.studio-camera { position:absolute; left:5%; top:22%; width:69%; filter:drop-shadow(0 24px 28px rgba(0,0,0,.42)); transform:rotate(-3deg); }
.camera-top { width:42%; height:25px; margin-left:15%; border-radius:8px 8px 2px 2px; background:#1b252c; }
.camera-body { position:relative; height:150px; border:1px solid rgba(184,239,255,.22); border-radius:17px 28px 18px 18px; background:linear-gradient(145deg,#26343d,#080c0f 72%); }
.camera-body>span { position:absolute; left:15px; top:14px; width:8px; height:8px; border-radius:50%; background:#e75b52; box-shadow:18px 0 0 rgba(255,255,255,.13); }
.camera-body>b { position:absolute; left:50%; top:50%; width:106px; height:106px; display:grid; place-items:center; border:10px solid #111b20; border-radius:50%; background:radial-gradient(circle at 40% 35%,#b8efff 0 4%,#2c62d6 9%,#102f52 31%,#030506 69%); box-shadow:inset 0 0 0 5px #39464d,0 0 0 3px #071015; transform:translate(-50%,-50%); }
.camera-body>b::before,.camera-body>b::after,.camera-body>b>i { content:""; position:absolute; border:1px solid rgba(184,239,255,.25); border-radius:50%; }
.camera-body>b::before { inset:17%; }.camera-body>b::after { inset:31%; }.camera-body>b>i { inset:43%; background:rgba(184,239,255,.35); animation:lensFocus 2.8s ease-in-out infinite; }
.camera-body>small { position:absolute; right:14px; top:14px; width:22px; height:11px; border-radius:3px; background:#b8efff; opacity:.45; }
.studio-phone { position:absolute; z-index:3; right:1%; bottom:6%; width:29%; height:190px; padding:7px; border:2px solid #48565e; border-radius:24px; background:#050607; box-shadow:0 19px 30px rgba(0,0,0,.45); transform:rotate(8deg); }
.studio-phone>span { position:absolute; z-index:2; left:50%; top:10px; width:35%; height:7px; border-radius:999px; background:#050607; transform:translateX(-50%); }
.studio-phone>div { height:100%; display:grid; place-items:center; overflow:hidden; border-radius:17px; background:linear-gradient(155deg,#b8efff,#2c62d6 48%,#071015 49%); }
.studio-phone>div::before { content:""; width:76%; aspect-ratio:1; border:1px solid rgba(255,255,255,.5); border-radius:50%; box-shadow:0 0 0 20px rgba(255,255,255,.06); }
.studio-phone b { position:absolute; left:50%; bottom:20px; color:white; font-size:8px; transform:translateX(-50%); }
.studio-phone>small { position:absolute; left:50%; bottom:3px; width:28%; height:2px; border-radius:2px; background:rgba(255,255,255,.65); transform:translateX(-50%); }
.capture-types { display:flex; gap:5px; }
.capture-types span { flex:1; padding:9px 5px; color:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.12); border-radius:4px; text-align:center; }
.asset-transfer { position:relative; z-index:4; display:grid; place-items:center; background:#071015; }
.asset-transfer::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:1px; background:rgba(184,239,255,.14); }
.asset-transfer i { position:absolute; width:2px; height:26%; background:linear-gradient(transparent,var(--brand-blue),transparent); animation:assetSignal 2.2s ease-in-out infinite; }
.asset-transfer span { position:relative; z-index:2; width:27px; height:27px; display:grid; place-items:center; color:#071015; border-radius:50%; background:var(--brand-blue); font-size:13px; font-weight:800; }
.vault-bay .asset-section-label>span { color:white; background:var(--cobalt); }
.vault-bay .asset-section-label>i { color:#59686e; border-color:rgba(7,16,21,.13); }
.vault-folder { position:relative; flex:1; min-height:302px; margin-top:46px; padding:20px 14px 14px; border:1px solid rgba(7,16,21,.14); border-radius:7px 7px 12px 12px; background:#fffaf4; box-shadow:0 24px 42px rgba(39,72,83,.15); }
.vault-folder-tab { position:absolute; left:-1px; top:-24px; width:48%; height:25px; display:flex; align-items:center; padding-left:13px; border:1px solid rgba(7,16,21,.14); border-bottom:0; border-radius:7px 10px 0 0; background:#fffaf4; color:#637178; font-size:5px; letter-spacing:.1em; }
.vault-grid { height:100%; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr); gap:7px; }
.vault-item { position:relative; overflow:hidden; border-radius:5px; background:#163d56; box-shadow:inset 0 0 0 1px rgba(7,16,21,.08); animation:vaultLoad 600ms var(--ease) both; }
.vault-item:nth-child(2){animation-delay:70ms}.vault-item:nth-child(3){animation-delay:140ms}.vault-item:nth-child(4){animation-delay:210ms}.vault-item:nth-child(5){animation-delay:280ms}.vault-item:nth-child(6){animation-delay:350ms}
.vault-item::after { content:""; position:absolute; inset:0; background:linear-gradient(155deg,transparent 48%,rgba(7,16,21,.35) 49%); }
.vault-photo { background:linear-gradient(145deg,#b8efff 0 42%,#315a71 43%); }.vault-film { background:linear-gradient(135deg,#102f52,#2c62d6); }.vault-social { background:linear-gradient(35deg,#071015 0 46%,#b8efff 47%); }.vault-wide { grid-column:span 2; background:linear-gradient(120deg,#071015,#1c5c88 55%,#b8efff); }.vault-mark { display:none; }.vault-story { background:linear-gradient(145deg,#2c62d6,#071015); }
.vault-film::before { content:"▶"; position:absolute; z-index:2; inset:0; display:grid; place-items:center; color:white; font-size:13px; }
.vault-status { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; margin-top:13px; }
.vault-status>i { width:7px; height:7px; border-radius:50%; background:#46ac79; box-shadow:0 0 0 4px rgba(70,172,121,.11); }
.vault-status span { color:#4f7661; }.vault-status>b { color:#59686e; font-size:6px; }
@keyframes lensFocus { 0%,100%{transform:scale(.65);opacity:.45}50%{transform:scale(1.15);opacity:1} }
@keyframes assetSignal { 0%{transform:translateY(-130%);opacity:0}45%{opacity:1}100%{transform:translateY(130%);opacity:0} }
@keyframes vaultLoad { from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none} }

.backend-flow { position:absolute; inset:0; display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; color:white; background:radial-gradient(circle at 52% 40%,rgba(44,98,214,.24),transparent 35%),linear-gradient(145deg,#071015,#102f52); }
.backend-flow::before { content:""; position:absolute; inset:0; opacity:.25; background-image:linear-gradient(rgba(184,239,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(184,239,255,.08) 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(to bottom,black,transparent 78%); }
.backend-flow-head { position:relative; z-index:4; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; border-bottom:1px solid rgba(184,239,255,.14); background:rgba(5,6,7,.32); }
.backend-flow-head>span { color:rgba(255,255,255,.55); }
.backend-flow-head>div { display:flex; gap:6px; }
.backend-flow-head button { padding:10px 13px; color:rgba(255,255,255,.65); border:1px solid rgba(184,239,255,.17); border-radius:999px; background:rgba(5,6,7,.34); font-size:7px; letter-spacing:.06em; cursor:pointer; transition:color 180ms,background 180ms,border-color 180ms,transform 180ms; }
.backend-flow-head button:hover,.backend-flow-head button:focus-visible,.backend-flow-head button.is-active { color:#071015; border-color:var(--brand-blue); background:var(--brand-blue); outline:0; transform:translateY(-2px); }
.backend-flow-stage { position:relative; z-index:2; display:grid; grid-template-columns:.72fr 2.2fr .82fr; gap:14px; align-items:stretch; padding:38px 22px 28px; }
.flow-origin,.flow-outcome { position:relative; z-index:5; display:flex; flex-direction:column; justify-content:space-between; padding:18px; border:1px solid rgba(184,239,255,.2); border-radius:8px; background:rgba(5,13,18,.88); box-shadow:0 20px 38px rgba(0,0,0,.22); }
.flow-origin::after,.flow-outcome::before { content:""; position:absolute; top:50%; width:15px; height:1px; background:var(--brand-blue); }.flow-origin::after{left:100%}.flow-outcome::before{right:100%}
.flow-origin span,.flow-outcome span { color:var(--brand-blue); }
.flow-origin strong,.flow-outcome strong { font-size:clamp(18px,2vw,30px); line-height:1; letter-spacing:0; }
.flow-outcome { color:#071015; border-color:rgba(7,16,21,.1); background:var(--brand-blue); }
.flow-outcome span { color:#2c62d6; }.flow-outcome::before { background:var(--brand-blue); }
.flow-path { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; align-items:center; }
.flow-line { position:absolute; z-index:0; left:0; right:0; top:50%; height:2px; overflow:hidden; background:rgba(184,239,255,.18); }
.flow-line::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,var(--brand-blue),transparent); transform:translateX(-100%); }
.backend-flow.is-running .flow-line::after { animation:flowSweep 2.6s var(--ease) both; }
.flow-packet { position:absolute; z-index:4; left:0; top:calc(50% - 6px); width:12px; height:12px; border-radius:50%; background:white; box-shadow:0 0 0 5px rgba(184,239,255,.13),0 0 24px var(--brand-blue); opacity:0; }
.backend-flow.is-running .flow-packet { animation:flowPacket 2.55s var(--ease) both; }
.flow-path article { position:relative; z-index:2; min-height:180px; display:flex; flex-direction:column; justify-content:space-between; padding:14px; border:1px solid rgba(184,239,255,.16); border-radius:7px; background:rgba(7,16,21,.9); box-shadow:0 16px 30px rgba(0,0,0,.2); opacity:.46; transform:translateY(8px); }
.backend-flow.is-running .flow-path article { animation:flowNode 520ms var(--ease) forwards; }.backend-flow.is-running .flow-path article:nth-of-type(1){animation-delay:250ms}.backend-flow.is-running .flow-path article:nth-of-type(2){animation-delay:760ms}.backend-flow.is-running .flow-path article:nth-of-type(3){animation-delay:1270ms}.backend-flow.is-running .flow-path article:nth-of-type(4){animation-delay:1780ms}
.flow-path article>i { width:27px; height:27px; display:grid; place-items:center; color:#071015; border-radius:50%; background:var(--brand-blue); font-size:7px; font-style:normal; font-weight:800; }
.flow-path article strong { margin-top:auto; font-size:clamp(13px,1.3vw,19px); letter-spacing:0; }
.flow-path article small { min-height:31px; margin-top:8px; color:rgba(255,255,255,.48); font-size:7px; line-height:1.45; }
.flow-status { position:relative; z-index:4; display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; min-height:48px; padding:10px 18px; border-top:1px solid rgba(184,239,255,.14); background:rgba(5,6,7,.55); }
.flow-status>i { width:8px; height:8px; border-radius:50%; background:#59d9a0; box-shadow:0 0 0 4px rgba(89,217,160,.1); }.flow-status>span { color:rgba(255,255,255,.65); }.flow-status>b { color:#59d9a0; font-size:6px; letter-spacing:.12em; }
@keyframes flowSweep { from{transform:translateX(-100%)}to{transform:translateX(100%)} }
@keyframes flowPacket { 0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 12px);opacity:0} }
@keyframes flowNode { to{opacity:1;transform:none;border-color:rgba(184,239,255,.48);box-shadow:0 18px 38px rgba(44,98,214,.16)} }

.growth-command { --growth-accent:var(--brand-blue); position:absolute; inset:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; color:white; background:#070a0d; }
.growth-command[data-amplification="ugc"]{--growth-accent:#78a6ff}.growth-command[data-amplification="pr"]{--growth-accent:#f3c969}.growth-command[data-amplification="advertising"]{--growth-accent:#56a6cc}.growth-command[data-amplification="propaganda"]{--growth-accent:#f8f4ec}
.growth-command::before { content:""; position:absolute; inset:0; opacity:.34; background:radial-gradient(circle at 51% 43%,color-mix(in srgb,var(--growth-accent) 18%,transparent),transparent 34%),linear-gradient(rgba(184,239,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(184,239,255,.05) 1px,transparent 1px); background-size:auto,40px 40px,40px 40px; }
.growth-command-head { position:relative; z-index:5; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:15px 20px; border-bottom:1px solid rgba(255,255,255,.1); background:rgba(5,6,7,.76); backdrop-filter:blur(14px); }
.growth-command-head>div { display:flex; flex-direction:column; gap:5px; }.growth-command-head span { color:var(--growth-accent); font-size:6px; font-weight:700; letter-spacing:.14em; }.growth-command-head span i { width:6px; height:6px; display:inline-block; margin-right:6px; border-radius:50%; background:#5dd6ba; box-shadow:0 0 10px #5dd6ba; }.growth-command-head strong { font-size:13px; letter-spacing:.09em; }.growth-command-head>p { margin:0; color:rgba(255,255,255,.42); font-size:7px; letter-spacing:.12em; }.growth-command-head>p i { margin:0 8px; color:var(--growth-accent); font-style:normal; }
.growth-command-body { position:relative; z-index:2; display:grid; grid-template-columns:210px minmax(0,1fr) 250px; min-height:0; }
.growth-channel-rail { display:flex; flex-direction:column; min-width:0; padding:16px 10px; border-right:1px solid rgba(255,255,255,.1); background:rgba(7,12,16,.8); }
.growth-rail-label { display:grid; grid-template-columns:28px 1fr; gap:7px; align-items:start; min-height:68px; padding:5px 10px 14px; color:rgba(255,255,255,.3); }.growth-rail-label span { color:var(--growth-accent); font-size:7px; }.growth-rail-label strong { font-size:7px; line-height:1.45; letter-spacing:.12em; }
.growth-channel-rail button { position:relative; display:grid; grid-template-columns:23px 1fr 27px; gap:8px; align-items:center; min-height:62px; padding:9px 10px; color:rgba(255,255,255,.52); border:0; border-bottom:1px solid rgba(255,255,255,.07); background:transparent; text-align:left; cursor:pointer; transition:color 180ms,background 180ms,transform 180ms; }
.growth-channel-rail button::before { content:""; position:absolute; left:0; top:12px; bottom:12px; width:2px; background:var(--growth-accent); opacity:0; transform:scaleY(.3); transition:opacity 180ms,transform 180ms; }.growth-channel-rail button:hover,.growth-channel-rail button:focus-visible,.growth-channel-rail button.is-active { color:white; background:color-mix(in srgb,var(--growth-accent) 9%,transparent); outline:0; transform:translateX(3px); }.growth-channel-rail button.is-active::before { opacity:1; transform:scaleY(1); }
.growth-channel-rail button>span { color:rgba(255,255,255,.25); font-size:6px; }.growth-channel-rail button>div { display:flex; flex-direction:column; min-width:0; }.growth-channel-rail button strong { font-size:9px; font-weight:600; }.growth-channel-rail button small { margin-top:3px; overflow:hidden; color:rgba(255,255,255,.28); font-size:5px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.growth-channel-rail button>i { width:27px; height:27px; display:grid; place-items:center; color:var(--growth-accent); border:1px solid color-mix(in srgb,var(--growth-accent) 28%,transparent); border-radius:50%; font-size:10px; font-style:normal; }
.growth-campaign-canvas { min-width:0; display:grid; grid-template-rows:auto 1fr auto auto; padding:18px; background:radial-gradient(circle at 33% 34%,color-mix(in srgb,var(--growth-accent) 13%,transparent),transparent 36%); }
.growth-campaign-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.09); }.growth-campaign-top>span { color:var(--growth-accent); font-size:7px; font-weight:700; letter-spacing:.13em; }.growth-campaign-top>b { display:flex; align-items:center; gap:6px; color:rgba(255,255,255,.36); font-size:6px; letter-spacing:.1em; }.growth-campaign-top>b i { width:5px; height:5px; border-radius:50%; background:#5dd6ba; }
.growth-campaign-signal { display:grid; grid-template-columns:170px 1fr; gap:22px; align-items:center; padding:20px 4px; }
.growth-signal-orbit { position:relative; width:150px; height:150px; display:grid; place-items:center; margin:auto; }.growth-signal-orbit>i { position:absolute; border:1px solid color-mix(in srgb,var(--growth-accent) 34%,transparent); border-radius:50%; animation:growthOrbit 8s linear infinite; }.growth-signal-orbit>i:nth-child(1){inset:0}.growth-signal-orbit>i:nth-child(2){inset:17%;animation-duration:6s;animation-direction:reverse}.growth-signal-orbit>i:nth-child(3){inset:34%;animation-duration:4s}.growth-signal-orbit>i::after { content:""; position:absolute; left:50%; top:-3px; width:6px; height:6px; border-radius:50%; background:var(--growth-accent); box-shadow:0 0 14px var(--growth-accent); }.growth-signal-orbit>b { position:relative; z-index:2; width:62px; height:62px; display:grid; place-items:center; color:#071015; border-radius:50%; background:var(--growth-accent); box-shadow:0 0 0 12px color-mix(in srgb,var(--growth-accent) 8%,transparent),0 0 44px color-mix(in srgb,var(--growth-accent) 24%,transparent); font-size:24px; }
.growth-campaign-signal>div:last-child>span { color:rgba(255,255,255,.34); font-size:6px; letter-spacing:.12em; }.growth-campaign-signal h4 { max-width:560px; margin:10px 0 0; font-size:clamp(24px,2.6vw,40px); font-weight:500; line-height:1; letter-spacing:0; }.growth-campaign-signal p { max-width:530px; margin:12px 0 0; color:rgba(255,255,255,.5); font-size:9px; line-height:1.5; }
.growth-playbook { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.growth-playbook article { display:grid; grid-template-columns:20px 29px 1fr; gap:7px; align-items:center; min-height:72px; padding:9px; border:1px solid rgba(255,255,255,.09); background:rgba(7,12,16,.68); opacity:.4; transform:translateY(8px); }.growth-command.is-running .growth-playbook article { animation:growthStepIn 460ms var(--ease) forwards; }.growth-command.is-running .growth-playbook article:nth-child(1){animation-delay:100ms}.growth-command.is-running .growth-playbook article:nth-child(2){animation-delay:300ms}.growth-command.is-running .growth-playbook article:nth-child(3){animation-delay:500ms}.growth-command.is-running .growth-playbook article:nth-child(4){animation-delay:700ms}
.growth-playbook article>span { color:rgba(255,255,255,.25); font-size:6px; }.growth-playbook article>i { width:28px; height:28px; display:grid; place-items:center; color:#071015; border-radius:50%; background:var(--growth-accent); font-size:6px; font-style:normal; font-weight:800; }.growth-playbook article>div { display:flex; flex-direction:column; min-width:0; }.growth-playbook strong { font-size:8px; }.growth-playbook small { margin-top:3px; color:rgba(255,255,255,.34); font-size:5px; line-height:1.35; }
.growth-conversion-strip { display:grid; grid-template-columns:auto minmax(120px,1fr) auto; gap:13px; align-items:center; margin-top:8px; padding:10px 12px; border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.025); }.growth-conversion-strip>div:first-child { display:flex; align-items:baseline; gap:9px; }.growth-conversion-strip span { color:rgba(255,255,255,.38); font-size:5px; letter-spacing:.12em; }.growth-conversion-strip strong { color:var(--growth-accent); font-size:18px; }.growth-conversion-meter { height:5px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.09); }.growth-conversion-meter i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--cobalt),var(--growth-accent)); transition:width 520ms var(--ease); }.growth-conversion-strip>small { color:rgba(255,255,255,.27); font-size:5px; letter-spacing:.08em; }
.growth-sales-panel { display:flex; flex-direction:column; min-width:0; padding:16px; border-left:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,rgba(16,47,82,.5),rgba(7,12,16,.9)); }
.growth-sales-panel>header { display:flex; align-items:center; justify-content:space-between; gap:9px; min-height:52px; padding-bottom:13px; border-bottom:1px solid rgba(255,255,255,.09); }.growth-sales-panel>header>div { display:grid; grid-template-columns:20px 1fr; gap:5px; }.growth-sales-panel>header span { color:var(--growth-accent); font-size:6px; }.growth-sales-panel>header strong { font-size:8px; letter-spacing:.09em; }.growth-sales-panel>header>b { display:flex; align-items:center; gap:5px; color:#5dd6ba; font-size:5px; letter-spacing:.08em; }.growth-sales-panel>header>b i { width:5px; height:5px; border-radius:50%; background:#5dd6ba; box-shadow:0 0 8px #5dd6ba; }
.growth-funnel { display:flex; flex:1; flex-direction:column; justify-content:center; gap:8px; padding:16px 0; }.growth-funnel>div { position:relative; min-height:66px; display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; padding:10px 11px; overflow:hidden; border:1px solid rgba(255,255,255,.09); background:rgba(5,10,14,.62); }.growth-funnel>div>i { position:absolute; z-index:0; left:0; bottom:0; width:var(--fill); height:2px; background:var(--growth-accent); box-shadow:0 0 16px var(--growth-accent); transition:width 520ms var(--ease); }.growth-funnel span,.growth-funnel>div>b { position:relative; z-index:1; }.growth-funnel span { display:flex; flex-direction:column; }.growth-funnel strong { font-size:8px; }.growth-funnel small { margin-top:4px; color:rgba(255,255,255,.32); font-size:5px; }.growth-funnel>div>b { color:var(--growth-accent); font-size:20px; font-weight:400; }
.growth-outcome { padding:14px; color:#071015; background:var(--growth-accent); }.growth-outcome>span { color:rgba(7,16,21,.5); font-size:5px; font-weight:800; letter-spacing:.12em; }.growth-outcome p { margin:8px 0 0; font-size:10px; font-weight:600; line-height:1.35; }
.growth-command-footer { position:relative; z-index:5; min-height:55px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:11px 20px; border-top:1px solid rgba(255,255,255,.1); background:rgba(5,6,7,.8); }.growth-command-footer>p { max-width:630px; margin:0; color:rgba(255,255,255,.52); font-size:7px; line-height:1.45; }.growth-command-footer>div { display:flex; gap:12px; }.growth-command-footer span { display:flex; align-items:center; gap:5px; color:rgba(255,255,255,.32); font-size:5px; letter-spacing:.08em; white-space:nowrap; }.growth-command-footer span i { width:5px; height:5px; border-radius:50%; background:#5dd6ba; }
@keyframes growthOrbit { to{transform:rotate(360deg)} }
@keyframes growthStepIn { to{opacity:1;transform:none;border-color:color-mix(in srgb,var(--growth-accent) 30%,transparent)} }

.output-node { appearance:none; text-align:left; color:var(--text); cursor:pointer; transition:transform 200ms var(--ease),border-color 200ms,box-shadow 200ms,background 200ms; }
.output-node:hover,.output-node:focus-visible,.output-node.is-active{transform:translateY(-5px);border-color:rgba(44,98,214,.65);background:white;box-shadow:0 18px 45px rgba(44,98,214,.14);outline:0}.output-node.is-active::after{content:"OPEN";position:absolute;right:12px;bottom:10px;color:var(--cobalt);font-size:6px;letter-spacing:.1em}
.company-core{position:absolute;z-index:6;left:50%;top:50%;width:210px;height:210px;display:grid;place-content:center;gap:6px;text-align:center;transform:translate(-50%,-50%);border:1px solid rgba(184,239,255,.54);border-radius:50%;color:white;background:radial-gradient(circle at 45% 35%,#1c5c88,#09121a 68%);box-shadow:0 0 0 18px rgba(44,98,214,.055),0 0 70px rgba(44,98,214,.22);cursor:pointer;transition:transform 240ms var(--ease),box-shadow 240ms}.company-core:hover,.company-core:focus-visible,.company-core.is-active{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 0 0 24px rgba(44,98,214,.08),0 0 90px rgba(44,98,214,.34);outline:0}.company-core>span{color:var(--brand-blue);font-size:27px;font-weight:800}.company-core>strong{font-size:16px}.company-core>small{color:rgba(255,255,255,.45);font-size:6px;letter-spacing:.13em}
.output-detail{position:relative;z-index:3;display:grid;grid-template-columns:.8fr 1.2fr .8fr;gap:40px;align-items:start;margin-top:12px;padding:32px;color:white;border-radius:12px;background:linear-gradient(135deg,#0c0f14,#12344a);box-shadow:0 22px 60px rgba(16,39,53,.18);opacity:0;transform:translateY(-20px) scaleY(.92);transform-origin:top;transition:opacity 260ms ease,transform 360ms var(--ease)}.output-detail.is-open{opacity:1;transform:none}.output-detail>button{position:absolute;right:14px;top:14px;width:32px;height:32px;color:white;border:1px solid rgba(255,255,255,.18);border-radius:5px;background:transparent}.output-detail>div>span{color:var(--brand-blue);font-size:7px;letter-spacing:.14em}.output-detail h3{margin:13px 0 0;font-size:clamp(28px,3.3vw,48px);line-height:1}.output-detail>p{margin:23px 0 0;color:rgba(255,255,255,.65);font-size:14px;line-height:1.7}.output-detail ul{margin:19px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}.output-detail li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.72);font-size:10px}.output-detail li::before{content:"↳";margin-right:8px;color:var(--brand-blue)}

@media(max-width:820px){.scene-transition{display:block}.service-scene-brand .brand-system-demo{grid-template-columns:1fr 1fr}.company-core{width:170px;height:170px}.output-detail{grid-template-columns:1fr 1fr}.output-detail ul{grid-column:1/-1}}
@media(max-width:560px){
  .brand-system-demo{grid-template-columns:1fr 1fr}.brand-expression{padding:15px}.brand-expression strong{font-size:32px}.output-system{grid-template-rows:auto auto auto auto}.company-core{position:relative;left:auto;top:auto;grid-column:1/-1;grid-row:3;width:150px;height:150px;margin:15px auto;transform:none}.company-core:hover,.company-core:focus-visible,.company-core.is-active{transform:scale(1.04)}.node-sales{grid-row:4}.node-operations{grid-row:4}.output-detail{grid-template-columns:1fr;gap:8px;padding:25px 20px}.output-detail ul{grid-column:auto}.output-detail>p{margin-top:10px}
  .brand-identity-card { grid-template-rows:1fr 1.25fr auto; }
  .brand-card-head { padding:18px; }
  .brand-card-head strong { font-size:42px; }
  .brand-card-head>i { right:16px; top:14px; width:35px; height:35px; font-size:19px; }
  .brand-card-parts article { padding:14px 10px; gap:9px; }
  .brand-card-parts strong { font-size:12px; }
  .brand-card-parts small { font-size:7px; }
  .brand-card-output { grid-template-columns:1fr; gap:5px; padding:11px 14px; }
  .brand-card-output strong { justify-self:start; text-align:left; }
  .asset-studio { grid-template-columns:1fr 24px 1fr; }
  .capture-bay,.vault-bay { padding:12px; }
  .asset-section-label>i { display:none; }
  .capture-devices { min-height:205px; }
  .studio-camera { left:0; top:19%; width:78%; }
  .camera-top { height:17px; }
  .camera-body { height:105px; border-radius:12px 19px 13px 13px; }
  .camera-body>b { width:72px; height:72px; border-width:7px; }
  .studio-phone { right:0; bottom:3%; width:34%; height:135px; border-radius:17px; }
  .capture-types span { padding:7px 2px; font-size:5px; }
  .vault-folder { min-height:225px; margin-top:35px; padding:12px 8px 8px; }
  .vault-grid { grid-template-columns:repeat(2,1fr); }
  .vault-item:nth-child(3) { display:none; }
  .vault-wide { grid-column:span 1; }
  .event-world { gap:6px; padding:7px; }
  .venue-card { border-radius:7px; }
  .venue-card header { left:8px; right:8px; top:8px; }
  .venue-card footer { left:7px; right:7px; bottom:7px; gap:3px; }
  .venue-card footer span { padding:4px; font-size:4px; }
  .venue-screen { left:8%; right:8%; top:22%; padding:13px 5px 16px; }
  .venue-screen strong { margin-top:10px; font-size:22px; }
  .venue-crowd { left:2%; right:2%; height:43px; }
  .venue-crowd i { width:5px; height:5px; box-shadow:0 5px 0 2px #111c22; }
  .venue-crowd i::before,.venue-crowd i::after { bottom:-8px; width:2px; height:11px; }
  .sketch-expo-floor { left:1%; right:1%; top:25%; bottom:-4%; clip-path:polygon(13% 0,87% 0,100% 100%,0 100%); }
  .sketch-grid { background-size:24px 24px; }
  .sketch-booth { width:30%; height:17%; }
  .sketch-booth-left { left:10%; top:16%; }
  .sketch-booth-right { right:9%; top:15%; }
  .sketch-booth-front { left:7%; bottom:15%; width:34%; }
  .sketch-centerpiece { left:47%; top:24%; width:7%; height:35%; }
  .sketch-visitor { left:57%; top:47%; transform:scale(.75); }
  .hall-booth small { width:8px; height:8px; border-width:1px; }
  .hall-booth small::before { width:3px; height:5px; }
  .hall-booth strong { left:20%; right:6%; font-size:0; }
  .expo-plane { left:-12%; right:-12%; top:22%; bottom:-8%; transform:perspective(520px) rotateX(53deg) rotateZ(-1.5deg) scale(.93); }
  .hall-booth { box-shadow:5px 7px 0 rgba(32,49,56,.32),0 12px 14px rgba(27,58,69,.18); transform:translateZ(14px); }
  .hall-booth::before { left:-1px; right:-1px; top:-2px; bottom:auto; width:auto; height:28%; }
  .hall-booth::after { left:-1px; right:auto; top:-1px; bottom:16%; width:13%; height:auto; }
  .booth-b::after,.booth-d::after,.booth-f::after { left:auto; right:-1px; }
  .hall-booth>b { height:7px; bottom:4px; }
  .booth-g,.booth-h { display:none; }
  .hall-guests { left:29%; right:29%; }
  .hall-guests i { width:4px; height:4px; box-shadow:0 5px 0 1px #26353c; }
  .service-panel[data-layout="backend"] .service-scene { min-height:1080px; }
  .portal-shell-embedded .portal-workspace { height:950px; }
  .portal-shell-embedded .portal-toolbar { padding-inline:10px; }
  .portal-shell-embedded .portal-synced { display:none; }
  .portal-shell-embedded .portal-module { padding:14px; }
  .portal-account-bar { padding:13px; }
  .portal-account-bar>div:first-child { grid-template-columns:1fr; }
  .portal-account-bar>div:last-child { width:100%; }
  .portal-account-bar button { flex:1; }
  .portal-shell-embedded .module-header h3 { font-size:27px; }
  .portal-shell-embedded .portal-card { min-height:125px; padding:15px; }
  .portal-shell-embedded .project-row { grid-template-columns:1fr; }
  .portal-shell-embedded .project-row>em { justify-self:start; }
  .service-panel[data-layout="growth"] .service-scene { min-height:570px; }
  .backend-flow-head { min-height:102px; display:block; padding:12px; }
  .backend-flow-head>div { margin-top:10px; }
  .backend-flow-head button { flex:1; padding:9px 5px; }
  .backend-flow-stage { grid-template-columns:1fr; grid-template-rows:auto 1fr auto; gap:8px; padding:10px; }
  .flow-origin,.flow-outcome { min-height:62px; padding:11px; }
  .flow-origin strong,.flow-outcome strong { margin-top:8px; font-size:15px; }
  .flow-origin::after,.flow-outcome::before { display:none; }
  .flow-path { grid-template-columns:repeat(2,1fr); gap:6px; }
  .flow-line,.flow-packet { display:none; }
  .flow-path article { min-height:92px; padding:9px; }
  .flow-path article>i { width:20px; height:20px; }
  .flow-path article strong { font-size:11px; }
  .flow-path article small { min-height:0; margin-top:4px; font-size:6px; }
  .flow-status { min-height:42px; padding:8px 11px; }
  .flow-status>b { display:none; }
}

@media(max-width:1100px){
  .growth-command-body { grid-template-columns:180px minmax(0,1fr) 220px; }
  .growth-campaign-signal { grid-template-columns:125px 1fr; gap:14px; }
  .growth-signal-orbit { width:112px; height:112px; }
  .growth-playbook { grid-template-columns:repeat(2,1fr); }
  .growth-conversion-strip { grid-template-columns:auto 1fr; }
  .growth-conversion-strip>small { grid-column:1/-1; }
}

@media(max-width:820px){
  .service-panel[data-layout="growth"] .service-scene { min-height:980px; }
  .growth-command { overflow:auto; }
  .growth-command-head { align-items:flex-start; flex-direction:column; gap:9px; }
  .growth-command-body { grid-template-columns:1fr 220px; grid-template-rows:auto auto; }
  .growth-channel-rail { grid-column:1/-1; display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); overflow-x:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .growth-rail-label { display:none; }
  .growth-channel-rail button { min-width:130px; grid-template-columns:18px 1fr; }
  .growth-channel-rail button>i { display:none; }
  .growth-campaign-canvas { grid-column:1; }
  .growth-sales-panel { grid-column:2; }
  .growth-campaign-signal { grid-template-columns:100px 1fr; }
  .growth-signal-orbit { width:92px; height:92px; }
  .growth-signal-orbit>b { width:45px; height:45px; font-size:17px; }
  .growth-command-footer { align-items:flex-start; flex-direction:column; gap:8px; }
}

@media(max-width:560px){
  .service-panel[data-layout="growth"] .service-scene { min-height:1260px; }
  .growth-command-body { display:block; }
  .growth-command-head>p { line-height:1.6; }
  .growth-channel-rail { display:flex; flex-direction:row; }
  .growth-channel-rail button { flex:0 0 155px; }
  .growth-campaign-canvas { min-height:610px; }
  .growth-campaign-signal { grid-template-columns:1fr; text-align:center; }
  .growth-signal-orbit { width:105px; height:105px; }
  .growth-campaign-signal p { margin-inline:auto; }
  .growth-playbook { grid-template-columns:1fr; }
  .growth-playbook article { min-height:58px; }
  .growth-conversion-strip { grid-template-columns:1fr; }
  .growth-sales-panel { min-height:460px; border-top:1px solid rgba(255,255,255,.1); border-left:0; }
  .growth-command-footer>div { flex-wrap:wrap; }
  .services-transition-mark { width:210px; }
  .services-transition-mark > b { width:62px; height:62px; font-size:29px; }
}

/* --------------------------------------------------------------------------
   Cohesion pass: continuous chapter rail, reversible reveals, soft edges
   -------------------------------------------------------------------------- */
.scene { isolation:isolate; }
.scene-label { transition:opacity 800ms ease,transform 1000ms var(--ease-slow); }
.scene-label::after { transform-origin:left; transition:width 900ms var(--ease-slow),opacity 700ms ease; }
.scene.is-scene-after .scene-label { opacity:.38; transform:translateY(14px); }
.scene.is-scene-before .scene-label { opacity:.3; transform:translateY(-12px); }
.scene.is-scene-current .scene-label { opacity:1; transform:none; }
.scene.is-scene-current .scene-label::after { width:78px; opacity:.8; }

.story-rail {
  --story-progress:0;
  position:fixed;
  z-index:78;
  right:18px;
  top:50%;
  width:176px;
  padding:11px 9px;
  color:white;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(5,6,7,.66);
  box-shadow:0 18px 45px rgba(0,0,0,.14);
  backdrop-filter:blur(18px) saturate(130%);
  transform:translateY(-50%);
}
.story-step[hidden] { display: none!important; }
.story-rail::before,.story-rail::after {
  content:"";
  position:absolute;
  z-index:0;
  right:25px;
  top:28px;
  bottom:28px;
  width:1px;
  transform-origin:top;
}
.story-rail::before { background:rgba(255,255,255,.13); }
.story-rail::after { background:var(--brand-blue); box-shadow:0 0 12px rgba(184,239,255,.3); transform:scaleY(var(--story-progress)); }
.story-step {
  position:relative;
  z-index:2;
  min-height:38px;
  display:grid;
  grid-template-columns:22px 1fr 32px;
  gap:7px;
  align-items:center;
  color:rgba(255,255,255,.38);
  transition:color 420ms ease,transform 520ms var(--ease-slow);
}
.story-step > span { font-size:6px; letter-spacing:.08em; transition:color 420ms ease; }
.story-step > strong { overflow:hidden; font-size:7px; font-weight:500; letter-spacing:.08em; text-align:right; white-space:nowrap; opacity:0; transform:translateX(8px); transition:opacity 420ms ease,transform 620ms var(--ease-slow); }
.story-step > i {
  position:relative;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:#0d1217;
  box-shadow:0 0 0 4px rgba(5,6,7,.55);
  font-size:11px;
  font-style:normal;
  transition:color 420ms ease,border-color 520ms ease,background 520ms ease,box-shadow 700ms ease,transform 620ms var(--ease-slow);
}
.story-step > i::before { content:attr(data-icon); }
.story-step:hover,.story-step:focus-visible,.story-step.is-active { color:white; outline:0; transform:translateX(-3px); }
.story-step:hover > strong,.story-step:focus-visible > strong,.story-step.is-active > strong { opacity:1; transform:none; }
.story-step.is-active > span { color:var(--brand-blue); }
.story-step.is-active > i { color:#071015; border-color:var(--brand-blue); background:var(--brand-blue); box-shadow:0 0 0 5px rgba(184,239,255,.08),0 0 24px rgba(184,239,255,.32); transform:scale(1.08); }

@media(min-width:1021px){
  .story-rail { width:54px; overflow:hidden; transition:width 420ms var(--ease-slow),opacity 240ms ease,transform 360ms var(--ease); }
  .story-step { grid-template-columns:32px; gap:0; justify-content:end; }
  .story-step > span,.story-step > strong { display:none; }
  .story-rail:hover,.story-rail:focus-within { width:176px; }
  .story-rail:hover .story-step,.story-rail:focus-within .story-step { grid-template-columns:22px 1fr 32px; gap:7px; }
  .story-rail:hover .story-step > span,.story-rail:hover .story-step > strong,.story-rail:focus-within .story-step > span,.story-rail:focus-within .story-step > strong { display:block; }
}

.company-core>span { width:42px; height:52px; display:block; margin:0 auto 3px; }
.company-core>span img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 9px 9px rgba(0,0,0,.34)) drop-shadow(0 0 10px rgba(184,239,255,.12)); }

/* Every chapter transition follows scroll position—there are no threshold jumps. */
.scene-transition:not(.transition-services-logo) { opacity:var(--scene-cover-opacity,1); transition:none; will-change:opacity; }
.scene-transition:not(.transition-services-logo) > i,
.scene-transition:not(.transition-services-logo) > span { transition:none; will-change:transform,opacity; }
.transition-signal:not(.transition-services-logo) i:nth-child(odd) { transform:translateY(var(--scene-shift-negative,0)); }
.transition-signal:not(.transition-services-logo) i:nth-child(even) { transform:translateY(var(--scene-shift-positive,0)); }
.transition-signal:not(.transition-services-logo) span { transform:scaleX(var(--scene-collapse-scale,1)); }
.transition-portrait:not(.transition-services-logo) i:nth-child(odd),
.transition-stack:not(.transition-services-logo) i:nth-child(odd) { transform:translateX(var(--scene-shift-negative,0)); }
.transition-portrait:not(.transition-services-logo) i:nth-child(even),
.transition-stack:not(.transition-services-logo) i:nth-child(even) { transform:translateX(var(--scene-shift-positive,0)); }
.transition-portrait:not(.transition-services-logo) span { opacity:var(--scene-opacity,1); transform:translate(-50%,-50%) scale(var(--scene-portrait-scale,1)); }
.transition-stack:not(.transition-services-logo) span { transform:scaleX(var(--scene-collapse-scale,1)); }
.transition-wipe:not(.transition-services-logo) i:nth-child(odd) { transform:translateY(var(--scene-wipe-positive,0)) skewX(-13deg); }
.transition-wipe:not(.transition-services-logo) i:nth-child(even) { transform:translateY(var(--scene-wipe-negative,0)) skewX(-13deg); }
.transition-wipe:not(.transition-services-logo) span { transform:translateX(var(--scene-span-shift,0)); }
.transition-iris:not(.transition-services-logo) i { opacity:var(--scene-opacity,1); transform:translate(-50%,-50%) scale(var(--scene-iris-scale,1)); }
.transition-iris:not(.transition-services-logo) span { opacity:var(--scene-opacity,1); transform:translate(-50%,-50%) scale(var(--scene-collapse-scale,1)); }
.transition-scan:not(.transition-services-logo) i,
.transition-scan:not(.transition-services-logo) span { opacity:var(--scene-opacity,1); transform:translateX(var(--scene-scan-shift,0)); }
.transition-orbit:not(.transition-services-logo) i { opacity:var(--scene-opacity,1); transform:translate(-50%,-50%) rotate(var(--scene-orbit-rotate,0deg)) scale(var(--scene-orbit-scale,1)); }
.transition-orbit:not(.transition-services-logo) span { opacity:var(--scene-opacity,1); transform:translate(-50%,-50%) scale(var(--scene-collapse-scale,1)); }
.transition-doors:not(.transition-services-logo) i:nth-child(-n+2) { transform:translateX(var(--scene-shift-wide-negative,0)); }
.transition-doors:not(.transition-services-logo) i:nth-child(n+3) { transform:translateX(var(--scene-shift-wide-positive,0)); }
.transition-doors:not(.transition-services-logo) span { transform:scaleY(var(--scene-collapse-scale,1)); }
.transition-type:not(.transition-services-logo) span { opacity:var(--scene-opacity,1); transform:scale(var(--scene-type-scale,1)); }
.transition-horizon:not(.transition-services-logo) i,
.transition-horizon:not(.transition-services-logo) span { opacity:var(--scene-opacity,1); transform:translateY(var(--scene-horizon-shift,0)); }

.transition-services-logo { opacity:var(--service-open-opacity,1); transition:none; will-change:opacity; }
.transition-services-logo > i,
.transition-services-logo > span,
.transition-services-logo .services-transition-mark { transition:none; will-change:transform,opacity; }
.transition-services-logo > i:nth-child(odd) { transform:translateY(var(--service-open-positive,0)) skewX(-13deg); }
.transition-services-logo > i:nth-child(even) { transform:translateY(var(--service-open-negative,0)) skewX(-13deg); }
.transition-services-logo > span { transform:translateX(var(--service-line-shift,0)); }
.transition-services-logo .services-transition-mark { opacity:var(--service-mark-opacity,1); transform:translate(-50%,-50%) scale(var(--service-mark-render-scale,.88)); }

@media(max-width:1020px){
  .story-rail {
    left:50%;
    right:auto;
    top:auto;
    bottom:12px;
    width:auto;
    display:flex;
    padding:8px;
    border-radius:999px;
    transform:translateX(-50%);
  }
  .story-rail::before,.story-rail::after { left:24px; right:24px; top:50%; bottom:auto; width:auto; height:1px; transform-origin:left; }
  .story-rail::after { transform:scaleX(var(--story-progress)); }
  .story-step { width:44px; min-height:44px; display:block; }
  .story-step > span,.story-step > strong { display:none; }
  .story-step > i { width:42px; height:42px; }
  .story-step:hover,.story-step:focus-visible,.story-step.is-active { transform:none; }
  .site-footer { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  .services-transition-mark { top:40%; }
  .services-transition-mark > b { width:62px; height:76px; }
  .company-core>span { width:34px; height:42px; }
}

@media(prefers-reduced-motion:reduce){.scene-transition{display:none}.reveal{opacity:1!important;filter:none!important;transform:none!important}.story-step,.story-step>*{transition:none!important}.output-detail{transition:none}.flow-line::after,.flow-packet,.flow-path article,.growth-signal-orbit>i,.growth-playbook article{animation:none!important}.flow-path article,.growth-playbook article{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   Editorial homepage cover: real people, clear proposition, restrained proof
   -------------------------------------------------------------------------- */
.site-header {
  height: 76px;
  gap: 32px;
  border-bottom-color: rgba(251,252,253,.17);
  background: rgba(8,10,11,.82);
  backdrop-filter: blur(18px);
}
.site-header .wordmark { font-size: 10px; font-weight: 650; letter-spacing: .16em; }
.site-header .wordmark-icon { width: 24px; height: 30px; }
.site-header .main-nav { gap: 30px; color: rgba(251,252,253,.64); font-size: 10px; }
.site-header .header-cta { min-height: 42px; padding: 0 15px; display: inline-flex; align-items: center; gap: 20px; border-color: rgba(251,252,253,.17); border-radius: 0; font-size: 10px; }

.story-rail { transition: opacity 240ms ease,transform 360ms var(--ease); }
body[data-story="01"] .story-rail { opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(18px); }

@media (max-width:820px) {
  .site-header { height: 68px; }
  .site-header .header-cta { display: none; }
}

/* --------------------------------------------------------------------------
   Hero-led document system: neutral materials, shared typography, softer motion
   -------------------------------------------------------------------------- */
:root {
  --pearl: #f1f1ee;
  --mist: #e8e8e4;
  --paper: #f8f8f6;
  --text: #151615;
  --text-soft: #4d504d;
  --text-muted: #70736f;
  --line: rgba(21,22,21,.14);
  --cobalt: #277da2;
  --warm-paper: #f1f1ee;
  --warm-canvas: #eaeae6;
  --warm-deep: #d2d2cc;
  --warm-glow: #fafaf7;
  --warm-ink: #151615;
  --warm-soft: #5a5d59;
}

body { background: #080a0b; }
.home-cover { min-height: clamp(820px,88svh,1080px); }
.scene:not(.home-cover) { border-top: 0; }
.scene-paper { color: var(--text); }

.president {
  color: var(--text);
  background:
    linear-gradient(rgba(21,22,21,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,22,21,.035) 1px,transparent 1px),
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.7),transparent 31%),
    linear-gradient(145deg,#f7f7f4,#e7e7e2);
  background-size: 56px 56px,56px 56px,auto,auto;
}
.president-photo { background: #111211; box-shadow: 0 30px 80px rgba(0,0,0,.18); }
.president-photo::before { border-color: rgba(255,255,255,.32); }
.president-photo img { filter: saturate(.9) contrast(1.04); }
.president-photo::after { background: linear-gradient(90deg,rgba(8,10,11,.16),transparent 45%),linear-gradient(0deg,rgba(8,10,11,.7),transparent 38%); }
.president-photo figcaption,.president-profile-link { background: rgba(8,9,8,.58); border-color: rgba(255,255,255,.2); }
.portrait-data span { background: rgba(8,9,8,.38); border-color: rgba(255,255,255,.18); }
.portrait-scan > i { background: rgba(255,255,255,.28); }
.portrait-scan > i:nth-child(3) { border-color: rgba(255,255,255,.42); background: transparent; }
.president-copy {
  border-color: rgba(21,22,21,.14);
  background: linear-gradient(135deg,rgba(255,255,253,.97),rgba(241,241,237,.95));
  box-shadow: 0 25px 75px rgba(0,0,0,.11);
}
.president-copy .quote-mark { color: var(--cobalt); }
.elevator-pitch,.message-columns { border-color: var(--line); }
.message-columns article + article { border-left-color: var(--line); }

.services {
  background:
    radial-gradient(circle at 82% 9%,rgba(255,255,255,.68),transparent 24%),
    linear-gradient(145deg,#f8f8f6,#e9e9e5);
}
.service-tab:hover,.service-tab.is-active { background: rgba(21,22,21,.07); }
.service-panel { background: radial-gradient(circle at 82% 16%,rgba(255,255,255,.07),transparent 28%),linear-gradient(145deg,#191b1a,#080908 76%); box-shadow: 0 28px 80px rgba(0,0,0,.2); }

.output {
  background:
    radial-gradient(circle at 62% 13%,rgba(255,255,255,.9),transparent 31%),
    linear-gradient(145deg,#f1f1ee,#e2e2dd);
}
.output-system { border-color: rgba(21,22,21,.16); background: radial-gradient(circle at 50% 50%,rgba(255,255,255,.52),transparent 29%),rgba(249,249,246,.62); }
.output-system::before { background-image: linear-gradient(rgba(21,22,21,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(21,22,21,.055) 1px,transparent 1px); }
.output-node { border-color: rgba(21,22,21,.19); background: rgba(250,250,247,.94); box-shadow: 0 14px 38px rgba(0,0,0,.08); }
.output-node:hover,.output-node:focus-visible,.output-node.is-active { border-color: rgba(39,125,162,.55); background: #fff; box-shadow: 0 18px 48px rgba(0,0,0,.12); }

.leaders {
  background:
    linear-gradient(rgba(21,22,21,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,22,21,.035) 1px,transparent 1px),
    linear-gradient(145deg,#ecece8,#deded9);
  background-size: 62px 62px,62px 62px,auto;
}
.leader-visual { box-shadow: 0 24px 60px rgba(0,0,0,.11); }

.why { background: radial-gradient(circle at 50% 15%,rgba(28,92,136,.34),transparent 43%),linear-gradient(180deg,#10171b,#080a0b); }
.why-beats article { border-color: rgba(184,239,255,.16); background: rgba(184,239,255,.035); }

.case-studies { background: radial-gradient(circle at 78% 12%,rgba(255,255,255,.07),transparent 28%),radial-gradient(circle at 14% 42%,rgba(255,255,255,.045),transparent 34%),linear-gradient(145deg,#0e0f0e 0%,#242624 52%,#0a0b0a 100%); }
.case-studies::before { background-image: linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); }

.reach {
  background:
    radial-gradient(circle at 84% 10%,rgba(255,255,255,.7),transparent 24%),
    linear-gradient(145deg,#f7f7f4,#e7e7e2);
}
.quote-option,.pricing-service,.event-item { background: rgba(255,255,255,.62); }
.quote-option.is-selected,.pricing-summary { background: linear-gradient(145deg,#252725,#111211); }

.president-copy h2,.section-heading h2,.output-heading h2,.why h2,.reach-heading h2 {
  font-weight: 340;
  letter-spacing: 0;
}
.president-copy h2 strong,.section-heading h2 strong,.output-heading h2 strong,.why h2 strong,.reach-heading h2 strong { font-weight: 720; }
.section-heading > p,.output-heading p,.reach-heading p { color: var(--text-soft); }
.scene-label { font-weight: 600; letter-spacing: .15em; }

.scene-transition:not(.transition-services-logo) { opacity: calc(var(--scene-cover-opacity,1) * .82); }
.transition-portrait i,.transition-stack i,.transition-doors i,.transition-horizon i { background: #e9e9e5; border-color: rgba(21,22,21,.1); }
.transition-iris,.transition-orbit,.transition-horizon { background: #ecece8; }
.transition-portrait span,.transition-iris i,.transition-orbit i { border-color: rgba(21,22,21,.2); }
.transition-stack span,.transition-doors span { background: var(--cobalt); }
.transition-wipe { background: #171918; }
.transition-wipe i { background: #292c2a; }

@media (max-width:820px) {
  .home-cover { min-height: auto; }
  .president,.services,.output,.leaders,.reach { background-size: auto; }
}

/* Section 03: a literal center-split vault reveals the business design system. */
.transition-services-logo {
  --service-door-left: 0%;
  --service-door-right: 0%;
  --service-seam-opacity: 1;
  --service-lock-rotate: 0deg;
  --service-caption-opacity: 1;
  height: 100svh;
  background: transparent;
  perspective: 1400px;
}
.transition-services-logo::before { display: none; }
.vault-door {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  width: 50.1%;
  overflow: hidden;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.04),transparent 38%),
    #080a0b;
  background-size: 56px 56px,56px 56px,auto,auto;
  box-shadow: inset 0 0 90px rgba(0,0,0,.3);
  will-change: transform;
}
.vault-door-left { left: 0; border-right: 1px solid rgba(255,255,255,.18); transform: translateX(var(--service-door-left)); }
.vault-door-right { right: 0; border-left: 1px solid rgba(255,255,255,.18); transform: translateX(var(--service-door-right)); }
.vault-door::before {
  content: "";
  position: absolute;
  top: var(--service-vault-center,50%);
  width: clamp(430px,48vw,760px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(255,255,255,.018),0 0 0 72px rgba(255,255,255,.012),inset 0 0 75px rgba(0,0,0,.32);
  transform: translateY(-50%);
}
.vault-door-left::before { right: calc(clamp(430px,48vw,760px) / -2); }
.vault-door-right::before { left: calc(clamp(430px,48vw,760px) / -2); }
.vault-door > i {
  left: auto;
  right: auto;
  top: var(--service-vault-center,50%);
  width: clamp(210px,24vw,380px);
  height: auto;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  background: transparent;
  transform: translateY(-50%);
}
.vault-door-left > i { right: calc(clamp(210px,24vw,380px) / -2); }
.vault-door-right > i { left: calc(clamp(210px,24vw,380px) / -2); }
.vault-door > b {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 14px;
  background: linear-gradient(90deg,rgba(0,0,0,.65),rgba(255,255,255,.12),rgba(0,0,0,.72));
  box-shadow: 0 0 24px rgba(0,0,0,.6);
}
.vault-door-left > b { right: 0; }
.vault-door-right > b { left: 0; }
.vault-seam {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 50%;
  width: 2px;
  background: linear-gradient(transparent 8%,rgba(184,239,255,.72) 35%,white 50%,rgba(184,239,255,.72) 65%,transparent 92%);
  box-shadow: 0 0 22px rgba(184,239,255,.56);
  opacity: var(--service-seam-opacity);
  transform: translateX(-50%);
}
.vault-seam > i {
  left: 50%;
  right: auto;
  top: var(--service-vault-center,50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 0 0 8px rgba(184,239,255,.08),0 0 28px rgba(184,239,255,.72);
  transform: translate(-50%,-50%);
}
.transition-services-logo .services-transition-mark {
  z-index: 6;
  top: var(--service-vault-center,50%);
  width: clamp(210px,19vw,290px);
  border: 1px solid rgba(255,255,255,.15);
  background: radial-gradient(circle,#161917 0 42%,#0b0c0b 43% 61%,rgba(4,5,4,.92) 62% 69%,transparent 70%);
  box-shadow: 0 0 0 12px rgba(255,255,255,.025),0 0 90px rgba(184,239,255,var(--service-intro-halo));
  opacity: var(--service-mark-opacity);
  transform: translate(-50%,-50%) rotate(var(--service-lock-rotate)) scale(var(--service-mark-scale));
}
.transition-services-logo .services-transition-mark::before {
  background: repeating-conic-gradient(from -90deg,var(--brand-blue) 0 2deg,transparent 2deg 14deg);
  opacity: calc(.3 + var(--service-intro-progress) * .7);
}
.transition-services-logo .services-transition-mark::after { border-color: rgba(255,255,255,.2); }
.transition-services-logo .services-transition-mark > b,
.transition-services-logo .services-transition-mark > strong,
.transition-services-logo .services-transition-mark > small { transform: rotate(calc(var(--service-lock-rotate) * -1)); }
.vault-caption {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: var(--service-vault-caption,84%);
  display: grid;
  gap: 8px;
  width: min(520px,calc(100% - 48px));
  color: white;
  text-align: center;
  opacity: var(--service-caption-opacity);
  transform: translateX(-50%);
}
.vault-caption > span,.vault-caption > strong,.vault-caption > small { position: relative; }
.vault-caption > span { inset: auto; width: auto; height: auto; color: var(--brand-blue); background: none; font-size: 7px; letter-spacing: .22em; transform: none; }
.vault-caption > strong { font-size: clamp(18px,2vw,28px); font-weight: 500; letter-spacing: 0; }
.vault-caption > small { color: rgba(255,255,255,.5); font-size: 7px; letter-spacing: .18em; }

@media (max-width:820px) {
  .transition-services-logo .services-transition-mark { width: 190px; }
  .vault-door { background-size: 38px 38px,38px 38px,auto,auto; }
}

/* Each pillar continues into a full working-method chapter. */
.service-deep-dive {
  position: relative;
  margin-top: clamp(28px,4vw,58px);
  overflow: hidden;
  color: var(--text);
  border: 1px solid rgba(21,22,21,.14);
  border-radius: 24px;
  background: rgba(250,250,247,.86);
  box-shadow: 0 28px 80px rgba(0,0,0,.08);
}
.service-deep-intro {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(38px,8vw,140px);
  align-items: end;
  padding: clamp(42px,5vw,76px);
}
.service-deep-intro span,.service-process-label span,.service-deep-bottom article > span {
  display: block;
  margin-bottom: 22px;
  color: var(--cobalt);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
}
.service-deep-intro h3 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(46px,5.8vw,88px);
  font-weight: 350;
  line-height: .94;
  letter-spacing: 0;
}
.service-deep-intro > p {
  max-width: 540px;
  margin: 0 0 5px;
  color: var(--text-soft);
  font-size: 16px;
  line-height: 1.7;
}
.service-deep-visual {
  position: relative;
  min-height: clamp(470px,52vw,720px);
  margin: 0 clamp(14px,2vw,28px);
  overflow: hidden;
  color: white;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: #111312;
  isolation: isolate;
}
.deep-grid-plane {
  position: absolute;
  inset: 0;
  opacity: .34;
  background-image: linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to bottom,black,transparent 94%);
}
.service-process { padding: clamp(42px,5vw,72px); }
.service-process-label { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.service-process-label span { margin: 0; }
.service-process-label small { color: var(--text-muted); font-size: 7px; letter-spacing: .13em; text-align: right; }
.service-process-steps { display: grid; grid-template-columns: repeat(4,1fr); }
.service-process-steps article { min-height: 260px; padding: 26px 26px 22px 0; border-bottom: 1px solid var(--line); }
.service-process-steps article + article { padding-left: 26px; border-left: 1px solid var(--line); }
.service-process-steps article > span { color: var(--cobalt); font-size: 8px; letter-spacing: .13em; }
.service-process-steps article > strong { display: block; margin-top: 78px; font-size: clamp(20px,2vw,29px); font-weight: 520; letter-spacing: 0; }
.service-process-steps article > p { max-width: 280px; margin: 16px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.62; }
.service-deep-bottom { display: grid; grid-template-columns: 1.2fr .8fr; border-top: 1px solid var(--line); }
.service-deep-bottom > article { padding: clamp(38px,4.6vw,68px); }
.service-deep-bottom > article + article { border-left: 1px solid var(--line); }
.service-capability-list { display: grid; grid-template-columns: repeat(2,1fr); }
.service-capability-list > span { min-height: 62px; display: flex; align-items: center; gap: 14px; padding: 14px 12px 14px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.service-capability-list > span:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line); }
.service-capability-list i { color: var(--cobalt); font-size: 7px; font-style: normal; letter-spacing: .1em; }
.service-outcome { display: flex; flex-direction: column; }
.service-outcome blockquote { margin: 0; font-size: clamp(27px,3vw,46px); font-weight: 350; line-height: 1.04; letter-spacing: 0; }
.service-outcome > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 42px; }
.service-outcome > div span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--text-soft); font-size: 7px; letter-spacing: .11em; }
.service-deep-dive.deep-swap { animation: deepServiceIn 560ms var(--ease) both; }
@keyframes deepServiceIn { from { opacity: .5; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media(min-width:1200px) { .service-outcome { padding-right: clamp(150px,11vw,190px)!important; } }

/* Brand system visual. */
.deep-brand-system { background: radial-gradient(circle at 30% 45%,rgba(39,125,162,.2),transparent 31%),linear-gradient(145deg,#171918,#080908); }
.deep-brand-orbits { position: absolute; left: 27%; top: 50%; width: clamp(300px,38vw,570px); aspect-ratio: 1; transform: translate(-50%,-50%); }
.deep-brand-orbits i { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.deep-brand-orbits i:nth-child(2) { inset: 18%; }
.deep-brand-orbits i:nth-child(3) { inset: 37%; border-color: rgba(184,239,255,.42); box-shadow: 0 0 45px rgba(39,125,162,.15); }
.deep-brand-axis { position: absolute; z-index: 2; left: 7%; right: 7%; bottom: 8%; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.15); }
.deep-brand-axis span { position: relative; padding-top: 15px; color: rgba(255,255,255,.5); font-size: 7px; letter-spacing: .14em; }
.deep-brand-lockup { position: absolute; z-index: 3; right: 9%; top: 50%; width: 43%; transform: translateY(-50%); }
.deep-brand-lockup b { display: block; color: var(--brand-blue); font-size: clamp(72px,10vw,158px); line-height: .7; }
.deep-brand-lockup strong { display: block; margin-top: 30px; font-size: clamp(48px,6.3vw,98px); line-height: .78; letter-spacing: 0; }
.deep-brand-lockup small { display: block; margin-top: 30px; color: rgba(255,255,255,.42); font-size: 7px; letter-spacing: .16em; }

/* Asset production visual. */
.deep-assets-system { background: radial-gradient(circle at 20% 50%,rgba(255,255,255,.08),transparent 28%),linear-gradient(145deg,#1b1d1c,#080908); }
.deep-asset-source { position: absolute; left: 7%; top: 18%; bottom: 18%; width: 27%; padding: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 15px; background: linear-gradient(145deg,#373a38,#101211); }
.deep-asset-source span,.deep-asset-vault > span { color: rgba(255,255,255,.58); font-size: 7px; letter-spacing: .15em; }
.deep-asset-source i { position: absolute; left: 16%; right: 16%; top: 23%; bottom: 16%; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: radial-gradient(circle,rgba(184,239,255,.28),transparent 34%); box-shadow: inset 0 0 60px rgba(0,0,0,.7); }
.deep-asset-source b { position: absolute; right: 18px; bottom: 18px; padding: 7px 9px; color: #fff; border-radius: 999px; background: #a53a32; font-size: 7px; letter-spacing: .12em; }
.deep-asset-flow { position: absolute; left: 36%; right: 58%; top: 50%; height: 1px; background: rgba(184,239,255,.4); }
.deep-asset-flow i { position: absolute; top: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-blue); box-shadow: 0 0 14px rgba(184,239,255,.7); }
.deep-asset-flow i:nth-child(1){left:0}.deep-asset-flow i:nth-child(2){left:46%}.deep-asset-flow i:nth-child(3){right:0}
.deep-asset-flow span { position: absolute; top: 15px; left: 50%; color: rgba(255,255,255,.4); font-size: 6px; letter-spacing: .12em; transform: translateX(-50%); }
.deep-asset-vault { position: absolute; right: 6%; top: 12%; bottom: 12%; width: 49%; padding: 26px; border: 1px solid rgba(184,239,255,.2); border-radius: 17px; background: #f1f1ed; color: var(--text); }
.deep-asset-vault > span { color: var(--cobalt); }
.deep-asset-vault > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; height: 68%; margin-top: 27px; }
.deep-asset-vault > div i { position: relative; border-radius: 7px; background: linear-gradient(145deg,#bbbdb8,#737771); }
.deep-asset-vault > div i:nth-child(2),.deep-asset-vault > div i:nth-child(5) { background: linear-gradient(145deg,#234b63,#071015); }
.deep-asset-vault > div i:nth-child(3) { background: linear-gradient(145deg,#786044,#31261b); }
.deep-asset-vault > div i:nth-child(4) { background: linear-gradient(145deg,#65805b,#263322); }
.deep-asset-vault > strong { display: block; margin-top: 22px; font-size: 10px; letter-spacing: .08em; }

/* Event visual. */
.deep-events-system { background: radial-gradient(circle at 50% 8%,rgba(39,125,162,.34),transparent 25%),linear-gradient(#090a0a,#020302); perspective: 900px; }
.deep-event-sky { position: absolute; inset: 0; overflow: hidden; }
.deep-event-sky i { position: absolute; top: -10%; width: 24%; height: 76%; background: linear-gradient(rgba(184,239,255,.3),transparent 78%); clip-path: polygon(47% 0,53% 0,100% 100%,0 100%); }
.deep-event-sky i:nth-child(1){left:5%;transform:rotate(8deg)}.deep-event-sky i:nth-child(2){left:38%}.deep-event-sky i:nth-child(3){right:5%;transform:rotate(-8deg)}
.deep-event-screen { position: absolute; z-index: 3; left: 22%; right: 22%; top: 15%; padding: 24px; border: 1px solid rgba(255,255,255,.18); background: rgba(5,6,6,.76); text-align: center; box-shadow: 0 0 70px rgba(39,125,162,.18); }
.deep-event-screen span,.deep-event-screen small { color: rgba(255,255,255,.48); font-size: 7px; letter-spacing: .14em; }
.deep-event-screen strong { display: block; margin: 27px 0; font-size: clamp(46px,6.4vw,102px); line-height: .76; letter-spacing: 0; }
.deep-event-stage { position: absolute; z-index: 2; left: 10%; right: 10%; bottom: 16%; height: 16%; background: linear-gradient(90deg,#171a19,#3d4340,#171a19); clip-path: polygon(8% 0,92% 0,100% 100%,0 100%); box-shadow: 0 -24px 60px rgba(184,239,255,.09); }
.deep-event-audience { position: absolute; z-index: 4; left: 4%; right: 4%; bottom: -2%; display: flex; justify-content: space-around; align-items: end; height: 26%; }
.deep-event-audience i { width: clamp(16px,2vw,30px); height: clamp(90px,11vw,165px); border-radius: 50% 50% 8px 8px; background: linear-gradient(#161817,#030403); box-shadow: 0 -12px 24px rgba(0,0,0,.75); transform: translateY(calc(var(--lift,0) * 1px)); }
.deep-event-audience i:nth-child(3n){--lift:-20}.deep-event-audience i:nth-child(4n){--lift:12}

/* Backend visual. */
.deep-backend-system { background: radial-gradient(circle at 74% 20%,rgba(39,125,162,.16),transparent 27%),#101211; }
.deep-backend-nav { position: absolute; left: 4%; top: 7%; bottom: 7%; width: 15%; padding: 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: #090a09; }
.deep-backend-nav span { font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.deep-backend-nav i { display: block; height: 35px; margin-top: 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; }
.deep-backend-nav i:first-of-type { margin-top: 60px; background: rgba(184,239,255,.1); border-color: rgba(184,239,255,.28); }
.deep-backend-workspace { position: absolute; left: 21%; right: 4%; top: 7%; bottom: 7%; padding: 28px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: #e9e9e5; color: var(--text); }
.deep-backend-workspace header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.deep-backend-workspace header span { font-size: 8px; letter-spacing: .15em; }
.deep-backend-workspace header b { padding: 7px 9px; color: #173128; border-radius: 999px; background: #b9dacd; font-size: 6px; letter-spacing: .11em; }
.deep-backend-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; height: 65%; margin-top: 20px; }
.deep-backend-cards article { position: relative; padding: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #f8f8f5; }
.deep-backend-cards span { color: var(--text-muted); font-size: 7px; letter-spacing: .11em; }
.deep-backend-cards strong { display: block; margin-top: 20px; font-size: clamp(30px,4vw,58px); }
.deep-backend-cards i { position: absolute; left: 18px; right: 18px; bottom: 18px; height: 5px; border-radius: 99px; background: linear-gradient(90deg,var(--cobalt) 62%,#d8d8d3 62%); }
.deep-backend-workspace footer { margin-top: 22px; color: var(--text-muted); font-size: 7px; letter-spacing: .1em; }

/* Growth visual. */
.deep-growth-system { background: radial-gradient(circle at 17% 50%,rgba(39,125,162,.22),transparent 24%),linear-gradient(145deg,#151716,#070807); }
.deep-growth-signal { position: absolute; left: 5%; top: 50%; width: 24%; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transform: translateY(-50%); }
.deep-growth-signal i { position: absolute; inset: 15%; border: 1px solid rgba(184,239,255,.2); border-radius: 50%; }
.deep-growth-signal i:nth-child(2){inset:30%}.deep-growth-signal i:nth-child(3){inset:43%;background:var(--brand-blue);box-shadow:0 0 40px rgba(39,125,162,.45)}
.deep-growth-signal strong { position: relative; margin-top: 38%; font-size: 8px; letter-spacing: .14em; }
.deep-growth-path { position: absolute; left: 32%; right: 6%; top: 29%; display: grid; grid-template-columns: repeat(4,1fr); }
.deep-growth-path::before { content:""; position:absolute; left:8%; right:8%; top:25px; height:1px; background:rgba(184,239,255,.34); }
.deep-growth-path article { position: relative; z-index: 2; display: grid; gap: 25px; justify-items: center; }
.deep-growth-path span { position: relative; width: 50px; height: 50px; display: grid; place-items: center; color: #081015; border-radius: 50%; background: var(--brand-blue); font-size: 8px; }
.deep-growth-path b { font-size: 9px; letter-spacing: .1em; }
.deep-growth-meter { position: absolute; left: 35%; right: 9%; bottom: 22%; display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; }
.deep-growth-meter span { color: rgba(255,255,255,.46); font-size: 7px; letter-spacing: .13em; }
.deep-growth-meter > i { height: 7px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.1); }
.deep-growth-meter > i b { display: block; width: 76%; height: 100%; background: var(--brand-blue); box-shadow: 0 0 20px rgba(184,239,255,.45); }
.deep-growth-meter strong { font-size: clamp(24px,3vw,42px); }

@media(max-width:980px) {
  .service-deep-intro,.service-deep-bottom { grid-template-columns: 1fr; }
  .service-deep-bottom > article + article { border-left: 0; border-top: 1px solid var(--line); }
  .service-process-steps { grid-template-columns: repeat(2,1fr); }
  .service-process-steps article:nth-child(3) { border-left: 0; }
}
@media(max-width:620px) {
  .service-deep-dive { border-radius: 16px; }
  .service-deep-intro,.service-process,.service-deep-bottom > article { padding: 34px 22px; }
  .service-deep-intro { gap: 25px; }
  .service-deep-intro h3 { font-size: clamp(40px,12vw,58px); }
  .service-deep-visual { min-height: 430px; margin: 0 8px; border-radius: 12px; }
  .service-process-label { align-items: flex-start; flex-direction: column; }
  .service-process-label small { text-align: left; }
  .service-process-steps { grid-template-columns: 1fr; }
  .service-process-steps article,.service-process-steps article + article { min-height: 0; padding: 24px 0; border-left: 0; }
  .service-process-steps article > strong { margin-top: 34px; }
  .service-capability-list { grid-template-columns: 1fr; }
  .service-capability-list > span:nth-child(even) { padding-left: 0; border-left: 0; }
  .deep-brand-orbits { left: 50%; top: 32%; width: 340px; }
  .deep-brand-lockup { left: 24px; right: 24px; top: 66%; width: auto; transform: none; }
  .deep-brand-axis { display: none; }
  .deep-asset-source { left: 18px; right: 18px; top: 18px; bottom: auto; width: auto; height: 160px; }
  .deep-asset-flow { left: 50%; right: auto; top: 188px; bottom: auto; width: 1px; height: 42px; }
  .deep-asset-vault { left: 18px; right: 18px; top: 238px; bottom: 18px; width: auto; padding: 18px; }
  .deep-event-screen { left: 8%; right: 8%; }
  .deep-event-audience i:nth-child(n+9) { display: none; }
  .deep-backend-nav { display: none; }
  .deep-backend-workspace { left: 14px; right: 14px; top: 14px; bottom: 14px; padding: 18px; }
  .deep-backend-cards { grid-template-columns: 1fr 1fr; }
  .deep-growth-signal { left: 50%; top: 24%; width: 180px; transform: translate(-50%,-50%); }
  .deep-growth-path { left: 18px; right: 18px; top: 50%; grid-template-columns: repeat(2,1fr); gap: 24px 4px; }
  .deep-growth-path::before { display: none; }
  .deep-growth-path article { gap: 8px; }
  .deep-growth-path span { width: 38px; height: 38px; }
  .deep-growth-meter { left: 22px; right: 22px; bottom: 22px; grid-template-columns: 1fr auto; }
  .deep-growth-meter span { grid-column: 1/-1; }
}

/* The selected pillar opens a compact detail drawer, not a second hero card. */
.service-deep-dive {
  display: grid;
  grid-template-columns: minmax(0,1.28fr) minmax(290px,.72fr);
  grid-template-areas: "intro visual" "process process" "bottom bottom" "footer footer";
  max-height: 1800px;
  overflow: clip;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: max-height 520ms var(--ease),margin 520ms var(--ease),opacity 260ms ease,transform 520ms var(--ease),border-width 0ms 520ms;
}
.service-deep-dive.is-collapsed {
  max-height: 0;
  margin-top: 0;
  border-width: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-18px);
}
.service-deep-close {
  position: absolute;
  z-index: 12;
  top: 15px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 7px 7px 11px;
  color: var(--text-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(250,250,247,.88);
  backdrop-filter: blur(12px);
  font-size: 7px;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.service-deep-close i { width: 20px; height: 20px; display: grid; place-items: center; color: white; border-radius: 50%; background: var(--text); font-size: 13px; font-style: normal; }
.service-detail-nav {
  position: sticky;
  z-index: 11;
  top: 76px;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top: clamp(28px,4vw,58px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(250,250,247,.94);
  backdrop-filter: blur(18px);
}
.services { overflow: clip; }
.service-detail-nav.is-collapsed { display: none; }
.service-detail-nav + .service-deep-dive { margin-top: 0; border-top: 0; }
.service-detail-nav button {
  min-height: 68px;
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  align-items: center;
  padding: 0 18px;
  color: var(--text-muted);
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  text-align: left;
  transition: color 180ms ease,background 180ms ease;
}
.service-detail-nav button:last-child { border-right: 0; }
.service-detail-nav button span { color: var(--cobalt); font-size: 7px; letter-spacing: .1em; }
.service-detail-nav button strong { font-size: clamp(10px,1vw,13px); font-weight: 500; line-height: 1.15; }
.service-detail-nav button:hover,.service-detail-nav button.is-active { color: var(--text); background: rgba(39,125,162,.08); }
.service-detail-nav button.is-active { box-shadow: inset 0 -2px var(--cobalt); }
.service-deep-intro { grid-area: intro; display: block; padding: clamp(30px,3.2vw,44px); }
.service-deep-intro h3 { max-width: 680px; font-size: clamp(36px,3.6vw,54px); line-height: .97; }
.service-deep-intro > p { max-width: 650px; margin: 19px 0 0; font-size: 13px; line-height: 1.56; }
.service-deep-visual {
  grid-area: visual;
  min-height: 240px;
  height: auto;
  margin: 45px 24px 20px 0;
  border-radius: 13px;
}
.service-deep-visual-inner { position: absolute; inset: -12%; transform: scale(.78); }
.service-process { grid-area: process; padding: 24px clamp(32px,3.2vw,44px) 26px; border-top: 1px solid var(--line); }
.service-process-steps article { min-height: 138px; padding-top: 18px; padding-bottom: 12px; }
.service-process-steps article > strong { margin-top: 20px; font-size: clamp(17px,1.45vw,22px); }
.service-process-steps article > p { margin-top: 10px; font-size: 11px; line-height: 1.52; }
.service-deep-bottom { grid-area: bottom; }
.service-deep-bottom > article { padding: 25px clamp(32px,3.2vw,44px); }
.service-deep-intro span,.service-process-label span,.service-deep-bottom article > span { margin-bottom: 16px; }
.service-capability-list > span { min-height: 40px; padding-top: 7px; padding-bottom: 7px; font-size: 10px; }
.service-outcome blockquote { max-width: 500px; font-size: clamp(23px,2.1vw,32px); }
.service-outcome > div { padding-top: 20px; }
.service-deep-dive .service-outcome { padding-right: clamp(90px,7vw,120px)!important; }
.service-deep-footer {
  grid-area: footer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px clamp(32px,3.2vw,44px);
  color: white;
  background: var(--text);
}
.service-deep-footer > span { color: rgba(255,255,255,.42); font-size: 7px; letter-spacing: .15em; }
.service-deep-footer a { display: inline-flex; align-items: center; gap: 16px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.28); font-size: 12px; }
.service-deep-footer a i { color: var(--brand-blue); font-style: normal; }

@media(max-width:980px) {
  .service-deep-dive { grid-template-columns: 1fr 280px; max-height: 2600px; }
  .service-deep-visual { min-height: 230px; }
}
@media(max-width:720px) {
  .service-deep-dive { grid-template-columns: 1fr; grid-template-areas: "intro" "visual" "process" "bottom" "footer"; max-height: 3800px; border-radius: 0; }
  .service-detail-nav { top: 68px; display: flex; overflow-x: auto; scrollbar-width: none; }
  .service-detail-nav::-webkit-scrollbar { display: none; }
  .service-detail-nav button { flex: 0 0 148px; min-height: 58px; padding: 0 14px; }
  .service-deep-close { top: 15px; }
  .service-deep-intro { padding: 56px 22px 26px; }
  .service-deep-intro h3 { font-size: clamp(36px,10vw,50px); }
  .service-deep-visual { min-height: 220px; margin: 0 14px 22px; }
  .service-process { padding: 28px 22px; }
  .service-process-steps article,.service-process-steps article + article { min-height: 0; padding: 18px 0; }
  .service-process-steps article > strong { margin-top: 16px; }
  .service-deep-bottom > article { padding: 28px 22px; }
  .service-deep-footer { align-items: flex-start; flex-direction: column; padding: 22px; }
  .service-deep-footer a { font-size: 11px; }
}

/* Section geometry stays real: anchor navigation and the scroll choreography
   cannot use guessed intrinsic heights. Media still loads only near view. */

/* --------------------------------------------------------------------------
   Readability scale: one editorial hierarchy across the complete homepage
   -------------------------------------------------------------------------- */
:root {
  --type-display: clamp(58px,5.15vw,82px);
  --type-section: clamp(52px,4.8vw,76px);
  --type-title: clamp(38px,3.65vw,56px);
  --type-body-lg: clamp(16px,1.12vw,18px);
  --type-body: clamp(14px,.94vw,16px);
  --type-ui: clamp(11px,.72vw,13px);
  --type-label: clamp(9px,.62vw,11px);
}

body { font-size: 16px; }
.cover-copy h1 { max-width: 720px; font-size: var(--type-display); line-height: .94; }
.section-heading h2,
.output-heading h2,
.leaders .section-heading h2,
.case-studies-heading h2,
.reach-heading h2 { font-size: var(--type-section); line-height: .96; }
.president-copy h2 { font-size: clamp(46px,4vw,62px); line-height: 1.03; }
.service-panel h3 { font-size: clamp(40px,3.65vw,56px); line-height: 1; }
.service-deep-intro h3 { font-size: clamp(36px,3.15vw,48px); line-height: 1; }
.contact-card h3,.form-heading h3 { font-size: clamp(34px,3.15vw,48px); line-height: 1.08; }
.case-detail-main h3 { font-size: clamp(38px,3.75vw,58px); line-height: .94; }

.cover-lede,
.section-heading > p,
.output-heading > p,
.reach-heading > p,
.case-studies-intro > p { font-size: var(--type-body-lg); line-height: 1.62; }
.elevator-pitch p { font-size: clamp(18px,1.3vw,21px); }
.message-columns p,
.service-story > p:not(.service-fit),
.service-deep-intro > p,
.leader-card > p,
.case-detail-grid p { font-size: var(--type-body); line-height: 1.62; }
.service-fit,
.service-process-steps article > p,
.case-detail-grid li,
.why-beats p { font-size: 13px; line-height: 1.58; }
.service-capability-list > span { font-size: 12px; line-height: 1.4; }

.site-header .wordmark,
.site-header .main-nav,
.site-header .header-cta,
.cover-actions a,
.ink-link,
.service-scope-link,
.case-detail-main a,
.reach-tab,
.time-choice,
.site-footer { font-size: var(--type-ui); }
.story-step > strong { font-size: 10px; line-height: 1.25; }
.story-step > span { font-size: 9px; }
.scene-label,.eyebrow,.cover-category { font-size: var(--type-label); }

.cover-practices > span,
.cover-code > span,
.cover-code > small,
.cover-location,
.cover-frame figcaption span,
.cover-selector button > span,
.service-index-track,
.service-panel-top,
.service-fit span,
.deliverable-label,
.service-detail-nav button span,
.service-deep-intro span,
.service-process-label span,
.service-deep-bottom article > span,
.panel-kicker,
.leader-meta span,
.leader-meta b,
.case-rail-controls span,
.case-tile > span,
.case-tile > i,
.case-detail-close strong,
.case-detail-index,
.case-detail-main > div > span,
.case-detail-grid span,
.case-evidence,
.form-fields label,
.quote-total span { font-size: var(--type-label); }

.cover-practices p { font-size: 12px; }
.cover-code > code { font-size: 12px; }
.cover-field-notes { font-size: 9px; }
.cover-frame figcaption small { font-size: 13px; line-height: 1.5; }
.cover-selector strong { font-size: 14px; }
.cover-selector small { font-size: 11px; }
.signature-lockup small { font-size: 11px; }
.portrait-scan > span,.portrait-data span,.president-photo figcaption,.president-profile-link { font-size: 10px; }
.elevator-pitch span,.message-columns span { font-size: 10px; }
.service-tab span { font-size: 10px; }
.service-tab strong { font-size: clamp(17px,1.3vw,20px); }
.service-panel .deliverable-grid span { font-size: 12px; line-height: 1.35; }
.service-detail-nav button strong { font-size: clamp(12px,.9vw,14px); }
.service-process-label small { font-size: 10px; line-height: 1.35; }
.service-process-steps article > span { font-size: 10px; }
.service-process-steps article > strong { font-size: clamp(19px,1.45vw,23px); }
.service-outcome > div span { font-size: 9px; }
.service-deep-close span { font-size: 10px; }
.service-capability-list i { font-size: 9px; }
.service-deep-footer > span { font-size: 10px; }
.deep-brand-axis span,.deep-brand-lockup small { font-size: 9px; }
.transition-services-logo .services-transition-mark > small,
.vault-caption > span,.vault-caption > small { font-size: 10px; }

.output-node > span { font-size: 9px; }
.output-node > strong { font-size: 15px; }
.output-node > small { font-size: 11px; }
.company-core > small,.output-detail span,.output-detail > div > span,.output-ticker { font-size: 10px; }
.leader-meta h3 { font-size: 30px; line-height: 1.15; }
.leader-visual > small { font-size: 10px; }
.case-tile > strong { font-size: clamp(38px,3.6vw,54px); line-height: .86; }
.case-tile > small { font-size: 12px; }
.case-detail-main > p { font-size: clamp(18px,1.55vw,24px); line-height: 1.35; }
.contact-card > small { font-size: 10px; }
.map-label,.map-coordinates,.map-coordinates small { font-size: 10px; }
.date-choice span,.date-choice small { font-size: 10px; }
.quote-option small,.event-catalog summary small { font-size: 11px; line-height: 1.4; }
.quote-option > span { font-size: 10px; }
.pricing-service-head strong { font-size: 13px; }
.pricing-service-head small { font-size: 11px; line-height: 1.4; }
.pricing-service-controls span,.stepper output,.quote-line,.pricing-total span,.pricing-summary > small { font-size: 10px; }
.event-item strong { font-size: 12px; }
.event-item small,.event-item span { font-size: 10px; line-height: 1.4; }

/* Make the words inside the service diagrams legible without enlarging them. */
.brand-identity-card span,.asset-studio span,.backend-flow span,
.venue-card header span,.venue-card footer span,
.venue-card header i,.venue-screen small,
.brand-card-output strong,.asset-section-label > i,
.vault-folder-tab,.vault-status > b,
.backend-flow-head button,.flow-path article > i,
.flow-path article small { font-size: 9px; }
.brand-card-parts b,.asset-section-label > strong { font-size: 10px; }
.brand-card-parts small { font-size: 11px; }

@media(max-width:820px) {
  :root {
    --type-display: clamp(49px,11.5vw,66px);
    --type-section: clamp(46px,10.5vw,62px);
    --type-title: clamp(35px,8.5vw,48px);
    --type-body-lg: 16px;
    --type-body: 15px;
    --type-ui: 12px;
    --type-label: 10px;
  }
  .cover-copy h1 { font-size: var(--type-display); }
  .president-copy h2 { font-size: clamp(38px,8.8vw,50px); }
  .service-panel h3 { font-size: clamp(36px,8.2vw,46px); }
  .service-deep-intro h3 { font-size: clamp(34px,8vw,44px); }
  .case-tile > strong { font-size: clamp(38px,10vw,48px); }
}

@media(max-width:560px) {
  .section-heading h2,.output-heading h2,.leaders .section-heading h2,.case-studies-heading h2,.reach-heading h2 { font-size: clamp(43px,12vw,56px); }
  .section-heading > p,.output-heading > p,.reach-heading > p,.case-studies-intro > p { font-size: 15px; }
  .service-tab strong { font-size: 17px; }
  .service-detail-nav button strong { font-size: 12px; }
}

/* --------------------------------------------------------------------------
   Growth & Amplification: readable command-center scale
   -------------------------------------------------------------------------- */
.service-panel[data-layout="growth"] .service-story > p:not(.service-fit) {
  max-width: 690px;
  font-size: clamp(15px,1vw,17px);
}
.service-panel[data-layout="growth"] .service-fit { font-size: 14px; }
.service-panel[data-layout="growth"] .deliverable-grid span {
  min-height: 58px;
  display: flex;
  align-items: center;
  padding: 14px 16px;
  font-size: 13px;
}
@media(min-width:821px) {
  .service-panel[data-layout="growth"] { min-height: 1320px; }
  .service-panel[data-layout="growth"] .service-scene { min-height: 820px; }
}

.growth-command-head { min-height: 88px; padding: 18px 22px; }
.growth-command-head span { font-size: 9px; }
.growth-command-head strong { font-size: 15px; }
.growth-command-head > p { font-size: 9px; line-height: 1.5; }
.growth-command-body { grid-template-columns: 220px minmax(0,1fr) 260px; }

.growth-channel-rail { padding: 18px 12px; }
.growth-rail-label { min-height: 76px; padding: 6px 11px 16px; }
.growth-rail-label span,.growth-rail-label strong { font-size: 10px; }
.growth-channel-rail button {
  grid-template-columns: 25px 1fr 32px;
  min-height: 72px;
  padding: 11px 12px;
}
.growth-channel-rail button > span { font-size: 9px; }
.growth-channel-rail button strong { font-size: 12px; line-height: 1.25; }
.growth-channel-rail button small {
  margin-top: 4px;
  overflow: visible;
  color: rgba(255,255,255,.48);
  font-size: 9px;
  line-height: 1.35;
  text-overflow: clip;
  white-space: normal;
}
.growth-channel-rail button > i { width: 32px; height: 32px; font-size: 12px; }

.growth-campaign-canvas { padding: 22px; }
.growth-campaign-top > span { font-size: 9px; }
.growth-campaign-top > b { font-size: 8px; }
.growth-campaign-signal { grid-template-columns: 170px 1fr; gap: 24px; }
.growth-campaign-signal > div:last-child > span { font-size: 9px; }
.growth-campaign-signal p {
  color: rgba(255,255,255,.68);
  font-size: 11px;
  line-height: 1.55;
}

.growth-playbook { grid-template-columns: repeat(2,1fr); gap: 8px; }
.growth-playbook article {
  grid-template-columns: 24px 34px 1fr;
  min-height: 90px;
  padding: 12px;
}
.growth-playbook article > span { font-size: 9px; }
.growth-playbook article > i { width: 34px; height: 34px; font-size: 9px; }
.growth-playbook strong { font-size: 11px; line-height: 1.25; }
.growth-playbook small { color: rgba(255,255,255,.58); font-size: 9px; line-height: 1.4; }

.growth-conversion-strip { margin-top: 10px; padding: 13px 14px; }
.growth-conversion-strip span { font-size: 9px; }
.growth-conversion-strip strong { font-size: 22px; }
.growth-conversion-strip > small { color: rgba(255,255,255,.52); font-size: 9px; }

.growth-sales-panel { padding: 18px; }
.growth-sales-panel > header { min-height: 60px; }
.growth-sales-panel > header > div { grid-template-columns: 24px 1fr; gap: 7px; }
.growth-sales-panel > header span { font-size: 9px; }
.growth-sales-panel > header strong { font-size: 11px; line-height: 1.3; }
.growth-sales-panel > header > b { font-size: 9px; }
.growth-funnel { gap: 10px; padding: 18px 0; }
.growth-funnel > div { min-height: 76px; padding: 12px; }
.growth-funnel strong { font-size: 11px; }
.growth-funnel small { color: rgba(255,255,255,.56); font-size: 9px; line-height: 1.35; }
.growth-funnel > div > b { font-size: 24px; }
.growth-outcome { padding: 16px; }
.growth-outcome > span { font-size: 9px; }
.growth-outcome p { font-size: 12px; line-height: 1.45; }

.growth-command-footer { min-height: 68px; padding: 14px 22px; }
.growth-command-footer > p { font-size: 11px; line-height: 1.5; }
.growth-command-footer span { color: rgba(255,255,255,.58); font-size: 9px; }

.service-deep-dive[data-layout="growth"] .service-deep-visual-inner { inset: -6%; transform: scale(.9); }
.deep-growth-signal strong { font-size: 11px; }
.deep-growth-path { left: 27%; right: 3%; }
.deep-growth-path span { font-size: 11px; }
.deep-growth-path b { font-size: 10px; letter-spacing: .05em; }
.deep-growth-meter span { font-size: 10px; }

/* Organic Leads / NuCulture closer operating-system showcase. */
.organic-closer-ui { display: none; }
.growth-command[data-amplification="organic"] .growth-campaign-canvas,
.growth-command[data-amplification="organic"] .growth-sales-panel { display: none; }
.growth-command[data-amplification="organic"] .organic-closer-ui {
  grid-column: 2/-1;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) 290px;
  overflow: hidden;
  background: linear-gradient(135deg,#07101d,#0c1f47 52%,#07101b);
}
.organic-os-nav {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 11px;
  padding: 18px 7px;
  border-right: 1px solid rgba(184,239,255,.14);
  background: rgba(4,8,16,.78);
}
.organic-os-nav > strong {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  color: #071015;
  border-radius: 9px;
  background: var(--brand-blue);
  font-size: 12px;
  letter-spacing: 0;
}
.organic-os-nav button {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.42);
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
}
.organic-os-nav button i { font-size: 13px; font-style: normal; }
.organic-os-nav button:hover,.organic-os-nav button:focus-visible,.organic-os-nav button.is-active {
  color: var(--brand-blue);
  border-color: rgba(184,239,255,.25);
  background: rgba(184,239,255,.09);
  outline: 0;
}
.organic-os-nav > span { flex: 1; width: 1px; background: linear-gradient(transparent,rgba(184,239,255,.18),transparent); }

.organic-floor { min-width: 0; min-height: 0; display: grid; grid-template-rows: 88px minmax(0,1fr) 58px; border-right: 1px solid rgba(184,239,255,.14); }
.organic-floor-head {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(184,239,255,.14);
  background: rgba(7,16,31,.54);
}
.organic-floor-head > div { display: flex; flex-direction: column; gap: 7px; }
.organic-floor-head span { color: #62e6ba; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.organic-floor-head span i,.organic-activity header span i,.organic-activity-status span i {
  width: 6px;
  height: 6px;
  display: inline-block;
  margin-right: 7px;
  border-radius: 50%;
  background: #62e6ba;
  box-shadow: 0 0 12px #62e6ba;
}
.organic-floor-head strong { font-size: 15px; letter-spacing: .1em; }
.organic-floor-head dl { display: flex; gap: 18px; margin: 0; }
.organic-floor-head dl div { padding-left: 15px; border-left: 1px solid rgba(184,239,255,.14); }
.organic-floor-head dt { color: rgba(255,255,255,.42); font-size: 8px; letter-spacing: .1em; }
.organic-floor-head dd { margin: 5px 0 0; color: var(--brand-blue); font-size: 16px; }

.organic-floor-map {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: radial-gradient(circle at 50% 48%,rgba(44,98,214,.66),rgba(11,31,74,.78) 26%,rgba(7,19,47,.96) 65%),linear-gradient(145deg,#142f86,#071129);
}
.organic-floor-map::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image: linear-gradient(rgba(184,239,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(184,239,255,.15) 1px,transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 50% 50%,black,transparent 78%);
}
.organic-map-grid { position: absolute; left: 50%; top: 50%; width: min(72%,430px); aspect-ratio: 1; transform: translate(-50%,-50%); }
.organic-map-grid::before,.organic-map-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(184,239,255,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(184,239,255,.035),0 0 0 88px rgba(184,239,255,.025);
}
.organic-map-grid::after { inset: 27%; border-color: rgba(184,239,255,.28); box-shadow: none; }
.organic-signal-field { position: absolute; inset: 7%; }
.organic-signal-field i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: var(--brand-blue);
  box-shadow: 0 0 8px rgba(184,239,255,.8);
  opacity: .24;
  animation: organicSignal 3.6s var(--delay) ease-in-out infinite;
}
.organic-signal-field i:nth-child(5n) { background: #62e6ba; box-shadow: 0 0 10px #62e6ba; }
.organic-signal-field i:nth-child(7n) { background: #ff5ca8; box-shadow: 0 0 10px #ff5ca8; }
.organic-route-lines { position: absolute; inset: 0; left: 50%; top: 50%; }
.organic-route-lines i { position: absolute; left: 0; top: 0; width: 190px; height: 1px; background: linear-gradient(90deg,rgba(184,239,255,.7),transparent); transform-origin: left; opacity: .42; }
.organic-route-lines i:nth-child(1){transform:rotate(22deg)}.organic-route-lines i:nth-child(2){transform:rotate(73deg);width:155px}.organic-route-lines i:nth-child(3){transform:rotate(145deg);width:175px}.organic-route-lines i:nth-child(4){transform:rotate(205deg);width:180px}.organic-route-lines i:nth-child(5){transform:rotate(274deg);width:160px}.organic-route-lines i:nth-child(6){transform:rotate(326deg);width:185px}
.organic-source {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.48);
  font-size: 8px;
  letter-spacing: .1em;
}
.organic-source b { color: var(--brand-blue); font-size: 10px; font-weight: 600; }
.organic-source-search{left:8%;top:18%}.organic-source-referral{right:8%;top:23%}.organic-source-content{left:8%;bottom:21%}.organic-source-return{right:8%;bottom:24%}
.organic-closer-core {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  width: 116px;
  height: 116px;
  display: grid;
  place-content: center;
  gap: 2px;
  color: #071015;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  background: radial-gradient(circle at 42% 34%,#e9ffff,#62e6ba 30%,#318ee8 70%);
  box-shadow: 0 0 0 14px rgba(98,230,186,.08),0 0 55px rgba(98,230,186,.64);
  text-align: center;
  transform: translate(-50%,-50%);
  cursor: pointer;
}
.organic-closer-core > i { position: absolute; inset: -23%; border: 1px solid rgba(184,239,255,.27); border-radius: 50%; animation: growthOrbit 10s linear infinite; }
.organic-closer-core > i:nth-child(2){inset:-42%;animation-direction:reverse;animation-duration:14s}.organic-closer-core > i:nth-child(3){inset:-65%;animation-duration:18s}
.organic-closer-core > i::after { content:""; position:absolute; left:50%; top:-3px; width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 12px #fff; }
.organic-closer-core span { font-size: 21px; font-weight: 800; letter-spacing: 0; }
.organic-closer-core strong { font-size: 10px; letter-spacing: .08em; }
.organic-closer-core small { font-size: 7px; font-weight: 700; letter-spacing: .13em; }
.organic-closer-core:hover,.organic-closer-core:focus-visible,.organic-closer-ui.is-inspecting .organic-closer-core { outline:0; box-shadow:0 0 0 20px rgba(98,230,186,.11),0 0 82px rgba(98,230,186,.82); }
.organic-closer-ui.is-inspecting .organic-route-lines i { opacity:.85; animation:organicRoute 900ms ease both; }
.organic-live-contact {
  position: absolute;
  z-index: 4;
  display: grid;
  grid-template-columns: 7px auto;
  gap: 4px 8px;
  min-width: 92px;
  padding: 8px 10px;
  border: 1px solid rgba(184,239,255,.2);
  border-radius: 7px;
  background: rgba(5,12,27,.76);
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}
.organic-live-contact > i { width: 7px; height: 7px; margin-top: 2px; border-radius: 50%; background:#62e6ba; box-shadow:0 0 8px #62e6ba; }
.organic-live-contact span { font-size: 8px; font-weight: 700; }.organic-live-contact b { grid-column:2; color:var(--brand-blue); font-size:7px; letter-spacing:.08em; }
.organic-contact-a{right:8%;top:38%}.organic-contact-b{left:7%;top:40%}.organic-contact-c{right:12%;bottom:34%}
.organic-map-note { position:absolute; left:18px; bottom:14px; max-width:330px; margin:0; color:rgba(255,255,255,.48); font-size:9px; line-height:1.45; }.organic-map-note span{margin-right:7px;color:#62e6ba;font-size:8px;font-weight:700;letter-spacing:.1em}
.organic-floor-flow { display:flex; align-items:center; justify-content:center; gap:10px; padding:10px 14px; border-top:1px solid rgba(184,239,255,.14); background:rgba(4,8,16,.72); }
.organic-floor-flow span { color:rgba(255,255,255,.55); font-size:8px; letter-spacing:.07em; }.organic-floor-flow i { color:var(--brand-blue); font-size:9px; font-style:normal; }

.organic-activity { min-width:0; min-height:0; display:grid; grid-template-rows:112px minmax(0,1fr) 54px; background:linear-gradient(180deg,rgba(20,47,112,.82),rgba(7,16,35,.96)); }
.organic-activity > header { display:grid; grid-template-columns:1fr auto; gap:8px 10px; align-content:center; padding:11px 14px 10px; border-bottom:1px solid rgba(184,239,255,.14); }
.organic-activity > header > div { display:flex; flex-direction:column; gap:7px; }.organic-activity header span { color:#62e6ba;font-size:8px;font-weight:700;letter-spacing:.1em}.organic-activity header strong{font-size:13px;letter-spacing:.03em}.organic-activity > header > b{color:rgba(255,255,255,.4);font-size:7px;letter-spacing:.09em;text-align:right}
.organic-activity > header nav { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:3px; border:1px solid rgba(184,239,255,.13); border-radius:7px; background:rgba(4,8,16,.32); }
.organic-activity > header nav button { min-height:26px; color:rgba(255,255,255,.43); border:0; border-radius:5px; background:transparent; font-size:8px; font-weight:700; letter-spacing:.08em; }
.organic-activity > header nav button i { display:inline-grid; min-width:18px; height:17px; place-items:center; margin-left:5px; color:#071015; border-radius:999px; background:var(--brand-blue); font-size:7px; font-style:normal; }
.organic-activity > header nav button:hover,.organic-activity > header nav button:focus-visible,.organic-activity > header nav button.is-active { color:white; background:rgba(184,239,255,.12); outline:0; }
.organic-activity-feed { min-height:0; display:flex; flex-direction:column; gap:8px; overflow:hidden; padding:13px; }
.organic-activity-feed[hidden] { display:none; }
.organic-activity-feed article { position:relative; min-height:100px; padding:12px; border:1px solid rgba(184,239,255,.15); border-radius:8px; background:rgba(31,59,130,.54); box-shadow:0 10px 22px rgba(0,0,0,.12); }
.organic-activity-feed article::before { content:""; position:absolute; left:-1px; top:14px; bottom:14px; width:2px; background:#ff5ca8; }.organic-activity-feed article.is-replied::before,.organic-activity-feed article.is-qualified::before{background:#62e6ba}
.organic-activity-feed article header { display:flex; align-items:center; justify-content:space-between; }.organic-activity-feed article header span{color:white;font-size:9px}.organic-activity-feed article header span i{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#ff5ca8}.organic-activity-feed article.is-replied header span i,.organic-activity-feed article.is-qualified header span i{background:#62e6ba;box-shadow:0 0 8px #62e6ba}.organic-activity-feed time{color:rgba(255,255,255,.38);font-size:8px}
.organic-activity-feed p { margin:10px 0 0; color:rgba(255,255,255,.68); font-size:10px; line-height:1.4; }
.organic-activity-feed article footer { display:flex; align-items:center; gap:7px; margin-top:10px; }.organic-activity-feed article footer span,.organic-activity-feed article footer b{padding:3px 6px;border:1px solid rgba(184,239,255,.17);border-radius:999px;color:rgba(255,255,255,.5);font-size:7px;letter-spacing:.06em}.organic-activity-feed article footer b{color:#62e6ba}.organic-activity-feed article footer i{color:rgba(184,239,255,.44);font-size:8px;font-style:normal}
.organic-activity-status { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 14px; border-top:1px solid rgba(184,239,255,.14); }.organic-activity-status span{color:#62e6ba;font-size:8px;letter-spacing:.08em}.organic-activity-status small{color:rgba(255,255,255,.32);font-size:7px;letter-spacing:.08em}

.organic-message-view { min-height:0; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; overflow:hidden; background:linear-gradient(180deg,rgba(10,27,64,.95),rgba(5,12,28,.98)); }
.organic-message-view[hidden] { display:none; }
.organic-message-contact { display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; padding:12px 14px; border-bottom:1px solid rgba(184,239,255,.12); }
.organic-message-contact > span { width:38px; height:38px; display:grid; place-items:center; color:#071015; border-radius:50%; background:var(--brand-blue); font-size:11px; font-weight:800; }
.organic-message-contact > div { display:flex; flex-direction:column; gap:4px; min-width:0; }.organic-message-contact strong{font-size:11px}.organic-message-contact small{overflow:hidden;color:rgba(255,255,255,.46);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.organic-message-contact>b{width:32px;height:32px;display:grid;place-items:center;color:#62e6ba;border:1px solid rgba(98,230,186,.35);border-radius:50%;font-size:11px}
.organic-message-logic { display:flex; align-items:center; justify-content:center; gap:5px; padding:9px 8px; border-bottom:1px solid rgba(184,239,255,.1); background:rgba(184,239,255,.03); }.organic-message-logic span{color:rgba(255,255,255,.48);font-size:6px;letter-spacing:.055em}.organic-message-logic i{color:#62e6ba;font-size:7px;font-style:normal}
.organic-message-thread { min-height:0; display:flex; flex-direction:column; gap:8px; overflow:auto; padding:12px; scrollbar-width:none; }.organic-message-thread::-webkit-scrollbar{display:none}
.organic-thread-event { align-self:center; padding:5px 8px; color:rgba(255,255,255,.38); border:1px solid rgba(184,239,255,.12); border-radius:999px; font-size:6px; letter-spacing:.07em; }.organic-thread-event i{width:5px;height:5px;display:inline-block;margin-right:5px;border-radius:50%;background:#62e6ba;box-shadow:0 0 7px #62e6ba}
.organic-message-bubble { max-width:92%; padding:10px 11px; border:1px solid rgba(184,239,255,.15); border-radius:10px 10px 3px 10px; background:rgba(43,78,161,.6); box-shadow:0 8px 18px rgba(0,0,0,.14); }
.organic-message-bubble.is-inbound { align-self:flex-start; border-radius:10px 10px 10px 3px; background:rgba(255,255,255,.08); }.organic-message-bubble.is-outbound{align-self:flex-end}
.organic-message-bubble>span{color:#62e6ba;font-size:7px;font-weight:700;letter-spacing:.08em}.organic-message-bubble.is-inbound>span{color:var(--brand-blue)}.organic-message-bubble p{margin:7px 0 0;color:rgba(255,255,255,.84);font-size:9px;line-height:1.42}.organic-message-bubble small{display:block;margin-top:7px;color:rgba(255,255,255,.35);font-size:6px;line-height:1.35;letter-spacing:.045em}
.organic-message-bubble.is-queued { display:none; border-style:dashed; border-color:rgba(98,230,186,.38); background:rgba(98,230,186,.08); }
.organic-message-view.has-sent .organic-message-bubble.is-queued { display:block; animation:organicMessageSent 420ms var(--ease) both; }
.organic-message-composer { display:grid; grid-template-columns:1fr auto; gap:9px; align-items:center; padding:10px 11px; border-top:1px solid rgba(184,239,255,.12); background:rgba(4,8,16,.58); }.organic-message-composer>span{display:grid;grid-template-columns:7px 1fr;gap:2px 7px;min-width:0}.organic-message-composer>span i{grid-row:1/3;width:7px;height:7px;margin-top:3px;border-radius:50%;background:#62e6ba;box-shadow:0 0 8px #62e6ba}.organic-message-composer b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.organic-message-composer small{color:rgba(255,255,255,.34);font-size:6px;letter-spacing:.05em}.organic-message-composer button{min-height:34px;padding:7px 9px;color:#071015;border:0;border-radius:6px;background:var(--brand-blue);font-size:7px;font-weight:800;letter-spacing:.06em}.organic-message-composer button i{margin-left:4px;font-style:normal}.organic-message-composer button:disabled{color:#0a382a;background:#62e6ba}

@keyframes organicSignal { 0%,100%{opacity:.18;transform:scale(.7)}50%{opacity:1;transform:scale(1.45)} }
@keyframes organicRoute { from{transform-origin:left;scale:.1 1}to{scale:1 1} }
@keyframes organicMessageSent { from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none} }

@media(max-width:1100px) {
  .growth-command-body { grid-template-columns: 200px minmax(0,1fr) 240px; }
  .growth-channel-rail button { grid-template-columns: 22px 1fr 28px; padding-inline: 9px; }
  .growth-channel-rail button > i { width: 28px; height: 28px; }
  .growth-campaign-canvas { padding: 18px; }
  .growth-command[data-amplification="organic"] .organic-closer-ui { grid-template-columns: 48px minmax(0,1fr) 248px; }
  .organic-floor-head dl { gap: 10px; }.organic-floor-head dl div { padding-left: 9px; }.organic-floor-head dt { font-size: 7px; }.organic-floor-head dd { font-size: 14px; }
  .organic-route-lines i { width: 155px; }.organic-route-lines i:nth-child(2),.organic-route-lines i:nth-child(5){width:130px}.organic-route-lines i:nth-child(3),.organic-route-lines i:nth-child(4),.organic-route-lines i:nth-child(6){width:145px}
}

@media(max-width:820px) {
  .growth-command-body { grid-template-columns: minmax(0,1fr) 250px; }
  .growth-channel-rail { grid-template-columns: repeat(5,minmax(175px,1fr)); }
  .growth-channel-rail button { min-width: 175px; grid-template-columns: 22px 1fr; }
  .growth-command-footer > p { max-width: none; }
  .service-panel[data-layout="growth"] .service-scene { min-height: 1160px; }
  .growth-command[data-amplification="organic"] .organic-closer-ui { grid-column:1/-1; grid-template-columns:48px minmax(0,1fr) 250px; min-height:840px; }
}

@media(max-width:560px) {
  .service-panel[data-layout="growth"] .deliverable-grid span { min-height: 54px; }
  .growth-channel-rail button { flex-basis: 190px; }
  .growth-playbook article { min-height: 76px; }
  .growth-sales-panel { min-height: 540px; }
  .service-panel[data-layout="growth"] .service-scene { min-height: 1560px; }
  .growth-command[data-amplification="organic"] .organic-closer-ui { grid-template-columns:1fr; grid-template-rows:600px 540px; min-height:1140px; }
  .organic-os-nav { display:none; }
  .organic-floor { grid-row:1; border-right:0; }
  .organic-activity { grid-row:2; }
  .organic-floor-head { align-items:flex-start; flex-direction:column; }
  .organic-floor { grid-template-rows:132px minmax(0,1fr) 68px; }
  .organic-floor-head dl { width:100%; justify-content:space-between; }
  .organic-floor-flow { flex-wrap:wrap; }
  .organic-route-lines i { width:125px; }.organic-route-lines i:nth-child(n){width:125px}
  .organic-live-contact { min-width:82px; }.organic-contact-a{right:4%}.organic-contact-b{left:4%}.organic-contact-c{right:6%}
}

/* --------------------------------------------------------------------------
   President chapter: preserve the editorial scale, remove excess runway
   -------------------------------------------------------------------------- */
#message.president {
  padding-top: clamp(88px, 7vw, 110px);
  padding-bottom: clamp(88px, 7vw, 110px);
}

#message .president-stage { margin-top: clamp(36px, 3vw, 46px); }
#message .president-photo { height: clamp(470px, 39vw, 560px); }
#message .president-copy {
  margin-top: -104px;
  padding: clamp(34px, 3vw, 44px);
}
#message .president-copy h2 { margin-top: 6px; margin-bottom: 24px; }
#message .elevator-pitch { padding-top: 18px; padding-bottom: 20px; }
#message .message-columns article { min-height: 168px; padding-top: 22px; padding-bottom: 22px; }
#message .message-columns span { margin-bottom: 18px; }
#message .president-copy-footer { padding-top: 18px; }

@media(max-width:900px) {
  #message.president { padding-top: 78px; padding-bottom: 78px; }
  #message .president-stage { margin-top: 36px; }
  #message .president-photo { height: 450px; }
  #message .president-copy { margin-top: -62px; padding: 28px; }
  #message .message-columns article { min-height: 0; padding: 20px 0; }
}

@media(max-width:560px) {
  #message.president { padding-top: 66px; padding-bottom: 66px; }
  #message .president-stage { margin-top: 28px; }
  #message .president-photo { height: 310px; }
  #message .president-copy { margin-top: -20px; padding: 22px 18px; }
  #message .president-copy h2 { margin-bottom: 20px; }
  #message .elevator-pitch { padding: 16px 0 18px; }
  #message .president-copy-footer { padding-top: 16px; }
}

/* Keep the leadership portraits editorial at wide-screen sizes. */
@media(min-width:821px) {
  #leaders .leader-grid {
    width: min(100%, 1380px);
    margin: 56px auto 0;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap: clamp(18px, 2vw, 30px);
  }
  #leaders .leader-visual {
    max-height: 590px;
    aspect-ratio: 4 / 4.2;
  }
  #leaders .leader-visual > img {
    object-fit: cover;
    object-position: center 20%;
  }
}

/* --------------------------------------------------------------------------
   Leadership system: operating, creative, and advisory perspectives
   -------------------------------------------------------------------------- */
#leaders.leaders {
  position: relative;
  overflow: hidden;
  color: #f7f8f6;
  background:
    radial-gradient(circle at 16% 48%, rgba(44,98,214,.24), transparent 30%),
    radial-gradient(circle at 86% 52%, rgba(214,105,57,.2), transparent 29%),
    radial-gradient(circle at 53% 82%, rgba(216,196,154,.13), transparent 26%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(145deg,#111312,#050606 78%);
  background-size: auto, auto, auto, 62px 62px, 62px 62px, auto;
}
#leaders::after {
  content: "THREE / ONE";
  position: absolute;
  right: -2vw;
  top: 45%;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.07);
  font-size: clamp(110px,15vw,250px);
  font-weight: 800;
  line-height: .8;
  letter-spacing: 0;
  white-space: nowrap;
  transform: rotate(-90deg) translateX(50%);
  transform-origin: right center;
  pointer-events: none;
}
#leaders > * { position: relative; z-index: 2; }
#leaders .scene-label { color: rgba(255,255,255,.55); }
#leaders .scene-label span:first-child { color: var(--brand-blue); }
#leaders .section-heading h2 { color: #f7f8f6; }
#leaders .section-heading h2 em { color: var(--brand-blue); }
#leaders .section-heading > p { color: rgba(255,255,255,.57); }

.leader-operating-model {
  width: min(100%,1120px);
  margin: 52px auto 0;
  padding: 18px 20px 20px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(14px);
}
.leader-operating-model > span {
  display: block;
  margin-bottom: 16px;
  color: rgba(255,255,255,.36);
  font-size: 9px;
  letter-spacing: .15em;
}
.leader-equation {
  display: grid;
  grid-template-columns: 1fr minmax(34px,80px) auto minmax(34px,80px) 1fr;
  align-items: center;
  gap: 14px;
}
.leader-equation > strong {
  font-size: clamp(18px,1.8vw,25px);
  letter-spacing: 0;
}
.leader-equation > strong:last-child { text-align: right; }
.leader-equation > i { height: 1px; background: linear-gradient(90deg,rgba(120,166,255,.8),rgba(255,255,255,.17)); }
.leader-equation > i:nth-of-type(2) { background: linear-gradient(90deg,rgba(255,255,255,.17),rgba(238,140,87,.85)); }
.leader-equation > b {
  min-width: 164px;
  padding: 11px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: #f4f5f1;
  color: #0b0d0c;
}
.leader-equation > b span { font-size: 10px; letter-spacing: .12em; }
.leader-equation > b small { margin-top: 3px; color: #397fa4; font-size: 8px; font-weight: 600; letter-spacing: .1em; }

#leaders .leader-grid { align-items: stretch; }
#leaders .leader-card {
  --leader-accent: #78a6ff;
  display: flex;
  flex-direction: column;
  padding: 9px 9px 22px;
  overflow: hidden;
  border: 1px solid rgba(120,166,255,.25);
  border-radius: 16px;
  background: linear-gradient(180deg,rgba(120,166,255,.12),rgba(255,255,255,.035));
  color: #f7f8f6;
  transition: transform 320ms var(--ease), border-color 320ms ease, box-shadow 320ms ease;
}
#leaders .leader-card-creative {
  --leader-accent: #ee8c57;
  border-color: rgba(238,140,87,.27);
  background: linear-gradient(180deg,rgba(238,140,87,.12),rgba(255,255,255,.035));
}
#leaders .leader-card-advisory {
  --leader-accent: #d8c49a;
  border-color: rgba(216,196,154,.28);
  background: linear-gradient(180deg,rgba(216,196,154,.12),rgba(255,255,255,.035));
}
#leaders .leader-card-design {
  --leader-accent: #a8d8ff;
  border-color: rgba(168,216,255,.28);
  background: linear-gradient(180deg,rgba(168,216,255,.12),rgba(255,255,255,.035));
}
#leaders .leader-card:hover {
  border-color: color-mix(in srgb,var(--leader-accent) 58%,transparent);
  box-shadow: 0 28px 80px rgba(0,0,0,.3);
}
#leaders .leader-card:hover .leader-visual { transform: none; box-shadow: none; }
#leaders .leader-visual { border-radius: 10px; box-shadow: none; background: #080a0a; }
#leaders .leader-visual::after { z-index: 2; background: linear-gradient(0deg,rgba(5,7,8,.9),transparent 48%); }
#leaders .leader-card-tech .leader-visual::before,
#leaders .leader-card-creative .leader-visual::before,
#leaders .leader-card-advisory .leader-visual::before,
#leaders .leader-card-design .leader-visual::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(135deg,color-mix(in srgb,var(--leader-accent) 34%,transparent),transparent 48%);
  mix-blend-mode: screen;
  pointer-events: none;
}
#leaders .leader-robert > img { object-position: center 15%; }
#leaders .leader-joseph > img { object-position: center 28%; }
#leaders .leader-visual > small { z-index: 4; left: 18px; top: 16px; color: rgba(255,255,255,.72); }
#leaders .leader-visual > i { z-index: 3; width: 310px; height: 310px; border-color: color-mix(in srgb,var(--leader-accent) 40%,transparent); }
#leaders .leader-visual > i::after { border-color: color-mix(in srgb,var(--leader-accent) 24%,transparent); }
.leader-mode { position: absolute; z-index: 4; left: 20px; right: 20px; bottom: 18px; }
.leader-mode span { display: block; margin-bottom: 6px; color: var(--leader-accent); font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.leader-mode strong { display: block; font-size: clamp(34px,3.5vw,52px); line-height: .82; letter-spacing: 0; }
#leaders .leader-meta { margin: 0; padding: 20px 9px 16px; border-color: rgba(255,255,255,.14); }
#leaders .leader-meta span { color: var(--leader-accent); }
#leaders .leader-meta h3 { color: #f7f8f6; }
#leaders .leader-meta b { color: rgba(255,255,255,.42); }
#leaders .leader-card > p { margin: 16px 9px 0; color: rgba(255,255,255,.57); }
.leader-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 9px 0; padding-top: 20px; }
.leader-tags span { padding: 7px 9px; color: rgba(255,255,255,.58); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; font-size: 8px; letter-spacing: .1em; }

@media(max-width:820px) {
  #leaders::after { display: none; }
  .leader-operating-model { margin-top: 36px; padding: 16px; }
  .leader-equation { grid-template-columns: 1fr auto 1fr; gap: 8px; }
  .leader-equation > i { display: none; }
  .leader-equation > strong { font-size: 12px; }
  .leader-equation > b { min-width: 120px; padding: 9px 10px; }
  #leaders .leader-grid { margin-top: 28px; gap: 22px; }
  #leaders .leader-card { padding: 7px 7px 20px; }
  #leaders .leader-visual { aspect-ratio: 4 / 4.6; }
  #leaders .leader-visual > img { object-fit: cover; object-position: center 18%; }
  #leaders .leader-meta b { display: none; }
}

@media(max-width:560px) {
  .leader-equation { grid-template-columns: 1fr; text-align: left; }
  .leader-equation > strong:last-child { text-align: left; }
  .leader-equation > b { width: fit-content; align-items: flex-start; border-radius: 8px; }
  .leader-mode strong { font-size: 36px; }
}

/* --------------------------------------------------------------------------
   Founder direction: one portrait, one thesis, one forward signal
   -------------------------------------------------------------------------- */
#message.president {
  position: relative;
  overflow: hidden;
  color: #f7f8f6;
  background:
    radial-gradient(circle at 13% 45%,rgba(214,105,57,.2),transparent 29%),
    radial-gradient(circle at 83% 43%,rgba(44,98,214,.22),transparent 32%),
    linear-gradient(rgba(255,255,255,.042) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.042) 1px,transparent 1px),
    linear-gradient(145deg,#111312,#050606 78%);
  background-size: auto,auto,58px 58px,58px 58px,auto;
}
#message::after {
  content: "NEXT /";
  position: absolute;
  right: -1vw;
  bottom: 8%;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.065);
  font-size: clamp(120px,17vw,280px);
  font-weight: 800;
  line-height: .75;
  letter-spacing: 0;
  pointer-events: none;
}
#message > * { position: relative; z-index: 2; }
#message .scene-label { color: rgba(255,255,255,.52); }
#message .scene-label span:first-child { color: var(--brand-blue); }

.president-direction-rail {
  width: min(100%,1280px);
  margin: 42px auto 0;
  padding: 17px 20px 19px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(14px);
}
.president-direction-rail > span {
  display: block;
  margin-bottom: 14px;
  color: rgba(255,255,255,.36);
  font-size: 9px;
  letter-spacing: .15em;
}
.president-direction-rail > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}
.president-direction-rail strong,
.president-direction-rail b { font-size: clamp(16px,1.55vw,22px); letter-spacing: 0; }
.president-direction-rail strong:last-child { text-align: right; }
.president-direction-rail b {
  padding: 10px 16px;
  color: #071015;
  border-radius: 999px;
  background: linear-gradient(90deg,#b8efff,#f0b085);
  text-align: center;
}
.president-direction-rail i { color: rgba(255,255,255,.25); font-size: 17px; font-style: normal; }

#message .president-stage {
  width: min(100%,1280px);
  margin: 16px auto 0;
  display: grid;
  grid-template-columns: minmax(360px,.43fr) minmax(0,.57fr);
  align-items: stretch;
  gap: 12px;
}
#message .president-photo {
  height: auto;
  min-height: 760px;
  border: 1px solid rgba(238,140,87,.28);
  border-radius: 16px;
  background: #080909;
  box-shadow: 0 28px 80px rgba(0,0,0,.3);
}
#message .president-photo::before { inset: 9px; border-color: rgba(238,140,87,.32); border-radius: 10px; }
#message .president-photo::after {
  z-index: 2;
  background: linear-gradient(0deg,rgba(5,7,8,.92),transparent 48%);
}
#message .president-photo img {
  object-fit: cover;
  object-position: 72% center;
  filter: saturate(1) contrast(1.03);
  transform: none;
}
#message .portrait-scan { z-index: 3; }
#message .portrait-scan > i { background: rgba(238,140,87,.35); }
#message .portrait-scan > i:nth-child(3) { border-color: rgba(238,140,87,.5); background: transparent; }
.president-photo-mode {
  position: absolute;
  z-index: 5;
  left: 24px;
  right: 24px;
  bottom: 94px;
}
.president-photo-mode span { color: #ee8c57; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.president-photo-mode strong { display: block; margin-top: 7px; font-size: clamp(46px,4.5vw,68px); line-height: .76; letter-spacing: 0; }
#message .president-photo figcaption { z-index: 6; inset: auto 18px 18px; background: rgba(5,7,8,.68); }
#message .president-profile-link { z-index: 6; background: rgba(5,7,8,.62); }
#message .portrait-data { z-index: 6; }

#message .president-copy {
  width: 100%;
  min-height: 760px;
  margin: 0;
  padding: clamp(38px,3.2vw,52px);
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(120,166,255,.25);
  border-radius: 16px;
  background: linear-gradient(145deg,rgba(120,166,255,.12),rgba(255,255,255,.035));
  color: #f7f8f6;
  box-shadow: 0 28px 80px rgba(0,0,0,.3);
  backdrop-filter: blur(14px);
}
#message .president-copy::after { color: rgba(184,239,255,.38); }
#message .president-copy .quote-mark { color: var(--brand-blue); }
#message .president-copy h2 { margin: 8px 0 26px; color: #f7f8f6; font-size: clamp(48px,4.1vw,64px); }
#message .president-copy h2 strong { color: var(--brand-blue); }
#message .elevator-pitch,
#message .message-columns { border-color: rgba(255,255,255,.14); }
#message .elevator-pitch { padding: 20px 0 22px; }
#message .elevator-pitch span,
#message .message-columns span { color: var(--brand-blue); }
#message .elevator-pitch p { color: rgba(255,255,255,.88); }
#message .message-columns { margin-top: 0; }
#message .message-columns article { min-height: 154px; padding-top: 22px; padding-bottom: 20px; }
#message .message-columns article + article { border-left-color: rgba(255,255,255,.14); }
#message .message-columns p { color: rgba(255,255,255,.57); }
#message .president-copy-footer { margin-top: auto; padding-top: 18px; }
#message .signature-lockup span { color: #f7f8f6; }
#message .signature-lockup small { color: rgba(255,255,255,.42); }
#message .president-copy .ink-link { color: rgba(255,255,255,.78); border-color: rgba(255,255,255,.2); }

@media(min-width:901px) and (max-width:1450px) {
  .president-direction-rail,
  #message .president-stage {
    width: calc(100% - 132px);
    margin-right: 132px;
    margin-left: 0;
  }
  #message .president-stage { grid-template-columns: minmax(330px,.42fr) minmax(0,.58fr); }
  #message .president-copy { padding: 36px; }
  #message .president-copy h2 { font-size: clamp(46px,4.2vw,58px); }
}

@media(max-width:900px) {
  .president-direction-rail { margin-top: 34px; }
  #message .president-stage { margin-top: 12px; grid-template-columns: 1fr; gap: 0; }
  #message .president-photo { height: 440px; min-height: 0; }
  #message .president-photo img { object-position: 68% 35%; }
  #message .president-copy { width: calc(100% - 24px); min-height: 0; margin: -28px 12px 0; padding: 30px 28px; }
  #message .message-columns article { min-height: 0; padding: 20px 0; }
}

@media(max-width:560px) {
  .president-direction-rail { margin-top: 28px; padding: 15px; }
  .president-direction-rail > div { grid-template-columns: 1fr; gap: 8px; }
  .president-direction-rail i { display: none; }
  .president-direction-rail strong:last-child { text-align: left; }
  .president-direction-rail b { width: fit-content; border-radius: 7px; text-align: left; }
  #message .president-stage { margin-top: 10px; }
  #message .president-photo { height: 330px; }
  #message .president-photo-mode { left: 18px; bottom: 76px; }
  #message .president-photo-mode strong { font-size: 42px; }
  #message .portrait-data { display: none; }
  #message .president-copy { width: calc(100% - 12px); margin: -18px 6px 0; padding: 24px 19px; }
  #message .president-copy h2 { margin-bottom: 20px; font-size: clamp(38px,10.4vw,47px); }
  #message .elevator-pitch { padding: 17px 0 19px; }
}

/* --------------------------------------------------------------------------
   Content Studio: brand definition flows directly into production
   -------------------------------------------------------------------------- */
.brand-content-system {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) 52px minmax(0,1.08fr);
  grid-template-rows: auto 1fr auto;
  gap: 12px;
  padding: 18px;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 15% 45%,rgba(44,98,214,.24),transparent 30%),
    radial-gradient(circle at 87% 48%,rgba(238,140,87,.18),transparent 30%),
    #070909;
}
.brand-content-system > header {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.brand-content-system > header span,
.brand-content-system > header b,
.brand-content-system section > small,
.brand-content-system > footer { font-size: 8px; letter-spacing: .12em; }
.brand-content-system > header span { color: var(--brand-blue); }
.brand-content-system > header b { color: rgba(255,255,255,.48); font-weight: 500; }
.brand-content-foundation,
.brand-content-production {
  position: relative;
  min-width: 0;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
}
.brand-content-foundation { border-color: rgba(120,166,255,.3); }
.brand-content-production { padding:0; border-color:rgba(238,140,87,.34); background:#f8f7f4; }
.brand-content-foundation > small { color: #78a6ff; }
.brand-content-production > small { position:absolute; z-index:8; left:12px; top:72px; padding:5px 7px; color:#071015; border-radius:4px; background:#ee8c57; box-shadow:0 7px 18px rgba(0,0,0,.2); }
.brand-content-foundation > strong {
  display: block;
  margin-top: clamp(28px,4vw,54px);
  max-width: 100%;
  font-size: clamp(22px,2.45vw,38px);
  line-height: .88;
  letter-spacing: 0;
}
.brand-content-foundation > div {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 17px;
  height: 8px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
}
.brand-content-foundation > div i:nth-child(1) { background:#b8efff; }
.brand-content-foundation > div i:nth-child(2) { background:#2c62d6; }
.brand-content-foundation > div i:nth-child(3) { background:#f5efe5; }
.brand-content-foundation > div i:nth-child(4) { background:#ee8c57; }
.brand-content-bridge { display: grid; place-items: center; align-content: center; gap: 8px; }
.brand-content-bridge i { width: 1px; height: 46px; background: linear-gradient(transparent,rgba(184,239,255,.5)); }
.brand-content-bridge span { width: 34px; height: 34px; display: grid; place-items: center; color:#071015; border-radius:50%; background:linear-gradient(135deg,#b8efff,#ee8c57); font-size:18px; }
.brand-content-bridge small { color: rgba(255,255,255,.34); font-size: 7px; letter-spacing:.12em; writing-mode:vertical-rl; }
.brand-content-phone-stage { position:absolute; inset:0; }
.brand-content-production .social-phone { width:100%; height:100%; max-height:none; min-height:0; padding:0; border:0; border-radius:9px; box-shadow:none; }
.brand-content-production .social-phone-notch { display:none; }
.brand-content-production .social-app { border-radius:9px; }
.brand-content-production .social-app > header { min-height:42px; padding:10px 14px 5px; }.brand-content-production .social-app > header b { font-size:16px; }.brand-content-production .social-app > header span { font-size:17px; }
.brand-content-production .social-account { min-height:44px; grid-template-columns:29px 1fr auto; gap:9px; padding:6px 12px; }.brand-content-production .social-account > i { width:29px; height:29px; font-size:9px; }.brand-content-production .social-account p strong { font-size:9px; }.brand-content-production .social-account p small { font-size:6px; }
.brand-content-production .street-interview-post > span { left:auto; right:10px; top:9px; font-size:6px; }
.brand-content-production .street-question { left:13px; bottom:12px; font-size:clamp(13px,1.45vw,21px); }
.brand-content-production .street-play { right:12px; top:40px; width:32px; height:32px; font-size:10px; }
.brand-content-production .social-post-actions { min-height:31px; padding:5px 12px 0; font-size:15px; }.brand-content-production .social-post-metrics { padding:2px 12px 5px; font-size:8px; }.brand-content-production .social-post-caption { padding:0 12px 10px; font-size:6px; }
.brand-content-system > footer {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: auto minmax(14px,1fr) minmax(0,180px) minmax(14px,1fr) auto;
  align-items: center;
  gap: clamp(6px,1vw,12px);
  color: rgba(255,255,255,.42);
}
.brand-content-system > footer i { height:1px; background:rgba(255,255,255,.15); }
.brand-content-system > footer strong { color:white; font-size:clamp(7px,.7vw,9px); font-weight:600; line-height:1.2; text-align:center; }

/* A recognizable social deliverable, built in CSS so the example remains brand-neutral. */
.social-phone { position:relative; width:min(100%,190px); height:min(100%,354px); min-height:225px; justify-self:center; padding:6px; overflow:hidden; border:1px solid rgba(255,255,255,.25); border-radius:26px; background:#020303; box-shadow:0 20px 45px rgba(0,0,0,.45),inset 0 0 0 2px #1c2023; }
.social-phone-notch { position:absolute; z-index:5; left:50%; top:8px; width:34%; height:12px; border-radius:0 0 9px 9px; background:#020303; transform:translateX(-50%); }
.social-app { height:100%; min-height:0; display:flex; flex-direction:column; overflow:hidden; color:#111; border-radius:20px; background:#f8f7f4; font-family:var(--font-brand); }
.social-app > header { min-height:31px; display:flex; align-items:center; justify-content:space-between; padding:7px 10px 3px; border-bottom:1px solid #dedbd5; }
.social-app > header b { font-family:var(--font-brand); font-size:12px; font-style:italic; letter-spacing:0; }.social-app > header span { font-size:13px; }
.social-account { min-height:34px; display:grid; grid-template-columns:23px 1fr auto; gap:7px; align-items:center; padding:5px 8px; }
.social-account > i { width:23px; height:23px; display:grid; place-items:center; color:#071015; border-radius:50%; background:linear-gradient(135deg,#b8efff,#ee8c57); font-size:8px; font-style:normal; font-weight:800; }
.social-account p { min-width:0; margin:0; line-height:1.05; }.social-account p strong,.social-account p small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.social-account p strong { font-size:7px; }.social-account p small { margin-top:3px; color:#777; font-size:5px; }.social-account > b { font-size:7px; letter-spacing:.08em; }
.street-interview-post { position:relative; flex:1; min-height:118px; overflow:hidden; color:white; background:linear-gradient(180deg,#98cce0 0 42%,#9f9488 42% 100%); }
.street-interview-post::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(4,8,10,.68),transparent 56%); }
.street-interview-post > span { position:absolute; z-index:4; left:8px; top:7px; padding:4px 6px; border-radius:3px; color:#071015; background:#b8efff; font-size:5px; font-weight:800; letter-spacing:.1em; }
.street-skyline { position:absolute; left:0; right:0; top:21%; height:38%; display:flex; align-items:end; gap:2px; padding:0 3px; opacity:.7; }
.street-skyline i { flex:1; height:62%; background:#596972; box-shadow:inset 4px 0 rgba(255,255,255,.09); }.street-skyline i:nth-child(2){height:95%}.street-skyline i:nth-child(3){height:72%}.street-skyline i:nth-child(4){height:88%}.street-skyline i:nth-child(5){height:54%}
.street-person { position:absolute; z-index:2; bottom:17%; width:30%; height:51%; }.street-host { left:11%; }.street-guest { right:10%; }
.street-person > i { position:absolute; left:50%; top:0; width:31%; aspect-ratio:1; border-radius:50%; background:#5b3527; transform:translateX(-50%); }.street-guest > i { background:#c99773; }
.street-person > b { position:absolute; left:12%; right:12%; top:25%; bottom:0; border-radius:22px 22px 3px 3px; background:linear-gradient(145deg,#1d2630,#080b0e); }.street-guest > b { background:linear-gradient(145deg,#d66f42,#6d2f20); }
.street-mic { position:absolute; z-index:3; left:42%; top:48%; width:21%; height:7px; transform:rotate(-12deg); transform-origin:left; }.street-mic i { position:absolute; left:0; top:-2px; width:10px; height:10px; border-radius:50%; background:#111; }.street-mic b { position:absolute; left:8px; right:0; top:2px; height:3px; background:#171717; }
.street-question { position:absolute; z-index:4; left:8px; right:8px; bottom:8px; font-size:clamp(9px,1vw,13px); font-weight:850; line-height:.88; letter-spacing:0; }.street-play { position:absolute; z-index:4; right:8px; top:8px; width:24px; height:24px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(5,7,8,.36); font-size:8px; }
.social-post-actions { min-height:24px; display:flex; align-items:center; gap:8px; padding:3px 8px 0; font-size:12px; }.social-post-actions i { flex:1; }.social-post-actions b { font-size:10px; }
.social-post-metrics { display:flex; justify-content:space-between; padding:1px 8px 3px; font-size:6px; }.social-post-metrics strong:last-child { color:#d66f42; }
.social-post-caption { margin:0; padding:0 8px 8px; color:#444; font-size:5px; line-height:1.35; }.social-post-caption b { color:#111; }

.deep-brand-content-system {
  background:
    radial-gradient(circle at 18% 45%,rgba(44,98,214,.25),transparent 29%),
    radial-gradient(circle at 84% 48%,rgba(238,140,87,.2),transparent 28%),
    #080a0a;
}
.deep-content-brief { position:absolute; z-index:2; left:6%; top:14%; bottom:18%; width:43%; display:flex; flex-direction:column; justify-content:center; padding:20px; border:1px solid rgba(120,166,255,.35); border-radius:12px; background:rgba(6,12,16,.72); }
.deep-content-brief span,.deep-content-proof span { color:var(--brand-blue); font-size:7px; letter-spacing:.13em; }.deep-content-brief strong { margin:17px 0; font-size:clamp(20px,2.4vw,34px); line-height:.86; letter-spacing:0; }.deep-content-brief small { color:rgba(255,255,255,.42); font-size:6px; line-height:1.6; letter-spacing:.1em; }
.deep-content-arrow { position:absolute; z-index:5; left:49%; top:44%; width:35px; height:35px; display:grid; place-items:center; color:#071015; border-radius:50%; background:linear-gradient(135deg,#b8efff,#ee8c57); font-size:18px; transform:translate(-50%,-50%); }
.deep-content-phone { position:absolute; z-index:3; right:6%; top:5%; bottom:5%; width:43%; display:grid; place-items:center; }.deep-content-phone .social-phone { width:auto; height:100%; max-height:none; min-height:0; aspect-ratio:.53; }
.deep-content-proof { position:absolute; z-index:4; left:7.5%; right:48%; bottom:8%; display:grid; gap:7px; padding-top:10px; border-top:1px solid rgba(255,255,255,.14); }.deep-content-proof b { color:rgba(255,255,255,.72); font-size:7px; line-height:1.4; letter-spacing:.07em; }

@media(max-width:620px) {
  .brand-content-system { grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr); gap:6px; padding:10px; }
  .brand-content-system > header b { display:none; }
  .brand-content-foundation { padding:11px; }
  .brand-content-foundation > strong { margin-top:30px; font-size:clamp(16px,5.2vw,22px); line-height:.92; }
  .brand-content-foundation > div { left:11px; right:11px; bottom:11px; }
  .brand-content-bridge i,.brand-content-bridge small { display:none; }
  .brand-content-bridge span { width:28px; height:28px; font-size:15px; }
  .brand-content-production > small { left:7px; top:50px; padding:3px 5px; font-size:5px; }
  .brand-content-production .social-phone { width:100%; height:100%; aspect-ratio:auto; border-radius:6px; }
  .brand-content-production .social-app { border-radius:6px; }
  .brand-content-production .social-app > header { min-height:23px; padding:4px 6px 1px; }.brand-content-production .social-app > header b { font-size:8px; }
  .brand-content-production .social-account { min-height:25px; grid-template-columns:17px 1fr auto; padding:3px 5px; }.brand-content-production .social-account > i { width:17px; height:17px; font-size:6px; }
  .brand-content-production .social-post-caption { display:none; }
  .brand-content-production .street-question { font-size:7px; }
  .brand-content-production .social-post-actions { min-height:18px; padding-left:5px; padding-right:5px; font-size:8px; }
  .brand-content-production .social-post-metrics { padding-left:5px; padding-right:5px; font-size:4px; }
  .brand-content-system > footer { grid-template-columns:auto minmax(0,1fr) auto; gap:7px; font-size:6px; }
  .brand-content-system > footer i { display:none; }
  .brand-content-system > footer strong { font-size:6px; }
  .brand-content-system > footer span:last-child { text-align:right; }
  .deep-content-brief { left:5%; top:12%; bottom:17%; width:45%; padding:11px; }.deep-content-brief strong { margin:10px 0; font-size:16px; }.deep-content-brief small { font-size:5px; }
  .deep-content-arrow { left:49%; width:26px; height:26px; font-size:13px; }
  .deep-content-phone { right:4%; width:45%; }
  .deep-content-proof { left:6%; right:49%; bottom:8%; }.deep-content-proof b { font-size:5px; }
}

/* Nohemi tracking correction: retain the editorial density without collisions. */
h1,
h2,
h3 {
  letter-spacing: 0;
}

h1 strong,
h2 strong,
h3 strong {
  letter-spacing: 0;
}

.cover-copy h1,
.section-heading h2,
.president-copy h2,
.service-panel h3,
.case-studies-heading h2,
.reach-heading h2 {
  letter-spacing: 0;
}

.leader-mode strong,
.case-tile > strong,
.case-detail-main h3,
.service-deep-intro h3,
.service-outcome blockquote,
.deep-content-brief strong {
  letter-spacing: 0;
}

.portal-card h4,
.portal-shell-embedded .module-header h3,
.cover-frame figcaption strong,
.service-tab strong {
  letter-spacing: 0;
}

.cover-type,
.kinetic-word span,
.transition-type span,
.brand-question span,
.brand-expression strong,
.venue-screen strong,
.brand-card-head strong,
.deep-brand-lockup strong,
.deep-event-screen strong,
.president-photo-mode strong,
.street-question,
.organic-closer-core span {
  letter-spacing: 0;
}

/* Page-level guarantee: every headline renders in uppercase. */
h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: uppercase !important;
}

/* Final case-study title sizing sits after the global type scale. */
.case-studies-heading-minimal h2 {
  font-size: clamp(64px,7.25vw,112px);
  line-height: .86;
}

@media(max-width:820px) {
  .case-studies-heading-minimal { grid-template-columns: 1fr; }
  .case-studies-heading-minimal h2 {
    grid-column: 1;
    font-size: clamp(48px,12vw,76px);
    white-space: normal;
  }
  .case-studies-heading-minimal .case-studies-intro { grid-column: 1; grid-row: 2; }
  .case-studies-heading-minimal .case-rail-controls { grid-column: 1; grid-row: 3; }
}

@media(max-width:560px) {
  .case-studies-heading-minimal h2 { font-size: clamp(44px,12vw,62px); }
}

/* 06 / Live meeting desk */
#reach-out.meeting-section {
  position: relative;
  color: #f7f8f6;
  background:
    radial-gradient(circle at 82% 20%,rgba(44,98,214,.18),transparent 30%),
    radial-gradient(circle at 12% 80%,rgba(238,140,87,.09),transparent 28%),
    linear-gradient(180deg,#050606 0,#080a0b 24%,#080a0b 100%);
}
#reach-out.meeting-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 190px;
  pointer-events: none;
  opacity: .8;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size: 62px 62px;
  mask-image: linear-gradient(to bottom,#000,transparent);
}
#reach-out.meeting-section > * { position: relative; z-index: 1; }
.meeting-section .scene-label { color: rgba(255,255,255,.5); }
.meeting-section .scene-label span:first-child { color: var(--brand-blue); }
.meeting-heading { grid-template-columns: 1fr .48fr; }
.meeting-heading h2 { color: #f7f8f6; font-size: clamp(52px,5.4vw,78px); white-space: nowrap; }
.meeting-heading h2 em { color: var(--brand-blue); }
.meeting-heading p { color: rgba(255,255,255,.58); }
.meeting-console {
  margin-top: clamp(46px,6vw,84px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  background: rgba(5,7,8,.84);
  box-shadow: 0 38px 100px rgba(0,0,0,.38);
}
.meeting-console-bar,.meeting-console-foot {
  min-height: 54px;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.025);
  font-size: 8px;
  letter-spacing: .12em;
}
.meeting-console-bar > div,.meeting-chat > header > div { display: flex; align-items: center; gap: 9px; }
.meeting-console-bar i,.meeting-chat header i { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #6ee7a4; box-shadow: 0 0 0 4px rgba(110,231,164,.1),0 0 14px rgba(110,231,164,.5); }
.meeting-console-bar strong { color: #6ee7a4; font-weight: 600; }
.meeting-console-bar > small { justify-self: end; color: rgba(255,255,255,.42); font-size: inherit; }
.meeting-workspace { min-height: 600px; display: grid; grid-template-columns: minmax(220px,.72fr) minmax(390px,1.5fr) minmax(280px,.9fr); }
.meeting-roster,.meeting-profile,.meeting-chat { min-width: 0; }
.meeting-roster { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.12); }
.meeting-roster-head { min-height: 70px; padding: 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.1); }
.meeting-roster-head span,.meeting-profile-copy > small,.meeting-availability header span,.meeting-chat header span,.meeting-message-form label { color: var(--brand-blue); font-size: 8px; font-weight: 650; letter-spacing: .13em; }
.meeting-roster-head small { color: rgba(255,255,255,.3); font-size: 7px; letter-spacing: .1em; }
.meeting-person {
  position: relative;
  min-height: 92px;
  padding: 14px 34px 14px 16px;
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: center;
  gap: 12px;
  text-align: left;
  color: rgba(255,255,255,.58);
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: transparent;
  transition: background 180ms,color 180ms;
}
.meeting-person:hover { color: #fff; background: rgba(255,255,255,.04); }
.meeting-person.is-active { color: #fff; background: linear-gradient(90deg,rgba(120,166,255,.16),rgba(120,166,255,.03)); }
.meeting-person.is-active::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--brand-blue); }
.meeting-avatar { width: 50px; height: 50px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: #15191d; }
.meeting-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: saturate(.78); }
.meeting-person > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.meeting-person strong { overflow: hidden; font-size: 10px; font-weight: 600; letter-spacing: .06em; text-overflow: ellipsis; white-space: nowrap; }
.meeting-person small { overflow: hidden; color: rgba(255,255,255,.33); font-size: 7px; letter-spacing: .08em; text-overflow: ellipsis; white-space: nowrap; }
.meeting-person > i,.meeting-chat header i { position: absolute; right: 18px; width: 7px; height: 7px; border-radius: 50%; }
.meeting-person > i.is-live,.meeting-chat header i.is-live { background: #6ee7a4; box-shadow: 0 0 10px rgba(110,231,164,.7); }
.meeting-person > i.is-away,.meeting-chat header i.is-away { background: #ee8c57; box-shadow: none; }
.meeting-email { margin: auto 16px 16px; padding: 14px; display: flex; flex-direction: column; gap: 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; }
.meeting-email span { color: rgba(255,255,255,.33); font-size: 7px; letter-spacing: .1em; }
.meeting-email strong { color: #fff; font-size: 10px; font-weight: 450; }
.meeting-profile { padding: clamp(20px,3vw,38px); border-right: 1px solid rgba(255,255,255,.12); }
.meeting-profile-top { display: grid; grid-template-columns: 128px 1fr; gap: clamp(20px,2.5vw,34px); align-items: center; }
.meeting-profile-photo { position: relative; height: 170px; overflow: hidden; border: 1px solid rgba(120,166,255,.38); border-radius: 8px; background: #12161c; }
.meeting-profile-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(5,8,10,.6),transparent 60%); }
.meeting-profile-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.meeting-profile-photo span { position: absolute; z-index: 2; left: 10px; bottom: 9px; color: rgba(255,255,255,.6); font-size: 7px; letter-spacing: .12em; }
.meeting-profile-copy { min-width: 0; }
.meeting-profile-copy > span { display: block; margin-bottom: 18px; color: #6ee7a4; font-size: 8px; font-weight: 650; letter-spacing: .13em; }
.meeting-profile-copy > span.is-away { color: #ee8c57; }
.meeting-profile-copy h3 { margin: 0; font-size: clamp(29px,3.1vw,48px); line-height: .92; }
.meeting-profile-copy p { margin: 8px 0 28px; color: rgba(255,255,255,.38); font-size: 8px; letter-spacing: .11em; }
.meeting-profile-copy > strong { margin-top: 8px; display: block; color: rgba(255,255,255,.68); font-size: 11px; font-weight: 450; line-height: 1.55; }
.meeting-availability { margin-top: 38px; border-top: 1px solid rgba(255,255,255,.12); }
.meeting-availability > header { min-height: 70px; display: flex; align-items: center; justify-content: space-between; }
.meeting-availability > header div { display: flex; flex-direction: column; gap: 6px; }
.meeting-availability header small,.meeting-availability header strong { color: rgba(255,255,255,.36); font-size: 7px; font-weight: 450; letter-spacing: .1em; }
.meeting-times { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.meeting-time { min-height: 54px; color: rgba(255,255,255,.65); border: 1px solid rgba(255,255,255,.13); border-radius: 6px; background: rgba(255,255,255,.025); font-size: 10px; letter-spacing: .04em; }
.meeting-time:hover { border-color: rgba(120,166,255,.7); }
.meeting-time.is-active { color: #071015; border-color: var(--brand-blue); background: var(--brand-blue); }
.meeting-book { width: 100%; min-height: 58px; margin-top: 10px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; color: #071015; border: 0; border-radius: 6px; background: linear-gradient(110deg,var(--brand-blue),#d8f5ff); font-size: 9px; font-weight: 650; letter-spacing: .1em; }
.meeting-book i { font-size: 18px; font-style: normal; }
.meeting-confirm { margin-top: 8px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 7px; animation: panelIn 220ms var(--ease) both; }
.meeting-confirm[hidden] { display: none; }
.meeting-confirm label { min-width: 0; padding: 8px 10px; display: flex; flex-direction: column; gap: 5px; color: rgba(255,255,255,.32); border: 1px solid rgba(255,255,255,.12); border-radius: 5px; font-size: 6px; letter-spacing: .1em; }
.meeting-confirm input { min-width: 0; padding: 0; color: #fff; border: 0; outline: 0; background: transparent; font-size: 9px; }
.meeting-confirm input::placeholder { color: rgba(255,255,255,.23); }
.meeting-confirm button { padding: 0 15px; color: #071015; border: 0; border-radius: 5px; background: #fff; font-size: 8px; font-weight: 650; letter-spacing: .08em; }
.meeting-book-result { margin: 12px 0 0; color: #6ee7a4; font-size: 8px; letter-spacing: .08em; }
.meeting-chat { display: grid; grid-template-rows: 70px 1fr auto; background: rgba(255,255,255,.018); }
.meeting-chat > header { padding: 0 17px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.1); }
.meeting-chat > header > div { position: relative; padding-left: 17px; }
.meeting-chat header i { left: 0; right: auto; }
.meeting-chat > header > small { color: rgba(255,255,255,.28); font-size: 7px; letter-spacing: .09em; }
.meeting-thread { padding: 20px 16px; display: flex; flex-direction: column; gap: 12px; overflow: auto; }
.meeting-message { max-width: 88%; padding: 11px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 3px 10px 10px 10px; color: rgba(255,255,255,.62); background: rgba(255,255,255,.035); font-size: 9px; line-height: 1.55; }
.meeting-message.is-user { align-self: flex-end; color: #071015; border: 0; border-radius: 10px 3px 10px 10px; background: var(--brand-blue); }
.meeting-message small { margin-top: 6px; display: block; color: rgba(255,255,255,.27); font-size: 6px; letter-spacing: .08em; }
.meeting-message.is-user small { color: rgba(7,16,21,.48); }
.meeting-message-form { padding: 16px; border-top: 1px solid rgba(255,255,255,.1); }
.meeting-message-form label { display: block; margin-bottom: 9px; }
.meeting-message-form > div { display: grid; grid-template-columns: 1fr 40px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; background: rgba(255,255,255,.035); }
.meeting-message-form input { min-width: 0; padding: 12px; color: #fff; border: 0; outline: 0; background: transparent; font-size: 9px; }
.meeting-message-form input::placeholder { color: rgba(255,255,255,.28); }
.meeting-message-form button { margin: 4px; color: #071015; border: 0; border-radius: 4px; background: var(--brand-blue); font-size: 17px; }
.meeting-message-form > small { margin-top: 8px; display: block; color: rgba(255,255,255,.28); font-size: 7px; }
.meeting-console-foot { min-height: 48px; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 0; color: rgba(255,255,255,.28); font-size: 6px; }
.meeting-console-foot span:nth-child(2) { justify-self: center; }
.meeting-console-foot strong { justify-self: end; color: rgba(255,255,255,.5); font-size: 7px; }

@media(max-width:1060px) {
  .meeting-workspace { grid-template-columns: 230px 1fr; }
  .meeting-chat { min-height: 390px; grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.12); }
  .meeting-thread { min-height: 220px; }
}
@media(max-width:760px) {
  .meeting-heading { grid-template-columns: 1fr; }
  .meeting-heading h2 { white-space: normal; }
  .meeting-heading p { margin-top: 22px; }
  .meeting-console-bar { grid-template-columns: 1fr auto; }
  .meeting-console-bar > small { display: none; }
  .meeting-workspace { grid-template-columns: 1fr; }
  .meeting-roster { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .meeting-roster-head { min-height: 58px; }
  .meeting-person { min-height: 76px; grid-template-columns: 42px 1fr; }
  .meeting-avatar { width: 42px; height: 42px; }
  .meeting-email { margin-top: 16px; }
  .meeting-profile { border-right: 0; }
  .meeting-console-foot { display: none; }
}
@media(max-width:480px) {
  .meeting-heading h2 { font-size: clamp(44px,13vw,62px); }
  .meeting-console { margin-left: -14px; margin-right: -14px; border-radius: 8px; }
  .meeting-console-bar { padding: 0 14px; }
  .meeting-profile-top { grid-template-columns: 90px 1fr; gap: 16px; }
  .meeting-profile-photo { height: 130px; }
  .meeting-profile-copy h3 { font-size: 27px; }
  .meeting-profile-copy > strong { font-size: 9px; }
  .meeting-times { grid-template-columns: repeat(2,1fr); }
  .meeting-confirm { grid-template-columns: 1fr; }
  .meeting-confirm button { min-height: 42px; }
}

/* Backend OS: three primary workspaces with focused views inside each. */
.portal-shell-embedded .portal-nav-groups { padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.portal-nav-group { overflow: hidden; border: 1px solid rgba(255,255,255,.075); border-radius: 6px; background: rgba(255,255,255,.018); }
.portal-nav-group.is-open { border-color: rgba(120,166,255,.24); background: rgba(120,166,255,.045); }
.portal-nav-parent { width: 100%; min-height: 55px; padding: 9px 10px; display: grid; grid-template-columns: 27px 1fr auto; gap: 8px; align-items: center; color: rgba(255,255,255,.68); border: 0; background: transparent; text-align: left; }
.portal-nav-group.is-open .portal-nav-parent { color: #fff; }
.portal-nav-parent > i { color: var(--brand-blue); font-size: 16px; font-style: normal; text-align: center; }
.portal-nav-parent > span { display: flex; flex-direction: column; gap: 3px; }
.portal-nav-parent strong { font-size: 11px; font-weight: 620; }
.portal-nav-parent small { color: rgba(255,255,255,.3); font-size: 7px; line-height: 1.2; }
.portal-nav-parent > b { color: rgba(255,255,255,.34); font-size: 9px; font-weight: 400; }
.portal-nav-children { padding: 0 8px 8px 45px; }
.portal-nav-children[hidden] { display: none; }
.portal-shell-embedded .portal-nav-children .portal-nav-item {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  padding: 0 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255,255,255,.42);
  border-radius: 4px;
  font-size: 8px;
  letter-spacing: .04em;
}
.portal-shell-embedded .portal-nav-children .portal-nav-item b { display: block; color: rgba(255,255,255,.2); font-size: 6px; }
.portal-shell-embedded .portal-nav-children .portal-nav-item.is-active { color: #fff; background: rgba(120,166,255,.14); box-shadow: inset 2px 0 var(--horizon); }

/* Case Studies → Leaders: one continuous black transition. */
.case-studies {
  background:
    linear-gradient(to bottom,rgba(8,10,10,0) 72%,#080a0a 100%),
    radial-gradient(circle at 78% 12%,rgba(255,255,255,.07),transparent 28%),
    radial-gradient(circle at 14% 42%,rgba(255,255,255,.045),transparent 34%),
    linear-gradient(145deg,#0e0f0e 0%,#242624 52%,#080a0a 100%);
}
#leaders.leaders::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 0 auto;
  height: 190px;
  pointer-events: none;
  background: linear-gradient(to bottom,#080a0a,rgba(8,10,10,0));
}


@media(min-width:821px) {
  .service-panel[data-layout="backend"] {
    min-height: 1120px;
    grid-template-rows: auto auto minmax(720px,740px) auto auto auto;
  }
  .service-panel[data-layout="backend"] .service-scene { min-height: 740px; }
}

@media(max-width:820px) {
  .portal-shell-embedded .portal-sidebar { display: grid; grid-template-columns: 1fr; }
  .portal-shell-embedded .portal-brand { height: 62px; }
  .portal-shell-embedded .portal-nav-groups { display: grid; grid-template-columns: repeat(3,1fr); padding: 7px; }
  .portal-nav-parent { min-height: 50px; grid-template-columns: 20px 1fr auto; padding: 7px; }
  .portal-nav-parent small { display: none; }
  .portal-nav-children { grid-column: 1 / -1; padding: 4px 7px 8px; }
  .portal-shell-embedded .portal-nav-children .portal-nav-item { min-height: 28px; }
  .portal-shell-embedded .portal-user { display: none; }
  .portal-shell-embedded .portal-workspace { height: 650px; }
  .service-panel[data-layout="backend"] .service-scene { min-height: 865px; }
}

@media(max-width:560px) {
  .portal-shell-embedded .portal-nav-groups { grid-template-columns: 1fr; }
  .portal-shell-embedded .portal-workspace { height: 680px; }
  .service-panel[data-layout="backend"] .service-scene { min-height: 990px; }
}

/* --------------------------------------------------------------------------
   04 / CASE STUDIES — evidence files become the horizontal work archive.
   This transition is intentionally architectural and editorial, not a wipe.
   -------------------------------------------------------------------------- */
.scene-transition.transition-case-archive {
  position: absolute;
  inset: 0 0 auto;
  height: max(940px,135svh);
  opacity: 1;
  color: #f7f8f6;
  background: transparent;
  perspective: 1500px;
  transform-style: preserve-3d;
}
.archive-transition-backdrop {
  display: none;
}
.archive-transition-grid {
  position: absolute;
  inset: 0;
  opacity: var(--archive-shell-opacity,1);
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom,black 0 62%,transparent 96%);
}
.archive-transition-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg,transparent 22%,rgba(255,255,255,.065) 50%,transparent 74%);
  transform: translateX(var(--archive-grid-x,-48%));
}
.archive-transition-copy {
  position: absolute;
  z-index: 8;
  left: clamp(24px,6vw,96px);
  top: clamp(46px,8svh,82px);
  width: min(42vw,620px);
  opacity: var(--archive-copy-opacity,1);
  transform: translate3d(0,var(--archive-copy-y),80px);
  will-change: transform,opacity;
}
.archive-transition-copy small,
.archive-transition-copy em,
.archive-transition-index {
  font-size: clamp(8px,.72vw,11px);
  font-style: normal;
  letter-spacing: .17em;
}
.archive-transition-copy small { display: block; color: #b8efff; }
.archive-transition-copy strong {
  display: block;
  margin-top: 16px;
  font-size: clamp(54px,7.4vw,118px);
  font-weight: 650;
  line-height: .78;
  letter-spacing: -.025em;
}
.archive-transition-copy em { display: block; margin-top: 20px; color: rgba(255,255,255,.44); }
.case-flight-orbit {
  position: absolute;
  z-index: 4;
  left: var(--case-flight-left,73%);
  top: clamp(250px,38svh,360px);
  width: min(52vw,760px);
  aspect-ratio: 2.25 / 1;
  transform: translate(-50%,-50%) rotate(var(--archive-orbit-rotate,-18deg)) scale(var(--archive-orbit-scale,1.08));
  transform-style: preserve-3d;
  opacity: var(--archive-shell-opacity,1);
  will-change: transform;
}
.case-flight-orbit i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(184,239,255,.15);
  border-radius: 50%;
}
.case-flight-orbit i:nth-child(2) { inset: 12%; border-color: rgba(255,255,255,.09); }
.case-flight-orbit i:nth-child(3) { inset: 25%; border-color: rgba(238,140,87,.12); }
.archive-transition-index {
  position: absolute;
  z-index: 8;
  left: clamp(24px,6vw,96px);
  right: clamp(24px,6vw,96px);
  bottom: clamp(24px,6svh,64px);
  padding-top: 14px;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.42);
  opacity: var(--archive-shell-opacity,1);
}
.archive-transition-index b { color: #f7f8f6; font-weight: 500; }
.archive-transition-scan {
  position: absolute;
  z-index: 7;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: linear-gradient(transparent,#b8efff 20% 80%,transparent);
  box-shadow: 0 0 28px 5px rgba(184,239,255,.18);
  opacity: var(--archive-shell-opacity,1);
  transform: translateX(var(--archive-scan-x,-34vw));
  will-change: transform;
}
.case-studies > .case-studies-head,
.case-studies > .case-detail {
  opacity: var(--case-content-opacity,1);
  clip-path: inset(0 var(--case-content-clip,0%) 0 0);
  translate: 0 var(--case-content-y,0);
  will-change: opacity,clip-path;
}

/* These are the real, clickable rail cards—there is no transition duplicate. */
.case-studies.case-flight-active .case-rail-wrap { opacity: 1; clip-path: none; translate: none; }
.case-studies.case-flight-active .case-rail {
  overflow: visible;
  scroll-behavior: auto;
  scroll-snap-type: none;
  pointer-events: none;
}
.case-studies.case-flight-active .case-tile:nth-child(-n+6) {
  opacity: var(--case-flight-opacity,1);
  transform: translate3d(var(--case-flight-x,0),var(--case-flight-y,0),var(--case-flight-z,0)) rotate(var(--case-flight-rotate,0deg)) scale(var(--case-flight-scale,1));
  transform-origin: center;
  will-change: transform,opacity;
}

/* The real cards continue the archive motion after the transition clears. */
.case-tile {
  opacity: var(--case-card-opacity,1);
  transform: translate3d(0,var(--case-card-y,0),0) rotateX(var(--case-card-tilt,0deg)) scale(var(--case-card-scale,1));
  transform-origin: center bottom;
  will-change: transform,opacity;
}
.case-tile:hover,
.case-tile.is-active {
  transform: translate3d(0,calc(var(--case-card-y,0px) - 8px),0) rotateX(var(--case-card-tilt,0deg)) scale(var(--case-card-scale,1));
}
.case-studies.case-flight-landed .case-tile { opacity: 1; transform: none !important; }
.case-studies.case-flight-landed .case-tile:hover,
.case-studies.case-flight-landed .case-tile.is-active { transform: translateY(-8px) !important; }

/* --------------------------------------------------------------------------
   05 / LEADERS — three signals align before three people resolve into view.
   The motion is geometric and connective, deliberately unlike the archive.
   -------------------------------------------------------------------------- */
#leaders > .scene-transition.transition-leader-signals {
  position: absolute;
  z-index: 70;
  inset: 0 0 auto;
  height: max(720px,100svh);
  overflow: hidden;
  opacity: var(--leader-transition-opacity);
  color: #f7f8f6;
  background:
    radial-gradient(circle at 50% 44%,rgba(184,239,255,.1),transparent 25%),
    linear-gradient(145deg,#0d0f0f,#050606 78%);
  pointer-events: none;
  will-change: opacity;
}
.leader-transition-grid {
  position: absolute;
  inset: 0;
  opacity: .56;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size: 62px 62px;
  mask-image: radial-gradient(circle at 50% 42%,black,transparent 78%);
}
.leader-transition-stage {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: clamp(245px,38svh,360px);
  width: 1px;
  height: 1px;
  perspective: 1200px;
}
.lead-signal {
  position: absolute;
  left: 0;
  top: 0;
  width: clamp(220px,24vw,350px);
  height: clamp(180px,25vw,330px);
  padding: clamp(18px,2vw,28px);
  display: flex;
  flex-direction: column;
  border: 1px solid color-mix(in srgb,var(--signal-color) 58%,transparent);
  border-radius: 12px;
  background: linear-gradient(145deg,color-mix(in srgb,var(--signal-color) 16%,#090b0c),rgba(7,9,10,.94));
  box-shadow: 0 34px 90px rgba(0,0,0,.42),inset 0 0 42px color-mix(in srgb,var(--signal-color) 8%,transparent);
  transform: translate3d(calc(-50% + var(--signal-x)),var(--leader-signal-y),var(--signal-z)) rotateY(var(--signal-rotate));
  will-change: transform;
}
.lead-signal::before { content: ""; position: absolute; left: 0; right: 0; top: 54px; height: 1px; background: color-mix(in srgb,var(--signal-color) 58%,transparent); }
.lead-signal b { color: var(--signal-color); font-size: 10px; letter-spacing: .15em; }
.lead-signal small { margin-top: auto; color: rgba(255,255,255,.46); font-size: 9px; letter-spacing: .15em; }
.lead-signal strong { margin-top: 8px; color: #f7f8f6; font-size: clamp(31px,3.4vw,52px); line-height: .82; }
.lead-signal-tech { --signal-color:#78a6ff; --signal-x:var(--leader-tech-x); --signal-z:-80px; --signal-rotate:8deg; }
.lead-signal-creative { --signal-color:#ee8c57; --signal-x:var(--leader-creative-x); --signal-z:22px; --signal-rotate:0deg; z-index: 2; }
.lead-signal-counsel { --signal-color:#d8c49a; --signal-x:var(--leader-counsel-x); --signal-z:-60px; --signal-rotate:-8deg; }
.leader-transition-core {
  position: absolute;
  z-index: 5;
  left: 0;
  top: clamp(205px,24vw,292px);
  width: clamp(116px,11vw,160px);
  aspect-ratio: 1;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid rgba(184,239,255,.44);
  border-radius: 50%;
  background: radial-gradient(circle,#15242d,#080b0d 68%);
  box-shadow: 0 0 0 13px rgba(184,239,255,.035),0 0 62px rgba(184,239,255,.18);
  transform: translate(-50%,-50%) rotate(var(--leader-core-rotate)) scale(var(--leader-core-scale));
  will-change: transform;
}
.leader-transition-core b { color: #b8efff; font-size: clamp(25px,2.5vw,38px); }
.leader-transition-core strong { margin-top: 8px; font-size: 9px; letter-spacing: .13em; }
.leader-transition-core small { margin-top: 5px; color: rgba(255,255,255,.36); font-size: 6px; letter-spacing: .1em; }
.leader-transition-status {
  position: absolute;
  z-index: 8;
  left: clamp(24px,6vw,96px);
  right: clamp(24px,6vw,96px);
  bottom: clamp(24px,6svh,64px);
  padding-top: 14px;
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.42);
  border-top: 1px solid rgba(255,255,255,.14);
  font-size: clamp(8px,.72vw,11px);
  letter-spacing: .17em;
}
.leader-transition-status b { color: #f7f8f6; font-weight: 500; }

#leaders > .scene-label,
#leaders > .section-heading,
#leaders > .leader-operating-model,
#leaders > .leader-grid {
  opacity: var(--leader-content-opacity,1);
  translate: 0 var(--leader-content-y,0);
  will-change: opacity,translate;
}

/* The transition uses the actual landing headline—never a visual duplicate. */
#leaders.leader-headline-active > .scene-label,
#leaders.leader-headline-active > .section-heading {
  z-index: 71;
  opacity: 1;
  translate: none;
}
#leaders.leader-headline-active > .section-heading h2 {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}
#leaders.leader-headline-active > .section-heading > p {
  opacity: var(--leader-content-opacity,0);
}

#leaders .leader-card {
  opacity: var(--leader-card-opacity,1);
  transform: translate3d(var(--leader-card-x,0),var(--leader-card-y,0),0) rotate(var(--leader-card-rotate,0deg)) scale(var(--leader-card-scale,1));
  transform-origin: center bottom;
  will-change: transform,opacity;
}
#leaders .leader-card:hover {
  translate:0 -7px;
}

@media(max-width:820px) {
  .scene-transition.transition-case-archive,
  #leaders > .scene-transition.transition-leader-signals { height: max(640px,100svh); }
  .scene-transition.transition-case-archive { height: max(900px,140svh); }
  .archive-transition-copy { width: calc(100% - 48px); }
  .archive-transition-copy strong { font-size: clamp(48px,13vw,76px); }
  .case-flight-orbit { width: 108vw; }
  .leader-transition-stage { top: 330px; }
  .lead-signal { width: clamp(190px,42vw,280px); height: 220px; }
  .lead-signal strong { font-size: 32px; }
}

@media(max-width:560px) {
  .archive-transition-copy em { display: none; }
  .archive-transition-index,
  .leader-transition-status { left: 20px; right: 20px; bottom: 24px; }
  .archive-transition-index small,
  .leader-transition-status small { display: none; }
  .leader-transition-stage { top: 320px; }
  .lead-signal { width: 47vw; height: 205px; padding: 16px; }
  .lead-signal small { font-size: 7px; }
  .lead-signal strong { font-size: 27px; }
  .leader-transition-core { top: 190px; width: 108px; }
  .case-tile { --case-card-tilt: 0deg !important; }
}

@media(prefers-reduced-motion:reduce) {
  .scene-transition.transition-case-archive,
  #leaders > .scene-transition.transition-leader-signals { display: none; }
  .case-tile,
  #leaders .leader-card { opacity: 1 !important; transform: none !important; }
  .case-studies > .case-studies-head,
  .case-studies > .case-rail-wrap,
  .case-studies > .case-detail,
  #leaders > .scene-label,
  #leaders > .section-heading,
  #leaders > .leader-operating-model,
  #leaders > .leader-grid { opacity: 1 !important; translate: none !important; }
  .case-studies > .case-studies-head,
  .case-studies > .case-rail-wrap,
  .case-studies > .case-detail { clip-path: none !important; }
}

/* --------------------------------------------------------------------------
   02 / Understand NuCulture — interactive matching game
   -------------------------------------------------------------------------- */
#culture-game {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  color: #f7f8f6;
  background:
    radial-gradient(circle at 74% 28%,rgba(44,98,214,.2),transparent 31%),
    linear-gradient(rgba(184,239,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,239,255,.045) 1px,transparent 1px),
    #07090b;
  background-size: auto,58px 58px,58px 58px,auto;
}
#culture-game::after {
  content: "02";
  position: absolute;
  right: -1vw;
  top: 8%;
  color: transparent;
  -webkit-text-stroke: 1px rgba(184,239,255,.07);
  font-size: clamp(180px,27vw,430px);
  font-weight: 800;
  line-height: .72;
  pointer-events: none;
}
#culture-game > * { position: relative; z-index: 2; }
.culture-game-heading {
  margin: clamp(42px,5vw,78px) 0 clamp(30px,3vw,46px);
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
  gap: 8vw;
  align-items: end;
}
.culture-game-heading > div > span { color: var(--brand-blue); font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.culture-game-heading h2 { max-width: 980px; margin: 16px 0 0; font-size: clamp(58px,7.2vw,112px); line-height: .84; }
.culture-game-heading h2 em { color: var(--brand-blue); font-style: normal; font-weight: 310; }
.culture-game-heading > p { max-width: 430px; margin: 0 0 4px; color: rgba(255,255,255,.58); font-size: clamp(16px,1.35vw,20px); line-height: 1.55; }
.culture-game-board {
  width: min(100%,1360px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(184,239,255,.22);
  border-radius: 16px;
  background: rgba(7,10,13,.82);
  box-shadow: 0 34px 100px rgba(0,0,0,.36);
  backdrop-filter: blur(18px);
}
.culture-game-progress { min-height: 56px; padding: 0 22px; display: grid; grid-template-columns: 120px 1fr 120px; gap: 20px; align-items: center; border-bottom: 1px solid rgba(184,239,255,.14); color: rgba(255,255,255,.52); font-size: 8px; letter-spacing: .12em; }
.culture-game-progress > span b { color: var(--brand-blue); }
.culture-game-progress > i { height: 2px; overflow: hidden; background: rgba(255,255,255,.1); }
.culture-game-progress > i > b { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--brand-blue),var(--horizon)); transition: width 520ms var(--ease); }
.culture-game-progress > small { text-align: right; }
.culture-challenge { min-height: 260px; padding: clamp(28px,3.4vw,48px); display: grid; grid-template-columns: minmax(150px,.24fr) minmax(0,.76fr); grid-template-rows: 1fr auto; gap: 12px 34px; align-items: start; }
.culture-challenge > span { color: var(--brand-blue); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.culture-challenge h3 { max-width: 980px; margin: 0; font-size: clamp(35px,4vw,62px); line-height: .96; }
.culture-challenge p { grid-column: 2; margin: 0; color: rgba(255,255,255,.43); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.culture-options { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(184,239,255,.14); border-bottom: 1px solid rgba(184,239,255,.14); }
.culture-options button { position: relative; min-height: 170px; padding: 22px; display: grid; grid-template-rows: auto 1fr auto; gap: 18px; color: rgba(255,255,255,.72); border: 0; border-right: 1px solid rgba(184,239,255,.14); background: rgba(255,255,255,.018); text-align: left; transition: color 180ms,background 220ms,transform 220ms var(--ease); }
.culture-options button:last-child { border-right: 0; }
.culture-options button:hover:not(:disabled),.culture-options button:focus-visible { z-index: 2; color: white; background: rgba(184,239,255,.07); transform: translateY(-4px); outline: 1px solid rgba(184,239,255,.5); }
.culture-options button > span { color: var(--brand-blue); font-size: 9px; }
.culture-options button > strong { align-self: center; max-width: 210px; font-size: clamp(16px,1.35vw,21px); line-height: 1.05; }
.culture-options button > small { color: rgba(255,255,255,.35); font-size: 7px; letter-spacing: .08em; }
.culture-options button.is-solved { color: #061015; background: linear-gradient(135deg,var(--brand-blue),#75b7ff); }
.culture-options button.is-solved > span,.culture-options button.is-solved > small { color: rgba(6,16,21,.65); }
.culture-options button.is-solved::after { content: "CONNECTED ✓"; position: absolute; right: 15px; top: 15px; color: #061015; font-size: 6px; font-weight: 800; letter-spacing: .09em; }
.culture-options button.is-wrong { animation: cultureWrong 420ms ease; background: rgba(232,93,117,.14); }
.culture-game-feedback { min-height: 72px; padding: 15px 22px; display: grid; grid-template-columns: 190px 1fr auto; gap: 20px; align-items: center; }
.culture-game-feedback > span { color: var(--brand-blue); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.culture-game-feedback > strong { color: rgba(255,255,255,.58); font-size: 9px; font-weight: 500; letter-spacing: .07em; }
.culture-game-feedback > button { padding: 10px 14px; color: #061015; border: 0; border-radius: 5px; background: var(--brand-blue); font-size: 8px; font-weight: 750; letter-spacing: .08em; }
@keyframes cultureWrong { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-7px)} 50%{transform:translateX(6px)} 75%{transform:translateX(-3px)} }

/* --------------------------------------------------------------------------
   03 / President — reduced to one portrait, one thought, one action
   -------------------------------------------------------------------------- */
#message.president {
  min-height: 92svh;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    #090b0c;
  background-size: 58px 58px,58px 58px,auto;
}
#message::after,.president-direction-rail { display: none; }
#message .president-stage { width: min(100%,1180px); margin: clamp(38px,5vw,72px) auto 0; grid-template-columns: minmax(340px,.46fr) minmax(0,.54fr); gap: 14px; }
#message .president-photo,#message .president-copy { min-height: 560px; height: 560px; }
#message .president-photo { border-color: rgba(255,255,255,.14); box-shadow: none; }
#message .president-photo::before { display: none; }
#message .president-photo::after { background: linear-gradient(0deg,rgba(5,7,8,.76),transparent 42%); }
#message .president-photo img { object-position: 68% center; filter: saturate(.92) contrast(1.03); }
#message .president-copy { padding: clamp(34px,4vw,56px); border-color: rgba(184,239,255,.18); background: #10151a; box-shadow: none; backdrop-filter: none; }
#message .president-copy::after { content: "NU / 02"; }
#message .president-copy .quote-mark { font-size: 64px; }
#message .president-copy h2 { max-width: 710px; margin: 16px 0 28px; font-size: clamp(42px,4.4vw,64px); line-height: .98; }
.president-note { max-width: 650px; margin: 0; padding-top: 26px; color: rgba(255,255,255,.62); border-top: 1px solid rgba(255,255,255,.13); font-size: clamp(17px,1.4vw,21px); line-height: 1.55; }
#message .president-copy-footer { margin-top: auto; }

@media(max-width:900px) {
  .culture-game-heading { grid-template-columns: 1fr; gap: 24px; }
  .culture-game-heading > p { max-width: 620px; }
  .culture-options { grid-template-columns: repeat(2,1fr); }
  .culture-options button:nth-child(2) { border-right: 0; }
  .culture-options button:nth-child(-n+2) { border-bottom: 1px solid rgba(184,239,255,.14); }
  #message .president-stage { grid-template-columns: 1fr; gap: 0; }
  #message .president-photo { height: 430px; min-height: 430px; }
  #message .president-copy { width: calc(100% - 24px); height: auto; min-height: 430px; margin: -24px 12px 0; }
}

@media(max-width:560px) {
  .culture-game-heading h2 { font-size: clamp(46px,13vw,64px); }
  .culture-game-progress { grid-template-columns: 1fr auto; gap: 10px; padding: 0 15px; }
  .culture-game-progress > i { grid-column: 1/-1; grid-row: 2; margin-bottom: 12px; }
  .culture-challenge { min-height: 245px; padding: 24px 18px; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; }
  .culture-challenge h3,.culture-challenge p { grid-column: 1; }
  .culture-challenge h3 { font-size: clamp(31px,9.4vw,43px); }
  .culture-options { grid-template-columns: 1fr; }
  .culture-options button { min-height: 116px; border-right: 0; border-bottom: 1px solid rgba(184,239,255,.14); }
  .culture-options button:last-child { border-bottom: 0; }
  .culture-options button:nth-child(2) { border-right: 0; }
  .culture-game-feedback { grid-template-columns: 1fr; gap: 7px; }
  .culture-game-feedback > button { width: fit-content; margin-top: 8px; }
  #message .president-stage { margin-top: 28px; }
  #message .president-photo { height: 320px; min-height: 320px; }
  #message .president-copy { min-height: 430px; padding: 26px 20px; }
  #message .president-copy h2 { font-size: clamp(36px,10.5vw,46px); }
}

@media(prefers-reduced-motion:reduce) {
  .culture-options button.is-wrong { animation: none; }
  .culture-game-progress > i > b,.culture-options button { transition: none; }
}

/* Shooting-range revision: quiet launch, then questions and rising targets. */
#culture-game [hidden] { display: none !important; }
.culture-game-launch { min-height: calc(100svh - 150px); display: grid; place-items: center; }
.culture-game-launch > button {
  width: min(760px,82vw);
  min-height: 340px;
  padding: 38px;
  display: grid;
  grid-template-columns: 1fr 150px;
  grid-template-rows: auto 1fr auto;
  gap: 22px 36px;
  align-items: center;
  color: #f7f8f6;
  border: 1px solid rgba(184,239,255,.25);
  border-radius: 16px;
  background: rgba(7,10,13,.76);
  box-shadow: 0 28px 90px rgba(0,0,0,.34);
  text-align: left;
  transition: border-color 220ms,background 220ms,transform 260ms var(--ease),box-shadow 260ms;
}
.culture-game-launch > button:hover,.culture-game-launch > button:focus-visible { border-color: rgba(184,239,255,.68); background: rgba(15,25,33,.92); box-shadow: 0 34px 110px rgba(44,98,214,.2); transform: translateY(-6px); outline: 0; }
.culture-game-launch > button > span { align-self: start; color: var(--brand-blue); font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.culture-game-launch > button > strong { align-self: center; font-size: clamp(36px,4.4vw,62px); font-weight: 520; line-height: 1; }
.culture-game-launch > button > small { color: rgba(255,255,255,.38); font-size: 8px; letter-spacing: .11em; }
.culture-game-launch > button > i { position: relative; grid-column: 2; grid-row: 1/4; width: 132px; aspect-ratio: 1; border: 1px solid rgba(184,239,255,.72); border-radius: 50%; box-shadow: inset 0 0 0 25px rgba(184,239,255,.035),inset 0 0 0 26px rgba(184,239,255,.26),0 0 32px rgba(184,239,255,.08); }
.culture-game-launch > button > i::before,.culture-game-launch > button > i::after,.culture-game-launch > button > i > b { content: ""; position: absolute; border-radius: 50%; }
.culture-game-launch > button > i::before { inset: 38px; border: 1px solid var(--brand-blue); }
.culture-game-launch > button > i::after { inset: 58px; background: var(--brand-blue); box-shadow: 0 0 18px var(--brand-blue); }
.culture-game-launch > button > i > b { left: 50%; top: -18px; bottom: -18px; width: 1px; border-radius: 0; background: rgba(184,239,255,.28); }

#culture-game.is-playing:not(.is-complete) .culture-range,
#culture-game.is-playing:not(.is-complete) .culture-range * { cursor: crosshair !important; }
.culture-game-board { margin-top: clamp(28px,3vw,46px); }
.culture-range { position: relative; min-height: 670px; overflow: hidden; background: linear-gradient(180deg,rgba(24,38,51,.34),rgba(5,7,9,.96)); }
.culture-range::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 49.85%,rgba(184,239,255,.08) 50%,transparent 50.15%),linear-gradient(180deg,transparent 49.85%,rgba(184,239,255,.06) 50%,transparent 50.15%); pointer-events: none; }
.culture-challenge { position: relative; z-index: 8; min-height: 205px; padding: 30px 38px; grid-template-columns: 190px minmax(0,1fr); grid-template-rows: 1fr auto; background: linear-gradient(180deg,rgba(7,10,13,.97),rgba(7,10,13,.86)); border-bottom: 1px solid rgba(184,239,255,.16); transition: top 420ms var(--ease),transform 420ms var(--ease); }
.culture-challenge:focus { outline: 0; }
.culture-challenge h3 { max-width: 950px; font-size: clamp(30px,3.15vw,48px); line-height: .98; }
.culture-options { position: absolute; z-index: 4; inset: 230px 2.5% 58px; display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(10px,2vw,30px); align-items: end; border: 0; }
.culture-options button {
  justify-self: center;
  width: min(17vw,205px);
  min-height: 0;
  aspect-ratio: 1;
  margin: 0;
  padding: 37px 22px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  overflow: hidden;
  color: rgba(255,255,255,.84);
  border: 1px solid rgba(184,239,255,.56);
  border-radius: 50%;
  background: rgba(10,17,22,.94);
  box-shadow: 0 22px 42px rgba(0,0,0,.42),inset 0 0 28px rgba(184,239,255,.035);
  text-align: center;
  opacity: 0;
  transform: translateY(165%) scale(.68);
  transition: opacity 240ms ease var(--target-delay,0ms),transform 620ms var(--ease) var(--target-delay,0ms),border-color 180ms,background 180ms,box-shadow 180ms;
}
.culture-options button:nth-child(2) { margin-bottom: 76px; }
.culture-options button:nth-child(3) { margin-bottom: 22px; }
.culture-options button:nth-child(4) { margin-bottom: 92px; }
.culture-options button.is-loaded { opacity: 1; transform: translateY(0) scale(1); }
.culture-options button.is-loaded:hover:not(:disabled),.culture-options button.is-loaded:focus-visible { color: white; border-color: var(--brand-blue); background: rgba(18,34,44,.98); box-shadow: 0 25px 50px rgba(0,0,0,.46),0 0 28px rgba(184,239,255,.2); transform: translateY(-5px) scale(1.035); outline: 0; }
.culture-options button > i { position: absolute; inset: 12px; z-index: 0; border: 1px solid rgba(184,239,255,.28); border-radius: 50%; }
.culture-options button > i::before,.culture-options button > i::after { content: ""; position: absolute; border-radius: 50%; }
.culture-options button > i::before { inset: 23%; border: 1px solid rgba(184,239,255,.2); }
.culture-options button > i::after { inset: 45%; background: rgba(184,239,255,.11); }
.culture-options button > span,.culture-options button > strong,.culture-options button > small { position: relative; z-index: 2; }
.culture-options button > span { position: absolute; top: 25px; color: var(--brand-blue); }
.culture-options button > strong { align-self: auto; max-width: 150px; font-size: clamp(13px,1.15vw,18px); }
.culture-options button > small { color: rgba(255,255,255,.4); font-size: 6px; }
.culture-options button.is-hit { animation: cultureTargetHit 620ms var(--ease) both; border-color: #72efc3; background: rgba(29,95,73,.72); }
.culture-options button.is-miss { animation: cultureTargetMiss 440ms ease; border-color: var(--error); background: rgba(94,25,40,.65); }
.culture-range-floor { position: absolute; z-index: 1; left: -10%; right: -10%; bottom: -90px; height: 210px; overflow: hidden; border-top: 1px solid rgba(184,239,255,.13); transform: perspective(330px) rotateX(58deg); transform-origin: center top; background: linear-gradient(rgba(184,239,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(184,239,255,.055) 1px,transparent 1px); background-size: 48px 36px; }
.culture-range-floor i { position: absolute; top: -80px; bottom: 0; width: 1px; background: linear-gradient(transparent,rgba(184,239,255,.12)); transform-origin: bottom; }.culture-range-floor i:nth-child(1){left:12%;transform:rotate(18deg)}.culture-range-floor i:nth-child(2){left:31%;transform:rotate(9deg)}.culture-range-floor i:nth-child(3){left:50%}.culture-range-floor i:nth-child(4){left:69%;transform:rotate(-9deg)}.culture-range-floor i:nth-child(5){left:88%;transform:rotate(-18deg)}
.culture-shot { position: absolute; z-index: 15; width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 50%; color: var(--brand-blue); transform: translate(-50%,-50%); pointer-events: none; animation: cultureShot 580ms ease-out both; }
.culture-shot::before,.culture-shot::after { content: ""; position: absolute; left: 50%; top: 50%; background: currentColor; transform: translate(-50%,-50%); }.culture-shot::before{width:52px;height:1px}.culture-shot::after{width:1px;height:52px}.culture-shot.is-hit{color:#72efc3}.culture-shot.is-miss{color:var(--error)}
#culture-game.is-complete .culture-challenge { top: 160px; border: 1px solid rgba(184,239,255,.2); border-radius: 12px; transform: scale(1.03); }
#culture-game.is-complete .culture-challenge h3 { color: var(--brand-blue); font-size: clamp(48px,6vw,88px); }
#culture-game.is-complete .culture-options { pointer-events: none; }
@keyframes cultureTargetHit { 0%{opacity:1;transform:scale(1)} 35%{opacity:1;transform:scale(.86) rotate(-3deg)} 100%{opacity:0;transform:translateY(120%) scale(.55) rotate(5deg)} }
@keyframes cultureTargetMiss { 0%,100%{transform:translateX(0) scale(1)} 25%{transform:translateX(-9px) rotate(-2deg)} 50%{transform:translateX(8px) rotate(2deg)} 75%{transform:translateX(-4px) rotate(-1deg)} }
@keyframes cultureShot { 0%{opacity:1;transform:translate(-50%,-50%) scale(.3)} 45%{opacity:1;transform:translate(-50%,-50%) scale(1.15)} 100%{opacity:0;transform:translate(-50%,-50%) scale(1.7)} }

@media(max-width:900px) {
  .culture-game-launch > button { width: min(720px,92vw); }
  .culture-range { min-height: 820px; }
  .culture-options { inset: 245px 4% 50px; grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(2,1fr); align-items: center; }
  .culture-options button { width: min(32vw,190px); margin-bottom: 0 !important; }
  .culture-options button:nth-child(2),.culture-options button:nth-child(3) { translate: 0 34px; }
}

@media(max-width:560px) {
  .culture-game-launch { min-height: calc(100svh - 120px); }
  .culture-game-launch > button { min-height: 360px; padding: 28px 22px; grid-template-columns: 1fr; grid-template-rows: auto auto 130px auto; text-align: center; }
  .culture-game-launch > button > i { grid-column: 1; grid-row: 3; width: 120px; justify-self: center; }
  .culture-game-launch > button > strong { font-size: 38px; }
  .culture-range { min-height: 770px; }
  .culture-challenge { min-height: 230px; padding: 22px 17px; grid-template-columns: 1fr; }
  .culture-challenge h3,.culture-challenge p { grid-column: 1; }
  .culture-challenge h3 { font-size: clamp(27px,8.6vw,39px); }
  .culture-options { inset: 250px 10px 30px; gap: 8px; }
  .culture-options button { width: min(42vw,165px); padding: 34px 12px 23px; }
  .culture-options button:nth-child(2),.culture-options button:nth-child(3) { translate: 0 20px; }
  .culture-options button > strong { font-size: 13px; }
  #culture-game.is-complete .culture-challenge { top: 155px; }
}

@media(prefers-reduced-motion:reduce) {
  .culture-options button.is-hit,.culture-options button.is-miss,.culture-shot { animation-duration: .001ms !important; }
}

/* Slim range: only the section's top and bottom edges remain framed. */
#culture-game {
  min-height: 0;
  padding-top: clamp(92px,8vw,124px);
  padding-bottom: clamp(58px,6vw,88px);
  border-top: 1px solid rgba(184,239,255,.18);
  border-bottom: 1px solid rgba(184,239,255,.18);
}
.culture-game-launch { min-height: 310px; }
.culture-game-launch > button {
  width: 100%;
  min-height: 210px;
  padding: 28px clamp(22px,4vw,54px);
  border: 0;
  border-top: 1px solid rgba(184,239,255,.22);
  border-bottom: 1px solid rgba(184,239,255,.22);
  border-radius: 0;
  background: rgba(7,10,13,.42);
  box-shadow: none;
}
.culture-game-launch > button:hover,.culture-game-launch > button:focus-visible { border-color: rgba(184,239,255,.62); background: rgba(15,25,33,.72); box-shadow: none; transform: none; }
.culture-game-launch > button > i { width: 104px; }
.culture-game-launch > button > i::before { inset: 29px; }
.culture-game-launch > button > i::after { inset: 45px; }
.culture-game-board {
  width: 100%;
  margin-top: 28px;
  border: 0;
  border-top: 1px solid rgba(184,239,255,.22);
  border-bottom: 1px solid rgba(184,239,255,.22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.culture-game-progress { min-height: 46px; background: rgba(5,8,10,.62); }
.culture-range { min-height: 500px; background: linear-gradient(180deg,rgba(18,32,44,.25),rgba(4,7,9,.92)); }
.culture-challenge {
  position: absolute;
  left: 50%;
  top: 18px;
  z-index: 12;
  width: min(900px,82%);
  min-height: 126px;
  padding: 21px 28px;
  grid-template-columns: 150px minmax(0,1fr);
  border: 0;
  border-top: 1px solid rgba(184,239,255,.18);
  border-bottom: 1px solid rgba(184,239,255,.18);
  background: rgba(5,8,11,.86);
  box-shadow: 0 18px 48px rgba(0,0,0,.35);
  transform: translateX(-50%);
  backdrop-filter: blur(13px);
}
.culture-challenge h3 { font-size: clamp(24px,2.55vw,38px); }
.culture-challenge > span { font-size: 7px; }
.culture-challenge p { font-size: 8px; }
.culture-options { inset: 168px 7% 38px; align-items: center; }
.culture-options button {
  width: min(9vw,108px);
  padding: 25px 9px 18px;
  gap: 5px;
  color: rgba(255,255,255,.7);
  border-color: rgba(184,239,255,.36);
  background: rgba(8,15,20,.76);
  box-shadow: 0 18px 34px rgba(0,0,0,.42),inset 0 0 20px rgba(184,239,255,.025);
}
.culture-options button:nth-child(1) { width: min(8.7vw,104px); margin-bottom: 18px; }
.culture-options button:nth-child(2) { width: min(7.3vw,88px); margin-bottom: 94px; opacity: .78; }
.culture-options button:nth-child(3) { width: min(8.1vw,98px); margin-bottom: 38px; opacity: .86; }
.culture-options button:nth-child(4) { width: min(7.1vw,86px); margin-bottom: 112px; opacity: .74; }
.culture-options button.is-loaded { opacity: .82; }
.culture-options button:nth-child(2).is-loaded { opacity: .66; }
.culture-options button:nth-child(3).is-loaded { opacity: .75; }
.culture-options button:nth-child(4).is-loaded { opacity: .62; }
.culture-options button:not(.is-loaded):not(.is-hit):not(.is-miss) { opacity: 0; }
.culture-options button.is-loaded:hover:not(:disabled),.culture-options button.is-loaded:focus-visible { opacity: 1; }
.culture-options button > i { inset: 7px; }
.culture-options button > span { top: 15px; font-size: 6px; }
.culture-options button > strong { max-width: 88px; font-size: clamp(8px,.7vw,11px); line-height: 1; }
.culture-options button > small { display: none; }
.culture-game-feedback { min-height: 58px; background: rgba(5,8,10,.62); }
.culture-range-floor { bottom: -118px; height: 195px; opacity: .72; }
.culture-bullet {
  position: absolute;
  z-index: 20;
  width: 6px;
  height: 18px;
  border: 1px solid rgba(255,244,188,.92);
  border-radius: 50% 50% 38% 38%;
  background: linear-gradient(90deg,#8a642e,#fff0a8 48%,#a57633);
  box-shadow: 0 0 12px rgba(255,215,108,.82);
  transform-origin: center;
  pointer-events: none;
  animation: cultureBulletFlight 280ms cubic-bezier(.12,.55,.28,1) forwards;
}
.culture-bullet::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 74px; background: linear-gradient(rgba(255,224,136,.76),transparent); transform: translateX(-50%); filter: blur(.5px); }
#culture-game.is-complete .culture-challenge { left: 50%; top: 160px; transform: translateX(-50%) scale(1.02); }
@keyframes cultureBulletFlight {
  0% { opacity: 1; transform: translate(-50%,-50%) translate(0,0) rotate(var(--bullet-angle)) scale(1); }
  72% { opacity: 1; }
  100% { opacity: .15; transform: translate(-50%,-50%) translate(var(--bullet-x),var(--bullet-y)) rotate(var(--bullet-angle)) scale(.5); }
}

@media(max-width:900px) {
  .culture-range { min-height: 590px; }
  .culture-challenge { width: 88%; }
  .culture-options { inset: 178px 10% 26px; }
  .culture-options button,
  .culture-options button:nth-child(1),
  .culture-options button:nth-child(2),
  .culture-options button:nth-child(3),
  .culture-options button:nth-child(4) { width: min(15vw,104px); }
  .culture-options button:nth-child(2),.culture-options button:nth-child(3) { translate: none; }
}

@media(max-width:560px) {
  #culture-game { padding-top: 82px; padding-bottom: 46px; }
  .culture-game-launch { min-height: 330px; }
  .culture-game-launch > button { min-height: 300px; }
  .culture-range { min-height: 590px; }
  .culture-challenge { top: 14px; width: calc(100% - 28px); min-height: 150px; padding: 18px 15px; grid-template-columns: 1fr; }
  .culture-challenge h3 { font-size: clamp(23px,7vw,32px); }
  .culture-options { inset: 190px 16px 25px; }
  .culture-options button,
  .culture-options button:nth-child(1),
  .culture-options button:nth-child(2),
  .culture-options button:nth-child(3),
  .culture-options button:nth-child(4) { width: min(29vw,100px); margin-bottom: 0; }
  .culture-options button:nth-child(2),.culture-options button:nth-child(3) { translate: 0 22px; }
  #culture-game.is-complete .culture-challenge { top: 150px; }
}

@media(prefers-reduced-motion:reduce) {
  .culture-bullet { animation-duration: .001ms !important; }
}

/* Final range cleanup: no framing lines; the prompt floats dead center. */
#culture-game,
.culture-game-launch > button,
.culture-game-board,
.culture-game-progress,
.culture-challenge,
.culture-range-floor { border: 0; }
.culture-challenge {
  padding-right: clamp(20px,4vw,52px);
  padding-left: clamp(20px,4vw,52px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
.culture-challenge > span { order: 1; margin-bottom: 2px; font-size: clamp(12px,1.1vw,16px); font-weight: 750; letter-spacing: .12em; }
.culture-challenge h3 { order: 2; max-width: 780px; margin-right: auto; margin-left: auto; }
.culture-challenge p { order: 3; margin-right: auto; margin-left: auto; }
#culture-game.is-complete .culture-challenge { border: 0; }

/* --------------------------------------------------------------------------
   Problem City — randomized city-defense game
   -------------------------------------------------------------------------- */
.culture-range { min-height: 540px; background: #07101a; isolation: isolate; }
.culture-city { position: absolute; inset: 0; z-index: 1; overflow: hidden; background: radial-gradient(circle at 72% 15%,rgba(120,166,255,.18),transparent 24%),linear-gradient(180deg,#11243a 0%,#0b1726 48%,#05090d 100%); pointer-events: none; }
.culture-city::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(184,239,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(184,239,255,.035) 1px,transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(#000,transparent 82%); }
.culture-city-moon { position: absolute; right: 13%; top: 9%; width: 46px; aspect-ratio: 1; border-radius: 50%; background: #dff8ff; box-shadow: 0 0 42px rgba(184,239,255,.45); opacity: .72; }
.culture-city-moon::after { content: ""; position: absolute; left: -9px; top: -5px; width: 46px; aspect-ratio: 1; border-radius: 50%; background: #11243a; }
.culture-city-skyline { position: absolute; left: -2%; right: -2%; bottom: 25%; display: flex; align-items: end; justify-content: space-between; }
.culture-city-skyline i { position: relative; display: block; flex: 1; border: 1px solid rgba(184,239,255,.08); border-bottom: 0; background: #0a1420; box-shadow: 0 -18px 50px rgba(0,0,0,.16); }
.culture-city-skyline i::before { content: ""; position: absolute; inset: 12px 10px; background: repeating-linear-gradient(90deg,rgba(243,201,105,.26) 0 4px,transparent 4px 15px),repeating-linear-gradient(180deg,rgba(243,201,105,.22) 0 5px,transparent 5px 19px); opacity: .6; }
.culture-city-skyline-back { height: 56%; gap: 10px; opacity: .7; }
.culture-city-skyline-back i:nth-child(1){height:58%}.culture-city-skyline-back i:nth-child(2){height:84%;flex:.72}.culture-city-skyline-back i:nth-child(3){height:68%;flex:1.25}.culture-city-skyline-back i:nth-child(4){height:100%;flex:.66}.culture-city-skyline-back i:nth-child(5){height:61%;flex:1.18}.culture-city-skyline-back i:nth-child(6){height:78%;flex:.82}
.culture-city-skyline-front { height: 41%; gap: 7px; bottom: 21%; z-index: 2; }
.culture-city-skyline-front i { background: #071019; border-color: rgba(184,239,255,.1); }
.culture-city-skyline-front i::before { opacity: .42; }
.culture-city-skyline-front i:nth-child(1){height:76%;flex:.92}.culture-city-skyline-front i:nth-child(2){height:100%;flex:1.18}.culture-city-skyline-front i:nth-child(3){height:62%;flex:.78}.culture-city-skyline-front i:nth-child(4){height:91%;flex:1.08}.culture-city-skyline-front i:nth-child(5){height:69%;flex:1.24}
.culture-city-street { position: absolute; z-index: 4; left: -8%; right: -8%; bottom: -20%; height: 47%; overflow: hidden; border-top: 1px solid rgba(184,239,255,.1); background: linear-gradient(180deg,#0a0e13,#030506); transform: perspective(520px) rotateX(56deg); transform-origin: center top; }
.culture-city-street::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 49.7%,rgba(243,201,105,.45) 49.8% 50.2%,transparent 50.3%),repeating-linear-gradient(180deg,transparent 0 40px,rgba(255,255,255,.055) 41px,transparent 42px); }
.culture-city-street i { position: absolute; top: 0; bottom: 0; width: 1px; background: linear-gradient(rgba(184,239,255,.18),transparent); transform-origin: top; }.culture-city-street i:nth-child(1){left:22%;transform:rotate(11deg)}.culture-city-street i:nth-child(2){left:40%;transform:rotate(4deg)}.culture-city-street i:nth-child(3){left:60%;transform:rotate(-4deg)}.culture-city-street i:nth-child(4){left:78%;transform:rotate(-11deg)}
.culture-city-mission { position: absolute; z-index: 9; left: 50%; top: 20px; width: min(720px,76%); padding: 14px 22px; display: grid; grid-template-columns: auto 1fr; gap: 4px 20px; align-items: center; color: white; background: rgba(3,7,11,.72); box-shadow: 0 16px 38px rgba(0,0,0,.28); transform: translateX(-50%); backdrop-filter: blur(12px); pointer-events: none; }
.culture-city-mission span { grid-row: 1/3; color: var(--brand-blue); font-size: 7px; font-weight: 700; letter-spacing: .12em; }
.culture-city-mission strong { font-size: clamp(17px,1.7vw,25px); line-height: 1; }
.culture-city-mission small { color: rgba(255,255,255,.42); font-size: 7px; letter-spacing: .07em; }
.culture-problem-layer { position: absolute; inset: 0; z-index: 7; pointer-events: none; }
.culture-problem {
  position: absolute;
  width: 74px;
  height: 112px;
  padding: 0;
  color: white;
  border: 0;
  background: transparent;
  opacity: 0;
  transform: translate(-50%,-50%) translate(var(--problem-enter-x),var(--problem-enter-y)) scale(calc(var(--problem-scale) * .72));
  transform-origin: center bottom;
  transition: opacity 150ms ease,transform 280ms var(--ease);
  pointer-events: none;
  filter: drop-shadow(0 14px 15px rgba(0,0,0,.65));
}
.culture-problem.is-visible { opacity: 1; transform: translate(-50%,-50%) translate(0,0) scale(var(--problem-scale)); pointer-events: auto; }
.culture-problem.is-retreating { opacity: 0; transform: translate(-50%,-50%) translate(var(--problem-enter-x),var(--problem-enter-y)) scale(calc(var(--problem-scale) * .74)); }
.culture-problem > i { position: absolute; z-index: 2; left: 50%; top: 4px; width: 24px; height: 24px; border: 1px solid rgba(232,93,117,.65); border-radius: 50%; background: #11171c; transform: translateX(-50%); box-shadow: inset 0 -6px rgba(232,93,117,.1); }
.culture-problem > i::before,.culture-problem > i::after { content: ""; position: absolute; top: 9px; width: 3px; height: 2px; border-radius: 50%; background: #ff687d; box-shadow: 0 0 6px #ff687d; }.culture-problem > i::before{left:5px}.culture-problem > i::after{right:5px}
.culture-problem > b { position: absolute; z-index: 1; left: 50%; top: 25px; width: 39px; height: 52px; border: 1px solid rgba(232,93,117,.48); border-radius: 12px 12px 5px 5px; background: linear-gradient(145deg,#151c23,#080b0e); transform: translateX(-50%); }
.culture-problem > b::before,.culture-problem > b::after { content: ""; position: absolute; top: 9px; width: 13px; height: 42px; border: 1px solid rgba(232,93,117,.3); border-radius: 7px; background: #0b1014; }.culture-problem > b::before{left:-12px;transform:rotate(8deg)}.culture-problem > b::after{right:-12px;transform:rotate(-8deg)}
.culture-problem > span { position: absolute; z-index: 4; left: 50%; top: 72px; width: max-content; max-width: 112px; padding: 5px 7px; color: #fff; border: 1px solid rgba(232,93,117,.55); border-radius: 3px; background: rgba(40,8,14,.9); font-size: 7px; font-weight: 800; line-height: 1; letter-spacing: .05em; transform: translateX(-50%); white-space: nowrap; }
.culture-problem > small { position: absolute; z-index: 4; left: 50%; top: 94px; width: 120px; color: rgba(255,255,255,.5); font-size: 5px; letter-spacing: .06em; transform: translateX(-50%); white-space: nowrap; }
.culture-problem.is-hit { pointer-events: none; animation: cityProblemSolved 520ms var(--ease) both; }
.culture-city-complete { position: absolute; z-index: 12; left: 50%; top: 50%; width: min(760px,82%); padding: clamp(30px,4vw,52px); display: flex; flex-direction: column; align-items: center; gap: 10px; color: white; background: rgba(4,9,13,.88); box-shadow: 0 26px 80px rgba(0,0,0,.46); transform: translate(-50%,-50%); text-align: center; backdrop-filter: blur(16px); }
.culture-city-complete span { color: #72efc3; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.culture-city-complete strong { color: var(--brand-blue); font-size: clamp(38px,5vw,74px); line-height: .9; }
.culture-city-complete small { max-width: 560px; color: rgba(255,255,255,.52); font-size: 8px; letter-spacing: .08em; }
.culture-game-progress > small b { color: var(--brand-blue); }
@keyframes cityProblemSolved { 0%{opacity:1;transform:translate(-50%,-50%) scale(var(--problem-scale)) rotate(0)} 35%{opacity:1;filter:drop-shadow(0 0 22px rgba(114,239,195,.85));transform:translate(-50%,-50%) scale(calc(var(--problem-scale) * .88)) rotate(-7deg)} 100%{opacity:0;transform:translate(-50%,40%) scale(calc(var(--problem-scale) * .55)) rotate(16deg)} }

@media(max-width:820px) {
  .culture-range { min-height: 610px; }
  .culture-city-mission { top: 14px; width: calc(100% - 28px); grid-template-columns: 1fr; text-align: center; }
  .culture-city-mission span { grid-row: auto; }
  .culture-problem { width: 68px; height: 106px; }
}

@media(max-width:560px) {
  .culture-range { min-height: 590px; }
  .culture-city-mission { padding: 11px 13px; }
  .culture-city-mission strong { font-size: 17px; }
  .culture-city-mission small { display: none; }
  .culture-problem { width: 62px; height: 100px; }
  .culture-problem > span { max-width: 94px; font-size: 6px; }
  .culture-city-complete strong { font-size: 40px; }
}

@media(prefers-reduced-motion:reduce) {
  .culture-problem { transition-duration: .001ms !important; }
  .culture-problem.is-hit { animation-duration: .001ms !important; }
}

/* Problem City combat, health, and WASD movement. */
.culture-range {
  --city-world-x: 0px;
  --city-world-y: 0px;
  --city-world-scale: 1.08;
}
.culture-city,
.culture-problem-layer,
.culture-cover-layer {
  inset: -16%;
  transform: translate3d(var(--city-world-x),var(--city-world-y),0) scale(var(--city-world-scale));
  transform-origin: center;
  will-change: transform;
}
.culture-game-progress { grid-template-columns: 112px minmax(120px,1fr) auto 154px; }
.culture-player-health { display: grid; grid-template-columns: 1fr; gap: 5px; min-width: 0; font-style: normal; }
.culture-player-health > i { height: 4px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.1); }
.culture-player-health > i > b { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#e85d75,#f3c969 42%,#72efc3); transition: width 220ms ease; }
.culture-player-health > strong { color: rgba(255,255,255,.56); font-size: 7px; font-style: normal; letter-spacing: .1em; text-align: right; }
.culture-player-health > strong b { color: #72efc3; }
.culture-player-health > small { color: #ff7388; font-size: 6px; font-weight: 750; letter-spacing: .12em; text-align: right; }
#culture-game.is-in-cover .culture-player-health > small { color: #72efc3; }

.culture-move-guide { position: absolute; z-index: 12; left: 20px; bottom: 18px; width: 96px; display: grid; grid-template-columns: repeat(3,26px); grid-template-rows: repeat(2,26px) auto; gap: 4px; pointer-events: none; }
.culture-move-guide span { display: grid; place-items: center; color: rgba(255,255,255,.45); border: 1px solid rgba(184,239,255,.24); border-radius: 3px; background: rgba(3,8,12,.7); font-size: 8px; font-weight: 700; box-shadow: inset 0 0 12px rgba(184,239,255,.025); transition: color 100ms,background 100ms,transform 100ms; }
.culture-move-guide span:nth-child(1) { grid-column: 2; }
.culture-move-guide span:nth-child(2) { grid-column: 1; grid-row: 2; }
.culture-move-guide span:nth-child(3) { grid-column: 2; grid-row: 2; }
.culture-move-guide span:nth-child(4) { grid-column: 3; grid-row: 2; }
.culture-move-guide span.is-active { color: #071015; border-color: var(--brand-blue); background: var(--brand-blue); transform: translateY(1px); }
.culture-move-guide small { grid-column: 1/-1; margin-top: 3px; color: rgba(255,255,255,.3); font-size: 6px; letter-spacing: .16em; text-align: center; }

.culture-player-rig { position: absolute; z-index: 11; left: 50%; bottom: -4px; width: 100px; height: 72px; pointer-events: none; transform: translateX(-50%); filter: drop-shadow(0 -8px 18px rgba(0,0,0,.5)); transition: transform 180ms ease,opacity 180ms ease; }
.culture-player-rig > i { position: absolute; left: 50%; top: 0; width: 13px; height: 54px; border: 1px solid rgba(184,239,255,.28); border-radius: 4px 4px 8px 8px; background: linear-gradient(90deg,#0b1116,#263744 45%,#070a0d); transform: translateX(-50%); }
.culture-player-rig > i::before { content: ""; position: absolute; left: 50%; top: -9px; width: 5px; height: 18px; border-radius: 3px; background: #516674; transform: translateX(-50%); box-shadow: 0 0 8px rgba(184,239,255,.12); }
.culture-player-rig > b::before,.culture-player-rig > b::after { content: ""; position: absolute; bottom: -17px; width: 51px; height: 58px; border-radius: 42px 42px 8px 8px; background: linear-gradient(145deg,#1a232b,#080b0e); }
.culture-player-rig > b::before { right: 48%; transform: rotate(18deg); }
.culture-player-rig > b::after { left: 48%; transform: rotate(-18deg); }
#culture-game.is-in-cover .culture-player-rig { opacity: .58; transform: translate(-50%,20px) scale(.9); }

.culture-enemy-round { position: absolute; z-index: 19; width: 7px; height: 7px; border-radius: 50%; background: #ff506c; box-shadow: 0 0 9px 3px rgba(255,80,108,.75); pointer-events: none; animation: cityEnemyRound 460ms cubic-bezier(.3,.05,.72,.38) forwards; }
.culture-enemy-round::after { content: ""; position: absolute; left: 50%; bottom: 100%; width: 2px; height: 42px; background: linear-gradient(transparent,rgba(255,80,108,.82)); transform: translateX(-50%); }
.culture-problem.is-firing > i { border-color: #ff506c; background: #3b0b13; box-shadow: 0 0 18px rgba(255,80,108,.88),inset 0 -6px rgba(232,93,117,.2); }
.culture-problem.is-firing > b { border-color: rgba(255,80,108,.9); filter: drop-shadow(0 0 12px rgba(255,80,108,.45)); }

.culture-cover-layer { position: absolute; z-index: 20; pointer-events: none; }
.culture-cover { position: absolute; left: calc(50% + var(--cover-x)); top: calc(75% - var(--cover-depth)); width: 112px; height: 94px; opacity: 1; transform: translate(-50%,-50%); filter: drop-shadow(0 18px 17px rgba(0,0,0,.58)); transition: opacity 320ms ease,filter 220ms ease; }
.culture-cover > b { position: absolute; inset: 16px 5px 5px; border: 1px solid rgba(184,239,255,.18); border-radius: 8px 8px 4px 4px; background: linear-gradient(145deg,#24343f,#0a0e12 70%); box-shadow: inset 0 0 20px rgba(184,239,255,.045); }
.culture-cover > span { position: absolute; left: 50%; bottom: 15px; z-index: 2; padding: 4px 6px; color: rgba(255,255,255,.42); border: 1px solid rgba(255,255,255,.13); background: rgba(3,7,10,.65); font-size: 5px; font-style: normal; letter-spacing: .12em; transform: translateX(-50%); opacity: 0; }
.culture-cover > em { position: absolute; z-index: 3; top: 8px; right: 8px; min-width: 18px; height: 18px; display: grid; place-items: center; color: rgba(184,239,255,.65); border: 1px solid rgba(184,239,255,.22); border-radius: 50%; background: rgba(3,8,12,.78); font-size: 6px; font-style: normal; font-weight: 800; }
.culture-cover.is-active > b { border-color: #72efc3; box-shadow: 0 0 22px rgba(114,239,195,.22),inset 0 0 24px rgba(114,239,195,.06); }
.culture-cover.is-active > span { color: #72efc3; border-color: rgba(114,239,195,.42); opacity: 1; }
.culture-cover.is-damaged > b { background-image: linear-gradient(58deg,transparent 43%,rgba(255,255,255,.22) 44% 45%,transparent 46%),linear-gradient(126deg,transparent 61%,rgba(255,255,255,.14) 62% 63%,transparent 64%),linear-gradient(145deg,#24343f,#0a0e12 70%); filter: saturate(.72) brightness(calc(.72 + (var(--cover-health) * .28))); }
.culture-cover.is-critical > b { border-color: rgba(255,115,136,.7); box-shadow: 0 0 20px rgba(255,80,108,.2),inset 0 0 22px rgba(255,80,108,.08); }
.culture-cover.is-critical > em { color: #ff7388; border-color: rgba(255,115,136,.55); }
.culture-cover.is-entering { animation: cityCoverEnter 520ms cubic-bezier(.18,.82,.2,1) both; }
.culture-cover.is-breaking { pointer-events: none; animation: cityCoverBreak 560ms cubic-bezier(.42,0,.65,1) both; }
.culture-cover-vehicle { width: 138px; height: 76px; }
.culture-cover-vehicle > b { inset: 22px 2px 8px; border-radius: 35px 42px 9px 9px; background: linear-gradient(160deg,#35536a,#111820 66%); }
.culture-cover-vehicle > b::before,.culture-cover-vehicle > b::after { content: ""; position: absolute; bottom: -9px; width: 22px; height: 22px; border: 5px solid #07090b; border-radius: 50%; background: #39434a; }.culture-cover-vehicle > b::before{left:14px}.culture-cover-vehicle > b::after{right:14px}
.culture-cover-vehicle > span { bottom: 18px; }
.culture-cover-tall { width: 76px; height: 148px; }
.culture-cover-tall > b { inset: 3px 5px; border-radius: 4px; background: repeating-linear-gradient(0deg,#1c2932 0 20px,#10171c 21px 23px); }
.culture-cover-tall > span { bottom: 18px; }
.culture-cover-soft > b { inset: 22px 0 3px; border-radius: 52% 48% 12px 12px; background: radial-gradient(circle at 27% 40%,#586c3a 0 16%,transparent 17%),radial-gradient(circle at 63% 30%,#637c42 0 21%,transparent 22%),radial-gradient(circle at 48% 65%,#3d542d 0 35%,#24331d 36%); }
.culture-cover-seat { width: 78px; height: 126px; }
.culture-cover-seat > b { inset: 2px 5px 5px; border-radius: 34px 34px 8px 8px; background: linear-gradient(90deg,#172f4a,#345477 48%,#12263c); box-shadow: inset 0 -24px rgba(3,8,12,.24); }
.culture-city-complete { z-index: 30; }

/* A different world is selected for every run. */
.culture-city[data-scape="country"] { background: radial-gradient(circle at 76% 13%,rgba(255,223,148,.26),transparent 22%),linear-gradient(180deg,#25445c 0 47%,#526d49 47%,#172016 100%); }
.culture-city[data-scape="country"] .culture-city-moon { width: 58px; background: #ffe3a8; box-shadow: 0 0 52px rgba(255,209,119,.48); }
.culture-city[data-scape="country"] .culture-city-moon::after { display: none; }
.culture-city[data-scape="country"] .culture-city-skyline { bottom: 24%; gap: 0; }
.culture-city[data-scape="country"] .culture-city-skyline i { border: 0; border-radius: 70% 70% 0 0; background: #1f3829; }
.culture-city[data-scape="country"] .culture-city-skyline i::before { display: none; }
.culture-city[data-scape="country"] .culture-city-skyline-back { height: 34%; opacity: .75; }
.culture-city[data-scape="country"] .culture-city-skyline-front { height: 22%; }
.culture-city[data-scape="country"] .culture-city-street { background: linear-gradient(90deg,#24331c 0 31%,#604a30 32% 68%,#24331c 69%); }

.culture-city[data-scape="suburbs"] { background: linear-gradient(180deg,#263f54 0 47%,#18291f 47% 100%); }
.culture-city[data-scape="suburbs"] .culture-city-moon { background: #ffdca0; box-shadow: 0 0 48px rgba(255,205,120,.38); }
.culture-city[data-scape="suburbs"] .culture-city-skyline { gap: 20px; bottom: 24%; }
.culture-city[data-scape="suburbs"] .culture-city-skyline i { height: 55% !important; border: 0; background: #101c24; clip-path: polygon(0 32%,50% 0,100% 32%,100% 100%,0 100%); }
.culture-city[data-scape="suburbs"] .culture-city-skyline i::before { inset: 43% 24% 12%; opacity: .75; }
.culture-city[data-scape="suburbs"] .culture-city-skyline-back { height: 43%; opacity: .55; }
.culture-city[data-scape="suburbs"] .culture-city-skyline-front { height: 34%; }
.culture-city[data-scape="suburbs"] .culture-city-street { background: linear-gradient(90deg,#17251a 0 26%,#101418 27% 73%,#17251a 74%); }

.culture-city[data-scape="bank"] { background: radial-gradient(circle at 50% 38%,rgba(243,201,105,.12),transparent 34%),linear-gradient(180deg,#1a242a,#070a0c); }
.culture-city[data-scape="bank"] .culture-city-moon { right: 8%; top: 13%; width: 84px; border: 7px double rgba(243,201,105,.5); background: #11181c; box-shadow: inset 0 0 0 9px #11181c,0 0 35px rgba(243,201,105,.12); }
.culture-city[data-scape="bank"] .culture-city-moon::after { left: 50%; top: 50%; width: 2px; height: 64px; border-radius: 0; background: rgba(243,201,105,.55); transform: translate(-50%,-50%) rotate(34deg); }
.culture-city[data-scape="bank"] .culture-city-skyline { bottom: 21%; gap: 7%; }
.culture-city[data-scape="bank"] .culture-city-skyline i { height: 100% !important; border-color: rgba(243,201,105,.14); background: linear-gradient(90deg,#0b1013,#26333a 50%,#0b1013); }
.culture-city[data-scape="bank"] .culture-city-skyline i::before { background: repeating-linear-gradient(180deg,rgba(243,201,105,.14) 0 4px,transparent 5px 15px); }
.culture-city[data-scape="bank"] .culture-city-skyline-front { height: 25%; gap: 3%; }
.culture-city[data-scape="bank"] .culture-city-skyline-front i { border-radius: 5px 5px 0 0; }
.culture-city[data-scape="bank"] .culture-city-street { background: repeating-linear-gradient(90deg,#11191d 0 79px,#273136 80px,#11191d 81px 160px); }

.culture-city[data-scape="studio"] { background: radial-gradient(ellipse at 50% 16%,rgba(184,239,255,.19),transparent 35%),#030405; }
.culture-city[data-scape="studio"] .culture-city-moon { left: 47%; right: auto; top: 4%; width: 24px; height: 24px; border-radius: 4px; background: white; box-shadow: 0 60px 90px 50px rgba(184,239,255,.14); }
.culture-city[data-scape="studio"] .culture-city-moon::after { left: -24px; top: 22px; width: 72px; height: 230px; border-radius: 0; background: linear-gradient(180deg,rgba(184,239,255,.16),transparent); clip-path: polygon(42% 0,58% 0,100% 100%,0 100%); }
.culture-city[data-scape="studio"] .culture-city-skyline { gap: 28px; bottom: 23%; }
.culture-city[data-scape="studio"] .culture-city-skyline i { background: #0b0d0f; border-color: rgba(255,255,255,.12); }
.culture-city[data-scape="studio"] .culture-city-skyline i::before { background: linear-gradient(135deg,transparent 48%,rgba(255,255,255,.11) 49% 51%,transparent 52%); }
.culture-city[data-scape="studio"] .culture-city-street { background: repeating-linear-gradient(90deg,#060708 0 70px,#111416 71px,#060708 72px 140px); }

.culture-city[data-scape="office"] { background: radial-gradient(circle at 50% 28%,rgba(89,152,199,.16),transparent 38%),linear-gradient(180deg,#17334a,#09131b); }
.culture-city[data-scape="office"] .culture-city-moon { right: 6%; top: 7%; width: 52px; border: 2px solid rgba(184,239,255,.5); background: #e8f8fa; }
.culture-city[data-scape="office"] .culture-city-moon::after { left: 50%; top: 50%; width: 2px; height: 18px; border-radius: 0; background: #1b405c; transform-origin: bottom; transform: translate(-50%,-100%) rotate(28deg); }
.culture-city[data-scape="office"] .culture-city-skyline { gap: 16px; bottom: 25%; }
.culture-city[data-scape="office"] .culture-city-skyline i { border-color: rgba(184,239,255,.14); background: linear-gradient(90deg,rgba(41,78,102,.7),rgba(11,25,35,.9)); }
.culture-city[data-scape="office"] .culture-city-skyline i::before { background: repeating-linear-gradient(90deg,rgba(184,239,255,.15) 0 2px,transparent 2px 35px),repeating-linear-gradient(180deg,rgba(184,239,255,.1) 0 2px,transparent 2px 31px); }
.culture-city[data-scape="office"] .culture-city-skyline-front { height: 26%; }
.culture-city[data-scape="office"] .culture-city-street { background: linear-gradient(90deg,#111b22 0 48%,#263842 49% 51%,#111b22 52%); }

.culture-city[data-scape="plane"] { background: radial-gradient(ellipse at 50% 0,rgba(255,255,255,.22),transparent 48%),linear-gradient(90deg,#172633,#d8e4e7 18%,#edf3f3 50%,#d8e4e7 82%,#172633); }
.culture-city[data-scape="plane"]::before { background: repeating-linear-gradient(90deg,transparent 0 13%,rgba(7,16,21,.1) 13.2%,transparent 13.4% 26%); mask-image: none; }
.culture-city[data-scape="plane"] .culture-city-moon { right: 8%; top: 17%; width: 76px; height: 42px; border: 5px solid #aebdc2; border-radius: 45%; background: linear-gradient(#6ea3c2,#d8eef3); box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.culture-city[data-scape="plane"] .culture-city-moon::after { display: none; }
.culture-city[data-scape="plane"] .culture-city-skyline { bottom: 24%; gap: 5%; padding: 0 5%; }
.culture-city[data-scape="plane"] .culture-city-skyline i { height: 74% !important; border-radius: 28px 28px 6px 6px; border-color: rgba(7,16,21,.24); background: linear-gradient(90deg,#16304a,#41627b 50%,#16304a); }
.culture-city[data-scape="plane"] .culture-city-skyline i::before { display: none; }
.culture-city[data-scape="plane"] .culture-city-skyline-back { height: 41%; opacity: .6; }
.culture-city[data-scape="plane"] .culture-city-skyline-front { height: 27%; }
.culture-city[data-scape="plane"] .culture-city-street { background: linear-gradient(90deg,#26333a 0 34%,#9aa7aa 35% 65%,#26333a 66%); }

.culture-damage-vignette { position: absolute; z-index: 24; inset: 0; opacity: 0; background: radial-gradient(circle,transparent 38%,rgba(198,22,51,.22) 66%,rgba(198,22,51,.86) 116%); pointer-events: none; }
#culture-game.is-damaged .culture-damage-vignette { animation: cityDamageFlash 360ms ease-out both; }
#culture-game.is-damaged .culture-game-board { animation: cityDamageShake 260ms linear both; }
#culture-game.is-cover-hit .culture-cover.is-active > b { animation: cityCoverHit 260ms ease-out both; }
#culture-game.is-defeated .culture-city-complete strong { color: #ff6f83; }
#culture-game.is-defeated .culture-player-health > i > b { background: #e83f59; }

@keyframes cityEnemyRound {
  0% { opacity: 0; transform: translate(-50%,-50%) translate(0,0) scale(.45); }
  12% { opacity: 1; }
  82% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%,-50%) translate(var(--enemy-round-x),var(--enemy-round-y)) scale(1.8); }
}
@keyframes cityDamageFlash { 0%{opacity:0}18%{opacity:1}100%{opacity:0} }
@keyframes cityDamageShake { 0%,100%{transform:none}25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)} }
@keyframes cityCoverHit { 0%,100%{filter:none}35%{filter:brightness(2.1);box-shadow:0 0 34px rgba(114,239,195,.75)} }
@keyframes cityCoverEnter { 0%{opacity:0;transform:translate(calc(-50% - 90px),-50%) scale(.82)} 100%{opacity:1;transform:translate(-50%,-50%) scale(1)} }
@keyframes cityCoverBreak { 0%{opacity:1;transform:translate(-50%,-50%) scale(1)} 35%{opacity:1;filter:brightness(2.2) drop-shadow(0 0 26px rgba(255,80,108,.58));transform:translate(-50%,-50%) scale(1.06)} 100%{opacity:0;filter:brightness(.35);transform:translate(-50%,18%) rotate(7deg) scale(.72)} }

@media(max-width:820px) {
  .culture-game-progress { grid-template-columns: 1fr auto; padding-top: 9px; padding-bottom: 9px; }
  .culture-game-progress > i { grid-column: 1/-1; grid-row: 2; margin: 0; }
  .culture-game-progress > small { text-align: right; }
  .culture-player-health { grid-column: 1/-1; grid-template-columns: 1fr auto; align-items: center; }
  .culture-player-health > strong { min-width: 92px; }
}

@media(max-width:560px) {
  .culture-move-guide { left: 11px; bottom: 11px; transform: scale(.86); transform-origin: left bottom; }
  .culture-player-rig { transform: translateX(-50%) scale(.84); transform-origin: center bottom; }
  #culture-game.is-in-cover .culture-player-rig { transform: translate(-50%,18px) scale(.76); }
}

@media(prefers-reduced-motion:reduce) {
  .culture-enemy-round,.culture-cover.is-entering,.culture-cover.is-breaking,#culture-game.is-damaged .culture-damage-vignette,#culture-game.is-damaged .culture-game-board { animation-duration: .001ms !important; }
}

/* Final President spacing pass: remove the late 760px runway. */
#message.president {
  padding-top: clamp(66px,5.5vw,84px);
  padding-bottom: clamp(44px,4vw,60px);
}
#message .president-stage { margin-top: clamp(22px,2vw,30px); }

@media(min-width:901px) {
  #message .president-photo,
  #message .president-copy {
    height: clamp(520px,37vw,610px);
    min-height: 0;
  }
  #message .president-copy { padding: clamp(30px,2.6vw,42px); }
  #message .president-copy h2 { margin-bottom: 20px; font-size: clamp(42px,3.65vw,58px); }
}

@media(max-width:900px) {
  #message.president { padding-top: 60px; padding-bottom: 44px; }
  #message .president-stage { margin-top: 22px; }
}

@media(max-width:560px) {
  #message.president { padding-top: 50px; padding-bottom: 36px; }
  #message .president-stage { margin-top: 18px; }
}

/* Browser frame: keep every slide off the physical viewport edges. */
:root { --document-frame: clamp(10px,1.25vw,24px); }
body {
  padding-right: var(--document-frame);
  padding-left: var(--document-frame);
  background: #030405;
}
main,
.site-footer {
  width: 100%;
  max-width: 1840px;
  margin-right: auto;
  margin-left: auto;
}
main {
  border-right: 1px solid rgba(255,255,255,.08);
  border-left: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 0 60px rgba(0,0,0,.22);
}
.site-header {
  right: auto;
  left: 50%;
  width: calc(100% - var(--document-frame) - var(--document-frame));
  max-width: 1840px;
  transform: translateX(-50%);
}
@media(min-width:1021px) {
  .story-rail { right: max(calc(var(--document-frame) + 18px),calc((100vw - 1840px)/2 + 18px)); }
}
@media(max-width:560px) {
  :root { --document-frame: 6px; }
}

/* --------------------------------------------------------------------------
   Problem City v2 — accessible branded game loop
   -------------------------------------------------------------------------- */
#culture-game { scroll-margin-top: 70px; }
.culture-launch-card {
  position: relative;
  width: min(980px,94vw);
  min-height: 410px;
  padding: clamp(28px,4vw,56px);
  display: grid;
  grid-template-columns: minmax(0,1fr) 190px;
  grid-template-rows: auto 1fr auto;
  gap: 18px 44px;
  overflow: hidden;
  color: white;
  border: 1px solid rgba(184,239,255,.24);
  border-radius: 16px;
  background: radial-gradient(circle at 82% 42%,rgba(44,98,214,.2),transparent 29%),linear-gradient(145deg,rgba(14,30,43,.94),rgba(4,8,11,.96));
  box-shadow: 0 34px 110px rgba(0,0,0,.35);
}
.culture-launch-card > span { color: var(--brand-blue); font-size: 9px; font-weight: 750; letter-spacing: .16em; }
.culture-launch-card h2 { align-self: end; margin: 0; font-size: clamp(42px,5.4vw,76px); font-weight: 320; line-height: .88; letter-spacing: -.035em; }
.culture-launch-card h2 strong { color: var(--brand-blue); font-weight: 780; }
.culture-launch-card > p { max-width: 580px; margin: 0; color: rgba(255,255,255,.55); font-size: 11px; line-height: 1.65; letter-spacing: .07em; }
.culture-launch-card > i { position: relative; grid-column: 2; grid-row: 1/4; align-self: center; justify-self: center; width: 154px; aspect-ratio: 1; border: 1px solid rgba(184,239,255,.72); border-radius: 50%; box-shadow: inset 0 0 0 30px rgba(184,239,255,.035),inset 0 0 0 31px rgba(184,239,255,.24),0 0 45px rgba(184,239,255,.1); }
.culture-launch-card > i::before,.culture-launch-card > i::after,.culture-launch-card > i > b { content:""; position:absolute; }
.culture-launch-card > i::before { inset: 44px; border: 1px solid var(--brand-blue); border-radius: 50%; }
.culture-launch-card > i::after { inset: 68px; border-radius: 50%; background: var(--brand-blue); box-shadow: 0 0 22px var(--brand-blue); }
.culture-launch-card > i > b { left: 50%; top: -20px; bottom: -20px; width: 1px; background: rgba(184,239,255,.28); }
.culture-launch-card > small { color: rgba(255,255,255,.36); font-size: 7px; line-height: 1.7; letter-spacing: .13em; }
.culture-launch-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.culture-launch-actions button { min-height: 46px; padding: 12px 16px; color: rgba(255,255,255,.72); border: 1px solid rgba(184,239,255,.2); border-radius: 5px; background: rgba(3,8,12,.38); font-size: 8px; font-weight: 750; letter-spacing: .1em; }
.culture-launch-actions button:first-child { color: #061015; border-color: var(--brand-blue); background: var(--brand-blue); }
.culture-launch-actions button:hover,.culture-launch-actions button:focus-visible { border-color: var(--brand-blue); outline: 2px solid rgba(184,239,255,.28); outline-offset: 3px; }
.culture-game-3d-message { grid-column: 1/-1; margin: -4px 0 0; color: rgba(184,239,255,.62); font-size: 8px; letter-spacing: .09em; }
.culture-game-3d {
  position: relative;
  min-height: min(640px,72vh);
  overflow: hidden;
  border: 1px solid rgba(184,239,255,.22);
  background: #05090d;
  isolation: isolate;
}
.culture-game-3d canvas { position: absolute; inset: 0; width: 100%; height: 100%; background: #07101a; cursor: none; }
.culture-game-3d canvas:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: -2px; }
.culture-game-3d-vignette { position: absolute; z-index: 1; inset: 0; pointer-events: none; background: radial-gradient(circle at center,transparent 42%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.72) 110%),linear-gradient(180deg,rgba(2,7,11,.16),transparent 35%,rgba(2,7,11,.36)); }
.culture-game-3d-vignette::before { content:""; position:absolute; inset:-12%; opacity:.18; background:repeating-linear-gradient(105deg,transparent 0 24px,rgba(184,239,255,.11) 25px,transparent 27px); mix-blend-mode:screen; animation:pcRainScreen 1.8s linear infinite; }
.culture-game-3d-vignette::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(98,157,181,.08),transparent 22%,transparent 75%,rgba(1,5,8,.25)),radial-gradient(circle at 50% 110%,rgba(255,181,91,.12),transparent 32%); }
.culture-game-3d-crosshair { position: absolute; z-index: 4; left: 50%; top: 50%; width: 30px; height: 30px; transform: translate(-50%,-50%); pointer-events: none; filter: drop-shadow(0 0 5px rgba(184,239,255,.7)); transition:left 40ms linear,top 40ms linear; }
.culture-game-3d-crosshair::before,.culture-game-3d-crosshair::after,.culture-game-3d-crosshair i { content:""; position:absolute; background:rgba(220,249,255,.92); }
.culture-game-3d-crosshair::before { left:0; right:0; top:14px; height:1px; }
.culture-game-3d-crosshair::after { top:0; bottom:0; left:14px; width:1px; }
.culture-game-3d-crosshair i:first-child { inset:10px; border:1px solid rgba(220,249,255,.9); border-radius:50%; background:transparent; }
.culture-game-3d-crosshair i:last-child { left:13px; top:13px; width:3px; height:3px; border-radius:50%; }
.culture-game-3d.is-firing .culture-game-3d-crosshair { animation:pcReticleFire 160ms ease-out; }
.culture-game-3d.is-dry-fire .culture-game-3d-crosshair { animation:pcReticleDryFire 180ms steps(2,end); filter:drop-shadow(0 0 8px rgba(255,111,131,.82)); }
.culture-game-3d.is-hit .culture-game-3d-vignette { background:radial-gradient(circle at center,transparent 35%,rgba(186,24,31,.58)); }
.culture-game-3d-hud { position:absolute; z-index:3; inset:0; pointer-events:none; color:white; text-shadow:0 2px 8px rgba(0,0,0,.8); }
.culture-game-3d-operation,.culture-game-3d-timer,.culture-game-3d-mission,.culture-game-3d-objective,.culture-game-3d-vitals,.culture-game-3d-ammo,.culture-game-3d-controls,.culture-game-3d-interaction,.culture-game-3d-alert,.culture-game-3d-checkpoint,.culture-game-3d-result { position:absolute; display:grid; gap:4px; }
.culture-game-3d-operation { left:20px; top:58px; }
.culture-game-3d-timer { right:20px; top:20px; text-align:right; }
.culture-game-3d-mission { left:20px; bottom:22px; max-width:42%; }
.culture-game-3d-objective { left:50%; top:20px; width:min(420px,44%); transform:translateX(-50%); padding:11px 15px; border-left:2px solid var(--brand-blue); background:linear-gradient(90deg,rgba(3,8,12,.78),rgba(3,8,12,.18)); }
.culture-game-3d-vitals { right:20px; bottom:76px; width:150px; }
.culture-game-3d-ammo { right:20px; bottom:128px; min-width:128px; text-align:right; }
.culture-game-3d-controls { left:20px; bottom:128px; min-width:142px; }
.culture-game-3d-interaction { left:20px; bottom:188px; min-width:168px; }
.culture-game-3d-alert { right:20px; bottom:188px; min-width:132px; text-align:right; }
.culture-game-3d-checkpoint { left:20px; top:104px; min-width:150px; }
.culture-game-3d-result { right:20px; top:78px; min-width:132px; text-align:right; }
.culture-game-3d-hud span,.culture-game-3d-hud small { color:rgba(184,239,255,.62); font-size:6px; font-weight:750; letter-spacing:.16em; }
.culture-game-3d-hud strong { font-size:clamp(12px,1.4vw,18px); font-weight:780; letter-spacing:.075em; }
.culture-game-3d-ammo strong { color:#ffcf72; font-variant-numeric:tabular-nums; }
.culture-game-3d-controls strong { color:#72efc3; }
.culture-game-3d-interaction strong,.culture-game-3d-checkpoint strong { color:var(--brand-blue); }
.culture-game-3d-alert strong { color:#ffcf72; }
.culture-game-3d-result strong { color:#72efc3; }
.culture-game-3d-ammo strong em { margin:0 4px; color:rgba(255,255,255,.42); font-style:normal; }
.culture-game-3d-mission>strong { font-size:clamp(24px,3.4vw,48px); line-height:.92; }
.culture-game-3d-objective>strong { font-size:clamp(9px,1vw,13px); line-height:1.35; }
.culture-game-3d-vitals>i { width:100%; height:4px; overflow:hidden; background:rgba(255,255,255,.16); }
.culture-game-3d-vitals>i b { display:block; width:100%; height:100%; background:#72efc3; box-shadow:0 0 10px rgba(114,239,195,.75); transition:width 200ms ease; }
.culture-game-3d-dialogue { position:absolute; z-index:5; left:50%; bottom:88px; width:min(620px,72%); transform:translateX(-50%); padding:11px 16px; color:white; border-left:2px solid var(--brand-blue); background:linear-gradient(90deg,rgba(3,8,12,.88),rgba(3,8,12,.56),rgba(3,8,12,.02)); pointer-events:none; }
.culture-game-3d-dialogue span { display:block; margin-bottom:4px; color:var(--brand-blue); font-size:7px; font-weight:800; letter-spacing:.18em; }
.culture-game-3d-dialogue strong { font-size:clamp(11px,1.25vw,15px); font-weight:520; line-height:1.45; }
.culture-game-3d-help {
  position:absolute;
  z-index:6;
  left:50%;
  top:50%;
  width:min(520px,calc(100% - 40px));
  padding:15px 18px;
  display:grid;
  gap:7px;
  color:white;
  border:1px solid rgba(184,239,255,.28);
  background:rgba(3,8,12,.9);
  box-shadow:0 22px 60px rgba(0,0,0,.42);
  transform:translate(-50%,-50%);
}
.culture-game-3d-help span { color:var(--brand-blue); font-size:7px; font-weight:800; letter-spacing:.16em; }
.culture-game-3d-help strong { font-size:clamp(12px,1.3vw,16px); line-height:1.35; letter-spacing:.08em; }
.culture-game-3d-help small { color:rgba(255,255,255,.58); font-size:8px; line-height:1.55; letter-spacing:.07em; }
.culture-game-3d-transition {
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  width:min(560px,calc(100% - 42px));
  padding:18px 20px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px 16px;
  color:white;
  border:1px solid rgba(184,239,255,.24);
  background:linear-gradient(135deg,rgba(3,8,12,.92),rgba(3,8,12,.74));
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  transform:translate(-50%,-50%);
  pointer-events:auto;
}
.culture-game-3d-transition span { grid-column:1/-1; color:var(--brand-blue); font-size:7px; font-weight:800; letter-spacing:.16em; }
.culture-game-3d-transition strong { font-size:clamp(18px,2vw,28px); line-height:1; letter-spacing:.06em; }
.culture-game-3d-transition small { max-width:42ch; color:rgba(255,255,255,.66); font-size:9px; line-height:1.5; letter-spacing:.06em; }
.culture-game-3d-transition b { grid-column:2; grid-row:2/4; align-self:center; color:#ffcf72; font-size:18px; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.culture-game-3d-transition button { position:static; grid-column:1/-1; justify-self:start; margin-top:5px; }
.culture-game-3d.is-objective-updated .culture-game-3d-objective { animation:pcObjectiveUpdate 480ms ease-out; }
.culture-game-3d-status {
  position: absolute;
  z-index: 2;
  left: 18px;
  top: 18px;
  max-width: min(440px,calc(100% - 36px));
  padding: 10px 12px;
  color: rgba(255,255,255,.68);
  border: 1px solid rgba(184,239,255,.2);
  background: rgba(3,8,12,.78);
  font-size: 7px;
  font-weight: 750;
  letter-spacing: .12em;
}
.culture-game-3d button {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 18px;
  min-height: 44px;
  padding: 12px 15px;
  color: #061015;
  border: 1px solid var(--brand-blue);
  border-radius: 5px;
  background: var(--brand-blue);
  font-size: 7px;
  font-weight: 780;
  letter-spacing: .1em;
}
.culture-game-3d button:focus-visible { outline: 2px solid rgba(184,239,255,.52); outline-offset: 3px; }

@keyframes pcReticleFire { 50% { transform:translate(-50%,-50%) scale(1.55); filter:drop-shadow(0 0 12px #fff); } }
@keyframes pcReticleDryFire { 50% { opacity:.38; transform:translate(-50%,-50%) scale(.82); } }
@keyframes pcObjectiveUpdate { from { opacity:.15; transform:translateX(-50%) translateY(-8px); } }
@keyframes pcRainScreen { to { transform:translate3d(-3%,12%,0); } }

@media(prefers-reduced-motion:reduce){
  .culture-game-3d-vignette::before { animation:none; }
  .culture-game-3d-crosshair { transition:none; }
  .culture-game-3d.is-firing .culture-game-3d-crosshair,
  .culture-game-3d.is-dry-fire .culture-game-3d-crosshair,
  .culture-game-3d.is-objective-updated .culture-game-3d-objective { animation:none; }
  .culture-game-3d.is-hit .culture-game-3d-vignette { background:radial-gradient(circle at center,transparent 42%,rgba(186,24,31,.48)); }
}

@media(max-width:700px){
  .culture-game-3d { min-height:620px; }
  .culture-game-3d-operation { top:64px; }
  .culture-game-3d-objective { top:112px; width:calc(100% - 40px); }
  .culture-game-3d-mission { max-width:70%; bottom:28px; }
  .culture-game-3d-ammo { right:16px; bottom:132px; min-width:104px; }
  .culture-game-3d-controls { left:20px; bottom:202px; min-width:120px; }
  .culture-game-3d-interaction { left:20px; bottom:260px; max-width:42%; min-width:0; }
  .culture-game-3d-alert { right:16px; bottom:188px; max-width:38%; min-width:0; }
  .culture-game-3d-checkpoint { display:none; }
  .culture-game-3d-result { right:16px; top:70px; min-width:0; }
  .culture-game-3d-vitals { right:16px; bottom:82px; width:110px; }
  .culture-game-3d-dialogue { bottom:142px; width:calc(100% - 40px); }
  .culture-game-3d-status { top:auto; left:20px; bottom:100px; max-width:calc(100% - 150px); }
  .culture-game-3d-transition { top:45%; }
}

.culture-game-progress { grid-template-columns: 112px minmax(120px,1fr) auto auto 154px; gap: 14px; }
.culture-game-progress > small { white-space: nowrap; }
.culture-pillar-progress { min-height: 52px; padding: 9px 16px; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; color: white; background: rgba(4,9,13,.86); border-bottom: 1px solid rgba(184,239,255,.09); }
.culture-pillar-progress > span { min-width: 0; display: grid; grid-template-columns: auto 1fr auto; gap: 7px; align-items: center; }
.culture-pillar-progress b,.culture-pillar-progress small { font-size: 6px; letter-spacing: .11em; }
.culture-pillar-progress b { color: rgba(255,255,255,.47); }
.culture-pillar-progress small { color: rgba(255,255,255,.34); }
.culture-pillar-progress i { height: 3px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.08); }
.culture-pillar-progress em { display: block; width: 0; height: 100%; background: var(--brand-blue); transition: width 280ms ease; }
.culture-pillar-progress .is-complete b,.culture-pillar-progress .is-complete small { color: #72efc3; }
.culture-pillar-progress .is-complete em { background: #72efc3; box-shadow: 0 0 12px rgba(114,239,195,.5); }

.culture-range:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 4px; }
.culture-game-tools { position: absolute; z-index: 35; right: 14px; top: 14px; display: flex; gap: 6px; }
.culture-game-tools button { min-height: 36px; padding: 8px 10px; color: rgba(255,255,255,.62); border: 1px solid rgba(184,239,255,.16); border-radius: 4px; background: rgba(3,8,12,.68); font-size: 6px; font-weight: 750; letter-spacing: .1em; backdrop-filter: blur(8px); }
.culture-game-tools button:hover,.culture-game-tools button:focus-visible { color: var(--brand-blue); border-color: var(--brand-blue); outline: 0; }

.culture-cinematic-layer { position:absolute; z-index:34; inset:0; pointer-events:none; }
.culture-cinematic-scrim { position:absolute; inset:0; opacity:.26; background:linear-gradient(180deg,rgba(0,0,0,.58),transparent 32%,transparent 68%,rgba(0,0,0,.72)); }
.culture-handler-subtitle { position:absolute; left:50%; bottom:96px; width:min(720px,calc(100% - 40px)); display:grid; grid-template-columns:auto 1fr; gap:9px 14px; align-items:center; padding:13px 16px; color:white; border:1px solid rgba(184,239,255,.22); background:rgba(3,8,12,.84); box-shadow:0 18px 48px rgba(0,0,0,.35); transform:translateX(-50%); backdrop-filter:blur(12px); }
.culture-handler-subtitle span { color:var(--brand-blue); font-size:7px; font-weight:800; letter-spacing:.14em; }
.culture-handler-subtitle strong { min-width:0; font-size:clamp(13px,1.45vw,19px); font-weight:520; line-height:1.25; }
.culture-audio-cue { position:absolute; right:18px; bottom:92px; width:58px; height:58px; display:grid; place-items:center; color:#071015; border-radius:50%; background:#72efc3; box-shadow:0 0 0 8px rgba(114,239,195,.1),0 0 34px rgba(114,239,195,.28); }
.culture-audio-cue i,.culture-audio-cue b { position:absolute; border:1px solid rgba(7,16,21,.38); border-radius:50%; }
.culture-audio-cue i { inset:10px; }
.culture-audio-cue b { inset:20px; background:#071015; }
.culture-audio-cue small { position:absolute; right:0; bottom:-18px; color:rgba(255,255,255,.52); font-size:5px; font-weight:800; letter-spacing:.12em; white-space:nowrap; }

.culture-problem { min-width: 76px; min-height: 112px; }
.culture-problem.is-locked::after { content:""; position:absolute; z-index:5; inset:-12px; border:1px solid var(--brand-blue); border-radius:50%; box-shadow: 0 0 20px rgba(184,239,255,.3),inset 0 0 15px rgba(184,239,255,.08); animation: cityLockPulse 1s ease-in-out infinite alternate; pointer-events:none; }
.culture-problem.is-aiming::before { content:"!"; position:absolute; z-index:7; left:50%; top:-26px; width:22px; height:22px; display:grid; place-items:center; color:#071015; border-radius:50%; background:#ff6f83; font-size:11px; font-weight:850; box-shadow:0 0 18px rgba(255,80,108,.75); transform:translateX(-50%); animation: cityAimWarn 520ms ease-in-out infinite alternate; }
.culture-problem.is-boss { width: 112px; height: 148px; filter: drop-shadow(0 0 22px rgba(243,201,105,.28)); }
.culture-problem.is-boss > i { border-color: #f3c969; background: #392a0e; }
.culture-problem.is-solution > i { border-color:#72efc3; background:#0e3a2e; box-shadow:0 0 24px rgba(114,239,195,.55); }
.culture-problem.is-solution > span { color:#72efc3; border-color:rgba(114,239,195,.55); }
@keyframes cityLockPulse { to { transform:scale(1.05); opacity:.62; } }
@keyframes cityAimWarn { to { transform:translateX(-50%) scale(1.15); filter:brightness(1.35); } }

.culture-solution-flash { position:absolute; z-index:28; left:50%; top:25%; width:min(560px,78%); padding:18px 22px; display:grid; gap:5px; color:white; border:1px solid rgba(114,239,195,.4); background:rgba(4,18,16,.88); box-shadow:0 18px 50px rgba(0,0,0,.34); transform:translate(-50%,-12px); opacity:0; text-align:center; backdrop-filter:blur(12px); pointer-events:none; transition:opacity 180ms ease,transform 180ms ease; }
.culture-solution-flash.is-visible { transform:translate(-50%,0); opacity:1; }
.culture-solution-flash > span { color:#72efc3; font-size:6px; font-weight:750; letter-spacing:.15em; }
.culture-solution-flash > strong { color:var(--brand-blue); font-size:clamp(20px,2.4vw,34px); line-height:1; }
.culture-solution-flash > small { color:rgba(255,255,255,.56); font-size:7px; letter-spacing:.07em; }

.culture-move-guide button { min-width: 26px; min-height: 26px; padding:0; display:grid; place-items:center; color:rgba(255,255,255,.55); border:1px solid rgba(184,239,255,.24); border-radius:3px; background:rgba(3,8,12,.76); font-size:8px; font-weight:750; touch-action:none; }
.culture-move-guide button:nth-child(1) { grid-column:2; }
.culture-move-guide button:nth-child(2) { grid-column:1; grid-row:2; }
.culture-move-guide button:nth-child(3) { grid-column:2; grid-row:2; }
.culture-move-guide button:nth-child(4) { grid-column:3; grid-row:2; }
.culture-move-guide button.is-active { color:#071015; border-color:var(--brand-blue); background:var(--brand-blue); transform:translateY(1px); }
.culture-touch-actions { position:absolute; z-index:36; right:14px; bottom:14px; display:none; gap:8px; }
.culture-touch-actions button { min-width:86px; min-height:48px; padding:10px 12px; color:white; border:1px solid rgba(184,239,255,.34); border-radius:5px; background:rgba(3,8,12,.82); font-size:7px; font-weight:800; letter-spacing:.1em; touch-action:manipulation; backdrop-filter:blur(8px); }
.culture-touch-actions button:last-child { color:#071015; border-color:#72efc3; background:#72efc3; }
.is-cover-training .culture-touch-actions button:last-child { animation:cityCoverPrompt .75s ease-in-out infinite alternate; }
@keyframes cityCoverPrompt { to { box-shadow:0 0 26px rgba(114,239,195,.75); transform:translateY(-2px); } }

.culture-game-pause,.culture-city-complete { border:1px solid rgba(184,239,255,.18); border-radius:12px; }
.culture-game-pause { position:absolute; z-index:45; left:50%; top:50%; width:min(520px,82%); padding:40px; display:flex; flex-direction:column; align-items:center; gap:10px; color:white; background:rgba(3,8,12,.94); transform:translate(-50%,-50%); text-align:center; backdrop-filter:blur(18px); }
.culture-game-pause > span { color:var(--brand-blue); font-size:8px; font-weight:750; letter-spacing:.14em; }
.culture-game-pause > strong { font-size:clamp(34px,4vw,58px); }
.culture-game-pause > small { margin-bottom:15px; color:rgba(255,255,255,.44); font-size:7px; letter-spacing:.1em; }
.culture-game-pause button,.culture-result-actions a,.culture-result-actions button { min-height:44px; padding:12px 15px; display:inline-grid; place-items:center; color:rgba(255,255,255,.72); border:1px solid rgba(184,239,255,.2); border-radius:5px; background:rgba(255,255,255,.035); font-size:7px; font-weight:780; letter-spacing:.1em; }
.culture-game-pause button:first-of-type,.culture-result-actions a:first-child { color:#071015; border-color:var(--brand-blue); background:var(--brand-blue); }
.culture-game-pause button:focus-visible,.culture-result-actions a:focus-visible,.culture-result-actions button:focus-visible { outline:2px solid var(--brand-blue); outline-offset:3px; }
#culture-game.is-paused .culture-range * { animation-play-state:paused!important; }
#culture-game.is-paused .culture-problem-layer,#culture-game.is-paused .culture-cover-layer { pointer-events:none; }

.culture-city-complete { width:min(860px,90%); max-height:calc(100% - 38px); padding:clamp(24px,3vw,42px); overflow:auto; }
.culture-city-complete > strong { max-width:720px; }
.culture-result-stats { width:100%; margin-top:12px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.culture-result-stats > b { padding:15px 10px; display:grid; gap:4px; border-right:1px solid rgba(255,255,255,.08); }
.culture-result-stats > b:last-child { border-right:0; }
.culture-result-stats span { color:white; font-size:18px; }
.culture-result-stats small { color:rgba(255,255,255,.36); font-size:6px; font-weight:500; letter-spacing:.12em; }
.culture-result-pillars { width:100%; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.culture-result-pillars a { min-height:38px; padding:9px; display:flex; align-items:center; justify-content:space-between; color:rgba(255,255,255,.54); border:1px solid rgba(255,255,255,.1); font-size:6px; letter-spacing:.1em; }
.culture-result-pillars a:hover,.culture-result-pillars a:focus-visible { color:#72efc3; border-color:#72efc3; outline:0; }
.culture-result-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; }
#culture-game.is-defeated .culture-result-pillars { opacity:.48; }
#culture-game.is-strategy .culture-player-health { opacity:.5; }

.culture-game-feedback { grid-template-columns:190px 1fr; }

@media(pointer:coarse) {
  .culture-touch-actions { display:flex; }
  .culture-move-guide button { min-width:44px; min-height:44px; }
  .culture-move-guide { width:142px; grid-template-columns:repeat(3,44px); grid-template-rows:repeat(2,44px) auto; }
}

@media(max-width:820px) {
  .culture-launch-card { min-height:560px; grid-template-columns:1fr; grid-template-rows:auto auto auto 150px auto auto; text-align:center; }
  .culture-launch-card > i { grid-column:1; grid-row:4; width:125px; }
  .culture-launch-card > p { margin-inline:auto; }
  .culture-launch-actions { justify-content:center; }
  .culture-game-progress { grid-template-columns:1fr auto; gap:8px 14px; }
  .culture-game-progress > i { grid-column:1/-1; grid-row:2; }
  .culture-player-health { grid-column:1/-1; }
  .culture-pillar-progress { grid-template-columns:1fr 1fr; min-height:78px; }
  .culture-game-tools { top:74px; }
  .culture-city-mission { padding-right:112px; text-align:left; }
  .culture-handler-subtitle { bottom:132px; width:calc(100% - 28px); grid-template-columns:1fr; }
  .culture-audio-cue { right:14px; bottom:72px; }
  .culture-solution-flash { top:31%; width:calc(100% - 28px); }
  .culture-touch-actions { display:flex; }
  .culture-move-guide { left:10px; bottom:10px; width:116px; grid-template-columns:repeat(3,36px); grid-template-rows:repeat(2,36px) auto; }
  .culture-move-guide button { min-width:36px; min-height:36px; }
  .culture-result-pillars { grid-template-columns:1fr 1fr; }
}

@media(max-width:560px) {
  .culture-launch-card { width:100%; min-height:610px; padding:26px 18px; }
  .culture-launch-card h2 { font-size:42px; }
  .culture-launch-actions { display:grid; }
  .culture-launch-actions button { width:100%; }
  .culture-game-board { width:100%; }
  .culture-range { min-height:620px; }
  .culture-game-tools { right:8px; top:80px; }
  .culture-game-tools button { min-height:40px; }
  .culture-city-mission { top:12px; padding:10px 100px 10px 12px; text-align:left; }
  .culture-city-mission span { font-size:6px; }
  .culture-city-mission small { display:none; }
  .culture-handler-subtitle { bottom:138px; padding:11px 12px; }
  .culture-handler-subtitle strong { font-size:13px; }
  .culture-audio-cue { width:46px; height:46px; right:10px; bottom:82px; }
  .culture-problem { width:72px; height:108px; }
  .culture-problem.is-boss { width:96px; height:132px; }
  .culture-move-guide { transform:none; }
  .culture-touch-actions { right:8px; bottom:10px; flex-direction:column; }
  .culture-touch-actions button { min-width:94px; min-height:48px; }
  .culture-solution-flash { top:34%; padding:15px 12px; }
  .culture-solution-flash > small { font-size:6px; }
  .culture-city-complete { width:calc(100% - 20px); max-height:calc(100% - 20px); padding:22px 14px; }
  .culture-city-complete > strong { font-size:34px; }
  .culture-result-stats { grid-template-columns:1fr 1fr; }
  .culture-result-stats > b:nth-child(2) { border-right:0; }
  .culture-result-stats > b:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.08); }
  .culture-result-actions { display:grid; width:100%; }
  .culture-result-actions > * { width:100%; }
  .culture-game-feedback { grid-template-columns:1fr; min-height:80px; }
}

@media(prefers-reduced-motion:reduce) {
  .culture-problem.is-locked::after,.culture-problem.is-aiming::before,.is-cover-training .culture-touch-actions button:last-child { animation:none!important; }
  .culture-solution-flash { transition:none; }
}




/* Final Patrick spacing override: size the section to its content, not the viewport. */
#message.president { min-height: 0; }

/* Final experience sculpt ------------------------------------------------- */
#main-content:focus { outline: 0; }
.scene[id] { scroll-margin-top: 76px; }
.service-board,
.service-panel,
.service-story,
.leader-grid,
.leader-card,
.contact-card,
.contact-card > div { min-width: 0; }

.service-nav { border-top-color: rgba(7,16,21,.1); border-bottom-color: rgba(7,16,21,.1); }
.service-tab { min-height: 72px; border-right-color: rgba(7,16,21,.1); }
.service-tab:focus-visible { position: relative; z-index: 2; outline: 2px solid var(--cobalt); outline-offset: -3px; }
.service-panel.is-coming-soon { min-height: clamp(480px, 66svh, 680px) !important; grid-template-rows: 1fr !important; }
.service-panel.is-coming-soon > :not(.service-coming-soon) {
  filter: grayscale(1) blur(10px);
  opacity: .28;
}
.service-panel.is-coming-soon .service-scene { min-height: 430px !important; grid-column: 1 / -1 !important; grid-row: 1 !important; }
.service-coming-soon {
  gap: 16px;
  place-content: center;
  padding: clamp(24px, 5vw, 64px);
  background: rgba(8,9,9,.3);
  -webkit-backdrop-filter: grayscale(1) blur(11px);
  backdrop-filter: grayscale(1) blur(11px);
}
.service-coming-soon strong { font-size: clamp(44px, 7vw, 92px); letter-spacing: .015em; }
.service-coming-soon small { font-size: 10px; }

@media (min-width: 1180px) {
  .leader-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
  .leader-meta { align-items: flex-start; gap: 10px; }
  .leader-meta b { max-width: 92px; text-align: right; }
  .leader-card > p { font-size: 11px; }
}

.leader-patrick { background: linear-gradient(145deg,#17211b,#899c75); }
.leader-card { border-color: rgba(7,16,21,.1); }
.leader-card:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 5px; }

#reach-out.meeting-section { min-height: 0; background: radial-gradient(circle at 76% 26%,rgba(213,237,101,.07),transparent 32%),#080909; }
.meeting-heading { grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr); }
.meeting-heading h2 { font-size: clamp(46px, 6vw, 84px); }
.contact-card {
  margin-top: clamp(40px, 7vw, 86px);
  padding: clamp(24px, 4vw, 48px);
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(20px, 4vw, 52px);
  color: #f4f3ee;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: linear-gradient(112deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow: inset 0 1px rgba(255,255,255,.1), 0 26px 80px rgba(0,0,0,.22);
}
.contact-card-mark { width: 42px; height: 52px; display: block; }
.contact-card > div { display: grid; gap: 10px; }
.contact-card small { color: var(--brand-blue); font-size: 10px; letter-spacing: .15em; }
.contact-card h3 { margin: 0; font-size: clamp(28px, 4vw, 54px); line-height: 1; }
.contact-card p { max-width: 590px; margin: 0; color: rgba(255,255,255,.56); font-size: 13px; line-height: 1.6; }
.contact-card > a {
  width: auto;
  min-height: 52px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #10110d;
  border: 0;
  border-radius: 999px;
  background: var(--brand-blue);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .11em;
  white-space: nowrap;
}
.contact-card > a span { color: inherit; }
.contact-card > a:hover { background: #fff; }
.contact-card > a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

.cover-actions a,
.case-rail-controls button,
.service-actions a { min-height: 44px; }

@media (max-width: 820px) {
  .service-panel.is-coming-soon { min-height: 520px !important; }
  .service-panel.is-coming-soon .service-scene { min-height: 430px !important; }
  .leader-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
  .meeting-heading { grid-template-columns: 1fr; }
  .contact-card { grid-template-columns: 46px minmax(0, 1fr); }
  .contact-card > a { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 560px) {
  .service-tab { min-width: 148px; min-height: 76px; }
  .service-tab strong { font-size: 14px; }
  .service-panel.is-coming-soon { min-height: 440px !important; }
  .service-panel.is-coming-soon .service-scene { min-height: 360px !important; }
  .leader-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .contact-card { grid-template-columns: 1fr; gap: 18px; }
  .contact-card-mark { width: 34px; height: 42px; }
  .contact-card > a { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .service-panel.service-swap { animation: none; }
}

/* One-line leadership roster with a scroll-driven card deal. */
#leaders .leader-grid {
  width:min(100%,1480px);
  margin:clamp(28px,4vw,56px) auto 0;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(7px,1.25vw,18px);
  perspective:1400px;
  perspective-origin:50% 16%;
}
#leaders .leader-card {
  position:relative;
  isolation:isolate;
  padding:clamp(5px,.58vw,9px) clamp(5px,.58vw,9px) clamp(12px,1.4vw,21px);
  border-radius:clamp(10px,1.1vw,16px);
  opacity:var(--leader-card-opacity,1);
  filter:blur(var(--leader-card-blur,0px));
  clip-path:inset(0 0 var(--leader-card-clip,0%) 0 round clamp(10px,1.1vw,16px));
  transform:translate3d(var(--leader-card-x,0),var(--leader-card-y,0),var(--leader-card-z,0)) rotateX(var(--leader-card-rotate-x,0deg)) rotateY(var(--leader-card-rotate-y,0deg)) rotateZ(var(--leader-card-rotate-z,0deg)) scale(var(--leader-card-scale,1));
  transform-origin:center 82%;
  transform-style:preserve-3d;
  transition:border-color 280ms ease,box-shadow 280ms ease,translate 280ms var(--ease);
  will-change:transform,opacity,filter,clip-path;
}
#leaders .leader-card:hover {
  translate:0 -7px;
}
#leaders .leader-card:focus-visible { clip-path:none; filter:none; }
#leaders .leader-card::after {
  content:"";
  position:absolute;
  z-index:8;
  top:-18%;
  bottom:-18%;
  left:-42%;
  width:34%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  opacity:var(--leader-card-sheen-opacity,0);
  transform:translateX(var(--leader-card-sheen-x,0%)) skewX(-18deg);
  mix-blend-mode:screen;
  pointer-events:none;
}
#leaders .leader-visual > img {
  transform:translateY(var(--leader-media-y,0)) scale(var(--leader-media-scale,1));
  transform-origin:center 24%;
  will-change:transform;
}
#leaders .leader-visual { aspect-ratio:4/4.25; }
#leaders .leader-mode {
  left:clamp(9px,1.15vw,18px);
  right:clamp(9px,1.15vw,18px);
  bottom:clamp(10px,1.2vw,18px);
}
#leaders .leader-mode span { font-size:clamp(7px,.58vw,9px); }
#leaders .leader-mode strong { font-size:clamp(18px,2.35vw,36px); }
#leaders .leader-meta { padding:clamp(10px,1.25vw,18px) clamp(3px,.55vw,8px) clamp(9px,1vw,14px); }
#leaders .leader-meta span { font-size:clamp(6px,.56vw,8px); }
#leaders .leader-meta h3 { font-size:clamp(16px,1.75vw,26px); }
#leaders .leader-meta b { max-width:82px; font-size:7px; line-height:1.35; text-align:right; }
#leaders .leader-card > p { margin:clamp(9px,1vw,15px) clamp(3px,.55vw,8px) 0; font-size:clamp(9px,.76vw,11px); line-height:1.48; }
#leaders .leader-tags { gap:5px; margin:auto clamp(3px,.55vw,8px) 0; padding-top:clamp(11px,1.25vw,18px); }
#leaders .leader-tags span { padding:6px 7px; font-size:7px; }

@media (max-width:960px) {
  #leaders.leaders { padding-right:clamp(12px,3vw,28px); padding-left:clamp(12px,3vw,28px); }
  #leaders .leader-grid { gap:clamp(6px,1.2vw,11px); }
  #leaders .leader-meta b,
  #leaders .leader-card > p,
  #leaders .leader-tags { display:none; }
}

@media (max-width:620px) {
  #leaders .leader-card {
    padding:3px 3px 9px;
    border-radius:8px;
    filter:none;
    clip-path:none;
    transform:translate3d(0,var(--leader-card-y,0),0) scale(var(--leader-card-scale,1));
  }
  #leaders .leader-card::after { display:none; }
  #leaders .leader-visual > img { transform:none; will-change:auto; }
  #leaders .leader-visual { aspect-ratio:3/4; border-radius:6px; }
  #leaders .leader-visual > small,
  #leaders .leader-visual > i,
  #leaders .leader-mode span,
  #leaders .leader-meta span { display:none; }
  #leaders .leader-mode { left:6px; right:6px; bottom:7px; }
  #leaders .leader-mode strong { font-size:clamp(10px,2.8vw,15px); line-height:.94; }
  #leaders .leader-meta { min-height:34px; padding:7px 1px 0; border-bottom:0; }
  #leaders .leader-meta h3 { font-size:clamp(10px,2.75vw,15px); line-height:1.02; overflow-wrap:anywhere; }
}

@media (max-width:420px) {
  #leaders.leaders { padding-right:10px; padding-left:10px; }
  #leaders .leader-grid { gap:4px; }
  #leaders .leader-mode { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  #leaders .leader-card {
    opacity:1!important;
    filter:none!important;
    clip-path:none!important;
    translate:none!important;
    transform:none!important;
    will-change:auto;
  }
  #leaders .leader-card::after { display:none; }
  #leaders .leader-visual > img { transform:none!important; will-change:auto; }
}

/* Canonical, truthful meeting-request desk. */
#reach-out.meeting-section {
  background:
    radial-gradient(circle at 78% 18%,rgba(213,237,101,.09),transparent 28%),
    radial-gradient(circle at 10% 84%,rgba(117,157,255,.08),transparent 26%),
    #080909;
}
.booking-console {
  margin-top:clamp(38px,6vw,76px);
  background:linear-gradient(145deg,rgba(16,18,17,.96),rgba(6,8,8,.98));
  box-shadow:0 42px 110px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.06);
}
.booking-console-mark {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#0b0c09;
  border-radius:50%;
  background:var(--brand-blue);
  font-size:8px;
  font-weight:800;
  letter-spacing:-.04em;
}
.booking-workspace {
  min-height:610px;
  grid-template-columns:minmax(205px,.68fr) minmax(350px,1.25fr) minmax(285px,.9fr);
}
.booking-workspace .meeting-person > b {
  position:absolute;
  right:17px;
  color:rgba(255,255,255,.25);
  font-size:8px;
  font-weight:500;
}
.booking-workspace .meeting-person.is-active {
  background:linear-gradient(90deg,rgba(213,237,101,.12),rgba(213,237,101,.025));
}
.booking-workspace .meeting-person.is-active::before { background:var(--brand-blue); }
.booking-preferences {
  margin:38px 0 0;
  padding:26px 0 0;
  border:0;
  border-top:1px solid rgba(255,255,255,.12);
}
.booking-preferences legend,
.booking-request header span,
.booking-request-fields label > span {
  color:var(--brand-blue);
  font-size:10px;
  font-weight:650;
  letter-spacing:.13em;
}
.booking-field-grid {
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.booking-field-grid label,
.booking-request-fields label {
  min-width:0;
  display:grid;
  gap:8px;
  color:rgba(255,255,255,.68);
  font-size:10px;
  letter-spacing:.1em;
}
.booking-field-grid input,
.booking-request-fields input,
.booking-request-fields textarea {
  width:100%;
  min-height:48px;
  padding:0 12px;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px;
  outline:0;
  background:rgba(255,255,255,.035);
  color-scheme:dark;
  font-family:inherit;
  font-size:12px;
  letter-spacing:.04em;
}
.booking-field-grid input:focus,
.booking-request-fields input:focus,
.booking-request-fields textarea:focus { border-color:var(--brand-blue); }
.booking-duration {
  margin-top:12px;
  display:grid;
  grid-template-columns:auto repeat(3,1fr);
  align-items:center;
  gap:7px;
}
.booking-duration > span {
  margin-right:5px;
  color:rgba(255,255,255,.68);
  font-size:10px;
  letter-spacing:.1em;
}
.booking-duration button {
  min-height:44px;
  color:rgba(255,255,255,.56);
  border:1px solid rgba(255,255,255,.13);
  border-radius:6px;
  background:rgba(255,255,255,.025);
  font-size:10px;
  letter-spacing:.07em;
}
.booking-duration button:hover { border-color:rgba(213,237,101,.65); }
.booking-duration button.is-active {
  color:#0b0d09;
  border-color:var(--brand-blue);
  background:var(--brand-blue);
}
.booking-preferences > p {
  margin:15px 0 0;
  color:rgba(255,255,255,.68);
  font-size:10px;
  line-height:1.5;
  letter-spacing:.06em;
}
.booking-preferences > p span { color:rgba(255,255,255,.82); }
.booking-request {
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:0 18px 20px;
  background:rgba(255,255,255,.018);
}
.booking-request > header {
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.booking-request > header small {
  color:rgba(255,255,255,.3);
  font-size:7px;
  letter-spacing:.09em;
}
.booking-request-fields {
  padding:18px 0;
  display:grid;
  gap:13px;
}
.booking-request-fields label > span {
  display:flex;
  justify-content:space-between;
}
.booking-request-fields label > span i {
  color:rgba(255,255,255,.25);
  font-style:normal;
  font-weight:400;
}
.booking-request-fields textarea {
  min-height:94px;
  padding:12px;
  resize:vertical;
}
.booking-request .meeting-book { margin-top:auto; cursor:pointer; }
.booking-request .meeting-book:hover { background:#fff; }
.booking-disclosure {
  margin-top:11px;
  color:rgba(255,255,255,.7);
  font-size:10px;
  line-height:1.55;
  letter-spacing:.055em;
}
.booking-status {
  min-height:16px;
  margin:10px 0 0;
  color:var(--brand-blue);
  font-size:10px;
  line-height:1.45;
  letter-spacing:.06em;
}
.booking-console button:focus-visible,
.booking-console input:focus-visible,
.booking-console textarea:focus-visible {
  outline:2px solid #fff;
  outline-offset:2px;
}
.booking-console .meeting-profile-copy > span { color:var(--brand-blue); }
.booking-console .meeting-profile-copy > strong { font-size:10px; }
.booking-console .meeting-profile-copy p {
  color:rgba(255,255,255,.72);
  font-size:10px;
}
.booking-console .meeting-person small {
  color:rgba(255,255,255,.68);
  font-size:9px;
  line-height:1.25;
}
.booking-console .meeting-roster-head small,
.booking-request > header small { color:rgba(255,255,255,.62); font-size:9px; }
@media (max-width:820px), (pointer:coarse) {
  .booking-field-grid input,
  .booking-request-fields input,
  .booking-request-fields textarea { font-size:16px; }
}
@media (max-width:1100px) {
  .booking-workspace { grid-template-columns:220px minmax(0,1fr); }
  .booking-request {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(230px,.55fr);
    column-gap:18px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .booking-request > header { grid-column:1 / -1; }
  .booking-request-fields { grid-template-columns:1fr 1fr; }
  .booking-request-fields label:last-child { grid-column:1 / -1; }
  .booking-request .meeting-book { align-self:end; margin:18px 0 0; }
  .booking-disclosure,.booking-status { grid-column:2; }
}
@media (max-width:760px) {
  .booking-workspace { grid-template-columns:1fr; }
  .booking-workspace .meeting-roster {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .booking-workspace .meeting-roster-head { grid-column:1 / -1; }
  .booking-workspace .meeting-person { min-width:0; padding-right:28px; }
  .booking-request {
    grid-column:1;
    display:flex;
    padding:0 16px 20px;
  }
  .booking-request-fields { grid-template-columns:1fr 1fr; }
  .booking-request-fields label:last-child { grid-column:1 / -1; }
  .booking-request .meeting-book { margin-top:4px; }
  .booking-field-grid { grid-template-columns:1fr 1fr; }
  .booking-disclosure,.booking-status { grid-column:auto; }
}
@media (max-width:480px) {
  .booking-workspace .meeting-person {
    min-height:70px;
    grid-template-columns:36px 1fr;
    gap:9px;
    padding:10px 22px 10px 10px;
  }
  .booking-workspace .meeting-avatar { width:36px; height:36px; }
  .booking-workspace .meeting-person > b { right:8px; }
  .booking-field-grid,.booking-request-fields { grid-template-columns:1fr; }
  .booking-request-fields label:last-child { grid-column:1; }
  .booking-duration { grid-template-columns:repeat(3,1fr); }
  .booking-duration > span { grid-column:1 / -1; }
  .booking-field-grid input,
  .booking-request-fields input,
  .booking-request-fields textarea { font-size:16px; }
}
