/* OpenFrame: estensione del linguaggio della home alle pagine interne. */
:root{--footer:#202124;--footer-soft:#c9c5bd;--ease-ui:cubic-bezier(.23,1,.32,1)}
::selection{background:#e0c281;color:#14130e}
html{scrollbar-color:#85817a #181818}
input,textarea,select{caret-color:#76602e}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #c49c42;outline-offset:5px}
.skip:focus{z-index:1000}
#main:focus{outline:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.cinema-caption{font-size:12px;color:#c9c5bd;line-height:1.7;padding-top:15px}
.process-section>.kicker{color:#5a5547;font-size:11px}
.video-stage .video-tools .media-control{font-size:11px}
.video-stage .video-meta span{font-size:11px}
.media-transcript{margin:18px 0 0;color:#c9c5bd;font-size:13px;max-width:80ch}
.media-transcript summary{cursor:pointer;min-height:44px;padding:12px 0;text-decoration:underline;text-underline-offset:4px}
.media-transcript p{line-height:1.8;padding:6px 0 18px}
.cinema-hero.wrap{padding-top:28px;padding-bottom:64px;min-height:0}
.cinema-stage.video-stage{position:relative;width:100%;height:clamp(580px,77dvh,860px);aspect-ratio:auto;border-radius:24px;isolation:isolate;overflow:hidden;background:#19191a}
.cinema-stage.video-stage>video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.cinema-stage.video-stage:after{background:linear-gradient(90deg,rgba(8,8,8,.78),rgba(8,8,8,.37) 58%,rgba(8,8,8,.06)),linear-gradient(0deg,rgba(8,8,8,.82),transparent 40%)}
.cinema-copy{position:absolute;z-index:2;inset:auto 32px auto clamp(28px,5vw,78px);top:50%;transform:translateY(-50%);max-width:min(900px,78%);pointer-events:none}
.cinema-copy h1{font-size:clamp(58px,6.5vw,100px);line-height:.97;letter-spacing:-.035em;max-width:100%;margin:0 0 26px;text-wrap:balance}
.cinema-copy>p{max-width:470px;color:#f1eee4;font-size:16px;line-height:1.7}
.cinema-copy .button{margin-top:26px;pointer-events:auto}
.cinema-copy a{pointer-events:auto}
.cinema-stage .video-toolbar{bottom:24px;left:clamp(28px,3vw,44px);right:clamp(28px,3vw,44px)}
.cinema-stage .video-meta{color:#f1eee4}
.cinema-stage .video-meta span{color:#ece8df}
.cinema-stage .video-tools .media-control{background:#151516;color:#f1eee4;border-color:#cac5b9}
.cinema-stage .video-tools .fullscreen-control{background:#e0c281;color:#14130e;border-color:#e0c281}
.cinema-stage :focus-visible{outline-color:#fff}
.cinema-stage .video-tools{flex-wrap:wrap}
.cinema-stage .kicker{color:#f2d492}
.video-caption{font-size:13px;color:#bbb9b1;line-height:1.65;margin-top:16px;max-width:78ch}
.page-index .studio-reveal h2{font-size:clamp(38px,4.3vw,65px);max-width:750px;line-height:1.01;letter-spacing:-.035em}
.studio-reveal .illustration-note{font-size:12px;line-height:1.55;max-width:52ch;color:#c7c4ba;margin-top:18px}
.button:focus-visible:before,.header-cta:focus-visible:before{animation:none}
@media(hover:none){.button:hover:before,.header-cta:hover:before{animation:none}}
/* Il footer usa antracite neutro: nessuna dominante verde. */
footer.site-footer{background:var(--footer);color:#f1eee4;border-radius:32px 32px 0 0;padding:clamp(64px,7vw,110px) var(--pad) 24px;margin-top:0}
.site-footer .footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:0 0 64px;border:0}
.site-footer .footer-top p{font-family:Outfit,Arial,sans-serif;font-size:clamp(42px,5.5vw,82px);line-height:1.03;letter-spacing:-.035em;text-transform:uppercase;font-weight:650;max-width:870px}
.site-footer .footer-top p span{color:#e0c281}
.site-footer .footer-grid{border-top:1px solid #5e5b57;padding:48px 0;display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:36px;align-items:start}
.site-footer .footer-identity .brand{width:225px;margin-bottom:20px}
.site-footer .footer-identity p{font-size:13px;color:var(--footer-soft);max-width:32ch}
.site-footer .footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.site-footer .footer-grid a:not(.brand){font-size:14px;line-height:1.6;display:flex;align-items:center;min-height:44px;width:fit-content;padding:6px 0}
.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.site-footer .footer-contact p{font-size:13px;color:var(--footer-soft);margin-bottom:8px}
.site-footer .footer-contact a{overflow-wrap:anywhere;max-width:100%}
.site-footer .footer-bottom{border-top:1px solid #5e5b57;padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;color:var(--footer-soft);font-size:12px}
.site-footer .footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.site-footer .footer-legal a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:5px;color:#f1eee4;font-size:12px}
.site-footer .footer-preview{margin-top:18px;font-size:11px;line-height:1.6;color:#c9c5bd;max-width:92ch}
.site-footer a:hover{color:#e0c281}
.legal-page{background:#f1eee4;color:#171717;min-height:70vh;padding:90px var(--pad) 120px}
.legal-page .legal-layout{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,3fr);gap:60px;max-width:1240px;margin:auto}
.legal-page h1{font-size:clamp(44px,6vw,86px);line-height:1.02;max-width:1000px;letter-spacing:-.03em;margin:0 0 30px}
.legal-page h2{font-size:clamp(26px,3vw,36px);line-height:1.12;letter-spacing:-.02em;text-transform:none;margin:42px 0 18px}
.legal-page p,.legal-page li{font-size:16px;line-height:1.85;max-width:74ch;margin-bottom:16px}
.legal-page li{margin-bottom:8px}
.legal-page a{text-decoration:underline;text-underline-offset:4px}
.legal-page .legal-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px;position:sticky;top:36px;height:fit-content}
.legal-page .legal-nav a{min-height:44px;padding:10px 0;font-size:14px}
.legal-page .legal-nav [aria-current=page]{font-weight:800}
.legal-page .legal-notice{background:#e4decf;padding:22px 26px;border-radius:12px;margin:0 0 30px;font-size:14px;line-height:1.7}
.legal-page .legal-date{font-size:13px;color:#585347;margin-bottom:26px}
.legal-page .legal-table{width:100%;border-collapse:collapse;margin:24px 0 32px;font-size:14px}
.legal-table th,.legal-table td{border-bottom:1px solid #aaa493;text-align:left;vertical-align:top;padding:16px 14px 16px 0;line-height:1.7}
.legal-table th{font-weight:700}
.legal-page .legal-links{display:flex;flex-wrap:wrap;gap:12px 24px}
.media-description{font-size:13px;line-height:1.7;color:#c9c5bd;max-width:85ch;padding:16px var(--pad)}
@media(max-width:1000px){.cinema-copy{max-width:84%}.cinema-copy h1{font-size:clamp(56px,7vw,84px)}.site-footer .footer-grid{grid-template-columns:1fr 1fr}.site-footer .footer-contact{grid-column:1/-1}.legal-page .legal-layout{grid-template-columns:1fr;gap:30px}.legal-page .legal-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:12px 24px}}
@media(max-width:760px){
 .cinema-hero.wrap{padding-top:18px;padding-bottom:40px}
 .cinema-stage.video-stage{height:clamp(600px,80svh,760px);border-radius:18px}
 .cinema-stage.video-stage:after{background:linear-gradient(90deg,#080808b8,#08080855),linear-gradient(0deg,#080808c9,transparent 54%)}
 .cinema-copy{left:25px;right:25px;top:43%;max-width:none}
 .cinema-copy h1{font-size:clamp(38px,8.7vw,64px);line-height:1.02;letter-spacing:-.03em;margin-bottom:22px}
 .cinema-copy>p{font-size:14px;line-height:1.7;max-width:39ch}
 .cinema-copy .button{margin-top:22px;min-height:50px;font-size:12px;padding:14px 18px}
 .cinema-stage .video-toolbar{left:22px;right:22px;bottom:22px;flex-wrap:wrap;align-items:start;gap:15px}
 .cinema-stage .video-meta{max-width:100%;font-size:11px}
 .cinema-stage .video-tools{width:100%}
 .cinema-stage .video-tools .media-control{min-height:44px;padding:11px 13px}
 footer.site-footer{padding-top:56px;border-radius:24px 24px 0 0}
 .site-footer .footer-top{display:block;padding-bottom:44px}
 .site-footer .footer-top p{font-size:clamp(36px,9vw,58px);line-height:1.08;letter-spacing:-.025em}
 .site-footer .footer-top .button{margin-top:28px}
 .site-footer .footer-grid{grid-template-columns:1fr;padding:34px 0;gap:28px}
 .site-footer .footer-contact{grid-column:auto}
 .site-footer .footer-grid nav{max-width:360px}
 .site-footer .footer-bottom{display:block}
 .site-footer .footer-legal{margin-top:14px;gap:2px 20px}
 .legal-page{padding-top:50px;padding-bottom:70px}
 .legal-page h1{font-size:clamp(38px,10vw,62px)}
 .legal-page p,.legal-page li{font-size:15px}
 .legal-page .legal-notice{padding:18px}
 .legal-table th,.legal-table td{font-size:12px;padding-right:10px}
 .page-index .studio-reveal h2{font-size:clamp(34px,8vw,52px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cinema-copy,.site-footer *{animation:none!important;transition:none!important}}
@media(forced-colors:active){.button,.media-control{border:1px solid ButtonText}.video-stage:after{background:Canvas;opacity:.85}}
