/* Real FLM work leads this existing landing; no opening layout animation. */
.hero { padding: 48px 0 32px; }
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .72fr); grid-template-areas: "intro media" "order media" "context context"; column-gap: 72px; row-gap: 24px; align-items: start; }
.hero-intro { grid-area: intro; align-self: end; }
.hero h1 { font-size: clamp(38px, 4.4vw, 60px); letter-spacing: -.035em; text-wrap: balance; }
.hero-lead { font-size: 21px; margin-top: 20px; }
.hero-description { margin-top: 12px; font-size: 16px; max-width: 44ch; }
.hero-example { grid-area: media; align-self: center; justify-self: center; max-width: 282px; padding: 7px; border-radius: 30px; background: var(--ink); box-shadow: 0 16px 36px #16244426; }
.hero-video { border-radius: 23px; aspect-ratio: 9 / 16; }
.hero-video .video-play { gap: 7px; left: 12px; right: 12px; bottom: 15px; min-height: 46px; padding: 10px 8px; font-size: 14px; }
.hero-video .video-play svg { flex: none; color: var(--blue); }
.hero-example figcaption { color: #fff; font-size: 12px; text-align: center; padding: 8px 5px 3px; }
.hero-order { grid-area: order; }
.hero-price { margin: 0; }
.hero-price strong { font-size: 46px; }
.hero-price span { font-size: 14px; }
.hero-includes { margin: 20px 0 0; padding: 0; list-style: none; display: flex; gap: 8px 20px; flex-wrap: wrap; color: var(--muted); font-size: 14px; }
.hero-includes li { padding-block: 3px; }
.hero-actions { margin-top: 20px; gap: 10px 24px; }
.hero-actions .primary-request { min-width: 220px; }
.hero-context { grid-area: context; max-width: 88ch; font-size: 13px; color: var(--muted); padding-top: 20px; border-top: 1px solid #c8d5ea; }
.hero-context strong { color: var(--ink); }
.work-grid { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 64px; max-width: 1040px; }
.work-examples { display: block; width: 100%; max-width: 202px; justify-self: center; }
.work-copy .work-context { border: 1px solid var(--line); border-radius: 12px; background: var(--pale); padding: 0 20px; margin-top: 24px; }
.work-context summary { cursor: pointer; min-height: 48px; padding: 14px 0; font-size: 14px; font-weight: 600; color: var(--ink); }
.work-context p { padding-bottom: 14px; }
.landing-menu-toggle, .landing-mobile-nav { display: none; }
.landing-menu-toggle { width: 44px; height: 44px; flex: none; align-items: center; justify-content: center; padding: 10px; border: 0; border-radius: 12px; color: var(--ink); background: var(--pale); touch-action: manipulation; }
.landing-menu-toggle svg { width: 22px; height: 22px; }
.landing-menu-toggle .menu-close { display: none; }
.landing-menu-toggle[aria-expanded="true"] .menu-lines { display: none; }
.landing-menu-toggle[aria-expanded="true"] .menu-close { display: block; }
.video-dialog { width: min(420px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 18px; }
.video-dialog-top { gap: 14px; align-items: center; }
.video-dialog-top h2 { font-size: 18px; letter-spacing: -.02em; }
.dialog-close { min-width: 44px; min-height: 44px; flex: none; }
.video-dialog #video-player { width: min(100%, 34.3125dvh, 337.5px); height: auto; aspect-ratio: 9 / 16; margin-inline: auto; }
.video-dialog #video-player iframe { display: block; width: 100%; height: 100%; }
.video-dialog > p { font-size: 12px; line-height: 1.5; margin-top: 14px; color: var(--muted); }
.landing-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
::selection { background: #cfdefc; color: var(--ink); }
.request-form input { caret-color: var(--blue); }
.button, .hero-video, .landing-mobile-nav a, summary { touch-action: manipulation; }
@media (min-width: 761px) and (max-width: 1023px) {
  .hero-grid { column-gap: 32px; }
  .hero h1 { font-size: 44px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .work-grid { gap: 36px; }
}
@media (max-width: 760px) {
  html.flm-reels-landing { scroll-padding-top: 88px; }
  .header-inner { height: 70px; gap: 10px; position: relative; }
  .brand { flex: 0 1 176px; }
  .header-request { width: auto; min-height: 44px; padding: 10px 12px; font-size: 13px; }
  .landing-menu-toggle { display: inline-flex; }
  .landing-mobile-nav:not([hidden]) { display: grid; position: absolute; top: calc(100% + 7px); left: 0; right: 0; max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 12px 30px #16244426; }
  .landing-mobile-nav a { display: flex; align-items: center; min-height: 48px; padding: 12px 16px; font-size: 16px; text-decoration: none; color: var(--ink); border-radius: 10px; }
  .landing-mobile-nav a:hover { background: var(--pale); }
  .landing-mobile-nav a:last-child { border-top: 1px solid var(--line); border-radius: 0; margin-top: 6px; color: var(--blue); }
  html.flm-reels-landing.reel-menu-open { overflow: hidden !important; }
  html.flm-reels-landing.reel-menu-open body { overflow-x: clip !important; overflow-y: visible !important; }
  .hero { padding: 28px 0 24px; }
  .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); grid-template-areas: "intro intro" "media order" "context context"; gap: 22px 18px; align-items: center; }
  .hero h1 { font-size: clamp(33px, 8.9vw, 44px); line-height: 1.08; letter-spacing: -.035em; }
  .hero-lead { font-size: 17px; line-height: 1.5; margin-top: 14px; }
  .hero-description { display: none; }
  .hero-example { width: 100%; max-width: 230px; border-radius: 23px; padding: 5px; }
  .hero-video { border-radius: 18px; }
  .hero-video .video-play { left: 8px; right: 8px; bottom: 10px; font-size: 12px; gap: 4px; min-height: 44px; padding: 8px 5px; }
  .hero-video .video-play svg { width: 16px; height: 16px; }
  .hero-example figcaption { font-size: 11px; padding-top: 6px; }
  .hero-order { min-width: 0; }
  .hero-price { display: block; }
  .hero-price strong { display: block; font-size: 39px; }
  .hero-price span { display: block; font-size: 12px; line-height: 1.5; margin-top: 8px; }
  .hero-includes { display: block; font-size: 12px; margin-top: 12px; }
  .hero-includes li { padding-block: 2px; }
  .hero-actions { display: grid; gap: 8px; margin-top: 16px; }
  .hero-actions .primary-request { min-width: 0; width: 100%; min-height: 50px; padding: 12px 10px; font-size: 14px; }
  .hero-actions .quiet-link { font-size: 12px; min-height: 44px; justify-content: center; text-align: center; }
  .hero-order .request-note { font-size: 11px; margin-top: 4px; }
  .hero-context { font-size: 12px; padding-top: 18px; }
  .scope-inner { padding-block: 20px; gap: 16px 20px; }
  .work-grid { grid-template-columns: 1fr; gap: 28px; }
  .work-copy { grid-row: auto; }
  .work-examples { max-width: 202px; }
  .work-copy .work-context { padding-inline: 16px; }
  .work-context summary { font-size: 14px; }
  .batch-options dl { grid-template-columns: 1fr; gap: 0; }
  .batch-options dl > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .batch-options dt { font-size: 16px; margin: 0; }
  .batch-options dd { font-size: 27px; text-align: right; }
  .batch-options dd span { display: inline; margin-left: 6px; font-size: 12px; }
  .batch-options .quiet-link { min-height: 48px; }
  .faq-list summary { font-size: 16px; line-height: 1.5; }
  .faq-list details p { font-size: 15px; }
  .request-form { padding: 24px; }
  .request-form label { font-size: 15px; }
  .mobile-request { padding-bottom: max(12px, env(safe-area-inset-bottom)); gap: 12px; }
  .mobile-request > div { min-width: 0; }
  .mobile-request .button { font-size: 14px; min-height: 48px; }
  .landing-footer { padding-bottom: 110px; }
}
@media (max-width: 359px) {
  .header-inner { gap: 7px; }
  .brand { flex-basis: 146px; }
  .header-request { font-size: 12px; padding-inline: 9px; }
  .hero-grid { gap: 20px 14px; }
  .hero h1 { font-size: 31px; }
  .hero-lead { font-size: 16px; }
  .hero-price strong { font-size: 34px; }
  .hero-actions .primary-request { font-size: 13px; }
  .hero-video .video-play { font-size: 11px; }
  .hero-includes { font-size: 11px; }
  .request-form, .single-offer { padding: 20px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .landing-mobile-nav:not([hidden]) { max-height: calc(100dvh - 86px); }
  .video-dialog { padding: 12px; }
  .video-dialog #video-player { width: min(100%, 27.5625dvh); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video, .button, .landing-mobile-nav { animation: none !important; transition: none !important; }
}

/* Single Reel checkout */
.reel-checkout-card{padding:clamp(24px,4vw,40px);border:1px solid var(--line,#d5dff1);border-radius:24px;background:#fff;box-shadow:0 12px 36px #1624440b}
.reel-checkout-card h3{font-size:clamp(24px,3vw,32px);line-height:1.15;margin:12px 0}
.reel-checkout-card .checkout-total{font-size:48px;font-weight:700;letter-spacing:-.04em;margin:20px 0;line-height:1.1}
.checkout-total span{font-size:15px;letter-spacing:0;font-weight:500;display:inline-block}
.reel-checkout-card>.button{display:flex;width:100%;margin:24px 0 12px}
.reel-checkout-questions{margin-top:16px;border:1px solid var(--line,#d5dff1);border-radius:18px;background:#fff;overflow:hidden}
.reel-checkout-questions>summary{min-height:52px;display:list-item;padding:16px 20px;cursor:pointer;font-size:15px;font-weight:600}
.reel-checkout-questions .request-form{border:0;box-shadow:none;border-radius:0}
@media(max-width:760px){.hero-order .request-note{font-size:12px;line-height:1.5}.reel-checkout-card{padding:24px}.header-request{white-space:nowrap}}
