/*
Theme Name: Giulio Alesse Editorial
Author: Giulio Alesse
Description: Minimal cinematic editorial portfolio theme for Giulio Alesse — Photographer & Videomaker.
Version: 5.5.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: giulio-alesse-editorial
License: GPL-2.0-or-later
*/
:root{--paper:var(--ga-paper,#f2efe9);--ink:var(--ga-ink,#171614);--muted:var(--ga-muted,#77736c);--max:var(--ga-content-width,1500px);--serif:var(--ga-serif,Georgia,serif);--sans:var(--ga-sans,"Helvetica Neue",Helvetica,Arial,sans-serif)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;padding:24px 4vw;display:flex;justify-content:space-between;align-items:flex-start;color:#fff;mix-blend-mode:difference;pointer-events:none}.site-brand,.site-nav,.lang-switch,.menu-toggle{pointer-events:auto}.site-brand{display:flex;flex-direction:column;gap:3px}.brand-name{font-family:var(--serif);font-size:20px;letter-spacing:.16em;text-transform:uppercase}.brand-role{font-size:9px;letter-spacing:.18em;text-transform:uppercase}.site-nav{display:flex;gap:30px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);justify-content:center;align-items:center}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .35s}.site-nav a:hover:after{right:0}.menu-toggle{display:none;background:none;border:0;color:inherit}
.hero{position:relative;min-height:100svh;overflow:hidden;background:var(--ga-dark,#29231e);color:#fff}.hero-media{position:absolute;inset:0;background:linear-gradient(135deg,#51463b,#1b1917);background-size:cover;background-position:center}.hero-media:after{content:"";position:absolute;inset:0;background:rgba(20,17,14,var(--ga-hero-overlay,.18));pointer-events:none}.hero-content{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:12vh 7vw 9vh}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:22px}.hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(56px,calc(var(--ga-hero-size) * .9),var(--ga-hero-size));line-height:.82;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 26px;max-width:760px}.hero-role{font-size:12px;letter-spacing:.2em;text-transform:uppercase}.hero-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,28px);line-height:1.25;max-width:330px;margin:34px 0 0}.hero-bottom{position:absolute;z-index:2;left:4vw;right:4vw;bottom:30px;display:flex;justify-content:space-between;align-items:end;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.scroll-mark{display:flex;gap:14px;align-items:center}.scroll-mark span{width:1px;height:44px;background:#fff;display:block}
.section{padding:var(--ga-section-pad) 5vw}.section--light{background:var(--paper)}.section--dark{background:var(--ga-dark,#171614);color:var(--ga-dark-text,#f4f0e9)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.kicker{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.section--dark .kicker{color:#a8a39b}.section-title{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,var(--ga-section-title-size));line-height:.9;letter-spacing:-.035em;margin:10px 0 0}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--ga-card-gap)}.work-card{position:relative;min-height:58vh;overflow:hidden;background:#28231f;color:#fff}.work-card:nth-child(1){grid-column:span 7}.work-card:nth-child(2){grid-column:span 5}.work-card:nth-child(3){grid-column:span 5}.work-card:nth-child(4){grid-column:span 7}.work-card:nth-child(5){grid-column:span 12;min-height:62vh}.work-image{position:absolute;inset:0;background:linear-gradient(135deg,#5a5148,#201e1b) center/cover;transition:transform 1.2s cubic-bezier(.2,.65,.2,1)}.work-card:hover .work-image{transform:scale(1.035)}.work-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 60%);display:flex;align-items:end;padding:38px}.work-name{font-family:var(--serif);font-size:clamp(34px,4vw,62px);line-height:.9;margin:0 0 12px;font-weight:400}.work-desc{font-size:11px;letter-spacing:.12em;text-transform:uppercase;max-width:390px}.work-arrow{margin-top:22px;font-size:18px}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.about-image{min-height:650px;background:linear-gradient(135deg,#cfc8bd,#91897f) center/cover no-repeat}.about-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,78px);line-height:.94;letter-spacing:-.035em;margin:15px 0 30px}.about-copy p{font-size:var(--ga-body-size);line-height:1.75;max-width:570px;color:#4d4943}.text-link{display:inline-flex;margin-top:25px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:7px}.cta{display:flex;justify-content:space-between;gap:40px;align-items:end}.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,120px);line-height:.85;letter-spacing:-.045em;margin:0;max-width:820px}.cta-link{font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #aaa59d;padding-bottom:9px}.site-footer{background:#171614;color:#aaa59d;padding:35px 5vw 28px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:30px;align-items:end;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.footer-name{color:#f3efe8;font-family:var(--serif);font-size:17px;letter-spacing:.12em;margin-bottom:5px}.footer-links{display:flex;gap:25px}.entry-wrap{max-width:1000px;margin:auto;padding:160px 5vw 100px}.entry-title{font-family:var(--serif);font-weight:400;font-size:clamp(52px,8vw,120px);line-height:.9;letter-spacing:-.04em;margin:0 0 45px}.entry-content{font-size:17px;line-height:1.8}.entry-content img{margin:45px auto}

.services-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:start}.service-list{border-top:1px solid rgba(255,255,255,.18)}.service-row{display:grid;grid-template-columns:42px 1fr 30px;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:12px;letter-spacing:.13em;text-transform:uppercase}.service-row span{color:#8d8880;font-size:10px}.service-row strong{font-weight:500}.service-row em{font-style:normal;text-align:right;font-size:18px;transition:transform .3s}.service-row:hover em{transform:translate(4px,-4px)}
@media(max-width:900px){.site-header{padding:18px 22px}.site-nav{display:none}.menu-toggle{display:block}.hero-content{padding:18vh 24px 80px}.hero-title{font-size:clamp(58px,18vw,105px)}.section{padding:90px 22px}.section-head{display:block;margin-bottom:35px}.work-grid{display:block}.work-card,.work-card:nth-child(n){min-height:72vh;margin-bottom:2px}.about{grid-template-columns:1fr;gap:45px}.about-image{min-height:75vh}.cta{display:block}.cta-link{display:inline-block;margin-top:45px}.site-footer{display:block}.footer-links{margin-top:25px;flex-wrap:wrap}}
@media(max-width:900px){.services-wrap{grid-template-columns:1fr;gap:55px}.hero-title{font-size:clamp(52px,18vw,var(--ga-hero-size))}.work-card,.work-card:nth-child(n){min-height:68vh}}


/* Mobile-first refinements: keep typography elegant and navigation easy to use. */
html,body{overflow-x:hidden}button,a{touch-action:manipulation}.lang-switch{position:relative;z-index:3;display:flex;gap:7px;align-items:center;font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-left:auto;margin-right:24px}.lang-switch a{opacity:.55}.lang-switch a.is-active{opacity:1}.menu-toggle{font-family:var(--sans);font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:5px 0}.site-nav a,.lang-switch a,.menu-toggle{white-space:nowrap}
@media(max-width:900px){
  .site-header{padding:16px 18px;align-items:center;gap:14px}.brand-name{font-size:16px;letter-spacing:.12em}.brand-role{font-size:7px;letter-spacing:.14em}.lang-switch{margin-left:auto;margin-right:2px;font-size:8px}.menu-toggle{font-size:8px}
  .hero-content{padding:15vh 20px 76px;justify-content:center}.eyebrow{font-size:9px;letter-spacing:.20em;margin-bottom:18px}.hero-title{font-size:clamp(46px,15vw,82px);line-height:.86;letter-spacing:-.04em;max-width:100%;overflow-wrap:anywhere;margin-bottom:20px}.hero-role{font-size:9px;letter-spacing:.15em;max-width:90vw}.hero-tagline{font-size:clamp(17px,5vw,23px);max-width:310px;margin-top:26px}.hero-bottom{left:20px;right:20px;bottom:20px;font-size:8px}.scroll-mark{gap:10px}.scroll-mark span{height:32px}
  .section{padding:72px 20px}.section-head{margin-bottom:30px}.kicker{font-size:8px;letter-spacing:.17em}.section-title{font-size:clamp(34px,10vw,58px);line-height:.92;max-width:92vw;overflow-wrap:anywhere}
  .work-card,.work-card:nth-child(n){min-height:58svh;height:auto;margin-bottom:2px}.work-overlay{padding:24px 20px}.work-name{font-size:clamp(32px,9vw,52px)}.work-desc{font-size:9px;line-height:1.45;letter-spacing:.09em;max-width:320px}.work-arrow{margin-top:14px;font-size:16px}
  .about{gap:32px}.about-image{min-height:58svh}.about-copy h2{font-size:clamp(36px,10vw,58px);line-height:.94;margin:12px 0 24px}.about-copy p{font-size:clamp(14px,4vw,var(--ga-body-size));line-height:1.7}.text-link{font-size:8px}
  .services-wrap{gap:42px}.service-row{grid-template-columns:28px 1fr 22px;gap:10px;padding:18px 0;font-size:9px;letter-spacing:.10em}.service-row span{font-size:8px}.service-row em{font-size:15px}
  .cta{gap:24px}.cta h2{font-size:clamp(42px,11vw,68px);line-height:.9;max-width:100%;overflow-wrap:anywhere}.cta-link{font-size:9px;margin-top:32px}
  .site-footer{padding:28px 20px 22px;font-size:8px;letter-spacing:.12em}.footer-name{font-size:15px}.footer-links{gap:18px;margin-top:20px}
}
@media(max-width:380px){.site-header{padding-left:14px;padding-right:14px}.brand-name{font-size:14px}.brand-role{font-size:6px}.lang-switch{font-size:7px;margin-right:0}.menu-toggle{font-size:7px}.hero-content{padding-left:16px;padding-right:16px}.hero-title{font-size:clamp(42px,14vw,62px)}.section{padding-left:16px;padding-right:16px}.work-overlay{padding:20px 16px}.work-card,.work-card:nth-child(n){min-height:54svh}.service-row{grid-template-columns:24px 1fr 18px;font-size:8px}}


/* 1.3 polish: responsive typography, safe mobile navigation, accessibility */
.menu-toggle{position:relative}.menu-close{display:none}.ga-menu-open{overflow:hidden}
@media(max-width:900px){
  .site-header{min-height:54px}
  .brand-name{font-size:15px}
  .brand-role{font-size:7px}
  .menu-toggle[aria-expanded="true"] .menu-label{display:none}
  .menu-toggle[aria-expanded="true"] .menu-close{display:inline}
  .hero-title{font-size:clamp(42px,13.5vw,76px);max-width:8.5em}
  .hero-tagline{font-size:clamp(16px,4.6vw,22px)}
  .section-title{font-size:clamp(32px,9vw,54px)}
  .work-name{font-size:clamp(30px,8.5vw,48px)}
  .about-copy h2{font-size:clamp(34px,9vw,54px)}
  .cta h2{font-size:clamp(38px,10vw,62px)}
  .service-row{min-height:58px}
}
@media(max-width:520px){
  .site-header{padding:14px 16px;gap:10px}
  .site-brand{min-width:0}.brand-name{font-size:13px;letter-spacing:.10em}.brand-role{font-size:6px;letter-spacing:.10em}
  .lang-switch{font-size:7px;margin-right:0}
  .menu-toggle{font-size:7px;letter-spacing:.12em}
  .hero-content{padding:14vh 18px 72px}
  .hero-title{font-size:clamp(40px,12.8vw,64px);line-height:.88}
  .hero-role{font-size:8px;letter-spacing:.12em}
  .hero-bottom{left:18px;right:18px;bottom:18px}
  .section{padding:64px 18px}
  .work-card,.work-card:nth-child(n){min-height:52svh}
  .about-image{min-height:52svh}
  .service-row{grid-template-columns:22px 1fr 18px;padding:16px 0;font-size:8px}
  .cta h2{font-size:clamp(36px,10.5vw,54px)}
}
@media(max-width:360px){
  .brand-name{font-size:12px}.hero-title{font-size:40px}.section-title{font-size:31px}.work-name{font-size:29px}.cta h2{font-size:35px}
}

@media(min-width:901px){.site-nav{left:50%;right:auto;margin:0}.site-brand{position:relative;z-index:2}.lang-switch{position:relative;z-index:2}}

/* 1.5 — cleaner editorial Selected Work */
.editorial-work-list{display:block;max-width:100%;}
.editorial-work-card{display:block;position:relative;min-height:78vh;height:78vh;margin:0 0 2px;grid-column:auto!important;}
.editorial-work-card .work-image{background-position:center;transition:transform 1.2s cubic-bezier(.2,.65,.2,1);}
.editorial-work-card:hover .work-image{transform:scale(1.025);}
.editorial-work-card .work-overlay{padding:clamp(28px,4vw,64px);background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 62%);}
.work-index{position:absolute;z-index:3;top:clamp(24px,3vw,48px);left:clamp(24px,4vw,64px);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#fff;}
.work-category{font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;}
.editorial-work-card .work-name{font-size:clamp(34px,5.2vw,76px);max-width:760px;line-height:.94;margin:0;font-weight:400;}
@media(max-width:900px){.editorial-work-card,.editorial-work-card:nth-child(n){min-height:58svh;height:58svh;margin-bottom:2px}.editorial-work-card .work-overlay{padding:24px 20px}.work-index{top:20px;left:20px}.editorial-work-card .work-name{font-size:clamp(30px,9vw,52px);max-width:90%;}.work-category{font-size:8px;margin-bottom:10px;}.editorial-work-card .work-arrow{margin-top:16px}}
@media(max-width:380px){.editorial-work-card,.editorial-work-card:nth-child(n){min-height:54svh;height:54svh}.editorial-work-card .work-overlay{padding:20px 16px}.work-index{top:16px;left:16px}}

/* 1.7 — isolated mobile/tablet menu panel */
.mobile-menu-panel{display:none;}
@media(max-width:900px){
  .site-header{z-index:10002;}
  .site-nav{display:none!important;}
  .mobile-menu-panel{display:block;position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:10000;background:#171614;color:#f4f0e9;visibility:hidden;opacity:0;pointer-events:none;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:opacity .28s ease,visibility 0s linear .28s;}
  .mobile-menu-panel.is-open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .28s ease;}
  .mobile-menu-nav{width:100%;min-height:100%;padding:110px 24px 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;}
  .mobile-menu-nav a{display:block;margin:0;padding:4px 0;width:auto;max-width:100%;font-family:var(--sans);font-size:clamp(18px,5.2vw,30px);line-height:1.1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;}
  .mobile-menu-nav a:after{display:none!important;}
  .menu-toggle{position:relative;z-index:10003;}
  body.ga-menu-open{overflow:hidden;}
}
@media(max-width:520px){.mobile-menu-nav{gap:20px;padding:100px 20px 70px}.mobile-menu-nav a{font-size:clamp(17px,6vw,25px);letter-spacing:.12em}}


/* 1.9 — robust navigation and language switcher */
html{scroll-behavior:smooth;scroll-padding-top:80px}
.site-header a,.mobile-menu-panel a{cursor:pointer}
.mobile-menu-panel{isolation:isolate}
.mobile-menu-nav a{position:relative;z-index:2;text-decoration:none}
@media(max-width:900px){
  .mobile-menu-panel{overscroll-behavior:contain}
  .mobile-menu-nav{position:relative;z-index:2}
}


/* 2.0 — Hero photo/video switch */
.hero-media{overflow:hidden;background-size:cover;background-repeat:no-repeat;background-color:#171614;}
.hero-image,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--ga-hero-x) var(--ga-hero-y);display:block;}
.hero-poster{z-index:0;}
.hero-image{z-index:0;}
.hero-media:after{z-index:1;}
.hero-video{z-index:2;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--ga-hero-x) var(--ga-hero-y);z-index:0;display:block;}
.hero-media:has(.hero-video){background-size:cover;}
.hero-media:has(.hero-video):after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--ga-hero-overlay));z-index:1;pointer-events:none;}
.hero-content,.hero-bottom{z-index:2;}
@media(max-width:900px){.hero-video,.hero-image,.hero-poster{object-position:var(--ga-hero-x) var(--ga-hero-y);}}

/* 2.1 contact details + stable anchor scrolling */
#work,#about,#services,#contact{scroll-margin-top:110px;}
.contact-details{display:flex;flex-direction:column;gap:10px;margin:34px 0 10px;font-size:clamp(15px,1.4vw,20px);}
.contact-details a{color:inherit;text-decoration:none;opacity:.92;transition:opacity .25s ease;}
.contact-details a:hover{opacity:.6;}
@media(max-width:900px){#work,#about,#services,#contact{scroll-margin-top:80px}.contact-details{margin-top:28px;gap:9px;font-size:16px;}}

.service-page-hero{min-height:58vh;display:flex;flex-direction:column;justify-content:flex-end}.service-page-intro{max-width:700px;font-size:clamp(18px,2vw,26px);line-height:1.35;margin-top:24px}.service-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.service-gallery-head p{max-width:520px;margin:0;color:var(--ga-muted);font-size:15px}.service-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--ga-card-gap)}.service-gallery-grid figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#ddd;grid-column:span 4}.service-gallery-grid figure:nth-child(1),.service-gallery-grid figure:nth-child(6),.service-gallery-grid figure:nth-child(11){grid-column:span 8;aspect-ratio:16/9}.service-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.65,.2,1)}.service-gallery-grid figure:hover img{transform:scale(1.025)}.service-gallery-empty{min-height:30px;margin-top:24px;color:var(--ga-muted)}.service-page-cta{min-height:35vh;display:flex;align-items:center;justify-content:center}@media(max-width:900px){.service-gallery-head{display:block}.service-gallery-head p{margin-top:12px}.service-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery-grid figure,.service-gallery-grid figure:nth-child(1),.service-gallery-grid figure:nth-child(6),.service-gallery-grid figure:nth-child(11){grid-column:span 1;aspect-ratio:4/3}}@media(max-width:700px){.service-gallery-grid{grid-template-columns:1fr}.service-gallery-grid figure,.service-gallery-grid figure:nth-child(1),.service-gallery-grid figure:nth-child(6),.service-gallery-grid figure:nth-child(11){grid-column:span 1}.service-page-hero{min-height:52vh}}


/* 2.4 — navigation: browser-native links, no JS interception */
.site-nav a,.mobile-menu-nav a,.work-card,.service-row{pointer-events:auto;cursor:pointer;}
.work-card{z-index:1;}
.work-card .work-image,.work-card .work-overlay{pointer-events:none;}
.mobile-menu-panel{z-index:10000;}
.mobile-menu-panel.is-open{pointer-events:auto;}
@media(max-width:900px){
  .site-header{z-index:10002;}
  .mobile-menu-nav a{position:relative;z-index:10004;}
}

/* 3.2 — FooGallery albums + inner-page footer */
.footer-back-home { margin-left:auto; }
.footer-back-home a { text-decoration:none; letter-spacing:.12em; font-size:11px; }
.service-foogallery{width:100%;}
.service-foogallery .fg-gallery,.service-foogallery .foogallery{width:100%;}
.service-gallery-empty { padding:70px 0; border-top:1px solid rgba(0,0,0,.15); }
.service-gallery-empty strong { display:block; font-family:var(--ga-serif, serif); font-size:28px; font-weight:400; margin-bottom:12px; }
.service-gallery-empty p { margin:0; opacity:.65; }
.service-gallery-grid.is-single { grid-template-columns:minmax(0,1fr); }
.service-gallery-grid.is-single figure { max-width:1100px; margin:0 auto; }

/* 3.3 — service galleries are native WordPress page content. FooGallery shortcode is rendered by the page itself. */
.service-page-content{width:100%;}
.service-page-content > *:first-child{margin-top:0;}
.service-page-content > *:last-child{margin-bottom:0;}
.service-page-content .foogallery,.service-page-content .fg-gallery,.service-page-content .fg-gallery-container{width:100%;}
.service-page-content .foogallery{margin:0!important;}
.service-page-content p:has(.foogallery){margin:0;}
@media(max-width:900px){.service-page-content{width:100%;}}


/* 3.4 — Vimeo portfolio */
.vimeo-portfolio{width:100%;}
.vimeo-intro{max-width:700px;margin:0 0 42px;color:var(--ga-muted);font-size:clamp(16px,1.4vw,20px);line-height:1.5;}
.vimeo-item{margin:0 0 clamp(56px,7vw,110px);}
.vimeo-item-title{font-family:var(--ga-sans,var(--sans));font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;}
.vimeo-frame{width:100%;background:#111;aspect-ratio:16/9;overflow:hidden;position:relative;}
.vimeo-frame iframe{width:100%!important;height:100%!important;display:block;border:0;pointer-events:none;}
.vimeo-frame>p{height:100%;display:flex;align-items:center;justify-content:center;margin:0;}
.vimeo-frame a{color:#fff;text-decoration:none;letter-spacing:.12em;text-transform:uppercase;font-size:11px;}


/* 4.3 — mobile hero text position + desktop-only branding controls */
@media(max-width:900px){
  .hero-content{transform:translateY(var(--ga-mobile-hero-text-y,0px));}
}

/* 4.4 — mobile hero text position and navigation safety */
@media(max-width:900px){
  .hero-content{transform:translateY(var(--ga-mobile-hero-text-y,0px));}
  .mobile-menu-panel.is-open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
}


/* 5.2 — client-facing positioning + film campaign credential */
.light-credential{border-top:1px solid rgba(23,22,20,.12)}
.light-intro{max-width:760px;font-family:var(--serif);font-size:clamp(20px,2.2vw,32px);line-height:1.18;margin:0 0 44px;color:var(--ink)}
.section--dark .light-intro{color:var(--ga-dark-text,#f4f0e9)}
.light-poster-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.light-poster{margin:0}
.light-poster img{width:100%;height:auto;display:block;object-fit:cover}
.light-poster figcaption{padding-top:12px;display:flex;flex-direction:column;gap:3px}
.light-poster figcaption strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.light-poster figcaption span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.light-page-hero{min-height:58vh;display:flex;flex-direction:column;justify-content:flex-end}
.light-poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px;align-items:start}
.light-page .light-poster img{background:#ddd}
.light-page .light-poster figcaption{margin-bottom:8px}
@media(max-width:900px){.light-poster-strip,.light-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.light-intro{font-size:22px}.light-page-hero{min-height:52vh}}
@media(max-width:520px){.light-poster-strip,.light-poster-grid{grid-template-columns:1fr}.light-intro{font-size:21px}}

/* FooGallery — LIGHT / film posters */
.light-foogallery { width:100%; }
.light-foogallery .fg-gallery,
.light-foogallery .foogallery { width:100%; }
.light-foogallery img { max-width:100%; }


.service-row{position:relative;z-index:30;display:grid;pointer-events:auto!important}.editorial-work-card{z-index:5;pointer-events:auto!important}.editorial-work-card .work-image,.editorial-work-card .work-overlay{pointer-events:none!important}
