
/* Stage 5: complete presentation sections */
.presentation-shell { display:grid; gap:14px; min-height:100svh; padding:14px; }
.presentation-slide { scroll-snap-align:start; scroll-snap-stop:always; }
.narrative-slide { display:flex; flex-direction:column; }
.narrative-header { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:86px; padding:14px clamp(22px,3.8vw,60px); color:#fff; background:linear-gradient(100deg,var(--stm-blue-950),var(--stm-blue-800) 72%,var(--stm-blue-700)); }
.narrative-header::after { content:""; position:absolute; z-index:0; right:-7%; bottom:-27px; width:44%; height:40px; pointer-events:none; background:var(--stm-blue-700); clip-path:polygon(0 0,100% 0,92% 100%,7% 100%); opacity:.96; }
.narrative-header>*{position:relative;z-index:1}
.narrative-header__label { font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--stm-cyan-200); }
.narrative-header__number { display:grid; place-items:center; width:58px; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.34); background:rgba(255,255,255,.08); font-family:var(--font-display); font-size:22px; font-weight:900; }
.brand--compact .brand-name{font-size:clamp(25px,2.5vw,40px)}

.cover-slide { min-height:calc(100svh - 28px); color:#fff; background:linear-gradient(140deg,var(--stm-blue-950),var(--stm-blue-800)); }
.cover-layout { display:grid; grid-template-columns:minmax(420px,.88fr) minmax(520px,1.12fr); min-height:calc(100svh - 28px); }
.cover-copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:clamp(42px,6vw,92px); overflow:hidden; }
.cover-copy::before { content:""; position:absolute; inset:auto auto -22% -20%; width:70%; aspect-ratio:1; border:1px solid rgba(191,233,247,.22); border-radius:50%; box-shadow:0 0 0 80px rgba(32,168,216,.035),0 0 0 160px rgba(32,168,216,.025); }
.cover-brand { position:relative; display:flex; align-items:center; gap:16px; margin-bottom:clamp(38px,6vh,72px); }
.cover-brand img{width:74px;height:74px;object-fit:contain}
.cover-brand strong{display:block;font-family:var(--font-display);font-size:clamp(34px,4vw,58px);line-height:.9;letter-spacing:.02em}
.cover-brand span{display:block;margin-top:7px;font-family:var(--font-display);font-size:clamp(9px,.8vw,12px);font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--stm-cyan-200)}
.cover-kicker { position:relative; margin:0 0 18px; color:var(--stm-cyan-200); font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.cover-title { position:relative; max-width:760px; margin:0; font-family:var(--font-display); font-size:clamp(52px,6.2vw,94px); font-weight:900; letter-spacing:-.045em; line-height:.9; text-wrap:balance; }
.cover-title span{display:block}
.cover-subtitle { position:relative; max-width:680px; margin:25px 0 0; color:#d8ebf4; font-size:clamp(17px,1.45vw,22px); line-height:1.45; }
.cover-actions{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.cover-start{display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border-radius:999px;background:#fff;color:var(--stm-blue-950);font-weight:800;cursor:pointer;box-shadow:0 12px 38px rgba(0,0,0,.2)}
.cover-start svg{width:18px;height:18px}
.cover-image { position:relative; min-height:100%; overflow:hidden; background:#fff; clip-path:polygon(10% 0,100% 0,100% 100%,0 100%); }
.cover-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.cover-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,47,71,.3),transparent 28%); }

.narrative-body { flex:1; min-height:0; padding:clamp(42px,5vw,74px) clamp(22px,4.2vw,68px) 26px; }
.intro-layout { display:grid; grid-template-columns:minmax(560px,1.15fr) minmax(400px,.85fr); gap:clamp(30px,4vw,70px); align-items:stretch; }
.intro-copy { padding:clamp(24px,3vw,42px); border:var(--border); border-radius:var(--radius-xl); background:rgba(255,255,255,.96); box-shadow:var(--shadow-soft); }
.section-kicker{margin:0 0 12px;color:var(--stm-blue-700);font-size:12px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.narrative-title { margin:0 0 22px; color:var(--stm-blue-950); font-family:var(--font-display); font-size:clamp(42px,4.5vw,70px); line-height:.95; letter-spacing:-.035em; text-wrap:balance; }
.intro-copy p { margin:0 0 14px; color:var(--stm-steel-800); font-size:clamp(14px,1.05vw,17px); line-height:1.58; }
.intro-copy p:first-of-type { color:var(--stm-blue-950); font-weight:850; font-size:clamp(17px,1.25vw,20px); }
.intro-copy p:last-child { margin-top:22px; color:var(--stm-blue-900); font-weight:800; }
.intro-visual { position:relative; min-height:610px; overflow:hidden; border-radius:var(--radius-xl); background:var(--stm-blue-950); box-shadow:var(--shadow-soft); }
.intro-visual__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.72; mix-blend-mode:screen; }
.intro-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,47,71,.08),rgba(5,47,71,.86)); }
.channel-list { position:absolute; z-index:2; left:24px; right:24px; bottom:24px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.channel-card { display:grid; grid-template-columns:1fr 78px; gap:12px; align-items:center; padding:14px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(5,47,71,.78); backdrop-filter:blur(12px); color:#fff; }
.channel-card__logo{width:110px;height:auto}
.channel-card__qr{width:78px;height:78px;border-radius:8px;background:#fff;padding:4px}
.channel-card span{display:block;margin-top:8px;color:var(--stm-cyan-200);font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.channel-card__content{min-width:0}
.channel-card__button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin-top:9px;padding:6px 12px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#fff;background:rgba(255,255,255,.1);font-size:11px;font-weight:800;line-height:1;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.channel-card__button:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.56);transform:translateY(-1px)}
.channel-card__button:focus-visible{outline:3px solid var(--stm-cyan-200);outline-offset:2px}

.benefits-layout { position:relative; display:grid; grid-template-columns:minmax(590px,1.1fr) minmax(360px,.72fr); gap:clamp(28px,4vw,66px); align-items:start; }
.benefits-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.benefit-card { display:grid; grid-template-columns:46px 1fr; gap:14px; align-items:start; min-height:132px; padding:18px; border:var(--border); border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 12px 35px rgba(5,47,71,.08); }
.benefit-card:nth-child(5){grid-column:1/-1;min-height:auto}
.benefit-index{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--stm-blue-800),var(--stm-cyan-500));color:#fff;font-family:var(--font-display);font-size:18px;font-weight:900}
.benefit-card p{margin:1px 0 0;color:var(--stm-steel-800);font-size:clamp(13px,1vw,16px);font-weight:650;line-height:1.45}
.benefits-summary { position:relative; overflow:hidden; min-height:430px; padding:30px; border-radius:var(--radius-xl); color:#fff; background:linear-gradient(145deg,var(--stm-blue-950),var(--stm-blue-700)); box-shadow:var(--shadow-soft); }
.benefits-summary::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,47,71,.50),rgba(5,47,71,.82)),var(--benefits-image) 44% 52%/cover no-repeat;opacity:1}
.benefits-summary>*{position:relative}
.benefits-summary h2{margin:0 0 20px;font-family:var(--font-display);font-size:clamp(30px,3vw,48px);line-height:1}
.benefits-summary p{margin:0 0 16px;color:#d8ebf4;font-size:clamp(14px,1.05vw,17px);line-height:1.55}
.benefits-summary__metric{display:flex;align-items:end;gap:12px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.benefits-summary__metric strong{font-family:var(--font-display);font-size:clamp(54px,5vw,78px);line-height:.8;color:var(--stm-cyan-200)}
.benefits-summary__metric span{max-width:170px;font-size:12px;line-height:1.35;text-transform:uppercase;letter-spacing:.1em}

.contacts-layout { display:grid; grid-template-columns:minmax(480px,.9fr) minmax(550px,1.1fr); min-height:calc(100svh - 28px); }
.contacts-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(48px,6vw,92px); background:linear-gradient(145deg,var(--stm-blue-950),var(--stm-blue-800)); color:#fff; }
.contacts-title{margin:20px 0 36px;font-family:var(--font-display);font-size:clamp(60px,7vw,104px);line-height:.85;letter-spacing:-.04em}
.contact-list{display:grid;gap:13px;margin-top:6px}
.contact-item{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.15)}
.contact-item:first-child{border-top:0}
.contact-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.1);color:var(--stm-cyan-200)}
.contact-icon svg{width:20px;height:20px}
.contact-item span{display:block;color:var(--stm-cyan-200);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
/* v1.8.2: keep contact pictograms centered inside their chips on all viewports */
.contact-item .contact-icon{display:grid;place-items:center;padding:0;line-height:1}
.contact-item .contact-icon svg{display:block;width:20px;height:20px;margin:0}
.contact-item a,.contact-item address{display:block;margin-top:4px;color:#fff;font-size:clamp(16px,1.35vw,21px);font-style:normal;text-decoration:none;line-height:1.35}
.contacts-image{position:relative;overflow:hidden;background:#fff;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
.contacts-image img{width:100%;height:100%;object-fit:cover;opacity:.84}
.contacts-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,47,71,.3),transparent 30%)}
.contacts-home{display:inline-flex;align-items:center;gap:8px;margin-top:30px;align-self:flex-start;padding:11px 15px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-weight:750;cursor:pointer}
.developer-credit{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:22px;color:rgba(216,235,244,.72);font-size:11px;line-height:1.35}
.developer-credit span{color:inherit;font-size:inherit;font-weight:650;letter-spacing:.04em;text-transform:none}
.developer-credit a{color:#fff;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.34);transition:border-color .18s ease,color .18s ease}
.developer-credit a:hover{color:var(--stm-cyan-200);border-color:var(--stm-cyan-200)}
.developer-credit a:focus-visible{outline:3px solid var(--stm-cyan-200);outline-offset:3px;border-radius:3px}

.contents-item__type { color:var(--stm-steel-400);font-size:10px;letter-spacing:.08em;text-transform:uppercase; }
.contents-item { grid-template-columns:42px 1fr auto; }
.page-rail__progress strong{min-width:1.4em;text-align:right}

@media (max-width:1100px){
  .presentation-shell{gap:0;padding:0}
  .cover-slide,.contacts-layout{min-height:100svh}
  .cover-layout{grid-template-columns:1fr;min-height:100svh}
  .cover-copy{min-height:58svh;padding:44px 24px 38px}
  .cover-image{min-height:42svh;clip-path:none}
  .cover-image img{object-position:center 42%}
  .intro-layout,.benefits-layout{grid-template-columns:1fr}
  .narrative-body{padding:42px 18px 24px}
  .intro-visual{min-height:470px}
  .benefits-summary{min-height:350px}
  .contacts-layout{grid-template-columns:1fr}
  .contacts-copy{min-height:54svh;padding:50px 28px 38px}
  .contacts-image{min-height:46svh;clip-path:none}
}
@media (max-width:620px){
  .narrative-header{min-height:68px;padding:10px 14px}
  .narrative-header::after{bottom:-16px;height:24px;width:54%}
  .narrative-header__number{width:42px;font-size:17px}
  .narrative-header__label{font-size:9px}
  .cover-copy{min-height:auto;padding:30px 18px 34px}
  .cover-brand{margin-bottom:34px;gap:10px}.cover-brand img{width:52px;height:52px}
  .cover-brand strong{font-size:32px}.cover-brand span{font-size:8px}
  .cover-title{font-size:clamp(27px,8.4vw,34px);line-height:.95;letter-spacing:-.028em;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}
  .cover-subtitle{font-size:15px;line-height:1.42;margin-top:18px}.cover-actions{margin-top:24px}
  .cover-image{min-height:38svh}
  .narrative-body{padding:34px 14px 18px}
  .narrative-title{font-size:clamp(34px,9vw,44px);margin-bottom:17px;overflow-wrap:break-word}
  .intro-copy{padding:18px;border-radius:20px}.intro-copy p{font-size:14px;line-height:1.52}
  .intro-visual{min-height:370px;border-radius:20px}
  .channel-list{left:12px;right:12px;bottom:12px;grid-template-columns:1fr;gap:8px}
  .channel-card{grid-template-columns:1fr 62px;padding:10px}.channel-card__qr{width:62px;height:62px}.channel-card__logo{width:96px}
  .benefits-grid{grid-template-columns:1fr}.benefit-card:nth-child(5){grid-column:auto}.benefit-card{min-height:auto;padding:14px;grid-template-columns:40px 1fr}.benefit-index{width:40px;height:40px}
  .benefits-summary{min-height:auto;padding:22px;border-radius:20px}
  .contacts-copy{order:2;min-height:auto;padding:36px 18px}.contacts-title{font-size:58px;margin:16px 0 24px}
  .contacts-image{order:1;min-height:42svh}.contact-item{grid-template-columns:38px 1fr}.contact-icon{width:38px;height:38px}
  .developer-credit{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);font-size:12px}
}

/* v1.1: exact page positioning and compact desktop layout for short browser viewports */
@media (min-width: 1101px) {
  html {
    scroll-padding-block: 14px;
  }

  .presentation-slide {
    scroll-margin-top: 0;
  }
}

@media (min-width: 1101px) and (max-height: 860px) {
  .narrative-header {
    min-height: 64px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .narrative-header__number {
    width: 46px;
    font-size: 18px;
  }

  .narrative-header__label {
    font-size: 9px;
  }

  .brand--compact .brand-symbol {
    width: 40px;
    height: 40px;
  }

  .brand--compact .brand-name {
    font-size: clamp(25px, 2vw, 32px);
  }

  .brand--compact .brand-descriptor {
    margin-top: 3px;
    font-size: 8px;
  }

  .cover-layout {
    grid-template-columns: minmax(500px, .95fr) minmax(520px, 1.05fr);
  }

  .cover-copy {
    padding: 30px clamp(36px, 4vw, 58px);
  }

  .cover-brand {
    gap: 12px;
    margin-bottom: 22px;
  }

  .cover-brand img {
    width: 54px;
    height: 54px;
  }

  .cover-brand strong {
    font-size: clamp(34px, 3.1vw, 46px);
  }

  .cover-brand span {
    margin-top: 5px;
    font-size: 8px;
  }

  .cover-kicker {
    margin-bottom: 10px;
    font-size: 10px;
  }

  .cover-title {
    max-width: 100%;
    font-size: clamp(48px, 3.8vw, 62px);
    line-height: .92;
    letter-spacing: -.038em;
  }

  .cover-subtitle {
    margin-top: 16px;
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 1.38;
  }

  .cover-actions {
    margin-top: 18px;
  }

  .cover-start {
    padding: 10px 15px;
    font-size: 13px;
  }

  .narrative-body {
    padding: 22px clamp(34px, 4vw, 58px) 10px;
    overflow: hidden;
  }

  .intro-layout {
    grid-template-columns: minmax(620px, 1.22fr) minmax(360px, .78fr);
    gap: clamp(24px, 3vw, 42px);
    align-items: stretch;
  }

  .intro-copy {
    padding: 18px 22px;
    border-radius: 22px;
  }

  .section-kicker {
    margin-bottom: 7px;
    font-size: 10px;
  }

  .narrative-title {
    margin-bottom: 12px;
    font-size: clamp(38px, 3.3vw, 50px);
    line-height: .96;
  }

  .intro-copy p {
    margin-bottom: 8px;
    font-size: clamp(11.5px, .86vw, 13.5px);
    line-height: 1.42;
  }

  .intro-copy p:first-of-type {
    font-size: clamp(13px, .95vw, 15px);
  }

  .intro-copy p:last-child {
    margin-top: 10px;
    margin-bottom: 0;
  }

  .intro-visual {
    min-height: 0;
    height: 100%;
    border-radius: 22px;
  }

  .channel-list {
    left: 14px;
    right: 14px;
    bottom: 14px;
    gap: 8px;
  }

  .channel-card {
    grid-template-columns: 1fr 58px;
    gap: 8px;
    padding: 9px;
    border-radius: 14px;
  }

  .channel-card__logo {
    width: 88px;
  }

  .channel-card__qr {
    width: 58px;
    height: 58px;
  }

  .channel-card span {
    margin-top: 5px;
    font-size: 8px;
  }

  .benefits-layout {
    grid-template-columns: minmax(620px, 1.18fr) minmax(350px, .72fr);
    gap: clamp(24px, 3vw, 42px);
    align-items: stretch;
  }

  .benefits-grid {
    gap: 9px;
  }

  .benefit-card {
    grid-template-columns: 38px 1fr;
    gap: 11px;
    min-height: 98px;
    padding: 13px 15px;
    border-radius: 16px;
  }

  .benefit-card:nth-child(5) {
    min-height: 66px;
  }

  .benefit-index {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    font-size: 15px;
  }

  .benefit-card p {
    font-size: clamp(11.5px, .88vw, 13.5px);
    line-height: 1.38;
  }

  .benefits-summary {
    min-height: 0;
    height: 100%;
    padding: 22px 24px;
    border-radius: 22px;
  }

  .benefits-summary h2 {
    margin-bottom: 13px;
    font-size: clamp(28px, 2.45vw, 38px);
  }

  .benefits-summary p {
    margin-bottom: 11px;
    font-size: clamp(11.5px, .9vw, 14px);
    line-height: 1.45;
  }

  .benefits-summary__metric {
    margin-top: 18px;
    padding-top: 14px;
  }

  .benefits-summary__metric strong {
    font-size: clamp(46px, 4vw, 62px);
  }

  .benefits-summary__metric span {
    font-size: 9px;
  }

  .contacts-copy {
    padding: 30px clamp(42px, 5vw, 72px);
  }

  .contacts-copy .cover-brand {
    margin-bottom: 22px;
  }

  .contacts-title {
    margin: 12px 0 20px;
    font-size: clamp(58px, 5.4vw, 78px);
  }

  .contact-list {
    gap: 5px;
    margin-top: 0;
  }

  .contact-item {
    grid-template-columns: 38px 1fr;
    gap: 11px;
    padding: 10px 0;
  }

  .contact-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
  }

  .contact-item a,
  .contact-item address {
    font-size: clamp(14px, 1.08vw, 17px);
  }

  .contacts-home {
    margin-top: 16px;
    padding: 9px 13px;
    font-size: 13px;
  }
}

@media (min-width: 1101px) and (max-height: 740px) {
  .cover-title {
    font-size: clamp(44px, 3.45vw, 56px);
  }

  .cover-brand {
    margin-bottom: 15px;
  }

  .cover-subtitle {
    font-size: 14px;
  }

  .narrative-body {
    padding-top: 16px;
  }

  .narrative-title {
    font-size: clamp(34px, 3vw, 44px);
  }

  .intro-copy p {
    font-size: 11px;
    line-height: 1.35;
  }

  .benefit-card {
    min-height: 88px;
  }
}


/* v1.2: desktop visual polish after live viewport review */
@media (min-width: 1101px) {
  /* Cover: three distinct vertical zones instead of one compressed block */
  .cover-copy {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: start;
    justify-content: stretch;
  }
  .cover-brand { margin-bottom: 0; }
  .cover-main {
    align-self: center;
    width: 100%;
    padding: 18px 0;
  }
  .cover-actions {
    align-self: end;
    margin-top: 0;
  }

  /* Intro: use available card height and restore a readable text scale */
  .intro-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  /* Benefits: cards stretch into the available area instead of clustering */
  .benefits-grid {
    grid-template-rows: repeat(2, minmax(0, 1fr)) auto;
    align-self: stretch;
  }
  .benefit-card { min-height: 0; }
  .benefit-card:nth-child(5) { min-height: 0; }

  /* Contact icons: prevent the generic span rule from overriding grid centering */
  .contact-item .contact-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 0;
    line-height: 1;
  }
  .contact-item .contact-icon svg {
    display: block;
    width: 20px;
    height: 20px;
    margin: 0;
  }
}

@media (min-width: 1101px) and (max-height: 860px) {
  .cover-copy {
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .cover-main { padding: 12px 0; }
  .cover-brand img { width: 58px; height: 58px; }
  .cover-brand strong { font-size: clamp(38px, 3.25vw, 48px); }
  .cover-title { font-size: clamp(50px, 4.15vw, 66px); }
  .cover-subtitle { max-width: 620px; font-size: clamp(16px, 1.18vw, 19px); }

  .intro-copy { padding: 28px 30px; }
  .intro-copy .narrative-title {
    margin-bottom: 18px;
    font-size: clamp(46px, 3.7vw, 58px);
  }
  .intro-copy p {
    margin-bottom: 12px;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.5;
  }
  .intro-copy p:first-of-type { font-size: clamp(16px, 1.12vw, 18px); }
  .intro-copy p:last-child { margin-top: 16px; }

  .benefits-layout { align-items: stretch; }
  .benefits-grid { gap: 12px; }
  .benefit-card {
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 17px 18px;
  }
  .benefit-index {
    width: 44px;
    height: 44px;
    font-size: 17px;
  }
  .benefit-card p {
    font-size: clamp(14px, .98vw, 16px);
    line-height: 1.42;
  }
  .benefits-summary { padding: 28px 30px; }
  .benefits-summary h2 {
    margin-bottom: 18px;
    font-size: clamp(36px, 2.9vw, 46px);
  }
  .benefits-summary p {
    margin-bottom: 15px;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.52;
  }
  .benefits-summary__metric { margin-top: 24px; padding-top: 18px; }
  .benefits-summary__metric strong { font-size: clamp(54px, 4.4vw, 68px); }
  .benefits-summary__metric span { font-size: 10px; }
}

@media (min-width: 1101px) and (max-height: 860px) {
  .benefit-card { align-items: center; }
}

/* v1.3 generated visual positioning */
.cover-image img{object-position:50% 52%}
.contacts-image img{object-position:50% 53%;opacity:.94}

@media (max-width:1100px){.channel-card__button{min-height:28px;padding:5px 10px;font-size:10px}}

/* v1.6: fixed-canvas narrative balance at the 1536×864 desktop design size */
@media (min-width: 1101px) and (max-height: 900px) {
  .narrative-header {
    min-height: 72px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .narrative-header__number {
    width: 50px;
    font-size: 19px;
  }
  .narrative-header__label { font-size: 10px; }

  /* Slide 2: preserve readable text without letting the copy enter the footer. */
  .intro-layout {
    min-height: 0;
    padding: 24px clamp(40px, 3.8vw, 58px) 16px;
    grid-template-columns: minmax(650px, 1.22fr) minmax(390px, .78fr);
    gap: clamp(28px, 3vw, 42px);
  }
  .intro-copy {
    min-height: 0;
    padding: 23px 30px;
    justify-content: center;
    overflow: hidden;
  }
  .intro-copy .section-kicker {
    margin-bottom: 8px;
    font-size: 10px;
  }
  .intro-copy .narrative-title {
    margin-bottom: 14px;
    font-size: clamp(46px, 3.45vw, 53px);
    line-height: .95;
  }
  .intro-copy p {
    margin-bottom: 9px;
    font-size: clamp(14px, .96vw, 15px);
    line-height: 1.42;
  }
  .intro-copy p:first-of-type {
    font-size: clamp(15px, 1.02vw, 16px);
  }
  .intro-copy p:last-child {
    margin-top: 12px;
    margin-bottom: 0;
  }
  .intro-visual {
    min-height: 0;
    height: 100%;
  }
  .channel-list {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }

  /* Slide 3: make the content area a true remaining-height layout. */
  #benefits .narrative-body {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding: 24px clamp(40px, 3.8vw, 58px) 16px;
    overflow: hidden;
  }
  #benefits .section-kicker {
    flex: 0 0 auto;
    margin-bottom: 8px;
    font-size: 10px;
  }
  #benefits .narrative-title {
    flex: 0 0 auto;
    margin-bottom: 14px;
    font-size: clamp(48px, 3.8vw, 58px);
    line-height: .94;
  }
  #benefits .benefits-layout {
    flex: 1 1 auto;
    min-height: 0;
    align-items: stretch;
  }
  #benefits .benefits-grid {
    min-height: 0;
    height: 100%;
    grid-template-rows: repeat(2, minmax(0, 1fr)) minmax(70px, auto);
    gap: 10px;
  }
  #benefits .benefit-card {
    min-height: 0;
    padding: 15px 17px;
  }
  #benefits .benefit-card:nth-child(5) { min-height: 70px; }
  #benefits .benefit-card p {
    font-size: clamp(13px, .92vw, 14.5px);
    line-height: 1.4;
  }
  #benefits .benefits-summary {
    min-height: 0;
    height: 100%;
    padding: 24px 28px;
    overflow: hidden;
  }
  #benefits .benefits-summary h2 {
    margin-bottom: 14px;
    font-size: clamp(34px, 2.75vw, 42px);
  }
  #benefits .benefits-summary p {
    margin-bottom: 12px;
    font-size: clamp(13px, .92vw, 14.5px);
    line-height: 1.46;
  }
  #benefits .benefits-summary__metric {
    margin-top: 16px;
    padding-top: 14px;
  }
}


/* v1.7: deterministic cover title wrapping inside the fixed 1536×864 canvas */
@media (min-width: 1101px) {
  #cover .cover-title {
    max-width: 100%;
    font-size: 54px;
    line-height: .98;
    letter-spacing: -.035em;
    text-wrap: initial;
  }
  #cover .cover-title > span {
    display: block;
    white-space: nowrap;
  }
  #cover .cover-main {
    min-width: 0;
    max-width: 100%;
  }
}

@media (min-width: 1101px) and (max-height: 740px) {
  #cover .cover-title { font-size: 50px; }
}
