/* PAC MARKETING / WHITE MOTION — v2.3.0
   Lightweight visual layer, no external fonts, libraries or build step.
   Adjust brand variables here to fine-tune the design. */
:root {
  --navy: #142630;
  --navy-dark: #0d1b25;
  --ink: #1c292f;
  --slate: #627076;
  --soft: #9da9a9;
  --gold: #b3a289;
  --gold-dark: #927d64;
  --cream: #f8f7f3;
  --white: #fff;
  --line: #e4e7e6;
  --header: 84px;
  --ease-elegant: cubic-bezier(.22,1,.36,1);
}
html { scroll-padding-top: 102px; }
body { background: #fff; }
::selection { background: #d7e9f2; color: var(--navy); }
.container { width: min(1280px,calc(100% - 112px)); }
.container.wide { width: min(1540px,calc(100% - 100px)); }
.section-pad { padding-block: clamp(108px,10vw,170px); }
.eyebrow { color: #647c86; font-size: 11px; letter-spacing: .23em; font-weight: 600; }
.eyebrow.light { color: #a8bcc4; }
.display-heading { font-weight: 530; letter-spacing: -.065em; line-height: 1.43; }
.em-serif { font-weight: 400; font-style: normal; }
.text-link { font-weight: 500; font-size: 13px; border-bottom-color: #9aa6a8; padding-bottom: 13px; transition: gap .45s var(--ease-elegant),color .25s,border-color .25s; }
.text-link:hover { color: #285b72; border-color: #285b72; }
.btn { font-size: 13px; min-height: 58px; font-weight: 600; transition: transform .5s var(--ease-elegant),background .25s,color .25s; }
.btn-gold { background: var(--navy); color: #fff; }
.btn-gold:hover { background: #2d4e60; }
.btn-dark { background: var(--navy); }
.btn-outline-light { border-color: rgba(255,255,255,.5); }

/* Understated editorial header */
.site-header { height: var(--header); background: rgba(255,255,255,.93); border-bottom: 1px solid #eceeed; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transition: height .5s var(--ease-elegant),box-shadow .4s; }
.site-header.scrolled { height: 70px; box-shadow: 0 12px 38px rgba(18,31,35,.055); }
.site-header .header-inner { gap: 28px; }
.brand { gap: 10px; }
.brand img { width: 92px; }
.brand-label { border-left:1px solid #d9e0df; color: #31454f; font-size: 10px; letter-spacing: .13em; padding-left: 16px; font-weight: 600; }
.brand-label small { color: #7b8a8e; font-size: 10px; font-weight: 500; }
.desktop-nav { gap: clamp(22px,2.8vw,46px); }
.desktop-nav a { color: #45555b; font-weight: 500; font-size: 13px; transition: color .3s; }
.desktop-nav a:hover { color: #102a3b; }
.desktop-nav a:after { height: 1px; bottom: 4px; background: #243e4d; }
.header-contact { background: transparent; color: var(--ink); border:1px solid #cbd4d4; padding: 13px 17px; gap: 22px; font-weight: 600; font-size: 12px; transition: color .3s, background .3s,border-color .3s; }
.header-contact span { color: #376680; }
.header-contact:hover { color: white; background: var(--navy); border-color: var(--navy); }
.header-contact:hover span { color: white; }
.page-progress { height:2px; position:fixed; z-index: 300; top:0; left:0; right:0; pointer-events:none; }
.page-progress span { display:block; width:100%; height:100%; background:#6e9bb0; transform:scaleX(0); transform-origin:left; will-change:transform; }

/* Airy hero: natural image / typography / kinetic details */
.home-hero { background: #faf9f7; color: var(--ink); min-height: 740px; isolation:isolate; }
.home-hero:before { content:""; z-index:0; position:absolute; inset:0; background:linear-gradient(90deg,transparent 49.96%, rgba(22,48,62,.04) 50%,transparent 50.04%),radial-gradient(ellipse at 92% 8%,rgba(206,225,234,.43),transparent 38%); pointer-events:none; }
.hero-noise { opacity: .5; background-image: repeating-linear-gradient(90deg,rgba(56,81,88,.028) 0,rgba(56,81,88,.028) 1px,transparent 1px,transparent 160px); }
.hero-grid { grid-template-columns: 1.09fr .91fr; min-height:760px; gap: clamp(38px,5vw,86px); position:relative; z-index:1; }
.hero-copy { padding: 108px 0 104px; }
.hero-copy .eyebrow { color:#64818e; white-space:nowrap; }
.eyebrow-dot { background:#89b6c9; box-shadow:0 0 0 5px #89b6c923; }
.hero-copy h1 { font-size:clamp(52px,5.25vw,88px); font-weight:530; line-height:1.43; letter-spacing:-.085em; color:#1e2d32; margin: 28px 0 28px; }
.hero-script { color:#316d88; font-weight:400; font-family:var(--serif); }
.hero-kicker { font: 600 10px/1.8 Arial,sans-serif; letter-spacing:.24em; color:#8b9ea4; display:flex; align-items:center; gap:16px; margin:12px 0 23px; }
.kicker-line { display:block; height:1px; width:65px; background:#b0c4c9; }
.hero-intro { font-size:16px; color:#66767c; line-height:2.15; }
.hero-actions { margin-top:42px; gap:36px; }
.hero-actions .light-link { color:var(--navy); border-color:#9aa8a8; }
.hero-underline { border-color:#e2e7e5; color:#95a5a8; margin-top:76px; max-width:480px; }
.hero-underline span { color:#789bad; }
.hero-media { height:576px; padding:22px 22px 24px 0; transition:transform .7s var(--ease-elegant); }
.hero-image { box-shadow: 28px 28px 0 rgba(215,228,228,.65); background:#e9f0ee; }
.hero-image img { filter:saturate(.69) contrast(.94) brightness(1.06); object-position: 55% center; transition:transform 1.6s var(--ease-elegant); }
.hero-media:hover .hero-image img { transform:scale(1.035); }
.hero-image:after { background:linear-gradient(120deg,rgba(20,47,60,.12),transparent 50%); }
.hero-visual-tag { right:-5px; bottom:67px; min-width:182px; background:#fff; color:#254252; border:1px solid #e6e9e8; box-shadow:0 16px 60px #243d4e1c; font-size:10px; letter-spacing:.16em; }
.hero-visual-tag>span:last-child { color:#73a1b3; }
.hero-frame-label { color:#78939e; }
.hero-photo-index { position:absolute; bottom:-6px; left:0; font:500 10px Arial,sans-serif; letter-spacing:.2em; color:#8fa2a7; }
.hero-photo-index span { color:#b7c0c3; margin:0 12px; }
.hero-scroll { color:#9ba7aa; bottom:30px; }
.hero-scroll span { color:#42758a; animation:arrow-bob 2.6s ease-in-out infinite; }
.hero-orbit { position:absolute; width:280px; height:280px; right:-100px; top:-120px; pointer-events:none; opacity:.65; }
.hero-orbit span { display:block; position:absolute; inset:0; border:1px solid #c2dbe0; border-radius:50%; animation:orb-rotate 24s linear infinite; }
.hero-orbit span:nth-child(2) { inset:45px; border-color:#dee7e6; animation-direction:reverse; animation-duration:18s; }
.hero-orbit span:nth-child(3) { inset:85px; border-color:#a3ccd9; animation-duration:12s; }
.hero-orbit span:first-child:before { content:""; position:absolute; top:30px; left:37px; width:6px; height:6px; border-radius:50%; background:#78b4c7; }

/* High-end typographic ticker */
.discipline-strip { height:74px; overflow:hidden; display:flex; align-items:center; background:#fff; border-block:1px solid #e7eceb; }
.discipline-track { display:flex; align-items:center; gap:52px; width:max-content; animation:discipline-drift 55s linear infinite; white-space:nowrap; }
.discipline-track span { font:500 12px Arial,sans-serif; color:#6f838a; letter-spacing:.30em; }
.discipline-track i { font-style:normal; color:#a9c5d0; font-size:17px; }
@keyframes discipline-drift {to {transform:translateX(-50%);} }

/* Intro / confidence metrics */
.intro-section { background:#fff; }
.intro-layout { grid-template-columns:28% 1fr; }
.section-label { font-size:11px; color:#85979c; font-weight:500; }
.number-tag { color:#4e859d; }
.intro-layout .large-copy { font-weight:480; font-size:23px; }
.muted-copy { color:#68787d; }
.metrics-band { background:#f8f8f6; padding:65px 0; border-block:1px solid #eef0ee; }
.metrics-layout strong { font-family:Georgia,serif; font-size:clamp(72px,7.2vw,112px); font-weight:400; color:#244255; }
.metrics-layout strong span { color:#7ea7b5; }
.metric-statement { color:#bccbcc; }
.metric-rule { background:#dce4e3; }

/* Tech / signal stage - restrained graphic, prominent dark contrast section */
.signal-section { background:#111f2a; min-height:650px; color:#fff; overflow:hidden; position:relative; isolation:isolate; --sx:72%; --sy:45%; }
.signal-section:before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(580px circle at var(--sx) var(--sy),rgba(61,113,139,.2), transparent 70%); transition:opacity .3s; }
.signal-dust { position:absolute; inset:0; opacity:.35; background-image:linear-gradient(#85aec110 1px,transparent 1px),linear-gradient(90deg,#85aec110 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent 12%,black 65%); }
.signal-layout { position:relative; display:grid; grid-template-columns: .88fr 1.12fr; align-items:center; min-height:650px; gap:8%; }
.signal-copy { padding:100px 0 85px; }
.signal-copy h2 { margin:0 0 30px; font-size:clamp(40px,4.1vw,67px); line-height:1.43; font-weight:500; letter-spacing:-.065em; }
.signal-accent { color:#a9d0df; font-family:var(--serif); }
.signal-copy>p:not(.eyebrow) { font-size:15px; line-height:2.15; color:#b1c1c8; max-width:395px; margin-bottom:32px; }
.signal-copy .text-link { color:white; border-color:#8da5ac; }
.signal-note { color:#809aa8; border-top:1px solid #40525c; padding-top:22px; margin-top:75px; font:500 10px Arial,sans-serif; letter-spacing:.18em; display:flex; justify-content:space-between; max-width:430px; }
.signal-note span { font-size:16px; }
.signal-art { position:relative; width:min(100%,540px); height:540px; justify-self:center; }
.signal-grid { position:absolute; inset:12%; border-radius:50%; background:radial-gradient(circle at center,rgba(74,125,150,.13),transparent 66%); }
.signal-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.signal-ring { stroke:#64899d; fill:none; stroke-width:1; opacity:.33; stroke-dasharray:2 11; transform-origin:center; animation:orb-rotate 78s linear infinite; }
.signal-ring.ring-inner { stroke:#84afc0; opacity:.4; animation-direction:reverse; animation-duration:45s; stroke-dasharray:4 14; }
.signal-ring.ring-core { opacity:.65; stroke-dasharray:4 8; animation-duration:28s; }
.signal-path { stroke:#8dc0d6; stroke-width:1; fill:none; opacity:.43; stroke-dasharray:1400; stroke-dashoffset:0; transition:stroke-dashoffset 2.4s var(--ease-elegant); }
.signal-path-2 { stroke:#567f93; opacity:.35; transition-delay:.28s; }
.motion-enhanced .signal-section:not(.is-visible) .signal-path { stroke-dashoffset:1400; }
.signal-dot { fill:#b0e0f1; filter:drop-shadow(0 0 5px #87bdd1); animation:softpulse 3s ease-in-out infinite alternate; }
.signal-center { fill:#b5dfef; filter:drop-shadow(0 0 12px #a6d5e6); }
.signal-centerword { display:flex; flex-direction:column; align-items:center; justify-content:center; position:absolute; inset:0; font:500 31px Georgia,serif; letter-spacing:.03em; color:#e3f4fc; pointer-events:none; text-shadow:0 0 30px #5fa0bb66; }
.signal-centerword>span { display:inline;font-size:11px; line-height:0; transform:translate(52px,-2px); }
.signal-node { position:absolute; display:flex; align-items:center; gap:6px; padding:9px 13px; border:1px solid #567287; background:rgba(12,29,42,.93); backdrop-filter:blur(8px); font:500 10px Arial,sans-serif; letter-spacing:.12em; color:#9ebcc9; }
.signal-node b { color:#e0edf2; font-weight:600; }
.signal-node i { width:4px; height:4px; border-radius:50%; background:#9fd5eb; box-shadow:0 0 7px #9fd5eb; }
.signal-node-a { top:11%; left:27%; }.signal-node-b { top:30%; right:-6%; }.signal-node-c { bottom:23%; left:-10%; }.signal-node-d { bottom:8%; right:5%; }
.signal-coordinate { position:absolute; right:-7%; bottom:-7px; color:#8db0bd; text-align:right; font:500 9px/1.8 Arial,sans-serif; letter-spacing:.2em; }

/* Services: generous spacing and quieter art direction */
.services-section { background:#fff; }
.section-head { margin-bottom:64px; }
.service-grid { gap:54px 32px; }
.service-card { background:transparent; }
.service-cover { height:350px; background:#f0f2f1; }
.service-cover img { filter:saturate(.65) contrast(.93); transition:transform 1s var(--ease-elegant),filter .6s; }
.service-card:hover .service-cover img { transform:scale(1.055); filter:saturate(.89) contrast(1); }
.service-info { border-bottom:1px solid #dfe4e3; padding:26px 0 28px; }
.service-en { color:#7a9099; }
.service-index { color:#497c93; font-weight:500; }
.service-arrow { color:#588a9d; }
.service-info h3 { font-weight:550; }

/* A bright editorial section in place of a second dense dark area */
.story-section { background:#f5f5f1; color:var(--ink); min-height:650px; }
.story-photo { min-height:650px; }
.story-photo img { filter:saturate(.77); }
.story-photo:after { background:linear-gradient(0deg,rgba(4,24,39,.36),transparent 53%); }
.story-copy { color:var(--ink); }
.story-copy .eyebrow { color:#70909d; }
.story-copy h2 { font-weight:520; }
.story-copy h2 .em-serif { color:#36718b; }
.story-copy>p:not(.eyebrow) { color:#66777c; }
.story-copy .btn-outline-light { border-color:#a5b4b5; color:#1d343e; }
.story-copy .btn-outline-light:hover { background:var(--navy); border-color:var(--navy); color:white; }
.partners-section { background:#fff; }
.partner-names { border-top-color:#e6e9e7; border-left:0; }
.partner-names span { border-color:#e6e9e7; font-weight:500; color:#45565b; transition:background .45s,color .45s,letter-spacing .6s; }
.partner-names span:hover { background:#f4f7f7; color:#326480; letter-spacing:.018em; }
.partner-note { color:#869698; }

/* All inner pages: white editorial art direction */
.inner-hero { color:var(--ink); background:#f8f8f6; }
.simple-hero { background:linear-gradient(120deg,#faf9f7,#f5f8f8); min-height:480px; padding-top:115px; }
.simple-hero:before,.dark-hero:before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,rgba(46,87,102,.035) 0,rgba(46,87,102,.035) 1px,transparent 1px,transparent 175px); pointer-events:none; }
.simple-hero .container,.dark-hero .container { position:relative; }
.simple-hero h1,.dark-hero h1 { color:#1f3138; font-weight:520; }
.simple-hero .em-serif,.dark-hero .em-serif { color:#3b7790; }
.simple-hero .container>p:not(.eyebrow),.dark-hero .inner-hero-grid>div>p:not(.eyebrow) { color:#78888d; }
.simple-hero .eyebrow.light,.dark-hero .eyebrow.light { color:#66899b; }
.simple-hero-line { color:#84979c; border-color:#d7e0df; }
.dark-hero { background:#f7f8f6; }
.inner-hero-photo { box-shadow: 22px 22px 0 #e4eeef; }
.inner-hero-photo img { filter:saturate(.82); transition: transform 1.3s var(--ease-elegant); }
.inner-hero-photo:hover img { transform:scale(1.04); }
.inner-hero-bottom { border-color:#dbe3e2; color:#80949b; }
.two-col-section { gap:10%; }
.prose-lg p { color:#62757a; }
.about-numbers { background:#f8f8f6; }
.about-numbers span { color:#31556b; }
.value-grid>div { transition:padding .4s, border-color .4s; }
.value-grid>div:hover { padding-left:10px; border-color:#8fb7c6; }
.team-gallery { background:#fff; gap:16px; }
.team-gallery>div { overflow:hidden; }
.team-gallery img,.service-detail-img img,.project-image img,.client-feature-img img { transition:transform 1.1s var(--ease-elegant),filter .8s; filter:saturate(.77); }
.team-gallery>div:hover img,.service-detail-img:hover img,.project-image:hover img,.client-feature-img:hover img { transform:scale(1.05); filter:saturate(.98); }
.service-lead,.work-process { background:#f8f8f6; }
.service-detail-img { background:#eff2f1; }
.service-number { color:#4d849c; }
.feature-list li:before { color:#4d849c; }
.process-grid span { color:#4e849b; }
.project-caption span,.client-tile>span { color:#59859a; }
.client-tile { transition:background .45s; }
.client-tile:hover { background:#f4f7f7; }
.client-line { height:1px; background:#8db5c4; }
.client-feature { background:#f8f8f6; }
.video-section { background:#111f2a; }
.video-frame { overflow:hidden; border:1px solid #6e889750; }
.video-frame video { width:100%; }
.contact-form-panel { background:#f8f8f6; border:1px solid #edf0ee; }
.form-row input,.form-row select,.form-row textarea { border-color:#d9e1e1; }
.form-row input:focus,.form-row select:focus,.form-row textarea:focus { border-color:#5c91a8; box-shadow:0 0 0 3px #96bfcd29; }

/* One strong closing moment; footer remains dark for legible contact info */
.site-cta { background:#203947; color:#fff; padding:clamp(100px,11vw,160px) 0; position:relative; overflow:hidden; }
.site-cta:after { content:""; position:absolute; width:660px; height:660px; border:1px solid #ffffff16; border-radius:50%; right:-150px; top:-340px; box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff05; pointer-events:none; }
.site-cta h2 { font-weight:510; position:relative; }
.site-cta h2 em { color:#b4d4df; }
.circle-arrow { position:relative; z-index:1; border-color:#a7c2ca; transition:transform .6s var(--ease-elegant), background .4s; }
.circle-arrow:hover { transform:scale(1.08); background:#ffffff19; }
.site-footer { background:#152833; }
.footer-title { color:#b5cbd4; }
.footer-grid>div:not(:first-child)>a { color:#cad5d8; }
.footer-bottom { border-color:#ffffff25; }
.floating-contact { background:#dcebef; color:#1c3947; }

/* Progressive enhancement: elements remain visible if JavaScript fails */
.motion-enhanced .reveal { opacity:0; transform:translate3d(0,42px,0); transition:opacity 1s var(--ease-elegant),transform 1.15s var(--ease-elegant); transition-delay:var(--stagger-delay,0ms); }
.motion-enhanced .reveal.is-visible { opacity:1; transform:translateZ(0); }
.motion-enhanced .reveal-image { overflow:hidden; }
.motion-enhanced .reveal-image img { clip-path:inset(0 0 14% 0); transition:clip-path 1.5s var(--ease-elegant),transform 1.2s var(--ease-elegant), filter .8s; }
.motion-enhanced .reveal-image.is-visible img { clip-path:inset(0 0 0 0); }
.home-hero .hero-copy h1 { animation:hero-rise 1.15s var(--ease-elegant) both; }
.home-hero .hero-media { animation:hero-appear 1.65s var(--ease-elegant) both; }
.hero-visual-tag { animation:badge-float 5.5s ease-in-out infinite; }
@keyframes hero-rise {from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0)} }
@keyframes hero-appear {from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes arrow-bob {0%,100%{transform:translateY(0)}50%{transform:translateY(7px)} }
@keyframes orb-rotate {to{transform:rotate(360deg)} }
@keyframes softpulse {to{opacity:.35;filter:drop-shadow(0 0 2px #87bdd1)} }
@keyframes badge-float {0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)} }

@media(max-width:1200px) {
  .hero-copy h1 { font-size:clamp(48px,5.3vw,69px); }
  .hero-grid { gap:30px; }
  .hero-media { height:510px; }
  .signal-copy h2 { font-size:clamp(40px,4.4vw,57px); }
  .signal-art { width:470px; height:470px; }
  .signal-node-b { right:0; }.signal-node-c{left:0;}
}
@media(max-width:900px) {
  .container { width:calc(100% - 72px); }
  .container.wide { width:calc(100% - 60px); }
  .site-header,.site-header.scrolled { height:74px; }
  .mobile-nav { background:#f9faf9; color:var(--ink); top:74px; height:calc(100dvh - 74px); border-top:1px solid #e6edec; }
  .mobile-nav-inner>a { border-color:#d6e0e2; font-size:25px; }
  .mobile-nav-inner>a span { color:#719aad; }
  .mobile-nav-bottom p { color:#9eb4bd; }
  .mobile-nav-bottom a { color:#345c73; }
  .hero-grid { grid-template-columns:minmax(0,1fr); min-height:0; padding-top:30px; padding-bottom:65px; }
  .hero-copy { padding:50px 0 40px; }
  .hero-copy h1 { font-size:clamp(55px,7.6vw,78px); }
  .hero-media { height:490px; max-width:750px; width:100%; }
  .hero-underline { margin-top:55px; }
  .hero-photo-index { bottom:-4px; }
  .signal-layout { grid-template-columns:1fr; gap:0; }
  .signal-copy { padding:95px 0 0; }
  .signal-copy h2 { max-width:680px; }
  .signal-art { margin:0 auto 60px; }
  .signal-note { margin-top:42px; }
  .story-copy { padding:75px 8%; }
  .service-cover { height:280px; }
  .section-pad { padding-block:100px; }
}
@media(max-width:680px) {
  .container,.container.wide { width:calc(100% - 42px); }
  .section-pad { padding:82px 0; }
  .site-header,.site-header.scrolled { height:68px; }
  .mobile-nav { top:68px; height:calc(100dvh - 68px); }
  .brand img { width:72px; }
  .brand-label { font-size:8px; padding-left:8px; }
  .hero-grid { padding-top:25px; padding-bottom:62px; }
  .hero-copy { padding:28px 0 37px; }
  .hero-copy .eyebrow { font-size:9px; letter-spacing:.12em; white-space:normal; }
  .hero-copy h1 { font-size:clamp(39px,9.5vw,57px); line-height:1.48; margin:20px 0 12px; }
  .hero-intro { font-size:14px; line-height:1.95; }
  .hero-kicker { font-size:8px; margin:10px 0 17px; }
  .kicker-line { width:30px; }
  .hero-actions { margin-top:28px; gap:20px; }
  .hero-underline { display:none; }
  .hero-media { height:345px; padding:13px 16px 19px 0; }
  .hero-image { box-shadow:16px 17px 0 #e2eeef; }
  .hero-visual-tag { bottom:37px; right:0; }
  .hero-photo-index { bottom:-8px; }
  .hero-orbit { display:none; }
  .discipline-strip { height:58px; }
  .discipline-track { gap:25px; }
  .discipline-track span { font-size:10px; letter-spacing:.2em; }
  .intro-layout .large-copy { font-size:20px; }
  .signal-layout { min-height:auto; }
  .signal-copy { padding:78px 0 0; }
  .signal-copy h2 { font-size:clamp(36px,8.5vw,48px); }
  .signal-copy>p:not(.eyebrow) { font-size:14px; }
  .signal-art { width:min(100%,360px); height:340px; margin:25px auto 65px; }
  .signal-svg { inset:0; }
  .signal-node { font-size:8px; padding:7px 8px; }
  .signal-node-a { top:7%; left:29%; }
  .signal-node-b { top:28%; right:-2%; }
  .signal-node-c { bottom:20%; left:-3%; }
  .signal-node-d { bottom:7%; right:8%; }
  .signal-centerword { font-size:22px; }
  .signal-coordinate { bottom:-14px; right:0; font-size:8px; }
  .metrics-band { padding:40px 0; }
  .metrics-layout strong { font-size:72px; }
  .service-grid { gap:31px; }
  .service-cover { height:260px; }
  .service-info { padding:21px 0 26px; }
  .story-photo { min-height:320px; }
  .story-copy { padding:72px 22px; }
  .story-copy h2 { font-size:37px; }
  .simple-hero { min-height:390px; padding-top:70px; }
  .simple-hero h1,.dark-hero h1 { font-size:clamp(38px,8.5vw,52px); }
  .dark-hero { padding-top:50px; }
  .inner-hero-photo { box-shadow:13px 13px 0 #e3edef; }
  .inner-hero-grid { padding:35px 0 42px; }
  .about-numbers span { font-size:49px; }
  .team-gallery { gap:8px; }
  .contact-form-panel { padding:33px 22px; }
  .site-cta { padding:87px 0; }
  .site-cta h2 { font-size:35px; }
  .footer-bottom { line-height:1.8; }
}
@media(max-width:380px) {
  .hero-copy h1 { font-size:36px; }
  .signal-art { height:300px; }
  .signal-node { font-size:7px; }
}
@media(hover:none) {
  .hero-media:hover .hero-image img { transform:none; }
  .partner-names span:hover { letter-spacing:0; }
}
@media(prefers-reduced-motion:reduce) {
  .discipline-track, .hero-orbit span, .signal-ring, .signal-dot, .hero-scroll span,
  .hero-visual-tag, .home-hero .hero-copy h1, .home-hero .hero-media { animation:none!important; }
  .motion-enhanced .reveal { opacity:1!important; transform:none!important; }
  .motion-enhanced .reveal-image img { clip-path:none!important; }
  .signal-path { stroke-dashoffset:0!important; }
  .page-progress span { will-change:auto; }
}
