/* Shared cinematic headers: local films, royal blue light, readable foregrounds. */
body.mrm-premium .cinematic-host {
    position: relative; isolation: isolate; overflow: hidden;
    background: #071e48 !important; color: #fff;
    padding-bottom: 110px; min-height: 340px;
}
.cinematic-slider { display: contents; }
.cinematic-media, .cinematic-scene, .cinematic-scrim { position: absolute; inset: 0; pointer-events: none; }
.cinematic-media { z-index: -1; overflow: hidden; background: #071e48; }
.cinematic-scene { opacity: 0; transition: opacity 1.5s ease; }
.cinematic-scene.is-active { opacity: 1; }
.cinematic-scene img, .cinematic-scene video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cinematic-scene video { opacity: 0; transition: opacity .8s ease; }
.cinematic-scene.is-playing video { opacity: 1; }
.cinematic-scrim { background: linear-gradient(90deg, rgba(3, 17, 44, .92) 0%, rgba(8, 33, 78, .78) 36%, rgba(8, 34, 80, .24) 100%), linear-gradient(0deg, rgba(4, 24, 64, .94), transparent 48%); }
body.mrm-premium .cinematic-host::before, body.mrm-premium .cinematic-host::after { display: none; }
body.mrm-premium .cinematic-host h1 { color: #fff !important; text-shadow: 0 2px 24px #061b4833; }
body.mrm-premium .cinematic-host h1 :is(span, em) { color: #9fc6ff !important; }
body.mrm-premium .cinematic-host :is(.eyebrow, .pd-eyebrow, .mr-kicker, .book-eyebrow, .services-eyebrow, .wc-eyebrow, .wc-category, .ca-kicker) { color: #bdd7ff; }
body.mrm-premium .cinematic-host :is(.atelier-hero-content, .services-hero-copy, .book-hero-copy, .wc-hero-copy, .auth-intro, .pd-heading, .ca-article-intro) p,
body.mrm-premium .cinematic-host > p, body.mrm-premium .cinematic-host > div:not(.cinematic-slider) > p,
body.mrm-premium .cinematic-host > .container > p { color: #e0eaff; }
body.mrm-premium .cinematic-host :is(.breadcrumb, .services-breadcrumb, .wc-breadcrumb, .ca-breadcrumb, .ca-byline, .wc-hero-proof, .wc-hero-numbers, .pd-login-benefits, .book-hero-chips, .services-care-note) { color: #d6e5ff; }
body.mrm-premium .cinematic-host :is(.breadcrumb, .services-breadcrumb, .wc-breadcrumb, .ca-breadcrumb, .ca-byline, .wc-hero-numbers) :is(a, span, strong),
body.mrm-premium .cinematic-host :is(.services-hero-link, .wc-quiet-link, .pro-back-link) { color: #e2ecff; }
body.mrm-premium .cinematic-host :is(.atelier-hero-image, .atelier-hero-shade, .book-hero-visual, .services-art-orbit, .services-art-word, .services-art-spark, .auth-illustration, .partner-emblem, .pro-heading-mark) { display: none; }
.cinematic-controls { position: absolute; bottom: 25px; left: max(30px, calc((100% - 1200px) / 2)); right: max(30px, calc((100% - 1200px) / 2)); z-index: 6; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid #ffffff30; padding-top: 18px; color: #fff; }
.cinematic-controls[hidden] { display: none; }
.cinematic-caption { display: grid; gap: 5px; font: 500 13px/1.3 'DM Sans', sans-serif; }
.cinematic-kicker { font-size: 9px; letter-spacing: .18em; color: #acc8f7; }
.cinematic-navigation { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.cinematic-counter { font: 500 11px/1 monospace; letter-spacing: .12em; margin-right: 12px; color: #d1e1ff; }
body.mrm-premium .cinematic-controls button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 44px; min-height: 44px; border: 1px solid #ffffff38; border-radius: 50%; color: #fff; background: #ffffff0c; font: 500 16px/1 'DM Sans', sans-serif; cursor: pointer; padding: 0; box-shadow: none; transition: background .2s; }
body.mrm-premium .cinematic-controls button:hover { background: #2457ff; }
body.mrm-premium .cinematic-controls button:focus-visible { outline: 3px solid #a8cdff; outline-offset: 4px; }
body.mrm-premium .cinematic-controls .cinematic-play { border-radius: 30px; padding: 0 15px; font-size: 11px; margin-left: 7px; min-width: 85px; }
.cinematic-dots { display: flex; }
body.mrm-premium .cinematic-dots button { border: 0; background: transparent; min-width: 28px; border-radius: 8px; }
.cinematic-dots button span { display: block; width: 5px; height: 5px; border-radius: 8px; background: #ffffff55; transition: width .3s, background .3s; }
.cinematic-dots button[aria-pressed="true"] span { width: 19px; background: #87baff; }
body.mrm-premium .cinematic-host.atelier-hero { min-height: 690px; padding-bottom: 140px; }
body.mrm-premium .cinematic-host .atelier-hero-content { padding-bottom: 30px; }
body.mrm-premium .cinematic-host .atelier-hero-note { bottom: 120px; }
body.mrm-premium .cinematic-host .atelier-hero-edition { color: #d1e3ff; }
body.mrm-premium .cinematic-host .atelier-hero-content > p { color: #e0eaff; }
body.mrm-premium .cinematic-host .services-artboard { opacity: .95; }
body.mrm-premium .cinematic-host .services-hero-bottom { border-color: #ffffff30; }
body.mrm-premium .cinematic-host.book-hero { grid-template-columns: 1fr; min-height: 435px; padding: 55px 44px 110px; }
body.mrm-premium .cinematic-host .book-hero-bottom { position: relative; bottom: auto; margin-top: 25px; color: #d1e1ff; }
body.mrm-premium .cinematic-host :is(.book-hero-chips span, .pd-login-benefits span) { background: #12377788; border-color: #ffffff30; color: #e2ecff; }
body.mrm-premium .cinematic-host:is(.auth-intro, .pd-login-intro, .pro-payment-intro) { padding: 42px 32px 155px; border-radius: 24px; }
.cinematic-host:is(.auth-intro, .pd-login-intro, .pro-payment-intro) .cinematic-controls { flex-wrap: wrap; left: 25px; right: 25px; }
body.mrm-premium .cinematic-host:is(.pd-heading, .pro-page-heading, .cinematic-compact) { padding: 32px 32px 110px; border-radius: 20px; margin-bottom: 28px; min-height: 270px; }
body.mrm-premium .cinematic-host.pd-heading { align-items: flex-start; }
body.mrm-premium .cinematic-host .pd-login-benefits { position: relative; }
body.mrm-premium .cinematic-host .pd-login-benefits svg { color: #a8cdff; }
body.mrm-premium .cinematic-host .wc-stage { opacity: .55; }
@media (max-width: 767px) {
    body.mrm-premium .cinematic-host { padding-bottom: 155px; min-height: 390px; }
    .cinematic-scrim { background: linear-gradient(90deg, #03132ad9, #0b29629c), linear-gradient(0deg, #061b46, transparent 65%); }
    .cinematic-controls { left: 22px; right: 22px; bottom: 20px; flex-wrap: wrap; gap: 13px; padding-top: 15px; }
    .cinematic-caption { font-size: 12px; }
    .cinematic-navigation { width: 100%; justify-content: flex-end; gap: 5px; }
    .cinematic-counter { margin-right: auto; }
    body.mrm-premium .cinematic-host.atelier-hero { min-height: 730px; padding-bottom: 165px; }
    body.mrm-premium .cinematic-host .atelier-hero-note { position: relative; bottom: auto; margin: 20px 24px 0; left: auto; right: auto; width: auto; }
    body.mrm-premium .cinematic-host.book-hero { padding: 35px 24px 155px; }
    body.mrm-premium .cinematic-host:is(.pd-heading, .pro-page-heading, .cinematic-compact) { padding: 28px 22px 155px; }
    body.mrm-premium .cinematic-host .wc-stage { display: none; }
    body.mrm-premium .cinematic-host .wc-hero-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .cinematic-scene, .cinematic-scene video, .cinematic-dots button span { transition: none; }
}
@media print {
    .cinematic-slider { display: none; }
    body.mrm-premium .cinematic-host { min-height: 0; padding: 15px; background: #fff !important; color: #111 !important; }
    body.mrm-premium .cinematic-host :is(h1, h1 span, h1 em, p, a, span, strong) { color: #111 !important; text-shadow: none; }
}
/* Keep the site chrome and hero actions in the same blue family. */
body.mrm-premium .premium-brand { color: #12336a; }
body.mrm-premium .premium-brand-mark { background: #1645b8; color: #dbeaff; }
body.mrm-premium .premium-book-button,
body.mrm-premium #main .button-blue,
body.mrm-premium .cinematic-host .atelier-search button { background: #2457ff; border-color: #2457ff; color: #fff; }
body.mrm-premium .premium-book-button:hover,
body.mrm-premium #main .button-blue:hover,
body.mrm-premium .cinematic-host .atelier-search button:hover { background: #1645b8; border-color: #1645b8; }
body.mrm-premium .cinematic-host .atelier-search:focus-within { box-shadow: 0 0 0 3px #82adff88; }
body.mrm-premium .cinematic-host .atelier-hero-note { color: #163961; background: #f1f6ffef; }
body.mrm-premium .cinematic-host .atelier-hero-note strong { color: #163961; }
body.mrm-premium .cinematic-host .atelier-eyebrow-light > span { background: #9ac5ff; }
body.mrm-premium #main .cinematic-host .pd-login-benefits span { color: #d9e8ff !important; background: transparent; }
body.mrm-premium #main .cinematic-host .pd-login-benefits svg { color: #a6c9ff !important; }
body.mrm-premium .cinematic-host .wc-eyebrow { background: #173e79; color: #d4e4ff; }
body.mrm-premium .cinematic-host .wc-art { display: none; }
body.mrm-premium .cinematic-host .wc-hero-grid { grid-template-columns: minmax(0, 600px); }
body.mrm-premium .cinematic-host .book-hero-bottom { margin-top: 8px; padding-top: 18px; }
body.mrm-premium .cinematic-host .book-hero-chips span { background: transparent; }
body.mrm-premium .cinematic-host .book-hero-chips svg { color: #a6c9ff; }
body.mrm-premium .cinematic-host .ca-article-label { color: #d4e4ff; background: #173e79; }
body.mrm-premium #main .button-blue { background: #2457ff !important; border-color: #2457ff !important; color: #fff !important; }
body.mrm-premium #main .button-blue:hover { background: #1645b8 !important; border-color: #1645b8 !important; }
body.mrm-premium .cinematic-host > p,
body.mrm-premium .cinematic-host > .container > p,
body.mrm-premium .cinematic-host > div:not(.cinematic-slider) > p { color: #e0eaff !important; }
@media (max-width: 450px) {
    .cinematic-counter { display: none; }
    .cinematic-navigation { justify-content: space-between; }
    body.mrm-premium .cinematic-controls .cinematic-play { min-width: 44px; width: 44px; padding: 0; }
    [data-cinematic-play-label] { display: none; }
}
/* Search suggestions may extend beyond the film without being clipped. */
body.mrm-premium .cinematic-host.atelier-hero { overflow: visible; }
.cinematic-slider, .cinematic-media { border-radius: inherit; }
body.mrm-premium .cinematic-host .atelier-hero-content:focus-within { z-index: 7; }
@media print {
    body.mrm-premium .cinematic-host > p,
    body.mrm-premium .cinematic-host > .container > p,
    body.mrm-premium .cinematic-host > div:not(.cinematic-slider) > p { color: #111 !important; }
}
