/* Shared editorial layouts for case studies, delivery and insights. */
.brand img,.wordmark img,.footer-wordmark img {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}

.hero-carousel { position: relative; overflow: hidden; background: #101218; }
.hero-carousel-track { position: relative; min-height: 640px; aspect-ratio: 3/2; }
.hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; opacity: 0; transform: scale(1.025); pointer-events: none; transition: opacity 560ms var(--ease),transform 900ms var(--ease); }
.hero-slide.active { opacity: 1; transform: scale(1); pointer-events: auto; }
.hero-carousel::after { content: ""; position: absolute; inset: auto 0 0; height: 20%; pointer-events: none; background: linear-gradient(180deg,transparent,rgba(5,7,10,.24)); }
.hero-carousel-controls { position: absolute; z-index: 3; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(8,9,10,.76); backdrop-filter: blur(14px) saturate(130%); box-shadow: 0 12px 40px rgba(0,0,0,.24); }
.hero-carousel-controls button { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: transparent; color: var(--text); font: inherit; font-size: 16px; cursor: pointer; transition: color 180ms var(--ease),background-color 180ms var(--ease),transform 180ms var(--ease); }
.hero-carousel-controls button:hover { color: #111216; background: var(--text); transform: translateY(-1px); }
.hero-carousel-controls button:active { transform: scale(.94); }
.hero-carousel-controls span { min-width: 58px; color: #747984; font-size: 12px; text-align: center; }
.hero-carousel-controls b { color: var(--text); font-size: 14px; font-weight: 650; }

.story-lead { max-width: 760px; margin: 0 0 56px; color: var(--muted); font-size: 19px; line-height: 1.72; }
.section-banner { width: 100%; height: 520px; margin-bottom: 28px; display: block; object-fit: cover; border: 1px solid var(--line); border-radius: 12px; filter: saturate(.82) contrast(1.03); }
.story-grid { display: grid; grid-template-columns: 1.16fr .84fr; gap: 24px; }
.story-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.story-card:first-child { grid-row: span 2; }
.story-card img { width: 100%; height: 330px; display: block; object-fit: cover; filter: saturate(.82) contrast(1.03); transition: transform 800ms var(--ease),filter 400ms var(--ease); }
.story-card:first-child img { height: 610px; }
.story-card > div { padding: 28px; }
.story-card h2,.story-card h3 { margin: 8px 0 12px; color: var(--text); font-weight: 520; line-height: 1.15; letter-spacing: -.025em; }
.story-card h2 { font-size: 40px; }
.story-card h3 { font-size: 28px; }
.story-card p { margin: 0 0 22px; color: var(--muted); font-size: 16px; line-height: 1.72; }
.story-card a { color: var(--body); font-size: 15px; font-weight: 650; }

.case-study { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); min-height: 620px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.case-study + .case-study { margin-top: 28px; }
.case-study:nth-child(even) { grid-template-columns: minmax(340px,.85fr) minmax(0,1.15fr); }
.case-study:nth-child(even) .case-study-media { order: 2; }
.case-study-media { min-height: 620px; overflow: hidden; }
.case-study-media img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.82) contrast(1.03); transition: transform 900ms var(--ease),filter 450ms var(--ease); }
.case-study-copy { display: flex; flex-direction: column; justify-content: center; padding: 48px; }
.case-study-copy > span,.article-meta { color: #777c85; font-size: 13px; font-weight: 650; }
.case-study-copy h2 { margin: 18px 0; color: var(--text); font-size: 42px; font-weight: 520; line-height: 1.12; letter-spacing: -.035em; }
.case-study-copy p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.case-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--line); }
.case-facts b,.case-facts small { display: block; }
.case-facts b { color: var(--text); font-size: 21px; font-weight: 520; }
.case-facts small { margin-top: 5px; color: #6c7079; font-size: 13px; }

.delivery-flow { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.delivery-flow article { min-height: 330px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.delivery-flow span { color: var(--accent); font-size: 14px; font-weight: 650; }
.delivery-flow h2 { margin: 82px 0 14px; color: var(--text); font-size: 28px; font-weight: 520; }
.delivery-flow p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.72; }
.delivery-proof { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 80px; align-items: center; }
.delivery-proof img { width: 100%; min-height: 560px; object-fit: cover; border-radius: 12px; filter: saturate(.82) contrast(1.03); }
.delivery-proof h2 { margin: 0 0 24px; color: var(--text); font-size: clamp(42px,4.3vw,62px); font-weight: 520; line-height: 1.08; letter-spacing: -.035em; }
.delivery-proof p { color: var(--muted); font-size: 17px; line-height: 1.75; }

.insight-feature { display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.insight-feature img { width: 100%; height: 600px; object-fit: cover; filter: saturate(.78) contrast(1.03); }
.insight-feature > div { display: flex; flex-direction: column; justify-content: center; padding: 48px; }
.insight-feature h2 { margin: 20px 0; color: var(--text); font-size: 45px; font-weight: 520; line-height: 1.1; letter-spacing: -.035em; }
.insight-feature p { color: var(--muted); font-size: 17px; line-height: 1.75; }
.insight-feature a { margin-top: 28px; color: var(--body); font-weight: 650; }
.article-grid { display: grid; grid-template-columns: 1.18fr .82fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.article-card { padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article-card:first-child { grid-row: span 2; }
.article-card img { width: 100%; height: 230px; margin-bottom: 24px; object-fit: cover; filter: saturate(.82) contrast(1.03); }
.article-card:first-child img { height: 420px; }
.article-card h2,.article-card h3 { margin: 12px 0; color: var(--text); font-weight: 520; line-height: 1.18; letter-spacing: -.02em; }
.article-card h2 { font-size: 36px; }
.article-card h3 { font-size: 26px; }
.article-card p { margin: 0 0 22px; color: var(--muted); font-size: 16px; line-height: 1.7; }

.explore-pages { padding-block: 140px; border-top: 1px solid var(--line); }
.explore-pages > h2 { max-width: 800px; margin: 0 0 56px; color: var(--text); font-size: clamp(42px,4.8vw,66px); font-weight: 520; line-height: 1.06; letter-spacing: -.04em; }
.explore-list { border-top: 1px solid var(--line); }
.explore-list a { display: grid; grid-template-columns: 1fr 240px 42px; gap: 32px; align-items: center; min-height: 170px; border-bottom: 1px solid var(--line); }
.explore-list h3 { margin: 0 0 7px; color: var(--text); font-size: 30px; font-weight: 520; }
.explore-list p { margin: 0; color: var(--muted); font-size: 16px; }
.explore-list img { width: 240px; height: 120px; object-fit: cover; border-radius: 8px; filter: saturate(.78); transition: transform 400ms var(--ease),filter 300ms var(--ease); }
.explore-list b { color: var(--body); font-size: 24px; font-weight: 400; }

@media (hover:hover) {
  .story-card:hover img,.case-study:hover .case-study-media img,.explore-list a:hover img { transform: scale(1.025); filter: saturate(.96) contrast(1.02); }
  .explore-list a:hover h3 { color: var(--accent); }
}

@media(max-width:960px) {
  .story-grid,.case-study,.case-study:nth-child(even),.delivery-proof,.insight-feature { grid-template-columns: 1fr; }
  .story-card:first-child { grid-row: auto; }
  .story-card:first-child img,.story-card img { height: 430px; }
  .case-study:nth-child(even) .case-study-media { order: 0; }
  .case-study-media { min-height: 480px; }
  .delivery-flow { grid-template-columns: 1fr 1fr; }
  .article-grid { grid-template-columns: 1fr; }
  .article-card:first-child { grid-row: auto; }
}

@media(max-width:760px) {
  .hero-carousel-track { min-height: 390px; aspect-ratio: 4/3; }
  .hero-slide { object-fit: cover; object-position: center top; }
  .hero-carousel-controls { right: auto; left: 16px; bottom: 16px; }
  .section-banner { height: 300px; }
  .story-card:first-child img,.story-card img { height: 300px; }
  .story-card > div { padding: 24px; }
  .story-card h2 { font-size: 32px; }
  .case-study-media { min-height: 320px; }
  .case-study-copy { padding: 32px 24px; }
  .case-study-copy h2 { font-size: 34px; }
  .delivery-flow { grid-template-columns: 1fr; }
  .delivery-flow article { min-height: 260px; }
  .delivery-flow h2 { margin-top: 50px; }
  .delivery-proof { gap: 38px; }
  .delivery-proof img { min-height: 360px; }
  .insight-feature img { height: 340px; }
  .insight-feature > div { padding: 32px 24px; }
  .insight-feature h2 { font-size: 36px; }
  .article-card,.article-card:first-child { padding: 24px 0; border-right: 0; }
  .article-card img,.article-card:first-child img { height: 300px; }
  .explore-pages { padding-block: 100px; }
  .explore-list a { grid-template-columns: 1fr 32px; gap: 20px; padding-block: 28px; }
  .explore-list img { grid-column: 1/-1; grid-row: 1; width: 100%; height: 210px; }
}

@media(prefers-reduced-motion:reduce) {
  .story-card img,.case-study-media img,.explore-list img,.hero-slide { transition: none; }
}
