/* Homepage: two six-second videos with WebP covers, latest-three library and two scroll scenes. */
:root { --header-height:104px; }
.hero-scenes { position:absolute; inset:0; z-index:-2; }
.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity .7s ease; pointer-events:none; }
.hero-slide.is-active { opacity:1; }
.hero-slide > img, .hero-slide > video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slide > video { opacity:0; transition:opacity .3s; }
.hero-slide.has-video > video { opacity:1; }
.hero-slide-direction > img { object-position:70% center; transform:scale(1.045); }
.hero-content { top:36%; }
.hero .hero-shade { background:linear-gradient(90deg,rgba(6,21,35,.65),rgba(6,21,35,.06) 83%),linear-gradient(0deg,rgba(6,21,35,.7),transparent 42%); }
.hero-bottom { display:block; bottom:32px; }
.carousel-heading { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.carousel-heading > a { margin-left:auto; display:flex; align-items:center; gap:15px; }
.carousel-heading > a > span { font-size:20px; }
.media-placeholder-label { color:#dce6ef; padding:4px 7px; border:1px solid #ffffff45; border-radius:2px; font-size:9px; letter-spacing:.5px; }
.carousel-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) 38px; gap:25px; align-items:center; }
.slide-selector { background:none; color:#dce4ed; padding:16px 0; text-align:left; min-width:0; }
.slide-track { display:block; height:2px; background:#ffffff40; margin:0; position:relative; overflow:hidden; }
.slide-track::after { content:""; position:absolute; inset:0; background:white; transform:scaleX(0); transform-origin:left; }
.slide-selector[aria-pressed=true] .slide-track::after { transform:scaleX(var(--slide-progress,0)); }
.slide-selector[aria-pressed=true] { color:white; }
.carousel-pause { width:38px; height:38px; background:#ffffff10; color:white; border:1px solid #ffffff60; border-radius:50%; font:16px Arial,sans-serif; }
.carousel-pause:hover { background:#ffffff25; }
.library { margin-top:34px; }
.library .article-grid { margin-top:32px; }
.library .article-copy h3 { min-height:3.6em; }
.library-empty { grid-column:1/-1; padding:35px 0; color:var(--muted); }

/* With JS disabled or reduced motion selected, both scenes remain readable in normal flow. */
.story-sequence { --scene-two:0; --first-reveal:0; --footer-reveal:0; --first-offset:28px; --second-offset:35px; margin:34px var(--gutter) 0; color:white; }
.story-stage { background:#162b3c; border-radius:8px; overflow:hidden; }
.story-panel { position:relative; isolation:isolate; min-height:620px; height:calc(100svh - var(--header-height) - 24px); }
.story-image, .story-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.story-shade { z-index:-1; background:linear-gradient(90deg,#071b31c7,#071b310a 88%),linear-gradient(0deg,#071b3180,transparent 40%); }
.story-copy { position:absolute; left:6%; right:5%; top:44%; transform:translateY(-20%); }
.story-copy .eyebrow { color:#dfe7ee; margin-bottom:26px; font-size:11px; letter-spacing:2.4px; }
.story-copy h2 { font-size:clamp(36px,4.35vw,76px); line-height:1.55; font-weight:600; letter-spacing:1px; }
.story-copy h2 > span { display:block; }
.story-copy .story-long-line { font-size:clamp(30px,3.4vw,60px); }
.story-engineer .story-copy { left:7%; right:7%; top:50%; text-align:center; transform:translateY(-50%); }
.story-engineer .story-copy h2 { color:#fff; font-size:clamp(42px,5.4vw,104px); line-height:1.4; font-weight:700; font-style:italic; letter-spacing:2px; }
.story-engineer .story-shade { background:linear-gradient(0deg,rgba(6,21,35,.24),rgba(6,21,35,.12)); }
:is(.story-meeting, .story-network) .story-copy { top:50%; transform:translateY(-50%); }
.meeting-brand { font-size:clamp(18px,1.8vw,32px); margin-bottom:22px; letter-spacing:2px; }
:is(.story-meeting, .story-network) .story-copy h2 { font-size:clamp(32px,4.35vw,76px); line-height:1.4; }
.story-network .meeting-reach { font-size:clamp(18px,2.1vw,36px); line-height:1.65; max-width:34em; text-wrap:balance; }
.meeting-reach { font-size:clamp(20px,2.5vw,42px); margin-top:24px; }
.meeting-link { display:inline-block; font-size:clamp(15px,1.3vw,23px); margin-top:36px; padding-bottom:7px; border-bottom:1px solid #ffffff80; }
.meeting-link:hover { border-color:white; }
.story-footer { padding:26px 6%; display:flex; align-items:center; justify-content:space-between; }
.story-skip { margin-left:auto; font-size:11px; display:flex; gap:18px; align-items:center; }
.story-skip > span { font-size:23px; }
.story-sequence.is-enhanced { height:500svh; margin:34px 0 0; --story-backdrop:#000; background:var(--story-backdrop); }
.management-story.is-enhanced { height:380svh; margin-top:0; --story-backdrop:#073677; }
.future-story.is-enhanced { height:380svh; margin-top:0; }
.future-story .future-purpose { font-size:clamp(28px,3.6vw,64px); margin-top:12px; text-wrap:balance; }
.future-story .story-meeting .story-copy h2 { font-size:clamp(26px,3vw,54px); line-height:1.5; text-wrap:balance; }
.management-story .management-purpose { font-size:clamp(28px,3.6vw,64px); margin-top:12px; text-wrap:balance; }
.management-story .story-meeting .story-copy h2 { font-size:clamp(28px,3.8vw,66px); text-wrap:balance; }
.story-sequence.is-enhanced .story-stage { position:sticky; top:0; height:100svh; border-radius:0; background:var(--story-backdrop); }
.story-sequence.is-enhanced .story-canvas { position:absolute; inset:5.5svh 2.6%; overflow:hidden; border-radius:var(--canvas-radius,43px); transform:scale(var(--canvas-scale,.28)); transform-origin:center; }
.story-sequence.is-enhanced .story-intro-overlay { position:absolute; inset:5.5svh 2.6%; z-index:2; pointer-events:none; }
.story-sequence.is-enhanced .story-panel { position:absolute; inset:0; height:100%; min-height:0; pointer-events:none; }
.story-sequence.is-enhanced .story-copy:not([inert]) a { pointer-events:auto; }
.story-sequence.is-enhanced .story-engineer { opacity:calc(1 - var(--scene-two)); }
.story-sequence.is-enhanced .story-engineer .story-image { transform:scale(var(--engineer-scale,1)); transform-origin:center; }
.story-sequence.is-enhanced .story-meeting { opacity:calc(var(--scene-two) * (1 - var(--scene-three,0))); }
.story-sequence.is-enhanced .story-network { opacity:var(--scene-three,0); }
.story-sequence.is-enhanced .story-network .story-copy { transform:translateY(calc(-50% + var(--third-offset,260px))); }
.story-sequence.is-enhanced .story-engineer .story-copy { opacity:1; transform:translateY(-50%); }
.story-sequence.is-enhanced .story-meeting .story-copy { transform:translateY(calc(-50% + var(--second-offset))); }
.story-sequence.is-enhanced .story-footer { position:absolute; z-index:3; bottom:0; left:0; right:0; padding-bottom:38px; opacity:var(--footer-reveal); }

@media(min-width:1800px) { :root { --header-height:126px; } }
@media(max-width:1100px) { :root { --header-height:90px; } .carousel-controls { gap:18px; } }
@media(min-width:761px) and (max-height:720px) {
  .hero-content { top:27%; }
  .hero h1 { font-size:clamp(34px,4.2vw,62px); }
  .hero .eyebrow { margin-bottom:14px; }
  .hero-description { margin:16px 0 18px; }
}
@media(max-width:760px) {
  :root { --header-height:78px; }
  .hero-content { top:30%; }
  .hero .hero-content h1 { font-size:clamp(29px,7.4vw,50px); line-height:1.6; }
  .hero-slide > img, .hero-slide > video { object-position:center; }
  .hero .hero-shade { background:linear-gradient(90deg,#071b3170,#071b3125),linear-gradient(0deg,#071b31c4,transparent 85%); }
  .hero-bottom { bottom:23px; }
  .carousel-heading { flex-wrap:wrap; gap:8px; margin-bottom:20px; }
  .scene-caption { width:100%; font-size:10px; }
  .media-placeholder-label { font-size:8px; }
  .carousel-heading > a { font-size:9px; }
  .carousel-controls { grid-template-columns:repeat(2,minmax(0,1fr)) 30px; gap:10px; }
  .carousel-pause { width:30px; height:30px; font-size:13px; }
  .library { margin-top:20px; }
  .library .section-heading { flex-direction:column; gap:13px; }
  .library .section-label { font-size:11px; }
  .library .article-grid { margin-top:24px; }
  .library .article-copy h3 { min-height:0; }
  .story-sequence { margin:20px 14px 0; }
  .story-sequence.is-enhanced { height:470svh; margin:20px 0 0; }
  .management-story.is-enhanced { height:360svh; margin-top:0; }
  .future-story.is-enhanced { height:360svh; margin-top:0; }
  .future-story .future-purpose { font-size:clamp(21px,5.6vw,34px); }
  .future-story .story-meeting .story-copy h2 { font-size:clamp(23px,6vw,36px); }
  .future-story .story-image { object-position:65% center; }
  .future-story .story-meeting .story-image { object-position:72% center; }
  .story-sequence.is-enhanced .story-canvas { inset:4svh 14px; }
  .story-sequence.is-enhanced .story-intro-overlay { inset:4svh 14px; }
  .management-story .management-purpose { font-size:clamp(21px,5.6vw,34px); }
  .management-story .story-meeting .story-copy h2 { font-size:clamp(25px,6.5vw,40px); }
  .management-story .meeting-brand { text-wrap:balance; }
  .management-story .story-meeting .story-image { object-position:65% center; }
  .story-panel { min-height:580px; }
  .story-image { object-position:52% center; }
  .story-meeting .story-image { object-position:50% center; }
  .story-copy { left:7%; right:6%; top:46%; }
  .story-copy .eyebrow { font-size:8px; letter-spacing:1.4px; line-height:1.8; margin-bottom:21px; }
  .story-copy h2 { font-size:clamp(26px,7.2vw,45px); line-height:1.7; letter-spacing:0; }
  .story-copy .story-long-line { font-size:clamp(19px,5.6vw,33px); white-space:nowrap; }
  .story-engineer .story-copy h2 { font-size:clamp(28px,7.3vw,48px); line-height:1.55; letter-spacing:.5px; }
  .meeting-brand { font-size:clamp(16px,4.4vw,24px); letter-spacing:.5px; margin-bottom:18px; }
  :is(.story-meeting, .story-network) .story-copy h2 { font-size:clamp(24px,6.5vw,40px); letter-spacing:0; }
  .story-network .meeting-reach { font-size:clamp(17px,4.7vw,27px); max-width:18em; }
  .story-network .story-image { object-position:68% center; }
  .meeting-reach { font-size:clamp(17px,4.7vw,27px); margin-top:20px; }
  .meeting-link { font-size:clamp(14px,3.8vw,20px); margin-top:28px; }
  .story-shade { background:linear-gradient(90deg,#071b318a,#071b3133),linear-gradient(0deg,#071b31aa,transparent 90%); }
  .story-skip { margin-left:auto; font-size:9px; gap:8px; }
  .story-sequence.is-enhanced .story-footer { padding:25px 7%; }
}
@media(prefers-reduced-motion:reduce) {
  .story-sequence.is-enhanced .story-engineer .story-image { transform:none; }
  .hero-slide, .hero-slide > video { transition:none; }
  .story-sequence.is-enhanced { height:auto; }
  .story-sequence.is-enhanced .story-canvas { position:relative; inset:auto; transform:none; border-radius:8px; }
  .story-sequence.is-enhanced .story-stage { position:relative; top:auto; height:auto; }
  .story-sequence.is-enhanced .story-panel { position:relative; inset:auto; height:calc(100svh - var(--header-height) - 24px); min-height:580px; opacity:1; }
  .story-sequence.is-enhanced .story-panel .story-copy { transform:translateY(-20%); }
  .story-sequence.is-enhanced .story-engineer .story-copy { opacity:1; transform:translateY(-50%); }
  .story-sequence.is-enhanced .story-footer { position:relative; opacity:1; }
}
