/* Shared service journeys. Brand tokens and the original sections live in styles.css. */
.gateway-page { background: var(--navy-deep); color: #fff; }
.gateway-page .site-header { position: absolute; clip-path: inset(0); }
.gateway-header .nav-shell { min-height: 90px; }
.gateway-prompt { flex: 1; min-width: 0; max-width: 720px; margin: 0 auto; text-align: center; color: #e4ecff; font-size: 16px; font-weight: 600; line-height: 1.65; text-wrap: balance; }
.gateway-shell { height: 100vh; height: 100svh; height: 100dvh; min-height: 0; }
.gateway-panels { position: relative; display: flex; direction: ltr; width: 100%; height: 100%; overflow: hidden; isolation: isolate; }
.gateway-panel {
  position: relative; flex: 1 1 0%; min-width: 0; height: 100%; overflow: hidden;
  container-type: inline-size; color: #fff; direction: rtl;
  transition: flex-grow .8s cubic-bezier(.22,.8,.18,1), opacity .6s ease;
  -webkit-tap-highlight-color: transparent;
}
html[dir="ltr"] .gateway-panel { direction: ltr; }
.gateway-planning { background: #241943; }
.gateway-planning-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transform: scale(1.02); transition: transform 1.2s cubic-bezier(.22,.8,.18,1); }
.gateway-planning::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(3,16,54,.2) 5%,rgba(20,13,44,.15) 32%,rgba(16,14,42,.81) 65%,rgba(23,15,48,.98)),linear-gradient(110deg,rgba(246,82,238,.15),transparent 65%); }
.gateway-app { background: radial-gradient(ellipse at 66% 24%,rgba(10,209,227,.3),transparent 44%),radial-gradient(ellipse at 13% 52%,rgba(246,82,238,.19),transparent 53%),radial-gradient(ellipse at 92% 75%,rgba(73,94,220,.23),transparent 46%),linear-gradient(145deg,var(--navy),var(--navy-deep) 80%); }
/* The isolated phone is a background layer; only the live copy sits above it. */
.gateway-app::before { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(3,16,54,.06) 12%,rgba(3,16,54,.3) 35%,rgba(3,16,54,.8) 60%,rgba(3,16,54,.96) 100%); }
.gateway-app::after { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: url("assets/lameet/app-ribbon-pattern.svg") center/100% 100% no-repeat; opacity: .48; }
.gateway-phone { position: absolute; z-index: 1; top: 7%; left: 52%; width: auto; height: 98%; max-width: none; object-fit: contain; opacity: 1; filter: brightness(.7); transform: translateX(-50%); pointer-events: none; transition: left .8s ease,height .8s ease; }
.gateway-copy { position: absolute; z-index: 3; bottom: 9%; left: 9%; width: 82%; max-width: 620px; }
.gateway-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; color: #f3daf7; font-size: 12px; font-weight: 700; }
.gateway-kicker::before { content: ""; width: 24px; height: 2px; background: var(--pink); }
.gateway-app .gateway-kicker { color: var(--cyan); }
.gateway-app .gateway-kicker::before { background: var(--cyan); }
.gateway-copy :is(h1,h2) { margin: 0; font-size: clamp(34px,7.3cqw,64px); font-weight: 800; line-height: 1.28; letter-spacing: -.035em; }
.gateway-line { margin: 7px 0 0; color: #efb3f3; font-size: clamp(20px,4.2cqw,34px); font-weight: 700; line-height: 1.4; }
.gateway-app .gateway-line { color: var(--cyan); }
.gateway-description { max-width: 43ch; margin: 15px 0 14px; color: #e5e9f5; font-size: clamp(14px,1.17vw,18px); line-height: 1.85; text-wrap: pretty; }
.gateway-points { display: grid; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; color: #e8edf9; font-size: clamp(13px,1.03vw,16px); line-height: 1.6; }
.gateway-points li { display: flex; align-items: center; gap: 9px; }
.gateway-points li::before { content: "✓"; display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; border: 1px solid rgba(246,82,238,.45); border-radius: 50%; color: #f5b2ed; background: rgba(246,82,238,.1); font: 700 11px/1 "Roboto",sans-serif; }
.gateway-app .gateway-points li::before { color: var(--cyan); border-color: rgba(10,209,227,.4); background: rgba(10,209,227,.1); }
.gateway-cta { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 13px 25px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: var(--navy-deep); background: linear-gradient(110deg,var(--pink),#f6b5d7 60%,var(--gold)); box-shadow: inset 0 1px rgba(255,255,255,.65),0 12px 32px rgba(0,0,0,.2); font-size: 15px; font-weight: 800; line-height: 1.4; transition: transform .3s ease,box-shadow .3s ease; }
.gateway-app .gateway-cta { background: linear-gradient(110deg,var(--cyan),#a2e9ee 65%,#c6a9f8); }
.gateway-cta b { font: 500 23px/1 "Roboto",sans-serif; transition: transform .3s ease; }
html[dir="rtl"] .gateway-cta b { transform: rotate(180deg); }
.gateway-features { position: absolute; z-index: 3; top: 145px; left: 9%; right: 9%; margin: 0; font-size: 11px; color: rgba(255,255,255,.8); letter-spacing: .04em; }
.gateway-number { position: absolute; z-index: 1; bottom: -3%; right: -1%; font: 800 clamp(120px,24vw,390px)/1 "Roboto",sans-serif; opacity: .035; pointer-events: none; }
.gateway-divider { position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; width: 1px; background: linear-gradient(transparent 7%,rgba(255,255,255,.45),var(--pink) 65%,var(--cyan),transparent); transition: left .8s cubic-bezier(.22,.8,.18,1),opacity .4s ease; pointer-events: none; }
.gateway-divider span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 40px; height: 56px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: #fff; background: rgba(3,16,54,.45); backdrop-filter: blur(14px); font: 400 22px/1 "Roboto",sans-serif; }
.gateway-note { position: absolute; z-index: 5; bottom: 18px; left: 50%; transform: translateX(-50%); margin: 0; color: rgba(255,255,255,.55); font-size: 10px; white-space: nowrap; pointer-events: none; }
.gateway-panel:focus-visible { outline: 3px solid var(--cyan); outline-offset: -6px; }
.gateway-panel:is(a):hover .gateway-cta,.gateway-panel:focus-visible .gateway-cta,.gateway-cta:is(a):hover { transform: translateY(-3px); box-shadow: inset 0 1px rgba(255,255,255,.75),0 15px 40px rgba(10,209,227,.2); }
.gateway-panels[data-preview="app"] .gateway-app,.gateway-panels[data-preview="planning"] .gateway-planning { flex-grow: 1.9; }
.gateway-panels[data-preview="app"] .gateway-divider { left: 34.483%; }
.gateway-panels[data-preview="planning"] .gateway-divider { left: 65.517%; }
.gateway-panels[data-preview="planning"] .gateway-planning-photo { transform: scale(1.07); }
.gateway-panels[data-selected="app"] .gateway-planning,.gateway-panels[data-selected="planning"] .gateway-app { flex-grow: 0; opacity: 0; pointer-events: none; }
.gateway-panels[data-selected="app"] .gateway-app,.gateway-panels[data-selected="planning"] .gateway-planning { flex-grow: 1; }
.gateway-panels[data-selected] .gateway-divider,.gateway-panels[data-selected] .gateway-note { opacity: 0; }
.gateway-panels[data-selected="app"] .gateway-divider { left: 0; }
.gateway-panels[data-selected="planning"] .gateway-divider { left: 100%; }
.gateway-panels[data-selected] .gateway-panel { pointer-events: none; }
.gateway-page.is-entering .gateway-header { opacity: 0; transition: opacity .3s ease; }

/* The service pages retain the original navigation, sections, and footer. */
.service-page { background: var(--navy-deep); }
.service-page main { background: #fff; }
.service-page .nav-shell { z-index: 100; }
.service-page .desktop-nav a { min-width: 0; flex: 1; padding-inline: 12px; }
.service-page .desktop-nav .service-home-link { color: var(--cyan); }
.service-hero { position: relative; isolation: isolate; display: grid; align-items: center; min-height: 780px; min-height: min(920px,100svh); padding: 170px 0 90px; overflow: hidden; color: #fff; background: var(--navy-deep); }
.service-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 20% 40%,rgba(10,209,227,.2),transparent 50%),radial-gradient(ellipse at 85% 100%,rgba(246,82,238,.15),transparent 55%); }
.service-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(35px,7vw,100px); align-items: center; }
.service-hero-copy { min-width: 0; }
.service-hero-copy h1 { max-width: 700px; margin: 12px 0 20px; font-size: clamp(42px,4.5vw,70px); line-height: 1.3; letter-spacing: -.04em; text-wrap: balance; }
.service-hero-copy > p { max-width: 55ch; margin: 0 0 28px; color: #d7e2f8; font-size: 17px; line-height: 1.9; }
.service-hero .section-label { color: var(--cyan); }
.service-hero .section-label::before { background: var(--cyan); }
.service-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.service-hero-actions .button { border-radius: 999px; }
.service-hero-visual { position: relative; min-width: 0; display: grid; place-items: center; }
.service-hero-visual::before { content: ""; position: absolute; inset: 14% -10%; border: 1px solid rgba(10,209,227,.3); border-radius: 50%; transform: rotate(-28deg); box-shadow: 0 0 60px rgba(10,209,227,.07); }
.service-hero-phone { position: relative; width: auto; height: min(58svh,580px); object-fit: contain; transform: rotate(-7deg); filter: drop-shadow(0 30px 40px rgba(0,0,0,.4)); }
.service-planning-hero { min-height: 740px; min-height: min(900px,100svh); }
.service-planning-photo { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.service-planning-hero::before { z-index: -2; background: linear-gradient(90deg,rgba(3,16,54,.25),rgba(3,16,54,.8) 50%,rgba(3,16,54,.96)),linear-gradient(0deg,rgba(246,82,238,.12),transparent); }
html[dir="ltr"] .service-planning-hero::before { background: linear-gradient(270deg,rgba(3,16,54,.25),rgba(3,16,54,.8) 50%,rgba(3,16,54,.96)); }
.service-planning-hero .service-hero-copy { max-width: 720px; }
.service-planning-hero .section-label { color: #f1b5ec; }
.service-planning-hero .section-label::before { background: var(--pink); }
.service-hero .hero-explore { left: 50%; bottom: 16px; }
.service-return { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 7px 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #e8edfa; background: rgba(255,255,255,.06); font-size: 12px; }
.service-return:hover { color: var(--cyan); border-color: var(--cyan); }
.service-return-symbol { font: 400 20px/1 "Roboto",sans-serif; }
.service-registry { background: linear-gradient(150deg,#f5fbfe,#fff8f6); }
.service-registry .registry-choices { padding: 0; gap: 24px; background: transparent; }
.service-registry .registry-choices article { display: block; padding: 38px; border: 1px solid #e1e8ef; border-radius: 30px 75px 30px 30px; background: #fff; box-shadow: var(--soft-shadow); }
.registry-icon { width: 66px; height: 66px; margin-bottom: 24px; padding: 14px; border-radius: 20px; background: linear-gradient(135deg,rgba(246,82,238,.12),rgba(10,209,227,.14)); }
.registry-icon img { width: 100%; height: 100%; object-fit: contain; }
.service-registry .registry-choices h3 { margin-bottom: 14px; font-size: 25px; }
.service-registry .registry-choices p { font-size: 16px; line-height: 1.85; }
.service-final .final-options { grid-template-columns: 1fr; max-width: 850px; margin-inline: auto; text-align: center; }
.service-final .final-options > article { min-height: auto; padding: 40px; border-radius: 34px 90px 34px 34px; }
.service-final .store-actions,.service-final .final-link-row { justify-content: center; }
.service-final .store-actions { display: flex; }
.service-page .back-to-top { bottom: max(22px,env(safe-area-inset-bottom)); }

@media (min-width: 1025px) and (min-height: 650px) {
  .gateway-panels[data-preview="app"] .gateway-app .gateway-phone,.gateway-panels[data-selected="app"] .gateway-app .gateway-phone { left: 57%; height: 108%; }
}

@media (max-width: 1120px) {
  .service-hero-grid { gap: 30px; }
  .gateway-features { top: 140px; }
}

@media (max-width: 820px) and (orientation: portrait) {
  .gateway-header .nav-shell { min-height: 68px; padding: 6px 13px; }
  .gateway-header .brand { width: 112px; }
  .gateway-header .brand img { max-height: 50px; }
  .gateway-prompt { margin-inline: 12px; font-size: 11px; line-height: 1.5; }
  .gateway-shell { height: auto; min-height: 100svh; }
  .gateway-panels { flex-direction: column-reverse; height: auto; }
  .gateway-panel { flex: 0 0 auto; width: 100%; height: auto; min-height: max(50svh,420px); container-type: normal; transition: min-height .7s cubic-bezier(.22,.8,.18,1),height .7s ease,opacity .6s ease; }
  .gateway-app { min-height: max(50svh,420px); }
  .gateway-copy { bottom: 24px; left: 7%; width: 86%; max-width: none; }
  .gateway-app .gateway-copy { left: 7%; width: 86%; }
  .gateway-copy h2 { font-size: clamp(27px,6.9vw,42px); line-height: 1.2; }
  .gateway-line { display: none; }
  .gateway-kicker,.gateway-features,.gateway-note,.gateway-number { display: none; }
  .gateway-description { max-width: 42ch; margin: 10px 0 14px; font-size: 13px; line-height: 1.65; }
  .gateway-points { margin-bottom: 18px; gap: 6px; font-size: 13px; }
  .gateway-cta { min-height: 44px; padding: 10px 17px; gap: 14px; font-size: 12px; }
  .gateway-cta b { font-size: 19px; }
  .gateway-phone { top: 8%; left: 57%; height: 108%; max-width: none; }
  .gateway-planning::after { background: linear-gradient(0deg,rgba(23,15,48,.95),rgba(23,15,48,.56) 65%,rgba(23,15,48,.12)); }
  .gateway-planning-photo { object-position: center 44%; }
  .gateway-divider { top: max(50svh,420px); bottom: auto; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg,transparent,var(--cyan),var(--pink),transparent); transition: top .8s cubic-bezier(.22,.8,.18,1),opacity .4s ease; }
  .gateway-divider span { width: 44px; height: 28px; top: 0; }
  .gateway-panels[data-preview] .gateway-panel { flex-grow: 1; }
  .gateway-panels[data-preview] .gateway-divider { left: 0; }
  .gateway-panels[data-selected="app"] .gateway-planning,.gateway-panels[data-selected="planning"] .gateway-app { flex-grow: 0; min-height: 0; height: 0; }
  .gateway-panels[data-selected="app"] .gateway-divider { top: 100%; left: 0; }
  .gateway-panels[data-selected="planning"] .gateway-divider { top: 0; left: 0; }
  .gateway-panels[data-selected] .gateway-panel[data-service] { min-height: 100svh; }
  .gateway-panels[data-selected="app"] .gateway-planning,.gateway-panels[data-selected="planning"] .gateway-app { min-height: 0; }
}

@media (max-width: 820px) {
  .service-hero { min-height: 0; padding: 128px 0 90px; }
  .service-hero-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .service-hero-copy h1 { font-size: clamp(31px,5vw,44px); }
  .service-hero-copy > p { font-size: 15px; }
  .service-hero-phone { height: 400px; max-width: 100%; }
  .service-hero-actions .button { font-size: 13px; padding-inline: 18px; min-height: 48px; }
  .service-planning-hero { min-height: 650px; padding-top: 135px; }
  .service-planning-hero::before { background: linear-gradient(90deg,rgba(3,16,54,.5),rgba(3,16,54,.91)); }
  .service-planning-hero .service-hero-copy { max-width: 580px; }
  .service-planning-hero .service-hero-copy h1 { font-size: clamp(37px,6vw,52px); }
  .service-registry .registry-choices { grid-template-columns: 1fr; }
  .service-registry .registry-choices article { padding: 28px; }
}

@media (max-width: 560px) {
  .gateway-prompt { max-width: 120px; margin-inline: auto; }
  .gateway-description { font-size: 12px; }
  .gateway-app .gateway-copy { left: 7%; width: 86%; }
  .gateway-app .gateway-description { line-height: 1.6; }
  .gateway-line { font-size: 17px; }
  .service-hero-grid { grid-template-columns: 1fr; }
  .service-hero { padding-top: 112px; }
  .service-hero-visual { grid-row: 1; }
  .service-hero-phone { height: min(36svh,290px); max-height: none; }
  .service-hero-copy { text-align: center; }
  .service-hero-copy h1 { margin: 8px 0 12px; font-size: 35px; }
  .service-hero-copy > p { margin-bottom: 20px; font-size: 14px; line-height: 1.8; }
  .service-return { margin-bottom: 12px; font-size: 11px; }
  .service-hero-actions { justify-content: center; }
  .service-planning-hero { min-height: 650px; display: flex; padding: 145px 0 100px; }
  .service-planning-hero .service-hero-copy { text-align: start; }
  .service-planning-hero .service-hero-actions { justify-content: flex-start; }
  .service-planning-hero .service-hero-copy h1 { font-size: 40px; }
  .service-final .final-options > article { padding: 30px 18px; }
}

@media (max-height: 700px) and (orientation: portrait) and (max-width: 600px) {
  .gateway-line { display: none; }
  .gateway-copy { bottom: 20px; }
  .gateway-copy h2 { font-size: 26px; }
  .gateway-description { margin: 9px 0 12px; font-size: 12px; line-height: 1.65; }
  .gateway-cta { padding: 9px 13px; min-height: 42px; font-size: 11px; gap: 8px; }
}

@media (max-height: 650px) and (orientation: landscape) {
  .gateway-shell { height: max(100dvh,460px); }
  .gateway-header .nav-shell { min-height: 58px; padding-block: 5px; }
  .gateway-header .brand { width: 104px; }
  .gateway-header .brand img { max-height: 44px; }
  .gateway-prompt { font-size: 12px; }
  .gateway-copy { bottom: 10%; }
  .gateway-copy h2 { font-size: clamp(26px,3.7vw,44px); }
  .gateway-line { display: none; }
  .gateway-description { max-width: 38ch; font-size: 12px; margin: 9px 0 12px; line-height: 1.55; }
  .gateway-kicker,.gateway-features,.gateway-note { display: none; }
  .gateway-phone { height: 110%; top: 5%; left: 55%; filter: brightness(.65); }
  .gateway-points { gap: 5px; margin-bottom: 16px; font-size: 12px; }
  .gateway-app .gateway-copy { text-shadow: 0 2px 16px #031036; }
  .gateway-cta { min-height: 42px; padding: 9px 18px; font-size: 12px; gap: 15px; }
  .service-hero { min-height: 650px; }
}

@media (prefers-reduced-motion: reduce) {
  .gateway-panel,.gateway-panel *,.gateway-divider,.gateway-note,.gateway-header { transition: none !important; animation: none !important; }
}

/* One continuous split-screen: a selected panel expands, its companion stays at the edge. */
:root { --service-rail-width: 52px; }
.gateway-rail-label { display: none; }
.service-page[data-page="app"] { padding-left: var(--service-rail-width); }
.service-page[data-page="planning"] { padding-right: var(--service-rail-width); }
.service-page[data-page="app"] .site-header { left: var(--service-rail-width); right: 0; width: auto; }
.service-page[data-page="planning"] .site-header { left: 0; right: var(--service-rail-width); width: auto; }
.service-page .nav-shell { width: min(1340px,calc(100% - 32px)); }
.service-page .section-wrap { width: min(1180px,calc(100% - 48px)); }
.service-rail {
  position: fixed; z-index: 105; top: 0; bottom: 0; width: var(--service-rail-width);
  display: grid; place-items: center; overflow: hidden; color: #fff;
  border: 0; box-shadow: 0 0 30px rgba(0,0,0,.12);
  transition: filter .25s ease;
}
.service-rail-planning { left: 0; background: linear-gradient(180deg,#15132b,#322344 55%,#15132b); border-right: 1px solid rgba(246,82,238,.35); }
.service-rail-app { right: 0; background: linear-gradient(180deg,#05152f,#08364b 55%,#05152f); border-left: 1px solid rgba(10,209,227,.35); }
.service-rail-label,.gateway-rail-label { position: absolute; top: 50%; left: 50%; align-items: center; justify-content: center; gap: 20px; white-space: nowrap; transform: translate(-50%,-50%) rotate(-90deg); font-size: 13px; font-weight: 700; }
.service-rail-label { display: flex; }
.service-rail-label b { font: 400 20px/1 "Roboto",sans-serif; transform: rotate(90deg); }
.service-rail-planning .service-rail-label { color: #f2c3ef; }
.service-rail-app .service-rail-label { color: #a3f5fa; }
.service-rail:hover { filter: brightness(1.35); }
.service-rail:focus-visible { outline: 2px solid var(--cyan); outline-offset: -5px; }
.service-page.menu-open .service-rail { visibility: hidden; }
.service-page[data-page="planning"] .back-to-top { right: calc(var(--service-rail-width) + 22px); }
.expanded-service-hero { display: block; width: 100%; height: 100vh; height: 100svh; height: 100dvh; min-height: 560px; isolation: isolate; }
.expanded-service-hero .gateway-copy { bottom: 9%; }
.expanded-service-hero .gateway-phone,.gateway-panels[data-selected] .gateway-phone { left: 57%; height: 108%; }
.gateway-panels[data-selected] { flex-direction: row; height: max(100dvh,560px); }
.gateway-panels[data-selected] .gateway-panel { width: auto; height: 100%; min-height: 0; container-type: inline-size; transition: flex .7s cubic-bezier(.22,.8,.18,1); }
.gateway-panels[data-selected="app"] .gateway-planning,.gateway-panels[data-selected="planning"] .gateway-app { flex: 0 0 var(--service-rail-width); height: 100%; opacity: 1; }
.gateway-panels[data-selected="app"] .gateway-app,.gateway-panels[data-selected="planning"] .gateway-planning { flex: 1 1 0%; }
.gateway-panels[data-selected="app"] .gateway-planning { background: linear-gradient(180deg,#15132b,#322344 55%,#15132b); border-right: 1px solid rgba(246,82,238,.35); }
.gateway-panels[data-selected="planning"] .gateway-app { background: linear-gradient(180deg,#05152f,#08364b 55%,#05152f); border-left: 1px solid rgba(10,209,227,.35); }
.gateway-panels[data-selected="app"] .gateway-planning > :not(.gateway-rail-label),.gateway-panels[data-selected="planning"] .gateway-app > :not(.gateway-rail-label) { visibility: hidden; }
.gateway-panels[data-selected="app"] .gateway-planning::after,.gateway-panels[data-selected="planning"] .gateway-app::before,.gateway-panels[data-selected="planning"] .gateway-app::after { display: none; }
.gateway-panels[data-selected="app"] .gateway-planning .gateway-rail-label,.gateway-panels[data-selected="planning"] .gateway-app .gateway-rail-label { display: flex; }
.gateway-panels[data-selected] .gateway-copy { bottom: 9%; }
.gateway-panels[data-selected] .gateway-planning-photo { transform: scale(1.02); }
.service-switch-stage { position: fixed; z-index: 120; inset: 0; display: flex; direction: ltr; background: var(--navy-deep); overflow: hidden; }
.service-switch-stage[data-destination="app"] { padding-left: var(--service-rail-width); clip-path: inset(0 0 0 calc(100% - var(--service-rail-width))); }
.service-switch-stage[data-destination="planning"] { padding-right: var(--service-rail-width); clip-path: inset(0 calc(100% - var(--service-rail-width)) 0 0); }
.service-switch-stage.is-expanding { clip-path: inset(0); transition: clip-path .65s cubic-bezier(.22,.8,.18,1); }
.service-switch-stage .expanded-service-hero { flex: 1; }
.service-switch-stage .service-rail { position: absolute; }

@media (min-width: 1800px) {
  .service-page .section-wrap { width: min(1420px,calc(100% - 80px)); }
  .service-page .nav-shell { width: min(1480px,calc(100% - 60px)); }
}
@media (max-width: 820px) {
  :root { --service-rail-width: 44px; }
  .service-rail-label,.gateway-rail-label { font-size: 12px; }
  .service-page .nav-shell { width: calc(100% - 16px); }
  .service-page .section-wrap { width: min(680px,calc(100% - 28px)); }
}
@media (max-width: 820px) and (orientation: portrait) {
  .gateway-copy :is(h1,h2) { font-size: clamp(27px,6.9vw,42px); line-height: 1.2; }
  .gateway-panels[data-selected] .gateway-panel { flex-shrink: 1; }
  .expanded-service-hero .gateway-copy,.gateway-panels[data-selected] .gateway-copy { left: 7%; width: 86%; }
}
@media (max-height: 700px) and (orientation: portrait) and (max-width: 600px) {
  .gateway-copy :is(h1,h2) { font-size: 26px; }
}
@media (max-height: 650px) and (orientation: landscape) {
  .expanded-service-hero { height: max(100dvh,460px); min-height: 460px; }
  .gateway-panels[data-selected] { height: max(100dvh,460px); }
  .gateway-copy :is(h1,h2) { font-size: clamp(26px,3.7vw,44px); }
  .expanded-service-hero .gateway-copy,.gateway-panels[data-selected] .gateway-copy { bottom: 10%; }
}
@media (prefers-reduced-motion: reduce) {
  .service-switch-stage,.service-rail { transition: none !important; }
}

/* Both service stories share the same readable hierarchy and four-step layout. */
.gateway-panel .gateway-copy :is(h1,h2) { font-size: clamp(30px,6cqw,52px); }
.gateway-app-intro { margin-top: 14px; max-width: 58ch; }
.gateway-story-intro { margin: 14px 0 0; max-width: 58ch; }
.gateway-story-overview { color: #e5e9f5; font-size: 13px; line-height: 1.7; text-wrap: pretty; }
.gateway-planning .gateway-story-steps strong { color: #f2c3ef; }
.gateway-app-tagline { margin: 0 0 8px; color: var(--cyan); font-size: 15px; font-weight: 700; line-height: 1.5; }
.gateway-app-overview { margin: 0; color: #e5e9f5; font-size: 13px; line-height: 1.7; text-wrap: pretty; }
.gateway-story-steps { margin: 22px 0 24px; gap: 15px; }
.gateway-story-steps li { display: block; position: relative; min-width: 0; padding-inline-start: 28px; }
.gateway-story-steps li::before { position: absolute; inset-inline-start: 0; top: 2px; }
.gateway-story-steps strong { display: block; color: var(--cyan); font-size: 15px; font-weight: 700; line-height: 1.5; }
.gateway-story-steps li > span { display: block; margin-top: 3px; color: #e8edf9; font-size: 13px; font-weight: 400; line-height: 1.7; text-wrap: pretty; }
.gateway-shell { height: max(100dvh,var(--gateway-content-height,0px)); }
.gateway-panels[data-selected] { height: max(100dvh,560px,var(--gateway-content-height,0px)); }
.expanded-service-hero { height: max(100dvh,var(--service-content-height,560px)); transition: none; }
@container (min-width: 600px) {
  .gateway-story-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 24px; }
}
@media (max-width: 820px) and (orientation: portrait) {
  .gateway-shell { height: auto; }
  .gateway-panels:not([data-selected]) .gateway-panel { transition: opacity .6s ease; }
  .gateway-panels:not([data-selected]) .gateway-divider { transition: opacity .4s ease; }
  .gateway-panels:not([data-selected]) .gateway-app { min-height: max(50svh,420px,var(--gateway-app-content-height,0px)); }
  .gateway-panels:not([data-selected]) .gateway-planning { min-height: max(50svh,420px,var(--gateway-planning-content-height,0px)); }
  .gateway-panels:not([data-selected]) .gateway-divider { top: max(50svh,420px,var(--gateway-app-content-height,0px)); }
  .gateway-panel .gateway-copy :is(h1,h2) { font-size: clamp(27px,6.9vw,42px); }
  .gateway-story-steps { margin: 18px 0 22px; gap: 13px; }
  .gateway-story-steps strong { font-size: 14px; }
  .gateway-story-steps li > span { font-size: 12px; line-height: 1.7; }
  .gateway-app-overview { font-size: 12px; }
  .gateway-story-overview { font-size: 12px; }
}
@media (max-height: 650px) and (orientation: landscape) {
  .gateway-shell,.gateway-panels[data-selected] { height: max(100dvh,460px,var(--gateway-content-height,0px)); }
  .expanded-service-hero { height: max(100dvh,460px,var(--service-content-height,0px)); }
  .gateway-panel .gateway-copy :is(h1,h2) { font-size: clamp(26px,3.7vw,44px); }
}
@media (max-width: 600px) and (orientation: portrait) {
  .gateway-header .nav-shell { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; padding: 8px 14px 12px; }
  .gateway-header .brand { grid-column: 1; grid-row: 1; justify-self: start; }
  .gateway-header .brand img { max-height: 42px; }
  .gateway-header .nav-actions { grid-column: 2; grid-row: 1; }
  .gateway-header .gateway-prompt { grid-column: 1 / -1; grid-row: 2; max-width: none; margin: 0; font-size: 11px; line-height: 1.55; }
}
