/* Phone composition. Desktop keeps its comparison sheet and scroll scenes. */
.phone-packages, .phone-launch-company { display: none; }
@media (max-width:760px) {
  html { scroll-padding-top: 76px; }
  .editorial-home { -webkit-text-size-adjust: 100%; }
  .editorial-home > header.site-masthead { width: calc(100% - 24px); margin-top: 0; top: max(10px,env(safe-area-inset-top)); }
  .editorial-home > header.site-masthead nav.wrap { height: 54px; min-height: 54px; padding: 4px 6px 4px 12px; gap: 6px; border: 1px solid #b3d2ba26; border-radius: 30px; background: #0c1c14ed; backdrop-filter: blur(18px); pointer-events: auto; }
  .editorial-home > header.site-masthead .logo { padding: 0; background: none; backdrop-filter: none; }
  .editorial-home > header.site-masthead .brand-name { font-size: 22px; }
  .editorial-home > header.site-masthead .navcta .btn { min-height: 44px; font-size: 12px; padding: 10px 12px; gap: 12px; }
  .editorial-home > header.site-masthead .burger { width: 44px; height: 44px; background: none; border: 0; }
  .editorial-home > header.site-masthead .navlinks { top: 64px; }
  .editorial-home > header.site-masthead .navlinks a { min-height: 48px; display: flex; align-items: center; }
  .editorial-home section[id], .editorial-home #pricing.pricing-comparison { scroll-margin-top: 0; }

  /* Keep the central wordmark and bottom actions legible against any film frame. */
  .cinema-intro { margin-top: -54px; }
  .editorial-home .cinema-hero .hero-stage { min-height: max(620px,100svh); padding: 96px 0 38px; }
  .editorial-home .hero .hero-backdrop::after { background: linear-gradient(180deg,#06110b78,#06110b99 48%,#06110b80 72%,#06110bf2); }
  .editorial-home .hero .hero-stage .hero-wordmark { font-size: 18vw; }
  .editorial-home .hero-brand-lockup { padding: 26px 0 40px; }
  .editorial-home .hero .trust-badge { font-size: 11px; padding: 8px 10px; }
  .editorial-home .hero .hero-support strong { font-size: 22px; }
  .editorial-home .hero .hero-support > span { font-size: 13px; }
  .editorial-home .hero .hero-stage .cta .btn { min-height: 50px; padding: 12px; font-size: 14px; gap: 14px; }
  .cinema-next { padding: 48px 20px 20px; }
  .cinema-next-inner { gap: 26px; }
  .cinema-next h2 { font-size: clamp(40px,11.3vw,56px); }
  .cinema-next-copy > p:not(.cinema-eyebrow) { font-size: 15px; max-width: 29ch; margin: 18px 0 22px; }
  .cinema-frame-media { aspect-ratio: 16/9; padding: 4px; border-radius: 8px; }
  .cinema-clients { margin-top: 26px; }
  .cinema-clients .clients { padding: 22px 0; }

  /* Full landscape footage; the result and client mark sit on their own row. */
  .editorial-home #work { padding: 40px 0 16px; }
  .editorial-home .work-intro { padding-inline: 20px; margin-bottom: 24px; }
  .editorial-home .work-intro h2 { font-size: 36px; }
  .editorial-home .work-intro .sec-head { gap: 12px; }
  .editorial-home .work-intro p { font-size: 15px; line-height: 1.6; }
  .vertical-launches .launch-scene:nth-child(n) { background: transparent; }
  .editorial-home #work .vertical-launches .work { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-flow: row; grid-auto-columns: auto; gap: 12px; padding: 0 16px; }
  .vertical-launches .launch-scene { min-width: 0; }
  .vertical-launches .launch-scene-stage { height: 100%; padding: 0; }
  .editorial-home #work .vertical-launches .film:nth-child(n) { height: 100%; min-width: 0; padding: 0; border-color: #b3d2ba30; border-radius: 10px; background: #11271bcc; overflow: hidden; }
  .editorial-home #work .vertical-launches .poster { aspect-ratio: auto; padding-top: 56.25%; border-radius: 0; background: none; }
  .editorial-home #work .vertical-launches .poster > img,
  .editorial-home #work .vertical-launches .gallery-preview { height: calc(100% - 48px); object-fit: contain; background: #060e09; }
  .editorial-home #work .vertical-launches .poster::after { display: none; }
  .editorial-home #work .vertical-launches .work-card-overlay { position: relative; inset: auto; height: 48px; box-sizing: border-box; margin: 0; padding: 7px 10px; border: 0; align-items: center; }
  .editorial-home #work .vertical-launches .work-stat { display: block; transform: none; }
  .editorial-home #work .vertical-launches .work-count { font-size: 20px; line-height: 1; }
  .editorial-home #work .vertical-launches .work-stat-label { margin-top: 0; font-size: 10px; }
  /* The client is already named in each title; avoid duplicate marks in narrow cards. */
  .editorial-home #work .vertical-launches .work-brand { display: none; }
  .editorial-home #work .vertical-launches .work-brand img { width: 92px; max-width: 100%; max-height: 22px; }
  .editorial-home #work .vertical-launches .work-brand-placeholder { font-size: 20px; }
  .editorial-home #work .vertical-launches .meta { margin: 0 10px; padding: 10px 0 12px; border-top: 1px solid #b3d2ba24; }
  .editorial-home #work .vertical-launches .meta h3 { font-size: 16px; line-height: 1.2; font-weight: 550; text-wrap: pretty; }
  .editorial-home #work .vertical-launches .meta h3:not(.phone-launch-company),
  .editorial-home #work .vertical-launches .meta p { display: none; }
  .editorial-home #work .vertical-launches .meta .phone-launch-company { display: block; font-size: 17px; line-height: 1.2; }

  .editorial-home .results-cases { padding: 36px 0 16px; }
  .results-cases > .wrap { padding-inline: 16px; }
  .results-cases-heading { margin-bottom: 22px; padding-inline: 4px; }
  .results-cases-heading h2 { font-size: 34px; }
  .result-stories { grid-template-columns: 1fr; gap: 12px; }
  .result-story { min-height: 0; padding: 16px; justify-content: flex-start; }
  .result-story-copy { display: grid; grid-template-columns: 100px minmax(0,1fr); column-gap: 14px; align-content: center; margin-top: 14px; }
  .result-story h3 { grid-column: 1; grid-row: 1; margin-bottom: 5px; font-size: 10px; }
  .result-story .result-number { grid-column: 1; grid-row: 2; }
  .result-story .result-baseline { grid-column: 1; grid-row: 3; margin: 4px 0 0; font-size: 11px; }
  .result-story .result-number { font-size: 36px; }
  .result-story-detail { grid-column: 2; grid-row: 1 / 4; align-self: center; font-size: 13px; line-height: 1.5; margin: 0; max-width: none; }
  .result-story-top { font-size: 10px; }
  .result-story-top p { max-width: none; }
  .editorial-home #launch-story { padding-top: 28px; }
  .editorial-home #launch-story h2 { margin-top: 20px; font-size: clamp(29px,8.3vw,52px); }
  .story-intro { padding-inline: 16px; padding-bottom: 24px; }
  .story-screen { height: 65vw; min-height: 240px; max-height: 360px; }
  .story-fallback-title { font-size: 12vw; }

  /* Two phone offers; each inclusion label sits above its value. */
  .editorial-home #pricing.pricing-comparison { padding-block: 36px; }
  .editorial-home #pricing.pricing-comparison > .wrap { padding-inline: 16px; }
  #pricing .pricing-sheet { padding: 0; border: 0; background: none; box-shadow: none; }
  #pricing .pricing-sheet-heading { border: 0; padding: 0 4px 24px; }
  #pricing .pricing-sheet h2 { font-size: 34px; }
  #pricing .pricing-sheet > table { display: none; }
  #pricing .phone-packages { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: stretch; }
  #pricing .phone-package { display: grid; grid-template-rows: auto 69px 24px 1fr auto; min-width: 0; padding: 10px; border: 1px solid #b3d2ba38; border-radius: 12px; background: linear-gradient(145deg,#193426e8,#0e2017f5); }
  #pricing .phone-package .pricing-film-header { grid-row: 1; height: auto; aspect-ratio: 16/9; margin-bottom: 16px; border-radius: 6px; }
  #pricing .phone-package h3 { grid-row: 2; font-size: 20px; line-height: 1.15; font-weight: 550; letter-spacing: -.04em; margin: 0; }
  #pricing .phone-package .package-includes { grid-row: 3; font-size: 12px; line-height: 1.4; margin: 0; }
  #pricing .phone-package dl { grid-row: 4; margin: 16px 0; }
  #pricing .phone-package dl > div { display: block; padding: 10px 0; border-top: 1px solid #aec6ad26; }
  #pricing .phone-package dt { color: #a9c0ae; font-size: 10px; line-height: 1.5; }
  #pricing .phone-package dd { color: #eaf0e4; font-size: 12px; line-height: 1.5; margin: 4px 0 0; }
  #pricing .phone-package .pricing-book { grid-row: 5; min-height: 46px; padding: 10px 8px; font-size: 12px; gap: 8px; }
  .editorial-home #testimonials { padding-block: 40px; }
  .editorial-home #testimonials h2 { font-size: 32px; line-height: 1.12; }
  .editorial-home #about { padding-block: 40px 48px; }
  .editorial-home #about .founder { display: block; }
  .editorial-home #about .photo { float: none; width: 72px; height: 72px; margin: 0 0 20px; }
  .editorial-home #about .role { padding: 0; font-size: 12px; }
  .editorial-home #about h2 { font-size: 32px; margin-top: 8px; }
  .editorial-home #about p { font-size: 16px; line-height: 1.65; }
  .editorial-home #about .socials { margin-top: 20px; }
}

/* Compact mobile offers: name, three inclusions, booking. */
@media(max-width:760px){
 #pricing .phone-package{grid-template-rows:auto 1fr auto;padding:16px 12px;gap:16px}
 #pricing .phone-package h3{grid-row:1;font-size:21px;line-height:1.12;min-height:48px}
 #pricing .phone-package .phone-package-points{grid-row:2;display:grid;align-content:start;gap:9px;margin:0;padding:0;list-style:none}
 #pricing .phone-package .phone-package-points li{margin:0;padding:0;border:0;color:#c5d5c7;font-size:12px;line-height:1.4}
 #pricing .phone-package .pricing-book{grid-row:3;margin:0;min-height:44px}
 #pricing .phone-package .pricing-book span{display:none}
}
