
/* Shared actions: a clear label, tactile outline and moving arrow. */
.action-button,.button,.nav-cta{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;isolation:isolate;overflow:hidden;border-radius:999px;min-height:50px;padding:10px 11px 10px 24px;border:1px solid var(--pink);background:var(--pink);color:var(--on-accent);font:500 12px/1.4 "DM Sans",sans-serif;text-decoration:none;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s,color .25s!important}
.action-button>span,.button>span[aria-hidden],.nav-cta>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;border:1px solid currentColor;font-size:20px;transition:transform .3s,background .3s}
.action-button:hover,.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 7px 26px #0002;background:var(--champagne)!important;color:var(--on-accent)!important;border-color:var(--champagne)}
.action-button:hover>span,.button:hover>span[aria-hidden],.nav-cta:hover>span{transform:rotate(45deg)}
.action-button:active,.button:active,.nav-cta:active{transform:translateY(0);box-shadow:none}
.action-outline{background:transparent;color:var(--ink)}
.cinematic-home .header .nav-cta{background:transparent;color:var(--ink);border-color:var(--pink)}
.cinematic-home.scene-expanded:not(.in-editorial) .header .nav-cta{color:#f2eadf;border-color:#d5a1b0}
.scene-contact-button{margin-top:28px;background:#d5a1b0;color:#281821;border-color:#d5a1b0;min-width:255px}
.scene-contact-button:hover{background:#d9c0a1!important;color:#281821!important}
.scene-second{padding-top:18vh}
.scene-second h2{font-size:clamp(65px,8vw,140px)}
.cinema-link{transition:color .25s,gap .25s}.cinema-link:hover{gap:48px;color:var(--pink)}
.privacy-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;width:min(1120px,calc(100% - 40px));padding:24px 28px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;border:1px solid var(--field-line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 18px 70px #0005}
.privacy-bar[hidden],.privacy-dialog button[hidden],.legal-tools button[hidden]{display:none}
.privacy-bar-copy strong{font-size:17px;font-weight:500}.privacy-bar p{font-size:12px;line-height:1.65;margin:8px 0 0;color:var(--muted)}
.privacy-bar .privacy-small,.privacy-small{font:400 11px/1.7 "DM Sans",sans-serif;color:var(--muted)}
.privacy-bar-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}
.privacy-bar-actions .action-button{min-width:132px;min-height:46px;font-size:12px;padding-left:18px}
.privacy-bar-actions>.privacy-small{grid-column:2;text-align:center}
.privacy-text-button{border:0;padding:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:inherit;font-size:11px;min-height:32px}
.privacy-bar-actions>.privacy-text-button{grid-column:1/-1;justify-self:end;min-height:20px}
.privacy-bar a:not(.action-button),.privacy-dialog a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.privacy-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--field-line);border-radius:20px;background:var(--paper);color:var(--ink);padding:34px;overflow:auto;margin:auto;box-shadow:0 30px 100px #0006}
.privacy-dialog::backdrop{background:#07060bb3;backdrop-filter:blur(8px)}
.privacy-dialog h2{font-size:42px;margin:12px 0 20px;line-height:1.1}
.privacy-dialog>p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted)}
.dialog-close{position:absolute;right:14px;top:12px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:50%;width:36px;height:36px;font-size:23px;cursor:pointer}
.privacy-option{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.privacy-option strong{display:block;font-size:13px;font-weight:500}.privacy-option span span,.privacy-option div span{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}
.privacy-option input{width:21px;height:21px;flex:0 0 21px;accent-color:var(--pink);cursor:pointer}
.status-label{font-size:10px;color:var(--muted);white-space:nowrap}
.privacy-dialog-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-block:22px}
.footer-bottom{flex-wrap:wrap;row-gap:14px}.footer-bottom .privacy-text-button{font:inherit;text-decoration:none;min-height:0}
.legal-page{max-width:1120px;margin:auto;padding:70px 30px 100px}
.legal-intro{max-width:840px;margin-bottom:45px}.legal-intro h1{font-size:clamp(52px,7vw,96px);line-height:1.04;margin:20px 0}
.legal-intro .lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:720px}
.legal-meta{color:var(--muted);font-size:12px;margin-top:20px}
.legal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:65px}
.legal-nav{align-self:start;position:sticky;top:120px;display:grid;gap:13px;font-size:12px}.legal-nav a{color:var(--muted)}.legal-nav a:hover{color:var(--pink)}
.legal-content{min-width:0}.legal-content section{scroll-margin-top:120px;margin-bottom:36px}
.legal-content h2{font-size:32px;line-height:1.15;margin:0 0 16px}.legal-content h3{font-size:24px;margin:20px 0 12px}
.legal-content p,.legal-content li{font-size:14px;line-height:1.85;color:var(--muted)}
.legal-content p{margin:0 0 15px}.legal-content ul{padding-left:20px;margin-block:12px 20px}.legal-content li+li{margin-top:9px}
.legal-content strong{font-weight:600;color:var(--ink)}.legal-content a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.legal-callout{padding:22px 25px;margin-block:26px;border-left:2px solid var(--pink);background:var(--cream);font-size:13px;line-height:1.7}
.legal-callout p{margin:0}.legal-callout strong{display:block;margin-bottom:8px}.legal-pending{border:1px solid var(--pink);border-radius:8px}
.legal-tools{display:flex;gap:20px;align-items:center;margin-top:24px}.legal-tools .action-button{font-size:11px}
.cookie-record{padding:18px 0;border-top:1px solid var(--line)}.cookie-record code{font-size:12px;overflow-wrap:anywhere}
@media(max-width:800px){.privacy-bar{padding:21px;gap:20px}.legal-layout{grid-template-columns:1fr;gap:35px}.legal-nav{position:static;display:flex;flex-wrap:wrap;gap:12px 22px}.legal-page{padding-top:45px}.scene-second{padding-top:20vh}.scene-second h2{font-size:12vw}.scene-contact-button{margin-top:24px}}
@media(max-width:600px){.privacy-bar{bottom:12px;width:calc(100% - 24px);padding:20px;grid-template-columns:1fr;gap:16px}.privacy-bar-actions{grid-template-columns:1fr 1fr}.privacy-bar-actions .action-button{min-width:0}.privacy-bar p{font-size:11px}.privacy-bar-copy strong{font-size:16px}.privacy-bar-actions>.privacy-text-button{justify-self:start}.privacy-dialog{padding:26px 22px}.privacy-dialog h2{font-size:36px}.legal-page{padding-inline:21px}.legal-intro .lead{font-size:16px}.scene-contact-button{margin-top:24px;min-width:225px}.scene-second h2{font-size:15vw}.scene-second-bottom{bottom:6vh}.scene-second-bottom p{font-size:12px}.scene-second-bottom .cinema-link{font-size:11px}.nav-cta{min-height:46px}.privacy-option{gap:15px}}
@media(max-height:600px) and (orientation:landscape){.scene-second{padding-top:22vh}.scene-second h2{font-size:16vh}.scene-contact-button{position:absolute;right:8vw;top:36vh;margin:0;min-width:230px}.scene-second>.eyebrow{margin-bottom:3vh}.privacy-bar{bottom:10px;padding:16px 22px}.privacy-dialog{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){.action-button,.button,.nav-cta,.cinema-link,.action-button>span,.button>span[aria-hidden],.nav-cta>span{transition:none!important;transform:none!important}}
@media print{.header,.footer,.privacy-bar,.privacy-dialog,.legal-nav,.legal-tools,.skip{display:none!important}.legal-page{padding:0;max-width:none}.legal-layout{display:block}.legal-content section{break-inside:avoid}body,.legal-page{background:#fff!important;color:#000!important}.legal-content p,.legal-content li,.legal-meta,.legal-intro .lead{color:#222!important}.legal-content h2{font-size:22px}.legal-intro h1{font-size:36px}.legal-pending{border:2px solid #000}}

/* Privacy notice layout and its 90% black backdrop. */
body.privacy-notice-open::after{content:"";position:fixed;inset:0;z-index:98;background:rgba(0,0,0,.9);pointer-events:none;animation:privacy-backdrop-in .28s ease both}
@keyframes privacy-backdrop-in{from{opacity:0}to{opacity:1}}
.privacy-bar{width:min(920px,calc(100% - 40px));padding:24px 28px;grid-template-columns:minmax(0,1fr) 250px;gap:28px;border-color:var(--line);border-radius:20px;background:var(--paper);box-shadow:0 24px 90px #0006}
.privacy-bar-copy .privacy-eyebrow{font-size:10px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin:0 0 9px;font-weight:600}
.privacy-bar-copy>strong{font-family:var(--serif);font-size:25px;line-height:1.12;letter-spacing:-.025em;font-weight:400}
.privacy-bar-copy>p:not(.privacy-eyebrow){max-width:570px;font-size:12px;line-height:1.65;margin-top:10px}
.privacy-bar-copy .privacy-small{font-size:10px;line-height:1.55;margin-top:9px}
.privacy-bar-actions{grid-template-columns:1fr 1fr;gap:9px}
.privacy-bar-actions .action-button{min-width:0;min-height:45px;padding:7px 8px 7px 16px;gap:10px}
.privacy-bar-actions .action-button>span{width:27px;height:27px;flex-basis:27px;font-size:17px}
.privacy-bar-actions>.privacy-small{font-size:10px;align-self:center}
.privacy-bar-actions>.privacy-text-button{min-height:32px;font-size:11px;justify-self:center}
.privacy-bar-actions>.privacy-text-button:hover{color:var(--pink)}
@media(max-width:680px){
 .privacy-bar{width:calc(100% - 24px);bottom:12px;padding:21px;grid-template-columns:1fr;gap:16px;border-radius:17px}
 .privacy-bar-copy>strong{font-size:23px}
 .privacy-bar-copy>p:not(.privacy-eyebrow){font-size:11px}
 .privacy-bar-actions{grid-template-columns:1fr 1fr;gap:9px 12px}
 .privacy-bar-actions .action-button{min-width:0}
 .privacy-bar-actions>.privacy-text-button{justify-self:start}
}
@media(prefers-reduced-motion:reduce){body.privacy-notice-open::after{animation:none}}

/* Explicit backdrop layer keeps the notice above the black dimmer in Chrome. */
body.privacy-notice-open::after{display:none!important}
.privacy-backdrop[hidden]{display:none!important}
.privacy-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.9);pointer-events:none}
.privacy-bar{z-index:9001}

/* Center the notice controls as one vertical group on desktop and mobile. */
.privacy-bar .privacy-bar-actions{grid-template-columns:minmax(0,1fr);justify-items:center;align-content:center;gap:9px}
.privacy-bar .privacy-bar-actions .action-button{width:min(100%,190px);min-width:0;justify-content:space-between}
.privacy-bar .privacy-bar-actions>.privacy-small{text-align:center;grid-column:1;justify-self:center}
.privacy-bar .privacy-bar-actions>.privacy-text-button{grid-column:1;justify-self:center;text-align:center}
@media(max-width:680px){.privacy-bar .privacy-bar-actions{grid-template-columns:minmax(0,1fr);justify-items:center}.privacy-bar .privacy-bar-actions .action-button{width:min(100%,220px)}.privacy-bar .privacy-bar-actions>.privacy-text-button{justify-self:center}}
