/* Bounded phone compositions: no content continues below the controls. */
.chapter-frame,.chapter-stage { display:contents; }
.cinema-pages body { height:100svh; overflow:hidden; }
.cinema-pages { overscroll-behavior-y:none; }
.cinema-pages #accueil { overflow:clip!important; }
.cinema-pages .hero-text:before { display:none; }
.cinema-pages main { height:calc(100svh - var(--header-height)); min-height:0; }
.cinema-pages.paged-site main>section[id] { height:100%; min-height:0; max-height:none; width:100%; padding:14px 5% 108px!important; display:block; overflow:visible; }
.cinema-pages .chapter-frame { display:block; position:relative; height:100%; width:100%; }
.cinema-pages .chapter-stage { display:flex; position:absolute; width:100%; left:50%; top:50%; flex-direction:column; align-items:stretch; justify-content:center; gap:18px; transform:translate(-50%,-50%) scale(var(--scene-fit,1)); transform-origin:center; }
.cinema-pages .scene-off { display:none!important; }
.cinema-pages .hero-text { padding:0; }
.cinema-pages .hero .chapter-stage { display:grid; grid-template-columns:1.2fr 1fr; gap:8px 12px; }
.cinema-pages .hero-text { display:contents; }
.cinema-pages .hero .eyebrow { grid-column:1/-1; margin:0 0 7px; font-size:9px; }
.cinema-pages .hero :is(h1,h2) { grid-column:1; grid-row:2; font-size:clamp(40px,10vw,63px); line-height:.98; margin:0; }
.cinema-pages .hero-description { grid-column:1; grid-row:3; font-size:12px; line-height:1.65; margin:7px 0 10px; }
.cinema-pages .hero-description br { display:none; }
.cinema-pages .hero-description br:after { content:' '; }
.cinema-pages .hero-art { grid-column:2; grid-row:2/4; height:220px; min-height:0; width:100%; margin:0; align-self:center; }
.cinema-pages .hero-photo { inset:0; border:2px solid #fff4dc; outline-offset:4px; border-radius:22px; transform:rotate(3deg); background:#f3d9ca85; }
.cinema-pages .hero-photo svg { transform:none; }
.cinema-pages .hero-ring { border-radius:30px; inset:-5px; }
.cinema-pages .hero-side-note,.cinema-pages .jewel-stage,.cinema-pages .hero-art .art-orb-two { display:none; }
.cinema-pages .hero-art .art-orb-one { width:30px; height:30px; right:-6%; bottom:5%; }
.cinema-pages .photo-label { padding:6px 10px; left:0; bottom:-10px; gap:7px; }
.cinema-pages .photo-label .label-star { font-size:22px; }
.cinema-pages .photo-label span:not(.label-star) { font-size:5px; }
.cinema-pages .photo-label strong { font-size:21px; }
.cinema-pages .hero .button { grid-column:1/-1; justify-self:start; padding:10px 20px; min-height:44px; font-size:11px; margin-top:10px; }
.cinema-pages .hero-more { grid-column:1/-1; margin:2px 0; font-size:11px; }
.cinema-pages .hero-signature { grid-column:1/-1; margin:4px 0 0; font-size:7px; }
.cinema-pages .hero-signature .heart { display:none; }
.cinema-pages .hero[data-fragments="2"] .chapter-stage { display:flex; flex-direction:column; gap:12px; }
.cinema-pages .hero[data-fragments="2"] :is(h1,h2) { font-size:50px; }
.cinema-pages .hero[data-fragments="2"] .hero-description { font-size:14px; margin:0; }
.cinema-pages .hero[data-fragments="2"] .hero-art { width:58%; height:calc(var(--scene-room) - 140px); min-height:70px; max-height:250px; margin:auto; flex:none; }
.cinema-pages .hero[data-fragments="2"] .button { margin:0; }
.cinema-pages .atelier-image { width:100%; max-width:360px; margin:auto; }
.cinema-pages .atelier-photo { height:calc(var(--scene-room) - 55px); min-height:100px; max-height:500px; border-radius:20px; background:#f6dfd8a6; }
.cinema-pages .atelier-photo:after { border-radius:14px; }
.cinema-pages .atelier-photo svg { width:100%; height:100%; }
.cinema-pages .image-caption { margin-top:9px; font-size:8px; padding:7px 10px; }
.cinema-pages .atelier-copy { padding:25px; }
.cinema-pages .atelier-copy :is(h1,h2) { font-size:43px; margin-bottom:17px; }
.cinema-pages .atelier-copy p:not(.eyebrow) { font-size:14px; line-height:1.85; }
.cinema-pages .atelier-copy .eyebrow { font-size:9px; margin-bottom:18px; }
.cinema-pages .artist-sign { margin-top:14px; }
.cinema-pages .section-heading { display:block; padding:22px; margin:0; }
.cinema-pages .section-heading :is(h1,h2) { font-size:43px; }
.cinema-pages .section-heading>p { font-size:14px; line-height:1.8; margin-top:22px; }
.cinema-pages .filters { width:100%; max-width:100%; margin:0; flex-shrink:0; overflow-x:auto; }
.cinema-pages .filter { font-size:11px; min-height:44px; }
.cinema-pages .gallery { display:block; margin:0; }
.cinema-pages .gallery-card,.cinema-pages .gallery-card:nth-child(n),.cinema-pages .gallery-card[data-work="french"] { padding:0; margin:0; width:100%; max-width:600px; }
.cinema-pages .gallery-card button { padding:8px 8px 15px; }
.cinema-pages .gallery-card .gallery-photo,.cinema-pages .gallery-card:first-child .gallery-photo,.cinema-pages .gallery-card[data-work="french"] .gallery-photo { height:calc(var(--scene-room) - 85px); max-height:600px; min-height:100px; aspect-ratio:auto; background:#f4dbd082; }
.cinema-pages .gallery-meta,.cinema-pages .gallery-card:first-child .gallery-meta { display:flex; flex-direction:row; align-items:center; padding-top:14px; gap:15px; }
.cinema-pages .gallery-meta h3 { font-size:29px; }
.cinema-pages .gallery-meta span { font-size:9px; text-align:right; }
.cinema-pages .gallery-note { margin:0; }
.cinema-pages .techniques { display:block; margin:0; }
.cinema-pages .technique { display:block; padding:28px; }
.cinema-pages .tech-number { display:block; margin-bottom:18px; }
.cinema-pages .technique h3 { font-size:42px; }
.cinema-pages .technique p { font-size:15px; line-height:1.8; margin:20px 0; }
.cinema-pages .tech-tag { font-size:9px; }
.cinema-pages .quality { display:block; padding:26px; margin:0; border-radius:4px 35px; }
.cinema-pages .quality h3 { font-size:43px; }
.cinema-pages .quality .eyebrow { margin-bottom:14px; }
.cinema-pages .quality-mark { font-size:25px; margin-bottom:10px; }
.cinema-pages .quality-intro>p:not(.eyebrow) { font-size:14px; line-height:1.8; }
.cinema-pages .brand-story { grid-template-columns:1fr; padding:15px 0; border:0; }
.cinema-pages .brand-story>img,.cinema-pages .oa-logo { width:130px; max-height:70px; margin:auto auto 18px; }
.cinema-pages .brand-story h4 { font-size:38px; }
.cinema-pages .brand-story p { font-size:15px; margin:18px 0; }
.cinema-pages .product-selection { margin:0; }
.cinema-pages .product-heading { background:#fff3dfc9; border:1px solid white; border-radius:4px 40px; padding:30px; }
.cinema-pages .product-heading h3 { font-size:47px; }
.cinema-pages .product-grid { display:block; }
.cinema-pages .product-card,.cinema-pages .product-card:last-child { display:block; padding:22px; max-width:370px; margin:auto; text-align:center; }
.cinema-pages .product-picture,.cinema-pages .product-picture img { height:calc(var(--scene-room) - 210px); min-height:100px; max-height:300px; margin:0 auto 15px; }
.cinema-pages .product-card h4 { font-size:35px; margin:6px 0; }
.cinema-pages .product-card p { margin:8px 0 15px; }
.cinema-pages .product-card:last-child .product-brand { margin:0; }
.cinema-pages .product-link { font-size:12px; }
.cinema-pages .formation-section { display:block; padding:24px; margin:0; border:1px solid white; }
.cinema-pages .formation-copy h3 { font-size:43px; }
.cinema-pages .formation-copy>p:not(.eyebrow) { font-size:14px; line-height:1.8; }
.cinema-pages .formation-photo { transform:none; box-shadow:none; }
.cinema-pages .formation-photo img { object-fit:contain; width:100%; max-height:calc(var(--scene-room) - 70px); }
.cinema-pages .formation-section figcaption { margin-top:12px; }
.cinema-pages .promo-visual { height:calc(var(--scene-room) - 32px); max-height:600px; width:88%; margin:auto; transform:rotate(-2deg); background:#f1d4c785; border-radius:15px; }
.cinema-pages .promo-stamp { width:95px; height:95px; font-size:7px; right:-6px; bottom:0; }
.cinema-pages .promo-stamp em { font-size:25px; }
.cinema-pages .promo-copy { padding:26px; }
.cinema-pages .promo-copy :is(h1,h2) { font-size:43px; }
.cinema-pages .promo-copy>p:not(.eyebrow) { font-size:14px; }
.cinema-pages .last-invitation :is(h1,h2) { font-size:43px; }
.cinema-pages .last-invitation p:not(.eyebrow) { font-size:14px; }
.cinema-pages .last-invitation .eyebrow { margin-bottom:0; }
.cinema-pages .last-invitation .button { align-self:center; }
.cinema-pages .page-controls { bottom:48px; width:calc(100% - 24px); max-width:370px; }
.cinema-pages .paged-site footer,.cinema-pages footer { position:fixed; z-index:8; bottom:0; left:0; right:0; height:44px; min-height:0; padding:0 10px!important; display:flex; justify-content:center; border:0; background:transparent; backdrop-filter:none; }
.cinema-pages footer .footer-brand,.cinema-pages footer>p,.cinema-pages footer>small { display:none; }
.cinema-pages .footer-links { margin:0; gap:8px; padding:0 10px; border-radius:25px; background:#ffefdc9e; backdrop-filter:blur(12px); }
.cinema-pages .footer-links button,.cinema-pages .footer-links a { font-size:9px; min-height:40px; display:flex; align-items:center; padding:4px; }
@media(min-width:561px) { .cinema-pages .hero .chapter-stage { max-width:650px; } .cinema-pages .hero :is(h1,h2) { font-size:67px; } .cinema-pages .hero-art { height:300px; } .cinema-pages .chapter-stage { max-width:700px; } }
@media(max-height:650px) and (min-width:561px) { :root { --header-height:64px; } .site-header { display:flex; height:64px; padding:4px 3%; } .site-header .brand { width:88px; } .site-header .desktop-nav { width:auto; height:46px; flex:1; font-size:10px; } .site-header .header-cta { font-size:10px; min-height:42px; padding:6px 12px; } .cinema-pages .chapter-stage { max-width:700px; } .cinema-pages .hero .chapter-stage { grid-template-columns:1fr 1fr 1fr; align-items:center; } .cinema-pages .hero :is(h1,h2) { font-size:42px; grid-column:1; grid-row:2/4; } .cinema-pages .hero-art { height:160px; grid-column:2; grid-row:1/6; } .cinema-pages .hero .eyebrow { grid-column:1; } .cinema-pages .hero-description { grid-column:3; grid-row:1/3; font-size:11px; } .cinema-pages .hero .button { grid-column:3; grid-row:3; margin:0; } .cinema-pages .hero-more { grid-column:3; grid-row:4; } .cinema-pages .hero-signature { grid-column:1; grid-row:4/6; font-size:6px; } .cinema-pages .atelier-copy :is(h1,h2),.cinema-pages .section-heading :is(h1,h2),.cinema-pages .quality h3 { font-size:35px; } .cinema-pages .chapter-stage { gap:10px; } }
