/* Project geography and application share the existing cyan/glass design. */
.home-page #slide-4 .slide-title { margin-bottom: 20px; }
.home-page #slide-4 .geo-stage { height: clamp(360px, 40vh, 560px); }
.case-preview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:24px; }
.case-preview { min-width:0; overflow:hidden; border-radius:10px; }
.case-cover-placeholder { aspect-ratio: 16/10; display:flex; flex-direction:column; justify-content:space-between; padding:20px; border-bottom:1px solid var(--panel-border); background:rgba(22,65,84,.28); color:var(--panel-muted); }
.case-cover-placeholder span:first-child { font-size:36px; font-weight:400; letter-spacing:-.04em; color:rgba(190,229,246,.6); }
.case-cover-placeholder span:last-child { font-size:14px; }
.case-preview-copy { padding:18px; }
.case-preview h3 { font-size:20px; line-height:1.3; font-weight:500; color:var(--panel-text); margin:0 0 10px; }
.case-preview p { font-size:16px; line-height:1.5; color:var(--panel-muted); margin-bottom:6px; }
.case-preview .case-description { margin-bottom:16px; }
.case-preview .offer-link { min-height:44px; font-size:14px; margin:0; }
.home-page #slide-5 .slide-title { font-size:clamp(32px,3.5vw,58px); margin-bottom:24px; }
.home-page #slide-5 .macbook-mockup { width:100%; max-width:none; margin:0 auto; }
.macbook-device { position:relative; width:100%; aspect-ratio:3944/2320; overflow:hidden; }
/* Crop only the PNG's transparent top margin so the real device fills the slide. */
.macbook-frame { position:absolute; left:0; top:-10.52%; z-index:2; width:100%; height:110.52%; object-fit:contain; pointer-events:none; }
.macbook-display { position:absolute; left:11.69%; top:2.414%; width:76.65%; height:84.61%; overflow:hidden; background:#e9eef0; border-radius:2% 2% 0 0; }
.macbook-display .app-preview { width:100%; height:100%; aspect-ratio:auto; display:flex; flex-direction:column; justify-content:center; padding:clamp(20px,4vw,72px); }
.macbook-display .app-bar { font-size:14px; }
.macbook-display .app-preview h3 { font-size:clamp(28px,4vw,64px); margin:24px 0 16px; }
.macbook-display .app-preview p { max-width:760px; font-size:clamp(16px,1.4vw,22px); }
.macbook-display .app-steps span { font-size:14px; }
.home-page #slide-5 .app-caption { font-size:14px; margin-top:12px; }
.home-page #slide-5 .app-info { max-width:none; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; }
.home-page #slide-5 .app-info p { max-width:780px; }
.home-page #slide-5 .app-info .offer-actions { flex-shrink:0; margin:0; }
@media(min-width:1101px) and (min-height:1050px) {
  .home-page #slide-4,.home-page #slide-5 { top:112px; bottom:32px; overflow-y:auto; padding-right:8px; scrollbar-width:thin; scrollbar-color:rgba(156,214,237,.6) transparent; }
  .home-page #slide-4 .geo-stage { height:clamp(350px,40vh,560px); }
  .case-cover-placeholder { aspect-ratio:16/8; }
}
@media(max-width:1100px) {
  .case-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page #slide-5 .app-info { align-items:flex-start; flex-direction:column; }
}
@media(max-width:700px) {
  .home-page #slide-4 .geo-stage { height:400px; }
  .case-preview-grid { grid-template-columns:1fr; gap:20px; }
  .case-cover-placeholder { aspect-ratio:16/9; }
  .home-page #slide-5 .slide-title { font-size:clamp(30px,8.2vw,44px); }
  .macbook-display .app-preview { padding:12px; }
  .macbook-display .app-preview h3 { font-size:clamp(18px,5vw,30px); margin:0; }
  .macbook-display .app-bar,.macbook-display .app-preview p,.macbook-display .app-steps,.macbook-display .app-status { display:none; }
}

/* Paired real device frames, with replaceable interface previews. */
.device-composition { position:relative; isolation:isolate; width:100%; padding:24px 0 0; }
.device-composition::before { content:""; position:absolute; z-index:-1; inset:7% 4% 2%; background:radial-gradient(ellipse at 50% 75%,rgba(56,167,212,.25),transparent 68%); }
.device-composition .macbook-device { width:88%; }
.iphone-device { position:absolute; z-index:3; width:21%; right:0; bottom:1%; aspect-ratio:1419/2796; filter:drop-shadow(-18px 24px 24px rgba(0,0,0,.45)); }
.iphone-frame { position:absolute; inset:0; z-index:2; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.iphone-display { position:absolute; left:7.05%; top:4.33%; width:84.57%; height:92.35%; background:#e9eef0; border-radius:9.2% / 4.3%; overflow:hidden; color:#193643; }
.phone-status { display:flex; justify-content:space-between; padding:5% 9%; font-size:clamp(7px,.8vw,13px); font-weight:600; }
.phone-island { position:absolute; top:2.4%; left:32%; width:36%; height:4%; border-radius:30px; background:#050608; }
.phone-app { padding:8% 8% 5%; }
.phone-brand { display:block; font-weight:700; font-size:clamp(9px,1.05vw,17px); letter-spacing:.08em; margin-bottom:12%; }
.phone-eyebrow { font-size:clamp(6px,.7vw,12px); color:#66808e; }
.phone-app h3 { font-size:clamp(13px,1.8vw,30px); line-height:1.08; font-weight:500; letter-spacing:-.04em; margin:7% 0; }
.phone-app p { font-size:clamp(7px,.86vw,14px); line-height:1.4; margin-bottom:10%; }
.phone-map { position:relative; aspect-ratio:1.25; background:repeating-linear-gradient(0deg,transparent 0 24%,#d0dce1 25% 26%),repeating-linear-gradient(90deg,#dce7eb 0 24%,#d0dce1 25% 26%); border-radius:8px; overflow:hidden; }
.phone-plot { position:absolute; inset:16% 18%; transform:rotate(-12deg); border:2px solid #4988a4; background:rgba(80,155,185,.2); }
.phone-building { position:absolute; background:#3582a3; border:2px solid #ecf3f5; transform:rotate(-12deg); }
.building-one { left:26%; top:28%; width:22%; height:42%; }.building-two { left:55%; top:30%; width:20%; height:25%; }
.phone-tabs { display:flex; gap:4%; margin:8% 0; font-size:clamp(6px,.67vw,11px); }.phone-tabs span { padding:6% 4%; background:#d8e6ed; border-radius:4px; }
.phone-summary { display:flex; flex-direction:column; gap:6px; padding:9%; border:1px solid #ccdae1; border-radius:8px; font-size:clamp(6px,.75vw,12px); }.phone-summary strong { font-weight:500; font-size:clamp(8px,1vw,16px); }
.phone-demo { display:block; margin-top:9%; font-size:clamp(5px,.6vw,10px); color:#6b8290; }.phone-home { position:absolute; bottom:1.3%; left:34%; width:32%; height:.7%; background:#192a32; border-radius:8px; }
@media(max-width:700px) { .device-composition { padding-top:10px; }.device-composition .macbook-device { width:91%; }.iphone-device { width:25%; bottom:0; }.phone-app { padding-top:5%; }.phone-brand { font-size:5px; }.phone-eyebrow { font-size:4px; }.phone-app h3 { font-size:8px; }.phone-app p { font-size:4px; }.phone-status { font-size:4px; }.phone-tabs,.phone-summary,.phone-demo { display:none; }.phone-map { aspect-ratio:.9; }.phone-plot,.phone-building { border-width:1px; } }

/* The devices have separate columns and share a baseline. */
.device-composition { display:flex; align-items:flex-end; gap:2%; }
.device-composition .macbook-device { flex:0 0 80%; width:80%; }
.iphone-device { position:relative; right:auto; bottom:auto; flex:0 0 18%; width:18%; margin-bottom:.65%; filter:drop-shadow(0 18px 20px rgba(0,0,0,.35)); }
.home-page #slide-5 .app-info { justify-content:flex-start; }
.partner-logos { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin:28px 0 32px; }
.partner-logo-slot { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:130px; border:1px solid var(--panel-border); border-radius:8px; background:rgba(12,39,51,.32); color:var(--panel-muted); font-size:13px; }
.partner-logo-symbol { font-size:32px; font-weight:300; color:#9ec9da; }
.partner-reviews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.partner-review { padding:24px; border-radius:10px; }
.partner-review-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.partner-logo-placeholder { color:var(--panel-muted); font-size:14px; padding:12px 16px; border:1px dashed rgba(155,203,223,.35); border-radius:6px; }
.partner-review-number { color:#8cbace; font-size:14px; }
.partner-quote { font-size:clamp(20px,1.7vw,28px); line-height:1.45; margin:32px 0 36px; color:var(--panel-text); }
.partner-review footer { display:flex; flex-direction:column; gap:7px; font-size:15px; }.partner-review footer strong { font-weight:500; }.partner-review footer span { color:var(--panel-muted); font-size:13px; }
@media(max-width:1100px) { .partner-logos { grid-template-columns:repeat(3,minmax(0,1fr)); }.partner-reviews { grid-template-columns:1fr; } }
@media(max-width:700px) { .device-composition .macbook-device { width:80%; }.iphone-device { width:18%; }.partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }.partner-logo-slot { min-height:110px; }.partner-review { padding:20px; }.partner-quote { margin:24px 0; } }
