:root {
  --navy: #12284b;
  --navy-deep: #0c1d38;
  --blue: #43699d;
  --blue-pale: #e8eff7;
  --paper: #fbfaf7;
  --ink: #17212d;
  --muted: #617080;
  --line: #dce2e7;
  --gold: #bd903e;
  --terracotta: #c75c3c;
  --white: #ffffff;
  --shadow: 0 22px 70px rgba(15, 37, 70, 0.13);
  --container: min(1160px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.55; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.container { width: var(--container); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; transform: translateY(-160%); padding: 10px 14px; background: var(--white); color: var(--navy); font-weight: 700; transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); outline: 3px solid var(--gold); }

.site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid transparent; background: rgba(251, 250, 247, .92); backdrop-filter: blur(12px); transition: border-color .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 8px 24px rgba(17, 38, 74, .06); }
.header-inner { height: 82px; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand-mark { width: 43px; height: 43px; display: grid; place-items: center; overflow: hidden; border: 1px solid #dae2ea; border-radius: 50%; background: #fff; }
.brand-mark img { width: 70px; max-width: none; transform: translateY(-4px); }
.brand-name { color: var(--navy); font-family: Georgia, 'Times New Roman', serif; font-size: 17px; font-weight: 700; letter-spacing: .025em; }
.brand-name em { font-weight: 400; font-style: italic; }
.main-navigation { display: flex; align-items: center; gap: 29px; font-size: 13px; font-weight: 700; color: #344457; }
.main-navigation > a:not(.nav-contact) { position: relative; }
.main-navigation > a:not(.nav-contact)::after { content: ''; position: absolute; bottom: -8px; left: 0; width: 100%; height: 1px; transform: scaleX(0); transform-origin: right; background: var(--gold); transition: transform .22s ease; }
.main-navigation > a:not(.nav-contact):hover::after, .main-navigation > a:not(.nav-contact):focus-visible::after { transform: scaleX(1); transform-origin: left; }
.nav-contact { padding: 10px 15px; border: 1px solid var(--navy); color: var(--navy); transition: background .2s ease, color .2s ease; }
.nav-contact:hover, .nav-contact:focus-visible { background: var(--navy); color: var(--white); }
.nav-contact span { margin-left: 5px; }
.menu-toggle { display: none; padding: 8px 0 8px 8px; border: 0; background: none; color: var(--navy); cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px 0; background: currentColor; transition: transform .2s ease; }

.hero { overflow: hidden; min-height: 670px; padding: 95px 0 0; background: var(--paper); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr); align-items: center; gap: clamp(45px, 8vw, 120px); }
.hero-copy { position: relative; z-index: 2; padding: 20px 0 80px; }
.eyebrow, .section-kicker { margin: 0 0 20px; color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }
.eyebrow { display: flex; gap: 9px; align-items: center; color: var(--terracotta); }
.eyebrow span { width: 26px; height: 1px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.04em; }
h1 { max-width: 720px; margin-bottom: 25px; color: var(--navy); font-size: clamp(45px, 5.3vw, 76px); line-height: .98; }
h1 i, h2 i { color: var(--terracotta); font-weight: 400; }
.hero-lead { max-width: 590px; margin-bottom: 31px; color: #4f5e6e; font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; padding: 15px 19px; border: 1px solid transparent; font-size: 13px; font-weight: 700; transition: transform .2s ease, background .2s ease; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-primary { background: var(--navy); color: #fff; box-shadow: 0 8px 18px rgba(18, 40, 75, .18); }
.button-primary:hover, .button-primary:focus-visible { background: #1c3c70; }
.text-link { display: inline-flex; gap: 10px; align-items: center; color: var(--navy); font-size: 13px; font-weight: 700; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span, .text-link:focus-visible span { transform: translateY(3px); }

.hero-art { position: relative; min-height: 470px; isolation: isolate; }
.hero-art::before { content: ''; position: absolute; z-index: -3; inset: 12% -7% 0 10%; background: linear-gradient(145deg, #e9eef3, #f8f7f4 54%, #e6edf4); clip-path: polygon(23% 0, 100% 10%, 80% 100%, 0 88%); }
.hero-art::after { content: ''; position: absolute; z-index: -2; right: 6%; bottom: 11%; width: 51%; height: 39%; border: 1px solid rgba(190, 144, 62, .7); transform: rotate(-12deg); }
.hero-logo-wrap { position: absolute; z-index: 2; top: 12%; left: 16%; width: min(355px, 68%); aspect-ratio: 1 / 1.11; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.hero-logo-wrap::after { content: ''; position: absolute; inset: 0; border: 12px solid rgba(255,255,255,.45); pointer-events: none; }
.hero-logo-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; transform: scale(1.14); }
.art-grid { position: absolute; z-index: -1; top: 3%; right: 7%; display: grid; grid-template-columns: repeat(2, 76px); opacity: .75; }
.art-grid span { width: 76px; height: 76px; border: 1px solid #c9d5df; }
.art-orbit { position: absolute; z-index: -1; border: 1px solid #afc2d4; border-radius: 50%; }
.orbit-one { top: 17%; left: 3%; width: 142px; height: 142px; }
.orbit-two { right: -5%; bottom: 3%; width: 272px; height: 272px; border-color: #d5b475; }
.art-caption { position: absolute; right: 0; bottom: 0; display: flex; align-items: center; gap: 12px; color: var(--navy); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.art-caption span { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 50%; background: var(--gold); color: #fff; font-size: 10px; }
.hero-rule { display: flex; gap: 24px; align-items: center; padding: 23px 0; border-top: 1px solid var(--line); color: #6d7885; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.hero-rule span + span::before { content: '•'; margin-right: 24px; color: var(--gold); }

.section { padding: clamp(84px, 10vw, 142px) 0; }
.intro { background: var(--navy); color: #fff; }
.intro-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 60px; }
.intro .section-kicker { padding-top: 15px; color: #a9c0db; }
h2 { margin-bottom: 22px; color: var(--navy); font-size: clamp(37px, 4vw, 59px); line-height: 1.04; }
.intro h2 { margin-bottom: 30px; color: #fff; }
.intro h2 i { color: #e4b962; }
.intro-text { max-width: 700px; margin: 0; color: #d3dfec; font-size: 19px; line-height: 1.7; }

.section-soft { background: #eef2f4; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 58px; }
.section-heading h2 { margin: 0; }
.section-heading > p { max-width: 320px; margin: 0 0 5px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.expertise-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.expertise-card { min-height: 420px; padding: 25px 27px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid #dce2e4; background: #fff; transition: transform .28s ease, box-shadow .28s ease; }
.expertise-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(14, 39, 72, .1); }
.expertise-card-dark { background: var(--navy); border-color: var(--navy); color: #fff; }
.card-index { color: #98a6b2; font-size: 11px; font-weight: 700; letter-spacing: .11em; }
.expertise-card-dark .card-index { color: #9fb8d6; }
.expertise-icon { position: relative; width: 50px; height: 50px; margin: 26px 0 35px; color: var(--terracotta); }
.icon-digital { border: 1.6px solid #e5bb68; }
.icon-digital span { position: absolute; width: 9px; height: 9px; border: 1.5px solid #e5bb68; background: var(--navy); }
.icon-digital span:nth-child(1) { top: 10px; left: 10px; }.icon-digital span:nth-child(2) { right: 8px; bottom: 8px; }.icon-digital span:nth-child(3) { right: 9px; top: 9px; width: 5px; height: 5px; background: #e5bb68; }
.icon-literature { border: 1.6px solid var(--terracotta); border-radius: 0 0 4px 4px; }
.icon-literature::before { content: ''; position: absolute; top: 5px; left: 50%; height: 38px; border-left: 1.6px solid var(--terracotta); }
.icon-literature span { position: absolute; width: 20px; height: 11px; top: -1px; left: 14px; border-bottom: 1.6px solid var(--terracotta); transform: rotate(-28deg); transform-origin: left center; }
.icon-learning { border: 1.6px solid var(--gold); border-radius: 50%; }
.icon-learning::before { content: ''; position: absolute; top: 11px; left: 11px; width: 25px; height: 17px; border-bottom: 1.6px solid var(--gold); transform: rotate(-20deg); }.icon-learning span { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }.icon-learning span:nth-child(1) { left: 12px; top: 18px; }.icon-learning span:nth-child(2) { right: 11px; top: 12px; }
.expertise-card h3 { margin-bottom: 13px; color: var(--navy); font-family: Georgia, 'Times New Roman', serif; font-size: 29px; font-weight: 400; letter-spacing: -.025em; }
.expertise-card-dark h3 { color: #fff; }
.expertise-card p { max-width: 280px; color: var(--muted); font-size: 14px; line-height: 1.65; }.expertise-card-dark p { color: #cbd8e6; }
.expertise-card a { align-self: flex-start; color: var(--navy); font-size: 12px; font-weight: 700; }.expertise-card-dark a { color: #e6bb63; }.expertise-card a span { display: inline-block; margin-left: 5px; transition: transform .2s ease; }.expertise-card a:hover span { transform: translate(3px, -3px); }

.reasons-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 11vw, 150px); align-items: start; }
.reasons-title { position: sticky; top: 120px; }.reasons-title h2 { margin-bottom: 27px; }.reasons-title > p:last-child { max-width: 320px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.reasons-list { margin: 5px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.reasons-list li { display: grid; grid-template-columns: 50px 1fr; gap: 17px; padding: 24px 0; border-bottom: 1px solid var(--line); }.reasons-list > li > span { color: var(--terracotta); font-size: 11px; font-weight: 700; letter-spacing: .1em; }.reasons-list h3 { margin-bottom: 4px; color: var(--navy); font-size: 16px; }.reasons-list p { margin: 0; color: var(--muted); font-size: 14px; }

.leadership { overflow: hidden; padding: 0 0 clamp(84px, 10vw, 142px); background: linear-gradient(90deg, #e9eff3 0 41%, var(--paper) 41%); }.leadership-grid { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(55px, 9vw, 135px); }.leadership-photo { display: grid; position: relative; min-height: 490px; align-self: stretch; place-items: center; overflow: hidden; background: #fff; }.leadership-photo img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }.leadership-copy { padding: 55px 0; }.leadership-copy h2 { margin-bottom: 25px; }.leadership-copy > p:not(.leadership-signature) { max-width: 540px; margin-bottom: 34px; color: var(--muted); font-size: 16px; line-height: 1.75; }.leadership-signature { color: var(--navy); font-family: Georgia, 'Times New Roman', serif; font-size: 19px; font-weight: 700; }.leadership-signature span { display: block; margin-top: 4px; color: var(--terracotta); font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.section-navy { background: var(--navy-deep); color: #fff; }.method-intro { display: flex; justify-content: space-between; align-items: end; margin-bottom: 67px; }.section-kicker-light { color: #b2c8e0; }.method h2 { margin: 0; color: #fff; }.method h2 i { color: #e5b865; }
.method-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(205, 220, 237, .34); }.method-steps li { position: relative; min-height: 235px; padding: 25px 24px 0 0; border-right: 1px solid rgba(205, 220, 237, .28); }.method-steps li:not(:first-child) { padding-left: 24px; }.method-steps li:last-child { border-right: 0; }.method-steps span { display: grid; width: 32px; height: 32px; margin-bottom: 42px; place-items: center; border: 1px solid #e5b865; border-radius: 50%; color: #e5b865; font-size: 10px; font-weight: 700; }.method-steps h3 { margin-bottom: 10px; font-family: Georgia, 'Times New Roman', serif; font-size: 23px; font-weight: 400; }.method-steps p { max-width: 210px; margin: 0; color: #bed0e3; font-size: 13px; line-height: 1.65; }

.collaborations { overflow: hidden; }.collaborations-heading { margin-bottom: 45px; }.collaboration-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-flow: dense; gap: 13px; }.collaboration-item { position: relative; min-height: 245px; margin: 0; overflow: hidden; background: #e8edf1; }.collaboration-item.item-tall { grid-row: span 2; min-height: 503px; }.collaboration-item.item-wide { grid-column: span 2; }.collaboration-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.6,.2,1); }.collaboration-item:hover img { transform: scale(1.055); }.collaboration-item::after { content: ''; position: absolute; inset: auto 0 0; height: 47%; background: linear-gradient(transparent, rgba(8, 23, 46, .82)); pointer-events: none; }.collaboration-item figcaption { position: absolute; z-index: 1; right: 15px; bottom: 13px; left: 15px; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.contact { padding-top: 0; background: linear-gradient(var(--paper) 48%, var(--navy-deep) 48%); }.contact-panel { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; padding: clamp(46px, 6vw, 78px); background: var(--terracotta); color: #fff; }.contact h2 { margin: 0; color: #fff; }.contact h2 i { color: #ffd987; }.contact .section-kicker { color: #ffd987; }.contact-details { align-self: end; }.contact-details > p:first-child { max-width: 395px; margin-bottom: 25px; font-size: 16px; line-height: 1.7; }.contact-links { display: grid; gap: 9px; margin-bottom: 35px; }.contact-links a { width: fit-content; border-bottom: 1px solid rgba(255,255,255,.55); padding-bottom: 3px; font-size: 14px; font-weight: 700; transition: border-color .2s ease; }.contact-links a:hover { border-color: #fff; }.contact-links span { margin-left: 8px; }.location { margin: 0; color: #ffe6bf; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.site-footer { background: var(--navy-deep); color: #fff; }.footer-top { display: grid; grid-template-columns: 1fr 1fr auto; gap: 25px; align-items: center; padding: 34px 0; border-bottom: 1px solid rgba(214, 225, 237, .24); }.brand-footer .brand-name { color: #fff; }.brand-footer .brand-mark { border: 0; }.footer-top > p { margin: 0; color: #b6c7da; font-size: 13px; }.back-top { color: #e5bd6a; font-size: 12px; font-weight: 700; }.back-top span { display: inline-block; margin-left: 5px; transition: transform .2s ease; }.back-top:hover span { transform: translateY(-3px); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0 25px; color: #9fb4cb; font-size: 11px; letter-spacing: .04em; }

.whatsapp-button { position: fixed; z-index: 38; right: 23px; bottom: 22px; display: inline-flex; align-items: center; gap: 9px; padding: 12px 16px 12px 12px; border-radius: 999px; background: #23b663; box-shadow: 0 8px 28px rgba(16, 77, 43, .26); color: #fff; font-size: 13px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease; }.whatsapp-button:hover, .whatsapp-button:focus-visible { transform: translateY(-3px); box-shadow: 0 13px 32px rgba(16, 77, 43, .35); }.whatsapp-button svg { width: 24px; height: 24px; }.toast { position: fixed; z-index: 50; right: 22px; bottom: 82px; max-width: 290px; padding: 13px 15px; border-radius: 4px; background: var(--navy); box-shadow: 0 12px 28px rgba(4, 18, 36, .22); color: #fff; font-size: 13px; }

[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease; } [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

@media (max-width: 900px) {
  .header-inner { height: 72px; }.menu-toggle { z-index: 45; display: block; }.main-navigation { position: fixed; inset: 72px 0 auto; display: grid; gap: 0; padding: 16px 24px 25px; border-bottom: 1px solid var(--line); background: var(--paper); transform: translateY(-130%); opacity: 0; pointer-events: none; transition: transform .25s ease, opacity .25s ease; }.main-navigation.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }.main-navigation a:not(.nav-contact) { padding: 15px 0; border-bottom: 1px solid var(--line); }.main-navigation > a:not(.nav-contact)::after { display: none; }.nav-contact { margin-top: 18px; text-align: center; }
  .hero { min-height: 0; padding-top: 60px; }.hero-grid { grid-template-columns: 1fr; }.hero-copy { padding-bottom: 25px; }.hero-art { min-height: 370px; width: min(560px, 100%); margin: 0 auto; }.hero-logo-wrap { top: 5%; left: 25%; width: min(315px, 57%); }.hero-rule { margin-top: 35px; }.intro-grid, .reasons-grid { grid-template-columns: 1fr; gap: 22px; }.reasons-title { position: static; }.expertise-grid { grid-template-columns: 1fr; }.expertise-card { min-height: 330px; }.expertise-icon { margin: 15px 0 25px; }.leadership { background: linear-gradient(90deg, #e9eff3 0 38%, var(--paper) 38%); }.leadership-grid { grid-template-columns: .78fr 1.22fr; gap: 45px; }.leadership-photo { min-height: 460px; }.method-steps { grid-template-columns: repeat(2, 1fr); }.method-steps li:nth-child(2) { border-right: 0; }.method-steps li:nth-child(n+3) { border-top: 1px solid rgba(205, 220, 237, .28); padding-top: 25px; }.method-steps li:nth-child(3) { padding-left: 0; }.collaboration-grid { grid-template-columns: repeat(3, 1fr); }.collaboration-item { min-height: 210px; }.collaboration-item.item-tall { min-height: 433px; }.contact-panel { grid-template-columns: 1fr; gap: 45px; }.footer-top { grid-template-columns: 1fr auto; }.footer-top > p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 600px) {
  :root { --container: min(100% - 36px, 1160px); }.brand-mark { width: 38px; height: 38px; }.brand-name { font-size: 15px; }.hero { padding-top: 47px; }h1 { font-size: clamp(41px, 12vw, 56px); }.hero-lead { font-size: 16px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 19px; }.hero-art { min-height: 310px; margin-top: 7px; }.hero-logo-wrap { left: 20%; width: 61%; }.art-grid { grid-template-columns: repeat(2, 49px); }.art-grid span { width: 49px; height: 49px; }.orbit-one { width: 100px; height: 100px; }.orbit-two { width: 170px; height: 170px; }.art-caption { right: -4px; font-size: 8px; }.art-caption span { width: 26px; height: 26px; font-size: 8px; }.hero-rule { display: grid; grid-template-columns: 1fr 1fr; gap: 11px 18px; font-size: 9px; }.hero-rule span + span::before { display: none; }.hero-rule span:nth-child(3) { grid-column: 1 / -1; }.section { padding: 74px 0; }h2 { font-size: clamp(36px, 10vw, 49px); }.intro-text { font-size: 16px; }.section-heading { display: block; margin-bottom: 35px; }.section-heading > p { margin-top: 22px; }.expertise-card { min-height: 300px; padding: 23px; }.leadership { padding-bottom: 74px; background: #e9eff3; }.leadership-grid { display: block; }.leadership-photo { min-height: 430px; margin: 0 calc((100vw - var(--container)) / -2); }.leadership-copy { padding: 42px 0 0; }.leadership-copy > p:not(.leadership-signature) { font-size: 15px; }.method-intro { display: block; margin-bottom: 37px; }.method-steps { display: block; border-top: 0; }.method-steps li, .method-steps li:not(:first-child), .method-steps li:nth-child(3) { min-height: 0; padding: 25px 0; border-right: 0; border-top: 1px solid rgba(205, 220, 237, .28); }.method-steps span { margin-bottom: 19px; }.method-steps p { max-width: 100%; }.collaboration-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }.collaboration-item, .collaboration-item.item-tall { min-height: 195px; grid-row: auto; }.collaboration-item.item-wide { grid-column: span 2; min-height: 218px; }.collaboration-item figcaption { right: 9px; bottom: 8px; left: 9px; font-size: 8px; }.contact { background: linear-gradient(var(--paper) 28%, var(--navy-deep) 28%); padding-bottom: 54px; }.contact-panel { gap: 33px; padding: 35px 25px; }.contact-details > p:first-child { font-size: 15px; }.footer-top { grid-template-columns: 1fr; gap: 20px; }.footer-top > p { grid-column: auto; grid-row: auto; }.back-top { width: fit-content; }.footer-bottom { display: grid; padding-top: 20px; gap: 5px; }.whatsapp-button { right: 15px; bottom: 15px; padding: 12px; }.whatsapp-button span { display: none; }.toast { right: 15px; bottom: 69px; }
}

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

/* Design system motion update */
.header-inner { height: 114px; }
.brand-lockup { gap: 0; }
.brand-lockup-image { display: block; width: 182px; height: 104px; object-fit: contain; }

.hero { min-height: 690px; padding-top: 84px; }
.hero-art { min-height: 490px; overflow: visible; }
.hero-art::before { inset: 7% -8% 3% 7%; background: linear-gradient(145deg, #e7eef5, #f8f7f4 54%, #e1edf8); }
.hero-art::after { width: 58%; height: 48%; border-color: rgba(68, 122, 190, .4); }
.art-grid { opacity: .55; animation: gridPulse 5.5s ease-in-out infinite; }
.art-orbit { box-shadow: 0 0 34px rgba(70, 122, 192, .14); }
.orbit-one { animation: orbitDrift 8s ease-in-out infinite; }
.orbit-two { animation: orbitDrift 10s ease-in-out infinite reverse; }
.hero-signal-cluster { position: absolute; inset: 0; isolation: isolate; }
.hero-signal-cluster::before { content: ''; position: absolute; z-index: -1; top: 47%; left: 50%; width: 290px; height: 290px; border-radius: 50%; background: radial-gradient(circle, rgba(93, 164, 231, .26) 0, rgba(93, 164, 231, .06) 38%, transparent 70%); transform: translate(-50%, -50%); animation: coreAura 3.8s ease-in-out infinite; }
.signal-core { position: absolute; top: 46%; left: 49%; width: 86px; height: 86px; border: 1px solid rgba(35, 91, 158, .38); border-radius: 50%; transform: translate(-50%, -50%); }
.signal-core::before, .signal-core::after { content: ''; position: absolute; inset: 11px; border: 1px solid rgba(190, 144, 62, .55); border-radius: 50%; animation: coreRing 3s linear infinite; }
.signal-core::after { inset: 27px; border-color: rgba(196, 91, 57, .7); animation-delay: -1.45s; }
.signal-core span { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #5d9cda; box-shadow: 0 0 15px 4px rgba(93, 156, 218, .5); }
.signal-core span:nth-child(1) { top: -3px; left: 38px; }.signal-core span:nth-child(2) { right: 4px; bottom: 15px; }.signal-core span:nth-child(3) { bottom: 8px; left: 14px; }
.hero-signal { position: absolute; display: grid; place-items: center; width: 148px; height: 148px; border: 1px solid rgba(25, 74, 134, .19); border-radius: 24px; background: rgba(255, 255, 255, .63); box-shadow: 0 18px 42px rgba(16, 48, 89, .12), inset 0 1px 0 rgba(255, 255, 255, .9); backdrop-filter: blur(7px); color: var(--navy); transform: rotate(-3deg); }
.hero-signal::before { content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgba(94, 177, 255, .82), transparent 35%, rgba(226, 176, 77, .7)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .65; }
.hero-signal svg { position: relative; width: 67px; height: 67px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 8px rgba(63, 124, 189, .28)); }
.hero-signal svg path { stroke-dasharray: 220; stroke-dashoffset: 220; animation: drawSignal 4.6s ease-in-out infinite; }.hero-signal svg circle { fill: var(--paper); animation: nodeBlink 2.8s ease-in-out infinite; }
.hero-signal span { position: absolute; bottom: 14px; left: 12px; right: 12px; color: #3b5475; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.hero-signal-digital { top: 5%; left: 7%; color: #2676ae; animation: signalFloatOne 6s ease-in-out infinite; }
.hero-signal-literature { top: 26%; right: 1%; color: #b25f4a; transform: rotate(5deg); animation: signalFloatTwo 6.6s ease-in-out infinite; }
.hero-signal-learning { bottom: 3%; left: 19%; color: #a27627; transform: rotate(3deg); animation: signalFloatThree 7.2s ease-in-out infinite; }

.section { position: relative; overflow: clip; }
.section::after { content: ''; position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; height: 1px; background: linear-gradient(90deg, transparent 0%, transparent 30%, rgba(126, 203, 255, .05) 40%, rgba(235, 197, 112, .92) 50%, rgba(126, 203, 255, .05) 60%, transparent 70%, transparent 100%); transform: translateX(-115%); pointer-events: none; }
.section.is-illuminated::after { animation: sectionLightPass 1.25s cubic-bezier(.2,.7,.2,1) both; }
.page-transition { position: fixed; z-index: 100; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; pointer-events: none; opacity: 0; background: rgba(9, 31, 62, .04); }
.page-transition::before { content: ''; position: absolute; inset: -30% -10%; background: linear-gradient(110deg, transparent 42%, rgba(177, 226, 255, .1) 46%, rgba(255,255,255,.94) 50%, rgba(221, 179, 86, .4) 53%, transparent 58%); transform: translateX(-120%); }
.page-transition span { position: absolute; top: 0; bottom: 0; left: 0; width: 2px; background: #b9e7ff; box-shadow: 0 0 22px 7px rgba(121, 210, 255, .88), 0 0 60px 16px rgba(218, 181, 90, .34); transform: translateX(-50px); }
.page-transition.is-active { opacity: 1; animation: transitionFade .75s ease-out both; }.page-transition.is-active::before { animation: transitionBeam .75s cubic-bezier(.15,.65,.25,1) both; }.page-transition.is-active span { animation: transitionLine .75s cubic-bezier(.15,.65,.25,1) both; }

.expertise-card { transform: translateZ(0); border-color: rgba(126, 146, 164, .25); transition: transform .42s cubic-bezier(.2,.7,.2,1), box-shadow .42s ease, border-color .42s ease; }
.expertise-card:hover, .expertise-card:focus-within { position: relative; z-index: 2; transform: translateY(-10px) scale(1.022); border-color: rgba(87, 145, 207, .55); box-shadow: 0 26px 54px rgba(14, 39, 72, .18); }
.expertise-card-dark:hover, .expertise-card-dark:focus-within { box-shadow: 0 30px 58px rgba(11, 31, 62, .38), 0 0 0 1px rgba(174, 214, 255, .3); }
.expertise-icon { display: grid; width: 82px; height: 82px; margin: 26px 0 31px; place-items: center; overflow: hidden; border: 1px solid rgba(43, 93, 148, .16); border-radius: 18px; background: #fff; box-shadow: 0 12px 24px rgba(27, 58, 99, .08); transition: transform .42s cubic-bezier(.2,.7,.2,1), box-shadow .42s ease; }
.expertise-icon img { width: 100%; height: 100%; object-fit: cover; }.expertise-card-dark .expertise-icon { border-color: rgba(255,255,255,.48); box-shadow: 0 13px 30px rgba(0,0,0,.2), 0 0 24px rgba(113, 190, 255, .22); }.expertise-card:hover .expertise-icon, .expertise-card:focus-within .expertise-icon { transform: translateY(-5px) rotate(-3deg) scale(1.09); box-shadow: 0 18px 34px rgba(24, 70, 123, .2), 0 0 0 6px rgba(115, 192, 247, .09); }


.method-steps .method-step { position: relative; overflow: hidden; border-color: rgba(205, 220, 237, .28); outline: none; transition: transform .42s cubic-bezier(.2,.7,.2,1), background .42s ease, box-shadow .42s ease; }.method-step::before { content: ''; position: absolute; z-index: -1; inset: 7px 6px; border: 1px solid transparent; transition: border-color .32s ease, box-shadow .32s ease; }.method-step::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg, transparent, #82cdf8, #f0c76b, #82cdf8, transparent); box-shadow: 0 0 13px 2px rgba(125, 207, 249, .56); transform: translateX(-135%); }.method-step.is-visible::after { animation: methodSignal 2.6s .3s ease-in-out both; }.method-step:nth-child(2).is-visible::after { animation-delay: .55s; }.method-step:nth-child(3).is-visible::after { animation-delay: .8s; }.method-step:nth-child(4).is-visible::after { animation-delay: 1.05s; }.method-step:hover, .method-step:focus { z-index: 2; transform: translateY(-8px) scale(1.045); background: linear-gradient(150deg, rgba(42, 84, 136, .45), rgba(17, 44, 82, .18)); box-shadow: 0 17px 35px rgba(0,0,0,.24); }.method-step:hover::before, .method-step:focus::before { border-color: rgba(135, 211, 255, .58); box-shadow: inset 0 0 24px rgba(91, 179, 235, .08), 0 0 18px rgba(106, 197, 247, .16); }.method-step:hover::after, .method-step:focus::after { animation: methodSignal 1.25s linear infinite; }.method-step:hover span, .method-step:focus span { box-shadow: 0 0 17px rgba(231, 190, 94, .58); background: rgba(18, 50, 91, .95); }

.collaboration-item { background: #e8edf1; }.gallery-trigger { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; color: inherit; cursor: zoom-in; }.gallery-trigger img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .42s ease; }.collaboration-item::after { z-index: 2; }.collaboration-item figcaption { z-index: 3; pointer-events: none; }.gallery-hint { position: absolute; z-index: 4; top: 13px; left: 13px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.45); background: rgba(10, 28, 52, .74); color: #fff; font-size: 8px; font-weight: 700; letter-spacing: .08em; opacity: 0; text-transform: uppercase; transform: translateY(7px); transition: opacity .25s ease, transform .25s ease; }.gallery-hint b { margin-left: 5px; color: #f5ca72; font-size: 11px; }.collaboration-item:hover .gallery-trigger img, .gallery-trigger:focus-visible img { transform: scale(1.09); filter: saturate(1.08) contrast(1.03); }.collaboration-item:hover .gallery-hint, .gallery-trigger:focus-visible .gallery-hint { opacity: 1; transform: translateY(0); }.gallery-trigger:focus-visible { outline: 3px solid #f0c76b; outline-offset: -5px; }
.image-lightbox { width: min(1100px, calc(100vw - 36px)); max-width: none; max-height: min(90vh, 900px); margin: auto; padding: 0; border: 0; overflow: visible; background: transparent; color: #fff; }.image-lightbox::backdrop { background: rgba(5, 17, 34, .9); backdrop-filter: blur(8px); }.image-lightbox[open] { animation: lightboxIn .28s ease-out both; }.lightbox-content { display: grid; max-height: min(90vh, 900px); place-items: center; padding: 16px; background: rgba(13, 33, 60, .62); box-shadow: 0 24px 80px rgba(0,0,0,.45); }.lightbox-content img { display: block; max-width: 100%; max-height: calc(90vh - 74px); object-fit: contain; }.lightbox-content p { margin: 12px 0 0; color: #dbe8f3; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; }.lightbox-close { position: absolute; z-index: 2; top: -14px; right: -14px; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: var(--terracotta); color: #fff; cursor: pointer; font-size: 28px; line-height: 1; transition: transform .2s ease, background .2s ease; }.lightbox-close:hover, .lightbox-close:focus-visible { transform: rotate(90deg) scale(1.08); background: #dd734e; }

.footer-top { grid-template-columns: 182px minmax(0, 1fr) auto; }.brand-footer .brand-lockup-image { width: 152px; height: 88px; padding: 2px; background: #fff; }.footer-bottom { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; }.footer-numbers { display: flex; justify-content: center; gap: 13px; }.footer-numbers a { color: #c5d5e5; transition: color .2s ease; }.footer-numbers a:hover, .footer-numbers a:focus-visible { color: #f2c86e; }.site-credit { text-align: right; }.site-credit strong, .site-credit a { color: #f2c86e; }.site-credit a { border-bottom: 1px solid rgba(242,200,110,.45); }

@keyframes gridPulse { 0%,100% { opacity: .42; } 50% { opacity: .83; } }
@keyframes orbitDrift { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(8px,-11px) scale(1.035); } }
@keyframes coreAura { 0%,100% { transform: translate(-50%,-50%) scale(.9); opacity: .55; } 50% { transform: translate(-50%,-50%) scale(1.08); opacity: 1; } }
@keyframes coreRing { to { transform: rotate(360deg); } }
@keyframes drawSignal { 0%,15% { stroke-dashoffset: 220; opacity: .3; } 48%,100% { stroke-dashoffset: 0; opacity: 1; } }
@keyframes nodeBlink { 0%,100% { opacity: .45; } 50% { opacity: 1; } }
@keyframes signalFloatOne { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-13px); } }
@keyframes signalFloatTwo { 0%,100% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(2deg) translateY(12px); } }
@keyframes signalFloatThree { 0%,100% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(0) translateY(-10px); } }
@keyframes sectionLightPass { to { transform: translateX(115%); } }
@keyframes transitionFade { 0% { opacity: 0; } 10%,65% { opacity: 1; } 100% { opacity: 0; } }
@keyframes transitionBeam { from { transform: translateX(-120%); } to { transform: translateX(120%); } }
@keyframes transitionLine { from { transform: translateX(-50px); } to { transform: translateX(calc(100vw + 50px)); } }
@keyframes methodSignal { 0% { transform: translateX(-135%); } 72%,100% { transform: translateX(135%); } }
@keyframes lightboxIn { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }

@media (max-width: 900px) {
  .header-inner { height: 90px; }.brand-lockup-image { width: 142px; height: 82px; }.main-navigation { inset: 90px 0 auto; }
  .hero { padding-top: 66px; }.hero-art { min-height: 390px; }.hero-signal { width: 122px; height: 122px; }.hero-signal svg { width: 54px; height: 54px; }.hero-signal-digital { left: 12%; }.hero-signal-literature { right: 10%; }.hero-signal-learning { left: 30%; }
  .footer-top { grid-template-columns: 160px 1fr auto; }.footer-bottom { grid-template-columns: 1fr; justify-items: start; }.footer-numbers { justify-content: start; flex-wrap: wrap; }.site-credit { text-align: left; }
}

@media (max-width: 600px) {
  .header-inner { height: 86px; }.brand-lockup-image { width: 122px; height: 76px; }.main-navigation { inset: 86px 0 auto; }
  .hero { padding-top: 46px; }.hero-art { min-height: 350px; margin-top: 18px; }.hero-art::before { inset: 3% -5% 0; }.hero-signal { width: 106px; height: 106px; border-radius: 18px; }.hero-signal svg { width: 46px; height: 46px; }.hero-signal span { bottom: 9px; font-size: 6px; }.hero-signal-digital { top: 2%; left: 1%; }.hero-signal-literature { top: 21%; right: 0; }.hero-signal-learning { bottom: 4%; left: 20%; }.signal-core { top: 48%; left: 49%; width: 61px; height: 61px; }.signal-core::before { inset: 7px; }.signal-core::after { inset: 19px; }.signal-core span:nth-child(1) { left: 26px; }.hero-signal-cluster::before { width: 230px; height: 230px; }
  .expertise-card:hover, .expertise-card:focus-within { transform: translateY(-5px) scale(1.01); }.expertise-icon { width: 72px; height: 72px; }
  .leadership-photo { min-height: 470px; }.method-step:hover, .method-step:focus { transform: translateY(-4px) scale(1.018); }.method-step::before { inset: 4px 0; }
  .gallery-hint { top: 8px; left: 8px; padding: 5px 6px; font-size: 6px; }.image-lightbox { width: calc(100vw - 24px); }.lightbox-content { padding: 8px; }.lightbox-close { top: -11px; right: -6px; width: 34px; height: 34px; }
  .footer-top { grid-template-columns: 1fr; }.brand-footer .brand-lockup-image { width: 142px; height: 84px; }.footer-numbers { gap: 6px 12px; font-size: 10px; }.footer-bottom { gap: 10px; }
}

/* Premium scroll storytelling - expertise sequence */
:root {
  --motion-fast: 180ms;
  --motion-base: 420ms;
  --motion-slow: 820ms;
  --ease-standard: cubic-bezier(.2, .7, .2, 1);
  --ease-enter: cubic-bezier(.16, 1, .3, 1);
  --ease-emphasized: cubic-bezier(.18, .82, .2, 1);
}

.horizontal-story { --story-progress: 0; --story-shift: 0%; --story-rotation: 0deg; --story-scale: 1; --story-morph-x: 0%; --story-light-x: -14%; --story-heading-opacity: 1; --story-heading-y: 0px; height: 310vh; padding: 0; overflow: clip; background: #eef3f7; }
.story-sticky { position: sticky; top: 0; height: 100svh; min-height: 700px; overflow: hidden; isolation: isolate; background: linear-gradient(120deg, #ecf3f7 0%, #faf8f2 45%, #e8eef6 100%); }
.story-sticky::before { content: ''; position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at calc(73% - var(--story-shift)), 56%, rgba(108, 181, 234, .22), transparent 26%), radial-gradient(circle at calc(28% + var(--story-shift)), 82%, rgba(210, 143, 91, .13), transparent 28%); transition: background var(--motion-base) linear; }
.story-sticky::after { content: ''; position: absolute; z-index: -1; top: 21%; right: -9vw; width: 48vw; height: 48vw; max-height: 670px; max-width: 670px; border: 1px solid rgba(35, 88, 151, .17); border-radius: 43% 57% 65% 35% / 45% 38% 62% 55%; box-shadow: inset 0 0 100px rgba(104, 180, 233, .08), 0 0 75px rgba(234, 189, 116, .08); transform: rotate(calc(-12deg + var(--story-rotation))) scale(var(--story-scale)); }
.story-morph { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; opacity: .8; transform: translate3d(var(--story-morph-x), 0, 0) scale(var(--story-scale)); }
.story-heading { position: relative; z-index: 3; width: var(--container); margin-inline: auto; padding-top: clamp(140px, 17vh, 185px); opacity: var(--story-heading-opacity); pointer-events: none; transform: translate3d(0, var(--story-heading-y), 0); }
.horizontal-story .story-heading[data-reveal], .horizontal-story .story-heading[data-reveal].is-visible { opacity: var(--story-heading-opacity); transform: translate3d(0, var(--story-heading-y), 0); }
.story-heading h2 { max-width: 510px; margin-bottom: 18px; font-size: clamp(41px, 4.2vw, 64px); }.story-heading > p:last-child { max-width: 300px; margin: 0; color: #617080; font-size: 14px; line-height: 1.7; }
.story-progress { position: absolute; z-index: 4; top: 50%; right: clamp(24px, 4vw, 60px); display: grid; gap: 9px; align-items: center; color: #466182; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-align: center; transform: translateY(-50%); }.story-progress span { display: block; width: 1px; height: 124px; margin-inline: auto; overflow: hidden; background: rgba(49, 87, 126, .22); }.story-progress span::after { content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(#83ccf5, #e8b960); transform: scaleY(var(--story-progress)); transform-origin: top; }.story-progress i { font-style: normal; opacity: .46; }
.story-viewport { position: absolute; z-index: 2; inset: 0; overflow: hidden; }.expertise-track { position: absolute; top: clamp(275px, 31vh, 350px); left: 0; display: flex; align-items: stretch; gap: clamp(86px, 11vw, 180px); width: max-content; padding-left: clamp(520px, 46vw, 660px); padding-right: 15vw; will-change: transform; }.expertise-panel { position: relative; display: flex; flex: 0 0 min(760px, 55vw); min-height: min(490px, 55vh); padding: clamp(27px, 3vw, 50px); justify-content: space-between; overflow: hidden; border: 1px solid rgba(63, 111, 163, .28); background: rgba(255, 255, 255, .7); box-shadow: 0 34px 84px rgba(20, 53, 94, .13); clip-path: polygon(7% 0, 100% 0, 100% 90%, 94% 100%, 0 100%, 0 9%); opacity: .3; transform: translate3d(0, 28px, 0) scale(.95); transition: clip-path var(--motion-slow) var(--ease-enter), transform var(--motion-slow) var(--ease-enter), opacity var(--motion-base) ease, filter var(--motion-base) ease; }.expertise-panel.is-current { clip-path: polygon(3% 0, 100% 0, 100% 96%, 97% 100%, 0 100%, 0 4%); opacity: 1; transform: translate3d(0, 0, 0) scale(1); }.expertise-panel::after { content: ''; position: absolute; inset: -40% -25%; z-index: -1; background: linear-gradient(110deg, transparent 37%, rgba(149, 213, 250, .3) 48%, rgba(255,255,255,.68) 50%, rgba(241, 196, 103, .22) 53%, transparent 64%); transform: translateX(var(--story-light-x)); }.expertise-panel.expertise-card-dark { border-color: rgba(151, 205, 248, .44); background: linear-gradient(148deg, #102a50, #173e6f 58%, #12325d); }.expertise-panel.expertise-card-dark::after { z-index: 0; background: linear-gradient(110deg, transparent 35%, rgba(117, 203, 250, .16) 48%, rgba(255,255,255,.17) 50%, rgba(242, 198, 102, .13) 53%, transparent 65%); }.expertise-panel.expertise-card-dark > *:not(.panel-circuit) { position: relative; z-index: 1; }.expertise-panel .card-index { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 12px; }.expertise-panel .card-index small { color: currentColor; font-size: 9px; font-weight: 700; letter-spacing: .12em; opacity: .72; text-transform: uppercase; }.expertise-panel h3 { font-size: clamp(34px, 3.2vw, 52px); }.expertise-panel p { max-width: 420px; font-size: 16px; }.expertise-panel a { position: relative; z-index: 2; width: fit-content; padding-bottom: 5px; border-bottom: 1px solid currentColor; }.expertise-panel .expertise-icon { width: 106px; height: 106px; margin: 30px 0 36px; border-radius: 23px; }.expertise-panel:hover, .expertise-panel:focus-within { transform: translate3d(0, -8px, 0) scale(1.012); }.expertise-card-literature { color: var(--ink); background: linear-gradient(150deg, rgba(255,255,255,.88), rgba(250, 239, 229, .72)); }.expertise-card-learning { background: linear-gradient(150deg, rgba(255,255,255,.89), rgba(226, 237, 248, .77)); }.expertise-card-literature .card-index, .expertise-card-learning .card-index { color: #9c613f; }.expertise-card-learning .card-index { color: #4f749d; }
.panel-circuit, .panel-pages, .panel-target { position: absolute; z-index: 0; right: -24px; bottom: -38px; width: 230px; height: 230px; pointer-events: none; }.panel-circuit::before, .panel-circuit::after { content: ''; position: absolute; inset: 24px; border: 1px solid rgba(146, 207, 247, .48); border-radius: 50%; }.panel-circuit::after { inset: 68px; box-shadow: 0 0 36px rgba(124, 204, 247, .34); }.panel-circuit span { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #9edbff; box-shadow: 0 0 14px #9edbff; animation: circuitNode 3.4s ease-in-out infinite; }.panel-circuit span:nth-child(1) { top: 23px; left: 57px; }.panel-circuit span:nth-child(2) { right: 40px; top: 76px; animation-delay: -.9s; }.panel-circuit span:nth-child(3) { bottom: 31px; left: 76px; animation-delay: -1.8s; }.panel-pages { transform: rotate(-17deg); }.panel-pages span { position: absolute; width: 142px; height: 185px; border: 1px solid rgba(191, 101, 66, .23); background: rgba(255,255,255,.23); box-shadow: 12px 12px 0 rgba(191, 101, 66, .08); }.panel-pages span:first-child { top: 20px; left: 22px; transform: rotate(8deg); }.panel-pages span:last-child { top: 0; left: 72px; }.panel-target { border: 1px solid rgba(61, 123, 182, .23); border-radius: 50%; }.panel-target::before, .panel-target::after { content: ''; position: absolute; border: 1px solid rgba(61, 123, 182, .26); border-radius: 50%; }.panel-target::before { inset: 34px; }.panel-target::after { inset: 73px; }.panel-target span { position: absolute; width: 1px; height: 235px; top: -3px; left: 50%; background: linear-gradient(transparent, rgba(203,151,55,.55), transparent); transform: rotate(48deg); }.panel-target span:last-child { transform: rotate(-39deg); }

@keyframes circuitNode { 0%,100% { transform: scale(.75); opacity: .4; } 50% { transform: scale(1.3); opacity: 1; } }

@media (max-width: 900px) {
  .horizontal-story { height: auto; padding: 80px 0; overflow: hidden; }.story-sticky { position: relative; height: auto; min-height: 0; overflow: visible; background: transparent; }.story-sticky::before, .story-sticky::after, .story-morph { display: none; }.story-heading { width: var(--container); padding-top: 0; pointer-events: auto; }.story-heading > p:last-child { max-width: 530px; }.story-progress { display: none; }.story-viewport { position: relative; overflow: visible; margin-top: 38px; }.expertise-track { position: relative; top: auto; display: grid; width: var(--container); gap: 16px; margin-inline: auto; padding: 0; transform: none !important; }.expertise-panel, .expertise-panel.is-current { display: flex; min-height: 350px; opacity: 1; transform: none; clip-path: polygon(4% 0, 100% 0, 100% 95%, 96% 100%, 0 100%, 0 5%); }.expertise-panel .expertise-icon { width: 88px; height: 88px; }.expertise-panel h3 { font-size: 39px; }.expertise-panel p { font-size: 15px; }
}

@media (max-width: 600px) {
  .horizontal-story { padding: 74px 0; }.story-heading h2 { font-size: clamp(36px, 10vw, 49px); }.expertise-panel, .expertise-panel.is-current { min-height: 320px; padding: 25px; }.expertise-panel .expertise-icon { width: 73px; height: 73px; margin: 18px 0 23px; border-radius: 17px; }.expertise-panel h3 { margin-bottom: 9px; font-size: 33px; }.expertise-panel p { max-width: 285px; font-size: 14px; }.expertise-panel .card-index small { font-size: 8px; }.panel-circuit, .panel-pages, .panel-target { right: -53px; bottom: -78px; transform: scale(.7); transform-origin: bottom right; }.panel-pages { transform: rotate(-17deg) scale(.7); }.panel-target { transform: scale(.7); }.expertise-panel::after { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .horizontal-story { height: auto; padding: 80px 0; overflow: hidden; }.story-sticky { position: relative; height: auto; min-height: 0; overflow: visible; }.story-morph, .story-sticky::before, .story-sticky::after { display: none; }.story-heading { padding-top: 0; }.story-progress { display: none; }.story-viewport { position: relative; overflow: visible; margin-top: 38px; }.expertise-track { position: relative; top: auto; display: grid; width: var(--container); gap: 16px; margin-inline: auto; padding: 0; transform: none !important; }.expertise-panel, .expertise-panel.is-current { min-height: 340px; opacity: 1; transform: none; clip-path: none; }
}

/* Prism motion direction: vertical, tactile, and intentionally restrained. */
:root {
  --motion-fast: 180ms;
  --motion-base: 460ms;
  --motion-slow: 860ms;
  --ease-enter: cubic-bezier(.16, 1, .3, 1);
  --ease-soft: cubic-bezier(.22, .7, .2, 1);
}

[data-reveal] { opacity: 0; clip-path: inset(0 0 24% 0); transform: translate3d(0, 30px, 0); transition: opacity var(--motion-base) ease, transform var(--motion-slow) var(--ease-enter), clip-path var(--motion-slow) var(--ease-enter); }
[data-reveal].is-visible { opacity: 1; clip-path: inset(0 0 0 0); transform: translate3d(0, 0, 0); }

.hero-art::before { background-size: 180% 180%; animation: heroGradientDrift 16s ease-in-out infinite; }
.art-grid { position: absolute; overflow: hidden; opacity: .48; animation: none; }
.art-grid::after { content: ''; position: absolute; inset: -20% auto -20% 0; width: 1px; background: linear-gradient(transparent, rgba(109, 193, 241, .9), rgba(234, 186, 102, .7), transparent); box-shadow: 0 0 16px rgba(95, 183, 238, .66); animation: gridScanner 6.6s var(--ease-soft) infinite; }
.hero-signal-cluster::before { animation: coreBreathe 5.4s ease-in-out infinite; }
.signal-core::before, .signal-core::after { animation: none; }
.signal-core::before { border-color: rgba(116, 196, 238, .68); }
.signal-core::after { border-color: rgba(209, 158, 66, .62); transform: scale(.72); }
.hero-signal { --entry-x: 0px; --entry-y: 18px; --signal-rotation: 0deg; transform: rotate(var(--signal-rotation)); will-change: transform, opacity; animation: signalSettle .9s var(--ease-enter) both; }
.hero-signal-digital { --entry-x: -38px; --entry-y: 20px; --signal-rotation: -3deg; animation-delay: .12s; }
.hero-signal-literature { --entry-x: 34px; --entry-y: 18px; --signal-rotation: 5deg; animation-delay: .28s; }
.hero-signal-learning { --entry-x: -12px; --entry-y: 38px; --signal-rotation: 3deg; animation-delay: .44s; }
.hero-signal svg path { animation: glyphTrace 1.4s var(--ease-enter) both; }
.hero-signal svg circle { animation: nodePulse 3.8s ease-in-out infinite; }

.section::after { right: 7%; left: 7%; height: 2px; background: linear-gradient(90deg, transparent, rgba(104, 193, 241, .88), rgba(232, 183, 96, .94), transparent); transform: scaleX(0); transform-origin: left; }
.section.is-illuminated::after { animation: sectionSignal 1.1s var(--ease-enter) both; }
.page-transition { background: rgba(8, 26, 52, .02); }
.page-transition::before { inset: -18% -30%; background: linear-gradient(105deg, transparent 34%, rgba(29, 78, 132, .18) 42%, rgba(241, 250, 255, .9) 49%, rgba(229, 180, 85, .42) 54%, transparent 62%); clip-path: polygon(0 0, 88% 0, 100% 100%, 12% 100%); transform: translateX(-105%); }
.page-transition span { width: 1px; background: #d8f1ff; box-shadow: 0 0 17px 5px rgba(122, 210, 255, .82), 0 0 48px 13px rgba(219, 178, 88, .26); transform: translateX(-55px) skewX(-12deg); }
.page-transition.is-active { animation: prismFade .72s ease-out both; }
.page-transition.is-active::before { animation: prismWipe .72s var(--ease-enter) both; }
.page-transition.is-active span { animation: prismLine .72s var(--ease-enter) both; }

.prism-expertises { isolation: isolate; overflow: hidden; background: radial-gradient(circle at 9% 26%, rgba(102, 180, 232, .13), transparent 27%), radial-gradient(circle at 92% 79%, rgba(224, 171, 76, .13), transparent 23%), #f1f5f7; }
.prism-expertises::before { content: ''; position: absolute; z-index: -1; top: -17vw; right: -10vw; width: 42vw; height: 42vw; border: 1px solid rgba(45, 99, 156, .18); clip-path: polygon(23% 0, 100% 19%, 74% 100%, 0 75%); transform: rotate(18deg); }
.prism-expertise-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .52fr); gap: clamp(42px, 9vw, 132px); align-items: end; margin-bottom: clamp(40px, 6vw, 76px); }
.prism-expertise-heading h2 { margin: 0; }.prism-expertise-heading > p { max-width: 340px; margin: 0 0 7px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.prism-expertise-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.1vw, 30px); align-items: start; }
.prism-expertise-grid::before { content: ''; position: absolute; z-index: -1; top: 51%; right: 4%; left: 4%; height: 1px; background: linear-gradient(90deg, transparent, rgba(87, 147, 199, .4), rgba(220, 169, 78, .44), transparent); }
.prism-card { position: relative; min-height: 485px; padding: clamp(25px, 2.4vw, 37px); overflow: hidden; border-color: rgba(69, 110, 151, .25); box-shadow: 0 22px 58px rgba(22, 52, 85, .1); clip-path: polygon(8% 0, 100% 0, 100% 88%, 92% 100%, 0 100%, 0 12%); transition: transform var(--motion-base) var(--ease-enter), border-color var(--motion-base) ease, box-shadow var(--motion-base) ease; }
.prism-card:nth-child(2) { margin-top: clamp(28px, 4vw, 62px); transition-delay: 100ms; }.prism-card:nth-child(3) { margin-top: clamp(9px, 1.8vw, 26px); transition-delay: 180ms; }
.prism-card[data-reveal] { opacity: 0; clip-path: inset(0 0 20% 0); transform: translate3d(0, 42px, 0); }.prism-card[data-reveal].is-visible { opacity: 1; clip-path: polygon(8% 0, 100% 0, 100% 88%, 92% 100%, 0 100%, 0 12%); transform: translate3d(0, 0, 0); }
.prism-card::before { content: ''; position: absolute; z-index: 0; inset: -45% -70%; background: linear-gradient(112deg, transparent 42%, rgba(114, 204, 250, .17) 48%, rgba(255,255,255,.52) 51%, rgba(236, 184, 85, .17) 55%, transparent 61%); pointer-events: none; transform: translate3d(-56%, 0, 0) rotate(9deg); }
.prism-card.is-visible::before { animation: prismCardSweep 1.15s .16s var(--ease-enter) both; }.prism-card::after { content: ''; position: absolute; z-index: 0; inset: 10px; border: 1px solid rgba(76, 133, 185, .16); clip-path: polygon(7% 0, 100% 0, 100% 92%, 94% 100%, 0 100%, 0 8%); opacity: .75; pointer-events: none; transform: scale(.99); transition: transform var(--motion-base) var(--ease-soft), opacity var(--motion-base) ease; }
.prism-card > *:not(.panel-circuit):not(.panel-pages):not(.panel-target) { position: relative; z-index: 1; }.prism-card .card-index { display: flex; justify-content: space-between; gap: 12px; }.prism-card .card-index small { color: currentColor; font-size: 9px; font-weight: 700; letter-spacing: .12em; opacity: .72; text-transform: uppercase; }.prism-card h3 { max-width: 280px; margin-bottom: 14px; font-size: clamp(28px, 2.35vw, 37px); line-height: 1.03; }.prism-card p { max-width: 286px; font-size: 14px; }.prism-card a { position: relative; z-index: 1; width: fit-content; padding-bottom: 4px; border-bottom: 1px solid currentColor; }
.prism-card:hover, .prism-card:focus-within { z-index: 2; border-color: rgba(91, 158, 211, .62); box-shadow: 0 31px 70px rgba(15, 43, 76, .2); transform: translate3d(0, -11px, 0) rotate(.35deg); }.prism-card:hover::after, .prism-card:focus-within::after { opacity: 1; transform: scale(1); }.prism-card:hover::before, .prism-card:focus-within::before { animation: prismCardSweep .75s var(--ease-enter) both; }
.prism-card.expertise-card-dark { border-color: rgba(155, 207, 244, .46); background: linear-gradient(145deg, #0e294d, #1a477e); }.prism-card.expertise-card-dark::after { border-color: rgba(187, 229, 255, .25); }.prism-card.expertise-card-literature { background: linear-gradient(150deg, #fffdfa, #f5eade); }.prism-card.expertise-card-learning { background: linear-gradient(150deg, #fafdff, #e3eff9); }.prism-card.expertise-card-literature .card-index { color: #9c613f; }.prism-card.expertise-card-learning .card-index { color: #4f749d; }
.prism-card .expertise-icon { position: relative; z-index: 1; width: 90px; height: 90px; margin: 29px 0 32px; border-radius: 20px; }.prism-card:hover .expertise-icon, .prism-card:focus-within .expertise-icon { transform: translateY(-4px) scale(1.04); }
.prism-card .panel-circuit, .prism-card .panel-pages, .prism-card .panel-target { z-index: 0; }

.method-step:hover, .method-step:focus { transform: translate3d(0, -6px, 0); }

@keyframes heroGradientDrift { 0%, 100% { background-position: 0% 45%; } 50% { background-position: 100% 56%; } }
@keyframes gridScanner { 0%, 24% { transform: translateX(-42px); opacity: 0; } 34%, 64% { opacity: 1; } 78%, 100% { transform: translateX(190px); opacity: 0; } }
@keyframes coreBreathe { 0%, 100% { transform: translate(-50%, -50%) scale(.92); opacity: .48; } 50% { transform: translate(-50%, -50%) scale(1.06); opacity: .88; } }
@keyframes signalSettle { from { opacity: 0; transform: translate3d(var(--entry-x), var(--entry-y), 0) rotate(var(--signal-rotation)); } to { opacity: 1; transform: translate3d(0, 0, 0) rotate(var(--signal-rotation)); } }
@keyframes glyphTrace { from { stroke-dashoffset: 220; opacity: .25; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes nodePulse { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }
@keyframes sectionSignal { 0% { transform: scaleX(0); transform-origin: left; opacity: 0; } 38% { opacity: 1; } 70% { transform: scaleX(1); transform-origin: left; } 100% { transform: scaleX(0); transform-origin: right; opacity: 0; } }
@keyframes prismFade { 0% { opacity: 0; } 14%, 72% { opacity: 1; } 100% { opacity: 0; } }
@keyframes prismWipe { from { transform: translateX(-105%); } to { transform: translateX(105%); } }
@keyframes prismLine { from { transform: translateX(-55px) skewX(-12deg); } to { transform: translateX(calc(100vw + 55px)) skewX(-12deg); } }
@keyframes prismCardSweep { from { transform: translate3d(-56%, 0, 0) rotate(9deg); } to { transform: translate3d(56%, 0, 0) rotate(9deg); } }

@media (max-width: 900px) {
  .prism-expertise-heading { grid-template-columns: 1fr; gap: 16px; }.prism-expertise-heading > p { max-width: 580px; }.prism-expertise-grid { grid-template-columns: 1fr; gap: 17px; }.prism-expertise-grid::before { display: none; }.prism-card, .prism-card:nth-child(2), .prism-card:nth-child(3) { min-height: 365px; margin-top: 0; }.prism-card:nth-child(2), .prism-card:nth-child(3) { transition-delay: 0ms; }.prism-card h3 { max-width: 480px; font-size: 39px; }.prism-card p { max-width: 540px; }.prism-expertises::before { width: 58vw; height: 58vw; }
}

@media (max-width: 600px) {
  .prism-expertise-heading { margin-bottom: 34px; }.prism-expertise-heading h2 { font-size: clamp(36px, 10vw, 49px); }.prism-card, .prism-card:nth-child(2), .prism-card:nth-child(3) { min-height: 326px; padding: 25px; }.prism-card h3 { font-size: 33px; }.prism-card p { max-width: 286px; }.prism-card .expertise-icon { width: 73px; height: 73px; margin: 19px 0 24px; border-radius: 17px; }.prism-card .panel-circuit, .prism-card .panel-pages, .prism-card .panel-target { right: -53px; bottom: -78px; transform: scale(.7); transform-origin: bottom right; }.prism-card .panel-pages { transform: rotate(-17deg) scale(.7); }.prism-card::after { inset: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal].is-visible, .prism-card[data-reveal], .prism-card[data-reveal].is-visible { opacity: 1; clip-path: none; transform: none; }.hero-art::before, .art-grid::after, .hero-signal-cluster::before, .hero-signal, .hero-signal svg path, .hero-signal svg circle, .prism-card::before { animation: none !important; }.prism-card::before { display: none; }
}

/* Lens Motion: smooth zoom, geometric masks, and dimensional hero signals. */
[data-reveal] { opacity: 0; clip-path: polygon(0 7%, 100% 0, 100% 93%, 0 100%); transform: translate3d(0, 26px, 0) scale(.955); transition: opacity 520ms ease, transform 980ms cubic-bezier(.16, 1, .3, 1), clip-path 980ms cubic-bezier(.16, 1, .3, 1); }
[data-reveal].is-visible { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); transform: translate3d(0, 0, 0) scale(1); }

.hero-art { perspective: 1500px; perspective-origin: 50% 46%; transform-style: preserve-3d; }
.hero-art::before { background: linear-gradient(125deg, #e4eef7 0%, #f9f5ec 43%, #d6e9f8 69%, #f2e1bd 100%); background-size: 260% 260%; animation: lensGradient 18s ease-in-out infinite; transform: translateZ(-100px) scale(1.04); }
.hero-art::after { transform: translateZ(-42px) rotateX(52deg) rotateZ(-12deg); transform-origin: center; animation: lensFrameFloat 9s ease-in-out infinite; }
.hero-signal-cluster { transform-style: preserve-3d; }
.hero-signal-cluster::before { animation: dimensionalHalo 7.2s ease-in-out infinite; }
.signal-core { transform: translate(-50%, -50%) translateZ(28px); transform-style: preserve-3d; animation: coreAxis 10s ease-in-out infinite; }
.signal-core::before, .signal-core::after { transform-style: preserve-3d; }
.signal-core::before { transform: translateZ(12px) scale(.88); }.signal-core::after { transform: translateZ(24px) scale(.62); }
.hero-signal { --depth: 42px; --tilt-x: 7deg; --tilt-y: -14deg; --drift-x: 8px; --drift-y: -12px; --signal-rotation: 0deg; transform-style: preserve-3d; background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(231, 243, 251, .52), rgba(255,255,255,.72)); background-size: 180% 180%; box-shadow: 0 23px 48px rgba(10, 40, 79, .16), inset 0 1px 0 rgba(255,255,255,.95); animation: signalDimension 8.8s cubic-bezier(.42, 0, .18, 1) infinite; }
.hero-signal::before { background-size: 220% 220%; animation: signalGradient 5.8s linear infinite; }
.hero-signal svg { transform: translateZ(26px); }.hero-signal span { transform: translateZ(32px); }
.hero-signal-digital { --depth: 44px; --tilt-x: 9deg; --tilt-y: -18deg; --drift-x: -9px; --drift-y: -16px; --signal-rotation: -5deg; animation-delay: -1.5s; }
.hero-signal-literature { --depth: 92px; --tilt-x: -12deg; --tilt-y: 17deg; --drift-x: 11px; --drift-y: 14px; --signal-rotation: 6deg; animation-delay: -4.2s; }
.hero-signal-learning { --depth: 58px; --tilt-x: 11deg; --tilt-y: -8deg; --drift-x: -13px; --drift-y: 10px; --signal-rotation: 4deg; animation-delay: -6.4s; }

.prism-expertises { background: radial-gradient(circle at 8% 22%, rgba(112, 192, 241, .2), transparent 30%), radial-gradient(circle at 89% 78%, rgba(235, 181, 83, .19), transparent 28%), linear-gradient(135deg, #f2f7fa, #f9f6ee 48%, #eaf3f8); background-size: 155% 155%; animation: lensGradient 21s ease-in-out infinite reverse; }
.prism-card[data-reveal] { opacity: 0; clip-path: polygon(0 10%, 92% 0, 100% 91%, 8% 100%); transform: translate3d(0, 34px, 0) scale(.9); }.prism-card[data-reveal].is-visible { opacity: 1; clip-path: polygon(8% 0, 100% 0, 100% 88%, 92% 100%, 0 100%, 0 12%); transform: translate3d(0, 0, 0) scale(1); }
.prism-card::before { background: linear-gradient(112deg, transparent 28%, rgba(104, 197, 248, .14) 43%, rgba(255,255,255,.56) 50%, rgba(240, 187, 82, .18) 57%, transparent 72%); background-size: 220% 100%; transform: translate3d(-48%, 0, 0) rotate(9deg); }
.prism-card.is-visible::before { animation: cardGradientGlide 8s ease-in-out infinite; }.prism-card:hover, .prism-card:focus-within { transform: translate3d(0, -8px, 0) scale(1.025); box-shadow: 0 34px 76px rgba(15, 43, 76, .22); }
.prism-card.expertise-card-dark { background: linear-gradient(145deg, #0d294e, #1b4a82, #102f59); background-size: 180% 180%; animation: cardSurfaceGradient 10s ease-in-out infinite; }.prism-card.expertise-card-literature { background: linear-gradient(150deg, #fffdfa, #f7ecdf, #fffaf3); background-size: 180% 180%; animation: cardSurfaceGradient 12s ease-in-out infinite reverse; }.prism-card.expertise-card-learning { background: linear-gradient(150deg, #fafdff, #e4f0fa, #f8fbfc); background-size: 180% 180%; animation: cardSurfaceGradient 11s ease-in-out infinite; }

.leadership-photo { clip-path: polygon(5% 0, 100% 0, 100% 95%, 95% 100%, 0 100%, 0 5%); }.leadership-photo img { transition: transform 1.05s cubic-bezier(.16, 1, .3, 1); will-change: transform; }.leadership-photo:hover img { transform: scale(1.065); }.leadership-photo::after { content: ''; position: absolute; z-index: 2; inset: 10px; border: 1px solid rgba(45, 96, 150, .18); clip-path: inherit; pointer-events: none; transform: scale(.985); transition: transform 850ms cubic-bezier(.16, 1, .3, 1), border-color 450ms ease; }.leadership-photo:hover::after { border-color: rgba(197, 143, 61, .52); transform: scale(1); }
.contact-email { display: inline-flex; transform-origin: left center; transition: transform 260ms cubic-bezier(.16, 1, .3, 1), color 260ms ease, border-color 260ms ease; }.contact-email:hover, .contact-email:focus-visible { transform: scale(1.035); color: #fff6dd; }
.footer-bottom { grid-template-columns: minmax(0, 1fr) auto; }.site-credit strong { color: inherit; }

@keyframes lensGradient { 0%, 100% { background-position: 0% 45%; } 50% { background-position: 100% 55%; } }
@keyframes lensFrameFloat { 0%, 100% { transform: translateZ(-42px) rotateX(52deg) rotateZ(-12deg) scale(1); } 50% { transform: translateZ(-25px) rotateX(58deg) rotateZ(-7deg) scale(1.04); } }
@keyframes dimensionalHalo { 0%, 100% { transform: translate(-50%, -50%) translateZ(-58px) scale(.9); opacity: .48; } 50% { transform: translate(-50%, -50%) translateZ(-35px) scale(1.12); opacity: .9; } }
@keyframes coreAxis { 0%, 100% { transform: translate(-50%, -50%) translateZ(28px) rotateX(0) rotateY(0); } 50% { transform: translate(-50%, -50%) translateZ(44px) rotateX(18deg) rotateY(22deg); } }
@keyframes signalDimension { 0%, 100% { transform: translate3d(0, 0, var(--depth)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(var(--signal-rotation)) scale(1); } 50% { transform: translate3d(var(--drift-x), var(--drift-y), calc(var(--depth) + 34px)) rotateX(calc(var(--tilt-x) + 8deg)) rotateY(calc(var(--tilt-y) - 10deg)) rotateZ(var(--signal-rotation)) scale(1.06); } }
@keyframes signalGradient { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes cardGradientGlide { 0%, 100% { background-position: 0% 50%; transform: translate3d(-48%, 0, 0) rotate(9deg); } 50% { background-position: 100% 50%; transform: translate3d(48%, 0, 0) rotate(9deg); } }
@keyframes cardSurfaceGradient { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

@media (max-width: 900px) {
  .hero-art { perspective: 1050px; }.hero-signal { --depth: 22px; }.hero-signal-digital { --depth: 26px; }.hero-signal-literature { --depth: 48px; }.hero-signal-learning { --depth: 34px; }
}

@media (max-width: 600px) {
  .hero-art { perspective: 820px; }.hero-signal { --depth: 12px; --drift-x: 4px; --drift-y: -6px; }.hero-signal-literature { --depth: 24px; }.hero-signal-learning { --depth: 18px; }.leadership-photo:hover img { transform: none; }.footer-bottom { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal].is-visible, .prism-card[data-reveal], .prism-card[data-reveal].is-visible { opacity: 1; clip-path: none; transform: none; }.hero-art::before, .hero-art::after, .hero-signal-cluster::before, .signal-core, .hero-signal, .hero-signal::before, .prism-expertises, .prism-card::before, .prism-card.expertise-card-dark, .prism-card.expertise-card-literature, .prism-card.expertise-card-learning { animation: none !important; }.hero-signal { transform: rotate(var(--signal-rotation)); }.leadership-photo { clip-path: none; }.leadership-photo:hover img { transform: none; }
}

/* Expertise cards: tactile smooth-zoom treatment. */
.prism-expertise-grid { perspective: 1600px; }
.prism-card { transform-origin: center center; will-change: transform; transition: transform 720ms cubic-bezier(.16, 1, .3, 1), box-shadow 720ms cubic-bezier(.16, 1, .3, 1), border-color 420ms ease; }
.prism-card::after { transition: transform 720ms cubic-bezier(.16, 1, .3, 1), opacity 480ms ease, border-color 480ms ease; }

@media (hover: hover) and (pointer: fine) {
  .prism-card:hover, .prism-card:focus-within { z-index: 3; box-shadow: 0 42px 86px rgba(12, 37, 70, .25); }
  .prism-card:nth-child(1):hover, .prism-card:nth-child(1):focus-within { transform: translate3d(0, -14px, 18px) rotateY(-1.25deg) rotateZ(-.35deg) scale(1.045); }
  .prism-card:nth-child(2):hover, .prism-card:nth-child(2):focus-within { transform: translate3d(0, -16px, 28px) rotateX(1.15deg) scale(1.055); }
  .prism-card:nth-child(3):hover, .prism-card:nth-child(3):focus-within { transform: translate3d(0, -14px, 18px) rotateY(1.25deg) rotateZ(.35deg) scale(1.045); }
  .prism-card:hover::after, .prism-card:focus-within::after { border-color: rgba(118, 202, 245, .58); box-shadow: inset 0 0 30px rgba(126, 206, 248, .08); opacity: 1; transform: scale(1.012); }
  .prism-card:hover .expertise-icon, .prism-card:focus-within .expertise-icon { transform: translate3d(0, -7px, 26px) scale(1.12); }
}

@media (prefers-reduced-motion: reduce) {
  .prism-card, .prism-card:hover, .prism-card:focus-within, .prism-card:nth-child(1):hover, .prism-card:nth-child(2):hover, .prism-card:nth-child(3):hover { transform: none; }
}
