/* R14 — local company and film chapters; existing Atelier typography, corners and GSAP reveals. */
#about,#product-films{scroll-margin-top:32px}
.films-section{background:var(--paper-light)}
.film-feature{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:clamp(30px,5vw,80px)}
.film-feature-copy h3{font-size:38px;line-height:1.15;max-width:15ch}.film-feature-copy>p{margin-top:20px;max-width:38ch}.film-feature-copy .button{margin-top:28px}.film-feature-copy .film-count{font-size:12px;margin-top:14px}
#films-dialog{width:min(1080px,calc(100% - 40px));max-height:90dvh;padding:32px;border:0;border-radius:32px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
#films-dialog::backdrop{background:rgba(32,28,24,.68)}
.films-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.films-dialog-heading h2{font-size:42px}.films-dialog-heading button{flex-shrink:0;min-height:44px}
.films-dialog-note{font-size:14px;margin-bottom:32px}
#films-dialog .films-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.films-open{overflow:hidden}
.films-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px}
.film-card{min-width:0}
.film-card video{display:block;width:100%;aspect-ratio:9/5;object-fit:contain;background:var(--ink);border-radius:var(--product-radius,32px);box-shadow:var(--product-shadow);color-scheme:dark}
.film-card video:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.film-caption{padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center}
.film-caption h3{font-size:27px}
.film-caption>span{grid-column:1;font-size:12px;color:var(--muted)}
.film-caption .text-link{grid-column:2;grid-row:1/3;font-size:12px;gap:8px;border:0}
.film-caption .icon{width:18px;height:18px}
.film-error{font-size:13px;margin-top:12px}.film-error a{text-decoration:underline;text-underline-offset:4px}
.about-section{border-bottom:1px solid var(--line)}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start;margin-bottom:42px}
.about-copy{padding-top:4px;max-width:65ch}.about-copy p{font-size:15px;line-height:1.8}.about-copy p+p{margin-top:20px}.about-copy .text-link{margin-top:20px}
.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.about-photos .about-aerial{grid-column:1/-1}
.about-photos .about-aerial img{aspect-ratio:160/63}
.about-photos img{width:100%;height:auto;aspect-ratio:32/15;object-fit:cover;border-radius:var(--product-radius,32px);box-shadow:var(--product-shadow)}
.about-photos figcaption{margin-top:16px;font-size:13px;color:var(--muted)}
.about-source{font-size:12px;margin-top:28px}
.company-film-cover{position:relative;display:block;width:100%;padding:0;border-radius:var(--product-radius,32px);overflow:hidden;box-shadow:var(--product-shadow);text-align:left}
.about-photos .company-film-cover>img{border-radius:0;box-shadow:none}
.company-film-cta{position:absolute;left:28px;bottom:28px;display:inline-flex;align-items:center;gap:16px;padding:14px 22px;background:var(--paper-light);color:var(--ink);border-radius:999px;font-size:15px;line-height:1.5;box-shadow:0 6px 18px rgb(41 38 32 / .16)}
.company-film-cta small{font-size:12px;color:var(--muted)}.company-film-cta .icon{width:20px;height:20px}
#company-film-dialog{width:min(1100px,calc(100% - 40px));max-height:94dvh;padding:28px;border:0;border-radius:32px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
#company-film-dialog::backdrop{background:rgba(32,28,24,.75)}
#company-film{display:block;width:100%;aspect-ratio:16/9;max-height:calc(94dvh - 155px);object-fit:contain;background:var(--ink);border-radius:20px;color-scheme:dark}
body.company-film-open{overflow:hidden}.company-film-error{font-size:14px;margin-top:14px}.company-film-error a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:640px){.company-film-cover{border-radius:24px}.company-film-cta{left:14px;bottom:14px;padding:11px 16px;gap:10px;font-size:13px}.company-film-cta small{font-size:11px}#company-film-dialog{width:calc(100% - 20px);padding:20px 16px;border-radius:24px}#company-film-dialog h2{font-size:29px}#company-film{border-radius:14px}.company-film-error{font-size:13px}}
.company-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}
.company-facts dt{font-size:17px;font-weight:500;color:var(--ink);margin-bottom:10px}.company-facts dd{font-size:14px;line-height:1.65;color:var(--muted);margin:0;max-width:25ch}
.company-story{margin-bottom:42px}.company-story summary{display:flex;align-items:center;gap:32px;width:fit-content;min-height:48px;cursor:pointer;list-style:none;border-bottom:1px solid var(--ink);font-size:16px}.company-story summary::-webkit-details-marker{display:none}.company-story summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.story-hide,.company-story[open] .story-show{display:none}.company-story[open] .story-hide{display:inline}.company-story[open] summary .icon{transform:rotate(-90deg)}
.company-story-content{padding:44px 0 12px}.company-story-lead{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:40px}.company-story-lead h3{font-size:clamp(30px,3.4vw,46px);line-height:1.12}.company-story-lead p,.company-chapters p{font-size:15px;line-height:1.8;max-width:65ch}.company-chapters{display:grid;grid-template-columns:1fr 1fr;gap:36px 64px}.company-chapters article{border-top:1px solid var(--line);padding-top:22px}.company-chapters h4{font-size:28px;margin-bottom:14px}.company-chapters .text-link{margin-top:20px}.company-production{margin-top:38px}.company-production img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--product-radius,32px)}.company-production figcaption,.company-profile-note{font-size:12px;color:var(--muted);margin-top:14px}
@media(max-width:900px){.company-facts{grid-template-columns:1fr 1fr}.company-story-lead{gap:28px}.company-chapters{gap:28px}}
@media(max-width:640px){.company-facts{gap:24px 18px}.company-facts dt{font-size:16px}.company-facts dd{font-size:13px}.company-story-lead,.company-chapters{grid-template-columns:1fr}.company-story-content{padding-top:30px}.company-story-lead{margin-bottom:28px}.company-chapters h4{font-size:26px}.company-story-lead p,.company-chapters p{font-size:14px}.company-production img{border-radius:24px}}
@media(min-width:1201px){.desktop-nav{gap:16px}.desktop-nav .nav-link{font-size:14px}.site-header{gap:20px}.desktop-nav .nav-symbol{width:28px;height:28px}.desktop-nav .nav-symbol .icon{width:18px;height:18px}}
@media(max-width:1200px){.desktop-nav,.header-contact{display:none}#menu-toggle{display:inline-grid}.site-header{height:68px}.films-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.films-grid,.about-intro,.about-photos{grid-template-columns:1fr}.films-grid{gap:34px}.about-intro{gap:24px;margin-bottom:30px}.about-photos{gap:28px}.about-factory{grid-column:auto}.about-copy p{font-size:14px}.film-caption h3{font-size:27px}.film-card video,.about-photos img{border-radius:24px}.films-section .section-heading{gap:20px}.about-source{line-height:1.6}}
@media(max-width:800px){.film-feature{grid-template-columns:1fr}.film-feature-copy h3{max-width:none;font-size:30px}.film-feature-copy .button{margin-top:20px}}
@media(max-width:640px){#films-dialog{width:calc(100% - 20px);max-height:94dvh;padding:22px 18px;border-radius:24px}#films-dialog .films-grid{grid-template-columns:1fr}.films-dialog-heading{align-items:start;gap:12px}.films-dialog-heading h2{font-size:32px}.films-dialog-heading .icon{width:18px}.films-dialog-heading button{gap:6px}}
