.news-archive, .news-article { padding-top: 150px; min-height: 55vh; }
.news-breadcrumb, .news-pagination { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-block: 0 32px; }
.news-breadcrumb { font-size: 14px; }
.news-archive h1, .news-article h1 { font: 400 64px/1.05 var(--display); max-width: 100%; margin-block: 20px 32px; overflow-wrap: anywhere; }
.news-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.news-item { min-width: 0; border-top: 1px solid #bbc8c4; padding-top: 18px; }
.news-item img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; margin-bottom: 18px; }
.news-item time, .news-article time { font-size: 13px; color: #52625d; }
.news-item h3 { font-size: 26px; line-height: 1.25; margin-block: 14px; overflow-wrap: anywhere; }
.news-item p, .news-body, .news-article .lead { overflow-wrap: anywhere; }
.news-item h3 a:hover { text-decoration: underline; }
.news-cover { width: 100%; aspect-ratio: 3 / 2; max-height: 720px; object-fit: cover; margin-block: 24px; }
.news-body { max-width: 780px; margin-block: 36px; }
.news-body p, .news-body ul { margin-block: 22px; }
.news-body ul { padding-left: 24px; }
.news-body h3 { margin-top: 32px; font-size: 28px; }
.news-body a { text-decoration: underline; }
.news-pagination { justify-content: center; margin-top: 40px; }
.news-pagination a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid currentColor; }
.preview-banner { position: relative; z-index: 15; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px; padding: 14px 20px; background: #fff2b6; color: #183932; }
.preview-banner a { text-decoration: underline; }
.cms-preview .site-header { position: relative; background: #102e30; }
.cms-preview.cinematic-home .hero-content { padding-top: 42px; }
.contact-preview { display: grid; place-items: center; min-height: 220px; border-block: 1px solid #abbcb6; }
.brand-image { object-fit: contain; }
.brand-text { display: block; max-width: 280px; overflow-wrap: anywhere; }
.cinematic-home .hero-tagline, .section-label, .workflow-section .section-heading > p, .contact-copy > p { white-space: pre-line; }
.cinematic-home .hero-title-line, .cinematic-home .hero-title-line > span, .footer-signature > a, .hero-family { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.cinematic-home .hero h1 { overflow-wrap: anywhere; }
.cinematic-home .hero { height: auto; min-height: max(600px, calc(100svh - 64px)); max-height: none; }
.cinematic-home .hero-content { min-height: inherit; }
.cinematic-home .section h2, .cinematic-home .cta-section h2, .service-panel h3 { overflow-wrap: anywhere; }
.service-panel-copy, .contact-copy, .contact-form, .about-copy, .about-detail, .footer-top > div { min-width: 0; }
.cinematic-home .service-explorer[data-enhanced] .service-panels { display: grid; }
.cinematic-home .service-explorer[data-enhanced] .service-panel { grid-area: 1 / 1; height: auto; min-height: clamp(360px, calc(100svh - 344px), 820px); }
.cinematic-home .service-explorer[data-enhanced] .service-panel[hidden] { display: flex !important; visibility: hidden; pointer-events: none; }
.cinematic-home .service-panel-copy { padding-top: 64px; }
.contact-details, .contact-form .button, .text-link, .service-tabs [role="tab"] { overflow-wrap: anywhere; white-space: normal; }
.section-image { width: 100%; max-height: 600px; object-fit: cover; aspect-ratio: 16 / 9; margin-block: 24px; }
.editorial-body:empty { display: none; }
.editorial-body > p:empty { display: none; }
body[data-motion-titles="false"] .reveal { opacity: 1; transform: none; transition: none; }
body[data-motion-titles="false"] .hero-title-line > span { animation: none; transform: none; opacity: 1; }
body[data-motion-backgrounds="false"] .hero-image { animation: none !important; transform: none !important; }
body[data-motion-water="false"] .water-scene .cta-photo { transform: none; transition: none; }
body[data-motion-services="false"] .service-tabs::after { transition: none; }
body[data-motion-workflow="false"] .workflow::before { transform: none; }
body[data-motion-assistant="false"] .tubi-character, body[data-motion-assistant="false"] .tubi-launcher-avatar { animation: none !important; }
@media (max-width: 1023px) { .news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .news-archive, .news-article { padding-top: 110px; }
  .news-list { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .news-archive h1, .news-article h1 { font-size: 42px; }
  .cinematic-home .hero { min-height: max(510px, calc(100svh - 126px)); }
  .cinematic-home .hero-content { padding-bottom: 36px; }
}

/* Keep document scrolling: long CMS sections may exceed a screen. */
html:has(body.cinematic-home:not(.cms-preview)) {
  --screen-header: 88px;
  --screen-bottom: 0px;
  --screen-height: calc(100svh - var(--screen-header) - var(--screen-bottom));
  scroll-padding-top: var(--screen-header);
  scroll-padding-bottom: var(--screen-bottom);
  scroll-snap-type: y proximity;
}
.cinematic-home:not(.cms-preview) #main > :is(section, .trust-band),
.cinematic-home:not(.cms-preview) .site-footer {
  scroll-snap-align: start;
  scroll-margin-top: 0;
}
.cinematic-home:not(.cms-preview) .hero {
  height: auto;
  min-height: calc(100svh - var(--screen-bottom));
  max-height: none;
}
.cinematic-home:not(.cms-preview) #main > :is(.section, .trust-band, .water-scene) {
  min-height: var(--screen-height);
  height: auto;
  max-height: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cinematic-home:not(.cms-preview) .trust-items {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
}
.cinematic-home:not(.cms-preview) .trust-items > span:first-child {
  grid-column: 1 / -1;
}
.cinematic-home:not(.cms-preview) .trust-items > span:nth-child(2) {
  font: 400 88px/1.05 var(--display);
  max-width: 1000px;
  overflow-wrap: anywhere;
}
.cinematic-home:not(.cms-preview) .services-section > .container {
  min-height: var(--screen-height);
  display: flex;
  flex-direction: column;
}
.cinematic-home:not(.cms-preview) .service-explorer {
  flex: 1;
  align-items: stretch;
  grid-template-rows: minmax(0, 1fr) auto;
}
.cinematic-home:not(.cms-preview) .service-explorer[data-enhanced] .service-panel {
  min-height: 360px;
}
.cinematic-home:not(.cms-preview) .gallery-item img {
  height: clamp(420px, calc(var(--screen-height) - 240px), 820px);
}
.cinematic-home:not(.cms-preview) .water-scene {
  padding-block: 64px;
}
.cinematic-home:not(.cms-preview) .contact-section {
  padding-block: 64px;
}
html:has(body.cinematic-home :is(.contact-form, .assistant-panel):focus-within),
html:has(body.cinematic-home:is(.menu-open, .modal-open)) {
  scroll-snap-type: none;
}
@media (max-width: 1023px) {
  html:has(body.cinematic-home:not(.cms-preview)) { --screen-header: 78px; }
}
@media (max-width: 767px) {
  html:has(body.cinematic-home:not(.cms-preview)) { --screen-header: 74px; }
  html:has(body.cinematic-home:not(.cms-preview) .mobile-actions) {
    --screen-bottom: calc(66px + env(safe-area-inset-bottom));
  }
  .cinematic-home:not(.cms-preview) .trust-items { gap: 24px; }
  .cinematic-home:not(.cms-preview) .trust-items > span:nth-child(2) { font-size: 52px; }
  .cinematic-home:not(.cms-preview) .hero-content { padding-bottom: 72px; }
  .cinematic-home:not(.cms-preview) .contact-section { padding-block: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.cinematic-home:not(.cms-preview)) {
    scroll-snap-type: none;
    scroll-behavior: auto;
  }
}
