@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:100 900;src:url('/assets/fonts/outfit-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:100 900;src:url('/assets/fonts/outfit-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#F5F1E8;--ink:#292621;--muted:#746B60;--accent:#B86645;--line:#29262126;--font:'Outfit',Arial,sans-serif;--radius:6px;--type-h1:clamp(40px,5.2vw,76px);--type-h2:clamp(30px,3.3vw,48px);--type-h3:clamp(20px,1.7vw,25px)}
html{color-scheme:light;scroll-padding-top:95px}body{font-family:var(--font);font-weight:400;background:var(--bg);color:var(--ink)}
h1{font-weight:800!important;text-transform:uppercase;letter-spacing:-.035em!important}
h2,h3,.home-page .home-services h3,.service-copy h3{font-weight:700!important;text-transform:uppercase;letter-spacing:-.025em!important}
p{font-weight:400;text-transform:none}.eyebrow{font-weight:200!important;text-transform:uppercase;color:var(--ink);font-size:13px!important;letter-spacing:.13em}
.btn,.titan-cta .btn,.hero .btn{font-family:var(--font);font-weight:400;border:1px solid var(--ink);background:var(--ink);color:#fff;outline:none;min-height:48px;border-radius:6px;box-shadow:none}
.btn:hover,.titan-cta .btn:hover,.hero .btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--accent)}
header{background:linear-gradient(110deg,#ffffffb0,#f5f1e8b0);border-color:#29262120;box-shadow:0 5px 25px #29262108;backdrop-filter:blur(24px) saturate(110%)}
.brand img{filter:brightness(0)!important;opacity:.88}nav>a,.nav-toggle,.mobile-toggle{color:var(--ink)}
.nav-toggle[aria-expanded=true],nav a:hover{color:var(--accent)}
.mega{background:#f5f1e8f5;border-color:var(--line);box-shadow:0 20px 40px #29262115}.mega .menu-heading{color:var(--ink)}
.mega-links small,.close-menu{color:var(--muted)}.mega-links p{color:var(--muted)}
.hero.cinema-hero{background:var(--bg)}.cinema-glow{background:none}.hero.cinema-hero h1{color:var(--ink)}
.cinema-kicker{color:var(--ink)}.cinema-bottom p,.cinema-bottom>a{color:var(--ink)}.cinema-bottom p{font-size:16px;line-height:1.5;text-transform:none}.cinema-bottom>a{font-size:13px;color:var(--accent)}
.cinema-frame span{color:white}.hero-reel:before{background:linear-gradient(90deg,var(--bg),transparent)}.hero-reel:after{background:linear-gradient(-90deg,var(--bg),transparent)}
.section{padding:85px 5%}.home-page .section-heading{gap:35px}.section-heading>p{max-width:390px}
.home-page .about-section,.home-page .partnership-section{height:auto;min-height:0;padding:85px 5%}
.home-page .about-section .section-heading,.home-page .partnership-section .section-heading{margin-bottom:45px}
.about-section{border-top:1px solid var(--line);scroll-margin-top:95px}.about-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:7%;align-items:stretch}
.about-image{position:relative;min-height:540px;border-radius:var(--radius);overflow:hidden}
.about-image img{position:absolute;width:100%;height:100%;object-fit:cover}
.about-image span{position:absolute;inset:auto 0 0;padding:60px 28px 25px;background:linear-gradient(transparent,#292621d9);font-size:19px;color:white}
.about-copy>p{font-size:17px;line-height:1.75}.about-strength{border-top:1px solid var(--line);padding:22px 0 0;margin-top:22px}.about-strength h3{margin-bottom:12px}.about-strength p{font-size:16px;line-height:1.65}.about-copy .btn{margin-top:8px}
.home-page .services{background:#eee7db}.home-page .home-services>a{background:#ffffff80;border:1px solid var(--line);box-shadow:none}
.home-page .home-services>a:hover{background:#fff;border-color:#b8664560}.home-services h3{color:var(--ink)}.home-services p{color:var(--muted)}.home-page .service-icon img{filter:brightness(0) opacity(.75)}.home-services>a>span.service-home-arrow{color:var(--accent)}
.home-page .home-services h3{font-size:var(--type-h3)!important;min-height:2.5em}.home-page .home-services p{font-size:16px!important}
.projects{background:var(--bg)}.marquee-window:before{background:linear-gradient(90deg,var(--bg),transparent)}.marquee-edge{background:linear-gradient(90deg,transparent,var(--bg))}
.marquee-end{background:linear-gradient(90deg,var(--bg),#e8ddce);border-color:var(--line);color:var(--ink)}
.project-card{color:var(--ink)}.project-card>span{color:var(--ink)}.project-card small{color:var(--muted)}.gallery-controls{color:var(--muted)}.gallery-controls button{color:var(--ink);border-color:var(--line)}.gallery-controls button:hover{background:#e8ddce}
.marquee-set .project-card strong{font-weight:500}.project-open{background:#29262199;color:white;border-color:#ffffff60}
.faq-home{border-top:1px solid var(--line)}.faq-list{border-color:var(--line)}summary{color:var(--ink)}.faq-number{color:var(--muted);font-weight:200}.faq-list details>p{color:var(--muted)}
.faq-index{max-width:1300px;margin:auto}.faq-index .faq-groups{max-width:960px;margin:45px auto 0}.faq-group[hidden]{display:none}
.faq-contact{background:#eee7db;border:1px solid var(--line);border-radius:var(--radius);padding:40px;margin-top:55px}
.faq-contact p{font-size:17px;max-width:620px}.faq-contact h2{margin-bottom:20px}
.partnership-section{border-top:1px solid var(--line);scroll-margin-top:95px}
.partner-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}.partner-layout h3{margin-bottom:25px}
.brand-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;border-top:1px solid var(--line)}.brand-list span{display:flex;align-items:center;min-height:100px;border-bottom:1px solid var(--line);font-size:26px;font-weight:500}
.finance-panel{padding:34px;background:#fff9;border:1px solid var(--line);border-radius:var(--radius)}.finance-panel .eyebrow{color:var(--muted);margin-bottom:16px}.finance-panel p{font-size:16px}.finance-panel .finance-note{font-size:13px;line-height:1.5}.finance-panel h3{margin-bottom:16px}
.contact-banner.titan-cta{background:var(--bg);padding:55px 5% 70px;color:#fff}.cta-card{background:var(--ink);border:0;min-height:360px;padding:65px 6%;border-radius:var(--radius)}
.cta-card:after{background:linear-gradient(90deg,#292621 5%,#292621e8 32%,transparent 85%)}.cta-watermark{color:#ffffff10;font-weight:800}
.cta-copy{max-width:650px}.titan-cta h2{color:#fff}.titan-cta .eyebrow{color:#e3cbb7}.titan-cta p:not(.eyebrow){color:#e3d9cb;max-width:500px}
.titan-cta .btn{background:var(--accent);border-color:var(--accent);color:#fff}.titan-cta .btn:hover{background:#a15133;border-color:#a15133}
.footer-body{background:#ede6da;color:var(--ink)}.footer-top p,.footer-top .footer-label,.footer-bottom{color:var(--muted)}.footer-top a{color:var(--ink)}.footer-top a:hover{color:var(--accent)}.footer-bottom{border-color:var(--line)}
.page-intro{padding:150px 5% 55px}.page-intro .lead{color:var(--muted)}.page-intro h1{max-width:1200px}.page-intro .eyebrow{color:var(--accent)}
.catalog-page{padding-top:145px;padding-bottom:75px}.catalog-grid{gap:30px}.catalog-grid .image-wrap{aspect-ratio:4/4.5}.catalog-grid .catalog-types{font-size:18px;line-height:1.65;color:var(--ink);margin:22px 0 17px}.catalog-grid .service-more{font-size:15px;color:var(--accent)}
.service-filters{justify-content:flex-start;gap:12px;margin:15px 0 20px}.service-filters button{font-family:var(--font);font-size:14px;padding:10px 19px;border-color:var(--line);border-radius:var(--radius);color:var(--ink);text-transform:none}
.service-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.service-filters button:hover{border-color:var(--accent)}.filter-status{font-size:13px;color:var(--muted)}
.editorial-card{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);min-height:380px;display:flex;align-items:flex-end;padding:36px;background:var(--ink);color:#fff}
.editorial-card:after,.service-detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#29262160,#292621d9);z-index:-1}
.editorial-backdrop{position:absolute!important;inset:-12px!important;width:calc(100% + 24px)!important;height:calc(100% + 24px)!important;object-fit:cover;filter:blur(5px) brightness(.65)!important;transform:scale(1.035);z-index:-2}
.editorial-card .service-copy,.editorial-copy{padding:0;max-width:650px}.editorial-card h3{margin-bottom:18px;color:white}.editorial-card p{font-size:17px;line-height:1.65;color:#f5f1e8;margin-bottom:22px}.editorial-card .eyebrow{color:#ead2bf;margin-bottom:14px}.editorial-card .service-more{display:inline-block;font-size:14px;color:white;border-bottom:1px solid #ffffff70;padding-bottom:5px}.editorial-card:hover .editorial-backdrop{filter:blur(3px) brightness(.75)!important}.editorial-card[hidden]{display:none}
.work-grid{gap:30px}.work-grid .editorial-card{min-height:470px}.service-grid{gap:30px}
.service-detail-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);margin-bottom:65px}.service-detail-hero .page-intro{padding-bottom:80px}.service-detail-hero h1,.service-detail-hero .eyebrow{color:white}.service-detail-hero:after{background:#292621a8}
.work-hero{background:var(--ink);color:white}.work-hero:after{background:linear-gradient(180deg,#29262170,#292621df)}.work-hero .eyebrow{color:#ead2bf}.work-hero p,.work-hero .metadata-label,.work-back{color:#f5f1e8}.work-overview>div>p{color:#f5f1e8}.work-full-image img{background:#e8dfd1}
.work-story{padding-top:65px}.work-editorial>p:last-child,.work-full-image figcaption{color:var(--muted)}.soft{background:#ece3d5}.steps li,.option-list>div{border-color:var(--line)}.steps li>span,.service-more,.catalog-types{color:var(--accent)}
.visit-box{background:#fff9;border-color:var(--line);padding:35px}.visit-box h2{color:var(--accent)}.hours-title{margin:35px 0 20px}.hours{font-size:18px;padding:22px 0;border-color:var(--line);align-items:center}.hours span:last-child{font-size:25px;font-weight:700;color:var(--ink);text-align:right;line-height:1.4}.small-note{font-size:14px}.address{border-color:var(--line)}.contact-big,.contact-mail{color:var(--ink)}.text-link{color:var(--accent);border-color:var(--accent)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}

@media(max-width:1059px){header{gap:15px}#navigation{gap:15px}header .brand img{width:120px}.about-layout{gap:35px}.about-image{min-height:620px}.partner-layout{gap:30px}}
@media(max-width:760px){
 :root{--type-h1:38px;--type-h2:30px;--type-h3:21px}
 #navigation{background:#f5f1e8fa;border-color:var(--line)}.mega{background:none}.mobile-toggle{color:var(--ink)}
 .section,.home-page .about-section,.home-page .partnership-section{padding:55px 6%}
 .hero.cinema-hero{min-height:690px;padding-top:110px}.cinema-bottom p{font-size:15px}.cinema-bottom>a{font-size:13px}.cinema-kicker{padding:0 6%;margin-bottom:22px}
 .about-layout,.partner-layout{grid-template-columns:1fr;gap:30px}.about-image{height:360px;min-height:0}.about-copy>p{font-size:16px}.about-image span{font-size:17px;padding:45px 22px 22px}
 .home-page .about-section .section-heading,.home-page .partnership-section .section-heading{margin-bottom:30px}.home-page .home-services>a{min-height:210px}.home-page .home-services h3{min-height:0}
 .brand-list span{font-size:23px;min-height:85px}.finance-panel{padding:26px}
 .cta-card{padding:38px 26px;min-height:330px}.cta-watermark{font-size:58px}.cta-copy{max-width:100%}.contact-banner.titan-cta{padding:35px 6% 50px}
 .page-intro{padding:125px 6% 40px}.catalog-page{padding:125px 6% 55px}.catalog-grid{gap:35px}.catalog-grid .image-wrap{aspect-ratio:1}.catalog-grid .catalog-types{font-size:17px;margin-top:18px}
 .editorial-card,.work-grid .editorial-card{min-height:390px;padding:28px}.editorial-card p{font-size:16px}.editorial-card .service-copy{padding:0}.service-grid,.work-grid{gap:22px}
 .service-filters{gap:8px}.service-filters button{font-size:13px;padding:9px 12px}.faq-contact{padding:28px}.faq-index .faq-groups{margin-top:30px}
 .visit-box{padding:26px}.hours{font-size:16px;gap:15px}.hours span:last-child{font-size:21px}.work-story{padding-top:40px}
}
h1,h2,h3{text-transform:uppercase!important}
.section.top-less{padding-top:0}
.filter-status,.metadata-label,.footer-label{font-weight:200;text-transform:uppercase;letter-spacing:.06em}

/* Shared refinements: contrast, arrows and brand assets */
header{background:linear-gradient(110deg,#ffffffb0,#f5f1e8b0);border-color:#29262120;box-shadow:0 5px 25px #29262108}
.footer-body{background:#ddd2c2}
.cinema-bottom{display:flex!important;justify-content:center;text-align:center}.cinema-bottom p{text-align:center;max-width:850px;margin:0 auto}
svg.arrow-right{display:inline-block!important;width:24px;height:24px;min-width:24px;vertical-align:middle;fill:currentColor;flex-shrink:0}
.btn>span{display:inline-flex;align-items:center}.service-card-title{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}
.home-page .home-services h3{padding-right:0!important;margin-bottom:14px;flex:1}
.service-card-title .service-home-arrow{position:static;width:24px;height:24px;display:flex;align-items:center;color:var(--accent);margin-top:3px;flex-shrink:0}
.brand-list span{height:130px;justify-content:center;padding:24px}.brand-list img{display:block;max-width:100%;width:220px;height:75px;object-fit:contain;mix-blend-mode:multiply}
.finance-logos{display:flex;align-items:center;gap:28px;margin-bottom:24px}.finance-logos img{display:block;max-width:calc(50% - 14px);width:180px;height:65px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:760px){.brand-list span{padding:20px 10px;height:110px}.brand-list img{height:65px}.finance-logos{gap:20px}.finance-logos img{max-width:calc(50% - 10px)}}

/* Opaque menus and balanced home sections */
.mega{background:#F5F1E8;backdrop-filter:none}
.faq-home-intro{position:relative;isolation:isolate;min-height:285px;padding-right:100px}
.faq-question-mark{position:absolute;right:12px;top:5px;z-index:-1;font-size:clamp(160px,18vw,260px);font-weight:200;line-height:1;color:#b8664538;pointer-events:none;user-select:none}
.partner-layout{align-items:stretch}.partner-layout>div:first-child{display:flex;flex-direction:column}.brand-list{flex:1;grid-template-rows:repeat(2,minmax(130px,1fr))}.brand-list span{height:auto;min-height:130px}
@media(max-width:760px){#navigation{background:#F5F1E8}.mega{background:#F5F1E8}.faq-home-intro{min-height:230px;padding-right:85px}.faq-question-mark{font-size:190px;right:0;top:0}.brand-list{flex:none;grid-template-rows:repeat(2,110px)}.brand-list span{min-height:110px}}

/* Consistent menu surface and clearer catalogue presentation */
header{background:#faf8f3}.mega{background:#faf8f3}#navigation.open{background:#faf8f3}
.faq-home-intro{min-height:0;padding-right:0}
.work-grid .editorial-card .editorial-backdrop{filter:blur(.4px) brightness(.95)!important;transform:scale(1.02);transition:transform .7s ease,filter .7s ease}
.work-grid .editorial-card:hover .editorial-backdrop,.work-grid .editorial-card:focus-visible .editorial-backdrop{filter:blur(.4px) brightness(.95)!important;transform:scale(1.065)}
.work-grid .editorial-card:after{background:linear-gradient(180deg,#29262110 10%,#292621e8 100%)}
.work-hero .work-backdrop{filter:blur(.4px) brightness(.85)!important}
.service-complete-card{margin:0 5% 15px;padding:45px 4%;border-radius:var(--radius)}.service-complete-card .section-heading{margin-bottom:0}
.service-entry{min-width:0;display:flex;flex-direction:column;gap:12px}.service-entry[hidden]{display:none}.service-index-number{font-size:16px;font-weight:400;letter-spacing:.08em;color:var(--muted)}.service-entry .service-card{flex:1;min-height:380px}
.page-faq .page-intro{text-align:left}.page-faq .page-intro h1,.page-faq .page-intro .lead{margin-left:0;margin-right:0}
.page-faq .faq-index{max-width:none;margin:0;text-align:left}.page-faq .faq-index .faq-groups{max-width:none;margin:40px 0 0}.page-faq .faq-group{display:block}.page-faq .faq-group h2{margin-bottom:26px}.page-faq .faq-contact{text-align:left}.page-faq .faq-contact p{margin-left:0;margin-right:0}.page-faq .faq-status{text-align:left}
@media(max-width:760px){.service-complete-card{margin:0 6% 10px;padding:30px 25px}.service-complete-card .section-heading>.btn{margin-top:25px}.service-entry .service-card{min-height:390px}.page-faq .faq-index .faq-groups{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.work-grid .editorial-card .editorial-backdrop{transition:none}.work-grid .editorial-card:hover .editorial-backdrop{transform:scale(1.02)}}

/* Service numbering: inside cards and aligned with menu headings */
.service-entry{gap:0}.service-entry .service-card{padding-top:100px}
.service-card .service-index-number{position:absolute;top:36px;left:36px;color:#fff;font-size:20px;line-height:1;font-weight:400;letter-spacing:.05em}
.mega-links>a{align-items:flex-start}.mega-links>a>small{line-height:calc(var(--type-h3) * 1.3);flex-shrink:0}.mega-links>a>span{display:flex;align-items:center;min-height:calc(var(--type-h3) * 1.3)}
@media(max-width:760px){.service-card .service-index-number{top:28px;left:28px}.service-entry .service-card{padding-top:90px}}

/* Soft glass header, generous indices and consistent project spacing */
header{background:rgba(250,248,243,.82);backdrop-filter:blur(24px) saturate(110%);-webkit-backdrop-filter:blur(24px) saturate(110%)}
.service-entry .service-card{min-height:490px;padding-top:240px}
.service-card .service-index-number{font-size:clamp(145px,17vw,230px);line-height:.8;font-weight:200;letter-spacing:-.07em;color:#ffffffa6;top:30px;left:30px;pointer-events:none}
.service-entry .editorial-backdrop{filter:blur(3px) brightness(.72)!important;transform:scale(1.02);transition:transform .7s ease,filter .7s ease}
.service-entry .service-card:hover .editorial-backdrop,.service-entry .service-card:focus-visible .editorial-backdrop{filter:blur(3px) brightness(.72)!important;transform:scale(1.065)}
.work-grid .editorial-card .editorial-backdrop,.work-grid .editorial-card:hover .editorial-backdrop,.work-grid .editorial-card:focus-visible .editorial-backdrop{filter:blur(1.4px) brightness(.95)!important}
.work-grid .editorial-copy h3{margin:0 0 20px}.work-grid .editorial-copy>p:not(.eyebrow){margin:0 0 20px}.work-grid .editorial-copy>.eyebrow{margin-bottom:14px}
.work-full-image{margin-left:0;margin-right:0;overflow:hidden}.work-full-image img{display:block;width:100%;height:clamp(380px,65vw,800px);max-height:none;object-fit:cover;object-position:center;border-radius:var(--radius)}
@media(max-width:760px){.service-entry .service-card{min-height:480px;padding-top:215px}.service-card .service-index-number{font-size:180px;top:28px;left:24px}.work-full-image img{height:440px;max-height:none}}
@media(prefers-reduced-motion:reduce){.service-entry .editorial-backdrop{transition:none}.service-entry .service-card:hover .editorial-backdrop{transform:scale(1.02)}}

/* More restrained service indices */
.service-entry .service-card{min-height:400px;padding-top:145px}
.service-card .service-index-number{font-size:80px;line-height:1;letter-spacing:-.04em;top:28px;left:32px}
.work-full-image+.work-detail-pair{margin-top:65px}
@media(max-width:760px){.service-entry .service-card{min-height:400px;padding-top:125px}.service-card .service-index-number{font-size:64px;top:25px;left:26px}.work-full-image+.work-detail-pair{margin-top:40px}}

/* Project hero fades into the shared warm background */
.work-hero{padding-bottom:240px}
.work-hero:before{content:'';position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(180deg,rgba(245,241,232,0),#f5f1e8);pointer-events:none;z-index:0}
.work-heading,.work-overview{position:relative;z-index:1}
@media(max-width:760px){.work-hero{padding-bottom:170px}.work-hero:before{height:140px}}

header{background:rgba(250,248,243,.68)}
.project-invitation{padding-top:35px;padding-bottom:55px}.project-invitation .work-detail-pair{margin-top:0}
@media(max-width:760px){.project-invitation{padding-top:25px;padding-bottom:35px}}

/* About page, responsive catalogue and fixed gallery invitation */
.hero.cinema-hero h1{max-width:1250px;margin-left:auto;margin-right:auto;font-size:clamp(38px,4.2vw,66px)!important;line-height:1.06;padding:0 5%;text-wrap:balance}
.about-preview .about-layout{align-items:center}.about-preview .about-image{min-height:350px;height:350px}.about-preview .about-copy{max-width:620px}.page-chi-siamo .about-section{border-top:0;padding-top:0}
.home-page .home-services>a{transition:background .25s,color .25s,border-color .25s}.home-page .home-services>a:hover,.home-page .home-services>a:focus-visible{background:var(--accent);border-color:var(--accent)}
.home-page .home-services>a:hover h3,.home-page .home-services>a:hover p,.home-page .home-services>a:hover .service-home-arrow,.home-page .home-services>a:focus-visible h3,.home-page .home-services>a:focus-visible p,.home-page .home-services>a:focus-visible .service-home-arrow{color:#fff}
.home-page .home-services>a:hover .service-icon img,.home-page .home-services>a:focus-visible .service-icon img{filter:brightness(0) invert(1)}
.service-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.marquee-window{--invitation-width:clamp(230px,24vw,340px)}
.home-page .marquee-window>.marquee-end{position:absolute;right:5%;top:0;bottom:74px;width:var(--invitation-width);height:auto;margin:0;z-index:5;background:#e8ddce;border:1px solid var(--line);padding:30px;border-radius:var(--radius)}
.marquee-window>.marquee-edge{right:calc(5% + var(--invitation-width));width:100px;z-index:4;background:linear-gradient(90deg,transparent,var(--bg));pointer-events:none}
.home-page .marquee-window>.marquee-end:after{content:'';position:absolute;top:0;bottom:-74px;left:100%;width:6vw;background:var(--bg)}
@media(max-width:1100px){.service-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.service-work-grid{grid-template-columns:1fr}.about-preview .about-image{height:300px;min-height:0}.hero.cinema-hero h1{font-size:34px!important}.marquee-window{--invitation-width:145px}.home-page .marquee-window>.marquee-end{right:0;padding:20px 15px;bottom:74px}.marquee-end>strong{font-size:20px}.marquee-window>.marquee-edge{right:var(--invitation-width);width:50px}}
.home-page .projects{height:auto;min-height:0;display:block}
.home-page .marquee-window{--gallery-photo-height:360px;height:calc(var(--gallery-photo-height) + 89px);padding-bottom:15px}
.home-page .marquee-track,.home-page .marquee-set{height:calc(var(--gallery-photo-height) + 74px)}
.home-page .marquee-set>.project-card{height:100%;display:grid;grid-template-rows:var(--gallery-photo-height) 74px}
.home-page .marquee-set .project-photo{height:var(--gallery-photo-height);min-height:0}
.home-page .marquee-window>.marquee-end{height:var(--gallery-photo-height);bottom:auto}
@media(max-width:760px){.home-page .marquee-window{--gallery-photo-height:320px}.home-page .projects{min-height:0}}

/* Shared terracotta labels and balanced page headings */
body .eyebrow,body .cinema-kicker,body .metadata-label,body .footer-label,body .filter-status{color:var(--accent)!important}
.page-faq .page-intro{text-align:center}.page-faq .page-intro h1,.page-faq .page-intro .lead{margin-left:auto;margin-right:auto}
.page-realizzazioni .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-page .marquee-window>.marquee-end{border:0;border-radius:var(--radius)!important;overflow:hidden;box-shadow:none}
.home-page .marquee-window>.marquee-end:after,.marquee-window:before,.marquee-window>.marquee-edge{display:none}
.marquee-viewport{height:100%;width:calc(95% - var(--invitation-width));overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 83%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 83%,transparent 100%)}
@media(max-width:1100px){.page-realizzazioni .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.page-realizzazioni .work-grid{grid-template-columns:1fr}.marquee-viewport{width:calc(100% - var(--invitation-width));mask-image:linear-gradient(90deg,transparent,#000 16%,#000 72%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 72%,transparent)}}

/* Compact service menu and quieter interactive surfaces */
.mega{display:block;padding:24px 28px 50px}.mega-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:6px}.mega-intro .eyebrow{margin:0}.mega-intro .btn{color:#fff}
.mega-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.mega-links>a{padding:17px 0}.mega-links h3{font-size:20px!important;line-height:1.3}.mega-links>a>small,.mega-links>a>span{line-height:26px;min-height:26px}.mega-links p{font-size:14px;line-height:1.45}
.page-servizi .editorial-card .eyebrow,.page-servizi .service-detail-hero .eyebrow,.page-realizzazioni .editorial-card .eyebrow,.page-realizzazioni .work-hero .eyebrow,.page-realizzazioni .work-hero .metadata-label{color:#fff!important}
.partnership-section .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:7%!important;align-items:end}.partnership-section .section-heading>p{max-width:none;margin:0}
.page-chi-siamo .page-intro{padding-bottom:40px}.page-chi-siamo .about-copy>p{font-size:17px;line-height:1.7}.page-chi-siamo .about-layout{align-items:center}
@media(hover:hover) and (pointer:fine){
 .product-card,.editorial-card,.home-services>a,.finance-panel,.visit-box,.faq-contact,.cta-card,.service-complete-card{transition:transform .3s ease,background .25s ease,border-color .25s ease,box-shadow .3s ease}
 .product-card:hover,.editorial-card:hover,.home-page .home-services>a:hover,.finance-panel:hover,.visit-box:hover,.faq-contact:hover,.cta-card:hover,.service-complete-card:hover{transform:translateY(-4px)}
}
@media(max-width:760px){.mega{padding:12px 0 20px}.mega-intro{display:block;padding-bottom:16px}.mega-intro .eyebrow{display:none}.mega-links{display:block}.mega-links h3{font-size:18px!important}.mega-links>a>small,.mega-links>a>span{line-height:23.4px;min-height:23.4px}.partnership-section .section-heading{display:block}.partnership-section .section-heading>p{margin-top:22px}.page-chi-siamo .page-intro{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.product-card,.editorial-card,.home-services>a,.finance-panel,.visit-box,.faq-contact,.cta-card,.service-complete-card{transition:none!important;transform:none!important}}

/* Balanced heroes, company panels and breathing room for projects */
body .hero .eyebrow,body .page-intro .eyebrow,body .cinema-kicker{color:var(--ink)!important}
.home-page .hero.cinema-hero{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:820px;min-height:640px;padding:120px 0 38px;gap:28px}
.home-page .hero.cinema-hero h1{font-size:clamp(36px,4.1vw,64px)!important;max-width:1280px;margin:0 auto;line-height:1.08}
.home-page .cinema-kicker{margin:0;padding:0 5%}.home-page .hero-reel{height:100%;min-height:0}.hero-reel .cinema-frame{flex-basis:24vw;width:24vw}
.home-page .about-preview{padding-top:68px;padding-bottom:68px}.home-page .about-preview .section-heading{margin-bottom:32px}.about-preview .about-layout{grid-template-columns:1fr 1fr;gap:6%;align-items:center}.about-preview .about-image{height:clamp(290px,23vw,380px);min-height:0}.about-preview .about-copy{max-width:none}.about-preview .about-copy>p{font-size:clamp(16px,1.05vw,18px);line-height:1.65;margin-bottom:24px}
.home-page .projects .section-heading{margin-bottom:40px}.home-page .projects .gallery-ruler{display:none}
@media(hover:hover) and (pointer:fine){.about-image,.about-strength{transition:transform .35s ease,box-shadow .35s ease}.about-image:hover,.about-strength:hover{transform:translateY(-5px)}.about-image:hover{box-shadow:0 15px 32px #29262114}}
@media(max-width:1059px){.home-page .hero.cinema-hero{min-height:650px;max-height:900px;padding-top:112px;gap:24px}.hero-reel .cinema-frame{flex-basis:36vw;width:36vw}}
@media(max-width:760px){.home-page .hero.cinema-hero{height:740px;min-height:640px;max-height:820px;padding:105px 0 28px;gap:24px}.home-page .hero.cinema-hero h1{font-size:32px!important;line-height:1.1;padding:0 6%}.hero-reel .cinema-frame{flex-basis:70vw;width:70vw}.home-page .about-preview{padding:48px 6%}.about-preview .about-layout{grid-template-columns:1fr;gap:25px}.about-preview .about-image{height:290px}.home-page .about-preview .section-heading{margin-bottom:28px}.home-page .projects .section-heading{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.about-image,.about-strength{transition:none!important;transform:none!important}}

/* Counts precede their filters; compact, contained mobile navigation. */
.service-index>.filter-status,.work-index>.filter-status,.page-faq .faq-index>.filter-status{text-align:left;margin:0 0 18px}.service-index>.service-filters,.work-index>.service-filters,.faq-index>.service-filters{justify-content:flex-start;margin-top:0;margin-bottom:32px}.faq-group[hidden]{display:none!important}
@keyframes menu-enter{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}
.mega:not([hidden]){animation:menu-enter .22s ease-out}
@media(max-width:760px){
 body:has(.mobile-toggle[aria-expanded="true"]){overflow:hidden}
 header:has(.mobile-toggle[aria-expanded="true"]){background:#faf8f3;transform:translate(-50%,0);opacity:1}
 #navigation{top:calc(100% + 8px);left:0;right:0;padding:10px 18px 14px;max-height:calc(100dvh - 96px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--line);box-shadow:0 16px 35px #29262118;border-radius:6px}
 #navigation.open{animation:menu-enter .22s ease-out}
 #navigation>a,#navigation .nav-toggle{font-size:16px;line-height:1.4;padding:14px 0;min-height:50px}
 #navigation>.mobile-contact{border-bottom:0}
 #navigation .mega{position:static;width:100%;margin:0;padding:12px 0 4px;max-height:none;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}
 #navigation .mega-intro{margin:0;padding:0 0 8px;border:0}
 #navigation .mega-intro .btn{width:100%;min-height:44px;padding:10px 13px;font-size:11px}
 #navigation .mega-links>a{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;gap:9px;padding:15px 0;align-items:start}
 #navigation .mega-links h3{font-size:15px!important;line-height:1.35;margin:0}
 #navigation .mega-links p{display:none}
 #navigation .mega-links>a>small,#navigation .mega-links>a>span{font-size:10px;min-height:20px;line-height:20px}
 #navigation .mega-links .arrow-right{width:19px;height:19px}
 #navigation .close-menu{font-size:12px;padding:10px 0;margin:0 0 0 auto}
 .mobile-toggle{min-height:44px;min-width:64px;text-align:right}
}
@media(prefers-reduced-motion:reduce){.mega:not([hidden]),#navigation.open{animation:none}}

/* The navigation inherits a light or dark glass surface from the section below. */
header{transition:transform .32s ease,opacity .25s ease,background-color .3s ease,border-color .3s ease,color .3s ease}
.mega{padding-bottom:24px}
header.on-dark{background:rgba(41,38,33,.78);border-color:#ffffff26;color:#fff;box-shadow:0 5px 25px #0002}
header.on-dark .brand img{filter:brightness(0) invert(1)!important;opacity:1}
header.on-dark nav>a,header.on-dark .nav-toggle,header.on-dark .mobile-toggle{color:#fff}
header.on-dark .header-contact{background:#f5f1e8;color:#292621;border-color:#f5f1e8}
header.on-dark .header-contact:hover{background:var(--accent);border-color:var(--accent);color:#fff}
header.on-dark .mega,header.on-dark #navigation.open{background:#292621;color:#fff;border-color:#ffffff26}
header.on-dark .mega-links h3,header.on-dark .mega-links>a>span{color:#fff}
header.on-dark .mega-links p,header.on-dark .mega-links small{color:#d9d1c5}
header.on-dark .mega-links>a,header.on-dark .mega-intro{border-color:#ffffff26}
header.on-dark .mega-intro .btn{background:#f5f1e8;color:#292621;border-color:#f5f1e8}
header.on-dark .mega-intro .btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
@media(max-width:760px){header.on-dark:has(.mobile-toggle[aria-expanded="true"]){background:#292621}header.on-dark #navigation .mega{background:transparent}header.on-dark #navigation>a,header.on-dark #navigation .nav-toggle{border-color:#ffffff26}#navigation .mega{padding-bottom:4px}}
@media(prefers-reduced-motion:reduce){header{transition:none}}
/* Project invitation matches the home service cards, with an opaque surface above the reel. */
.home-page .marquee-window>.marquee-end{background:#f7f3ed;border:1px solid var(--line);color:var(--ink);transition:background .25s ease,border-color .25s ease,color .25s ease}
.home-page .marquee-end>strong{font-family:var(--font);font-size:var(--type-h3);font-weight:700;line-height:1.3;letter-spacing:-.025em;text-transform:uppercase;overflow-wrap:normal}
.home-page .marquee-end .arrow-right{color:var(--accent)}
.home-page .marquee-window>.marquee-end:hover,.home-page .marquee-window>.marquee-end:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
.home-page .marquee-end:hover .arrow-right,.home-page .marquee-end:focus-visible .arrow-right{color:#fff}
@media(max-width:760px){.home-page .marquee-end>strong{font-size:16px;letter-spacing:-.035em}.home-page .marquee-window>.marquee-end{padding:20px 12px}}
@media(prefers-reduced-motion:reduce){.home-page .marquee-window>.marquee-end{transition:none}}

/* Reversible menu motion and smooth anchor navigation. */
html{scroll-behavior:smooth}
.mega:not([hidden]){animation:none}.mega.menu-animating{overflow:hidden}
.nav-chevron{transition:transform .28s cubic-bezier(.22,.61,.36,1)}
@media(max-width:760px){#navigation,#navigation.open{display:block;animation:none;transition:opacity .24s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility .24s;transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none}#navigation.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}#navigation .mega.menu-animating{overflow:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#navigation,.nav-chevron{transition:none!important}}

@media(prefers-reduced-motion:reduce){.hero-loop-copy{display:none!important}}

