.proposal-shell { width: 100%; }
.slide { position: relative; width: 100%; height: 100svh; display: grid; place-items: center; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; background: #101b24; }
.stage { position: relative; width: min(100vw, calc(100svh * 16 / 9)); aspect-ratio: 16 / 9; max-height: 100svh; overflow: hidden; background: var(--paper); isolation: isolate; }
.stage::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 10% 92%, rgba(185,219,239,.3), transparent 27%), linear-gradient(125deg, transparent 0 68%, rgba(107,80,167,.055)); z-index: -1; }
.stage-inner { position: relative; z-index: 1; width: 100%; height: 100%; padding: var(--safe-y) var(--safe-x); display: grid; align-items: center; }
.slide-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: clamp(32px, 4.3vw, 82px); align-items: center; width: 100%; }
.why-grid { grid-template-columns: minmax(0, .88fr) minmax(440px, 1.12fr); }
.opportunity-grid { grid-template-columns: minmax(0, 1fr) minmax(440px, 1.05fr); }
.edition-grid { grid-template-columns: minmax(0, .8fr) minmax(530px, 1.2fr); gap: clamp(28px, 3.6vw, 68px); }
.knowledge-grid { grid-template-columns: minmax(0, 1.08fr) minmax(460px, .92fr); }
.benchmark-layout { width: 100%; display: grid; gap: clamp(16px, 2vw, 35px); align-content: center; }
.benchmark-layout .slide-heading h1 { max-width: none; }
.journey-layout { width: 100%; display: grid; gap: clamp(16px, 2.4vw, 42px); }
.journey-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .25fr); align-items: center; gap: clamp(22px, 3vw, 56px); }
.assistant-layout { width: 100%; display: grid; grid-template-columns: minmax(220px, .27fr) minmax(0, 1fr); gap: clamp(26px, 3vw, 58px); align-items: center; }
.assistant-heading .slide-heading h1 { font-size: clamp(30px, 3vw, 58px); }
.shelf-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(500px, 1.18fr); gap: clamp(28px, 3.5vw, 68px); align-items: center; }
.dashboard-layout { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(600px, 1.28fr); gap: clamp(28px, 3.3vw, 62px); align-items: center; }
.platform-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(550px, 1.2fr); gap: clamp(28px, 3vw, 58px); align-items: center; }
.service-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(430px, .9fr); gap: clamp(36px, 4vw, 78px); align-items: center; }
.final-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr); gap: clamp(34px, 4vw, 76px); align-items: center; }
.media-pair { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(12px, 1.2vw, 22px); align-items: center; }
.shelf-media { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(160px, .55fr); gap: clamp(12px, 1.2vw, 22px); align-items: end; }
.platform-media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(145px, .31fr); gap: clamp(12px, 1.2vw, 22px); align-items: center; }
.platform-media > div { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 1vw, 18px); }
.slide-footer { position: absolute; right: var(--safe-x); bottom: calc(var(--safe-y) * .42); left: var(--safe-x); display: flex; justify-content: space-between; direction: ltr; color: rgba(33, 27, 37, .48); font: 700 clamp(9px, .62vw, 12px)/1.2 Arial, sans-serif; letter-spacing: .12em; }

.type-benchmarks .stage { color: #fff; background: linear-gradient(135deg, #102f43, #17283a 62%, #2a1c37); }
.type-benchmarks .stage::before { background: radial-gradient(circle at 75% 0, rgba(185,219,239,.2), transparent 34%), radial-gradient(circle at 5% 100%, rgba(102,194,122,.14), transparent 28%); }
.type-shelf .stage { color: #fff; background: linear-gradient(135deg, #132b3d, #1c1726); }
.type-service .stage { color: #fff; background: linear-gradient(135deg, #21162b, #3a2750 62%, #17394a); }
.type-final .stage { color: #fff; background: linear-gradient(140deg, #112e42, #21162b); }
.type-opportunity .stage { background: linear-gradient(135deg, #f9f6ef 0 54%, #e8f3f9 54% 100%); }
.type-assistant .stage { background: linear-gradient(145deg, #f7f4ee 0 62%, #e7f2f8 100%); }
.type-why .stage { background: linear-gradient(90deg, rgba(247,245,240,.97), rgba(247,245,240,.91)), url('../media/neoline/neoline-n-field.jpg') left -7vw center / 34% auto no-repeat, var(--paper); }

/* Two-slide iOS 27-inspired concept preview */
.concept-ios27 .stage { font-family: Vazirmatn, -apple-system, BlinkMacSystemFont, sans-serif; }
.type-why.concept-ios27 .stage { background: #eaf0ff; }
.type-why.concept-ios27 .stage::before { z-index: 0; background: radial-gradient(circle at 9% 12%, rgba(128,91,255,.44), transparent 31%), radial-gradient(circle at 88% 84%, rgba(33,199,255,.4), transparent 34%), radial-gradient(circle at 70% 12%, rgba(255,194,116,.34), transparent 26%), linear-gradient(132deg, #f9fbff 5%, #e5ecff 46%, #f7efff 100%); }
.type-why.concept-ios27 .stage::after { content: ''; position: absolute; z-index: 0; top: 8%; left: 3%; width: 27%; aspect-ratio: 1; border-radius: 44% 56% 62% 38% / 52% 42% 58% 48%; background: linear-gradient(140deg, rgba(255,255,255,.72), rgba(117,93,255,.08)); filter: blur(2px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 28px 90px rgba(73,62,135,.12); transform: rotate(-12deg); opacity: .8; }
.type-assistant.concept-ios27 .stage { color: #fff; background: #07111c; }
.type-assistant.concept-ios27 .stage::before { z-index: 0; background: radial-gradient(circle at 11% 80%, rgba(98,68,215,.62), transparent 31%), radial-gradient(circle at 83% 18%, rgba(24,185,226,.38), transparent 30%), radial-gradient(circle at 55% 112%, rgba(69,222,175,.3), transparent 34%), linear-gradient(135deg, #07111c 0%, #10192d 46%, #0a2030 100%); }
.type-assistant.concept-ios27 .stage::after { content: ''; position: absolute; z-index: 0; top: 7%; right: 8%; width: 34%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 0 80px rgba(139,215,255,.12), 0 0 110px rgba(77,102,255,.16); opacity: .8; }
.ios27-why-layout { position: relative; z-index: 1; width: 100%; display: grid; grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr); gap: clamp(42px, 5vw, 92px); align-items: center; }
.ios27-assistant-layout { position: relative; z-index: 1; width: 100%; display: grid; grid-template-columns: minmax(250px, .32fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 72px); align-items: center; }

.type-benchmarks .slide-footer, .type-shelf .slide-footer, .type-service .slide-footer, .type-final .slide-footer { color: rgba(255,255,255,.5); }
.type-assistant.concept-ios27 .slide-footer { color: rgba(255,255,255,.48); }
.type-mobile .stage { color: #fff; background: linear-gradient(138deg, #0c2638, #102f43 48%, #252044); }
.type-mobile .stage::before { background: radial-gradient(circle at 84% 12%, rgba(185,219,239,.24), transparent 32%), radial-gradient(circle at 7% 92%, rgba(107,80,167,.38), transparent 38%), linear-gradient(120deg, transparent, rgba(255,255,255,.025)); }
.type-mobile .slide-footer { color: rgba(255,255,255,.48); }
.type-opportunity .slide-heading .lead { max-width: 56ch; font-size: clamp(14px,1.02vw,19px); line-height: 1.72; }
.type-opportunity .feature-list li { padding-top: clamp(7px,.7vw,12px); padding-bottom: clamp(7px,.7vw,12px); font-size: clamp(12px,.9vw,17px); line-height: 1.55; }
.knowledge-editorial { width: 100%; display: grid; grid-template-columns: minmax(0,.92fr) minmax(560px,1.08fr); gap: clamp(36px,4vw,74px); align-items: center; }
.shelf-layout { grid-template-columns: minmax(0,1fr) minmax(520px,760px); }
.shelf-media { width: min(100%,calc((100svh - 150px) * 8 / 9)); grid-template-columns: 1fr; gap: clamp(10px,1vw,18px); justify-self: end; }
.mobile-experience-layout { width: 100%; display: grid; grid-template-columns: minmax(390px,.82fr) minmax(580px,1.18fr); gap: clamp(30px,4vw,72px); align-items: center; }
.platform-layout-single { grid-template-columns: minmax(330px,.72fr) minmax(600px,1.28fr); }
.type-benchmarks .slide-heading .lead, .type-shelf .slide-heading .lead, .type-service .slide-heading .lead, .type-final .slide-heading .lead { color: rgba(255,255,255,.7); }

@media (max-aspect-ratio: 4/3) {
  .stage { width: 100vw; }
}

@media (max-width: 980px), (max-height: 650px) {
  :root { --safe-x: clamp(26px, 4.5vw, 52px); --safe-y: clamp(22px, 3svh, 34px); }
  .slide-grid, .assistant-layout, .shelf-layout, .dashboard-layout, .platform-layout, .service-layout, .final-layout { gap: 24px; }
  .slide-heading .lead { line-height: 1.65; }
  .ios27-why-layout { grid-template-columns: minmax(0, .84fr) minmax(430px, 1.16fr); gap: 28px; }
  .ios27-assistant-layout { grid-template-columns: minmax(220px, .3fr) minmax(0, 1fr); gap: 28px; }
  .knowledge-editorial { grid-template-columns: minmax(0,.8fr) minmax(500px,1.2fr); gap: 26px; }
  .shelf-layout { grid-template-columns: minmax(0,1fr) minmax(430px,610px); }
  .mobile-experience-layout { grid-template-columns: minmax(320px,.82fr) minmax(470px,1.18fr); gap: 26px; }
  .platform-layout-single { grid-template-columns: minmax(300px,.76fr) minmax(500px,1.24fr); }
}

@media (max-width: 700px) {
  html { scroll-snap-type: y proximity; }
  .slide { min-height: 100svh; height: auto; overflow: visible; background: var(--paper); }
  .stage { width: 100%; height: auto; min-height: 100svh; max-height: none; aspect-ratio: auto; overflow: visible; }
  .stage-inner { min-height: 100svh; padding: 86px 24px 78px; align-items: start; }
  .slide-grid, .assistant-layout, .shelf-layout, .dashboard-layout, .platform-layout, .service-layout, .final-layout, .journey-main, .ios27-why-layout, .ios27-assistant-layout, .knowledge-editorial, .mobile-experience-layout { grid-template-columns: 1fr; }
  .benchmark-strip { overflow-x: auto; scroll-snap-type: x mandatory; }
  .benchmark-item { min-width: 78vw; scroll-snap-align: start; }
  .platform-media { grid-template-columns: 1fr; }
  .slide-footer { right: 24px; left: 24px; bottom: 26px; }
}
