/* Home's section rhythm, applied once after the old compact landing rules.
   Hero geometry is intentionally unchanged. Connected film / slider scenes
   own their whitespace internally, so their padding must not be doubled. */
.service-page {--service-section-space:88px}
.service-page > .service-section[data-service-block]:not(:where(.service-hero,.service-video,.service-story,.service-cases)) {
  padding-block:var(--service-section-space);
}
.service-page > .service-section.service-situations[data-service-block] {padding-block:68px 88px}
.service-page.service-page > .service-section.service-short_form[data-service-block] {padding-block:56px 56px}
.service-page > .service-section.service-process.home-process[data-service-block] {padding-block:64px 58px}
.service-page > .service-section.service-process[data-service-block]:has(+.service-cases) {padding-bottom:26px}
.service-page > .service-section.service-faq[data-service-block] {padding-block:76px 68px}

/* The same soft bridge and breathing room as Home services → presentation. */
.service-page > .service-section.service-scope[data-service-block]:has(+.service-video) {padding-bottom:34px}
.service-page > .service-section.service-video.home-presentation[data-service-block] {padding-block:0 64px}
.service-page .service-video .home-presentation-bridge {padding-block:18px 24px}
.service-page .service-video .home-presentation-copy {padding-block:24px 30px}
.service-page .service-video .home-presentation-principles {margin-top:28px;padding-top:24px}

.service-page > .service-section.service-story.home-story[data-service-block] {padding-block:88px 110px}
.service-page > .service-section.service-cases[data-service-block] {padding:0}
.service-page .service-cases .home-stories-stage {padding-block:44px;min-height:560px}

@media(max-width:1100px) {
  .service-page {--service-section-space:64px}
  .service-page > .service-section.service-situations[data-service-block] {padding-bottom:64px}
  .service-page > .service-section.service-story.home-story[data-service-block] {padding-block:72px 96px}
  .service-page .service-cases .home-stories-stage {padding-block:40px}
}
@media(min-width:901px) and (max-height:800px) {
  .service-page .service-cases .home-stories-stage {padding-block:32px;min-height:520px}
  .service-page .service-cases .home-stories .nexo-title {font-size:clamp(36px,3.5vw,48px);margin-bottom:18px}
  .service-page .service-cases .home-stories-action {margin-top:16px}
  .service-page .service-cases .nexo-stories-controls {margin-top:16px;padding-top:12px}
}
@media(max-width:900px) {
  .service-page > .service-section.service-faq[data-service-block] {padding-block:64px 58px}
  .service-page .service-cases .home-stories-stage {padding-block:36px 0;min-height:0}
}
@media(max-width:760px) {
  .service-page > .service-section.service-video.home-presentation[data-service-block] {padding-bottom:52px}
  .service-page .service-video .home-presentation-bridge {padding-block:14px 24px}
  .service-page .service-video .home-presentation-copy {padding-block:6px 0}
  .service-page .service-video .home-presentation-principles {margin-top:28px;padding-top:6px}
  .service-page > .service-section.service-story.home-story[data-service-block] {padding-block:52px 0}
  .service-page > .service-section.service-process.home-process[data-service-block] {padding-block:52px 46px}
  .service-page > .service-section.service-process[data-service-block]:has(+.service-cases) {padding-bottom:26px}
}
@media(max-width:600px) {
  .service-page {--service-section-space:48px}
  .service-page > .service-section.service-situations[data-service-block] {padding-block:44px 48px}
  .service-page.service-page > .service-section.service-short_form[data-service-block] {padding-block:48px 48px}
  .service-page > .service-section.service-faq[data-service-block] {padding-block:54px 46px}
}

/* Measured content rhythm: large opening, compact invitation, roomy narrative.
   Never fix content height: long copy and open FAQ answers can still grow. */
@media(min-width:901px) {
 .service-page .service-path-link {min-height:clamp(350px,45vh,405px);padding-bottom:174px}
 .service-page .service-path-art {height:clamp(165px,22vh,200px)}
 .service-page .service-video .home-two-col {
  width:min(calc(100% - 96px),1168px);
  grid-template-columns:minmax(0,440fr) minmax(0,680fr);
  gap:clamp(32px,3.5vw,48px);align-items:center;
 }
 .service-page .service-video .home-presentation-copy {max-width:none}
 .service-page .service-video .home-video-poster {width:100%;max-width:none;margin-left:0}
 .service-page .service-process .nexo-process-route {--route-gap:16px}
 .service-page .service-process .nexo-process-step {min-height:80px}
 .service-page .service-process .home-process-intro .nexo-lead {margin-bottom:20px}
}
@media(max-width:600px) {
 .service-page .service-path-link {min-height:310px;padding-bottom:145px}
 .service-page .service-path-card.has-no-art .service-path-link {padding-bottom:85px}
 .service-page .service-path-art {height:140px}
 .service-page .service-path-grid {gap:16px}
 .service-page .service-process .home-process-art {height:190px}
 .service-page .service-process .nexo-process-route {--route-gap:16px}
}
