/* Homepage reconstructed from the approved 1065 × 1477 composition. */
body.home{--u:.093896714vw;--bg:#070c0f;--accent:#3eeef1;background:var(--bg);color:#f5f5f5}
.home .wrap{width:91.924883%;max-width:none}
.home .site-header{background:none;border:0}
.home .header-inner{height:calc(62 * var(--u));gap:calc(30 * var(--u))}
.home .brand{gap:calc(11 * var(--u))}
.approved-mark{display:block;flex-shrink:0;width:calc(40 * var(--u));height:calc(27 * var(--u));background-image:url('approved-reference.jpg');background-size:calc(1065 * var(--u)) calc(1477 * var(--u));background-position:calc(-41 * var(--u)) calc(-17 * var(--u))}
.home .brand .approved-wordmark{font-size:calc(11 * var(--u));font-weight:400;letter-spacing:calc(2.8 * var(--u));line-height:1.2;white-space:nowrap}
.home .site-header nav{gap:calc(30 * var(--u));font-size:calc(11 * var(--u));font-weight:600}
.home .header-cta{padding:calc(5 * var(--u)) calc(18 * var(--u));border-color:#d3d8dd;border-radius:1px}
.home .header-cta span{display:none}
.home .eyebrow{font-size:calc(9 * var(--u))!important;line-height:1.5;letter-spacing:calc(2.2 * var(--u));font-weight:400;margin:0;color:#c0d2da}
.approved-hero{position:relative;isolation:isolate;height:calc(485 * var(--u));overflow:hidden}
.approved-plate{position:absolute;inset:0;background-image:url('home-backgrounds.png');background-repeat:no-repeat;pointer-events:none;z-index:-1}
.approved-hero-photo{background-size:100% 304.958678%;background-position:0 0}
.approved-custom-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.approved-hero-content{position:relative;padding-top:calc(156 * var(--u))}
.approved-hero h1{font-size:calc(57 * var(--u));letter-spacing:calc(-1.7 * var(--u));line-height:.945;margin:calc(9 * var(--u)) 0 calc(16 * var(--u));font-weight:750}
.approved-description{font-size:calc(14 * var(--u));line-height:1.5;margin:0 0 calc(21 * var(--u));letter-spacing:calc(-.15 * var(--u))}
.home .button{min-height:calc(41 * var(--u));padding:calc(10 * var(--u)) calc(20 * var(--u));font-size:calc(12 * var(--u));line-height:1.4;gap:calc(5 * var(--u));border-radius:1px;letter-spacing:calc(-.2 * var(--u))}
.home .button span{font-size:calc(14 * var(--u))}
.home .button-outline{border-color:#e0e4e7;background:#05090b40}
.home .button-row{gap:calc(12 * var(--u))}
.approved-play{position:absolute;right:calc(41 * var(--u));top:calc(242 * var(--u));width:calc(54 * var(--u));height:calc(54 * var(--u));border:1px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#03070bb3;font-size:calc(19 * var(--u))}
.approved-play span{margin-left:calc(3 * var(--u))}
.approved-play:hover{background:#0c2d35}
.home .discipline-strip{height:calc(48 * var(--u));min-height:0;padding:0;gap:calc(15 * var(--u));font-size:calc(9 * var(--u));letter-spacing:calc(3.2 * var(--u));border-color:#263038;color:#e0e2e6}
.home .discipline-strip i{color:#d3dae0}
.approved-experiences{padding-top:calc(31 * var(--u));padding-bottom:calc(27 * var(--u));border-bottom:1px solid #263038}
.home .section-heading{margin:0 0 calc(13 * var(--u));align-items:center;gap:calc(20 * var(--u))}
.home h2{font-size:calc(43 * var(--u));line-height:1.12;letter-spacing:calc(-1.5 * var(--u));font-weight:750;margin:0}
.home .text-link{font-size:calc(12 * var(--u));gap:calc(5 * var(--u));padding:calc(10 * var(--u)) 0 0}
.approved-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(10 * var(--u))}
.approved-card{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:320/277;display:flex;align-items:flex-end;min-width:0}
.approved-card-concert{background-size:333.125% 532.851986%;background-position:5.764075% 51.876564%}
.approved-card-corporate{background-size:333.125% 532.851986%;background-position:50.134048% 51.876564%}
.approved-card-camera{background-size:333.125% 532.851986%;background-position:94.369973% 51.876564%}
.approved-card h3{width:100%;padding:calc(14 * var(--u));margin:0;font-size:calc(15 * var(--u));letter-spacing:calc(-.2 * var(--u));line-height:1.15;display:flex;justify-content:space-between;gap:calc(5 * var(--u));background:linear-gradient(transparent,#03060960);transition:color .18s}
.approved-card h3 span{font-size:calc(20 * var(--u));line-height:.8;font-weight:400}
.approved-card:hover h3{color:var(--accent)}
.approved-services{padding-top:calc(28 * var(--u));padding-bottom:calc(27 * var(--u))}
.approved-services h2{margin:calc(7 * var(--u)) 0 calc(27 * var(--u));font-size:calc(42 * var(--u))}
.approved-service-grid{display:grid;grid-template-columns:29.7% 38% 32.3%}
.approved-service{padding-left:calc(51 * var(--u));border-right:1px solid #293137;min-width:0}
.approved-service:first-child{padding-left:calc(3 * var(--u))}
.approved-service:last-child{padding-left:calc(36 * var(--u));border:0}
.approved-service .service-number{font-size:calc(14 * var(--u));line-height:1.3;letter-spacing:0;gap:calc(24 * var(--u));margin:0 0 calc(13 * var(--u));color:#eee}
.approved-service .service-number i{display:block;width:calc(39 * var(--u));background:#525a5f}
.approved-service h3{font-size:calc(20 * var(--u));letter-spacing:calc(-.3 * var(--u));line-height:1.3;margin:0 0 calc(9 * var(--u))}
.approved-service p{font-size:calc(14 * var(--u));color:#ced0d2;line-height:1.5;margin:0;letter-spacing:calc(-.15 * var(--u))}
.approved-service:hover h3{color:var(--accent)}
.approved-cta{position:relative;isolation:isolate;overflow:hidden;height:calc(208 * var(--u));border-block:1px solid #263038;padding-top:calc(42 * var(--u))}
.approved-crowd{background-size:100% 699.526066%;background-position:0 94.545455%}
.approved-cta h2{font-size:calc(42 * var(--u));letter-spacing:calc(-1.2 * var(--u));margin:calc(7 * var(--u)) 0 calc(19 * var(--u))}
.approved-footer{height:calc(70 * var(--u))}
.approved-footer>.wrap{height:100%;display:flex;justify-content:space-between;align-items:center;gap:20px}
.approved-footer p{font-size:calc(11 * var(--u));letter-spacing:calc(.8 * var(--u));margin:0}
.showreel-dialog{max-width:min(540px,calc(100vw - 40px));padding:50px 30px 30px;border:1px solid #3b5664;background:#0a151d;color:white}
.showreel-dialog::backdrop{background:#000b}
.home .showreel-dialog h2{font-size:30px;margin-bottom:20px;letter-spacing:-1px}
.home .showreel-dialog .button{font-size:14px;min-height:44px;padding:12px 20px}




/* Preserve original photographic pixels; restore only areas covered by mockup text. */
.approved-hero-photo{background-image:url('approved-reference.jpg');background-size:100% 304.536082%}
.approved-hero-restoration{background-size:100% 304.958678%;background-position:0 0;clip-path:url(#approved-hero-cleanup)}
.approved-card>.approved-plate:first-child{background-image:url('approved-reference.jpg');background-size:332.8125% 533.212996%}
.approved-card>.approved-card-concert:first-child{background-position:5.771812% 51.916667%}
.approved-card>.approved-card-corporate:first-child{background-position:50% 51.916667%}
.approved-card>.approved-card-camera:first-child{background-position:94.362416% 51.916667%}
.approved-caption-restoration{clip-path:inset(86% 0 0)}
.approved-crowd{background-image:url('approved-reference.jpg');background-size:100% 710.096154%;background-position:0 94.483846%}
.approved-crowd-restoration{background-size:100% 699.526066%;background-position:0 94.545455%;clip-path:url(#approved-cta-cleanup)}


/* User-approved mobile behavior: preserve and scale the complete desktop composition. */
body.home{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.home .menu-toggle{display:none}
.home .site-header nav{display:flex;position:static;flex-direction:row;align-items:center;background:none;border:0;box-shadow:none;padding:0}
.home .site-header nav a{padding:0}
.home .site-header nav .header-cta{margin:0;padding:calc(5 * var(--u)) calc(18 * var(--u));text-align:center}
.home .section-heading{flex-direction:row}
.home .section-heading>.text-link{padding:calc(10 * var(--u)) 0 0}
.home .discipline-strip{display:flex;flex-wrap:nowrap;justify-content:center}
.home .discipline-strip i{display:block}
.home .approved-cards{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Mobile: readable type and touch controls, with the three photographic categories together. */
@media(max-width:700px){
 body.home{--u:1px}
 .home .wrap{width:calc(100% - 36px)}
 .home .header-inner{height:72px;gap:10px}
 .home .brand{gap:8px}
 .approved-mark{width:32px;height:22px;background-size:852px 1181.6px;background-position:-32.8px -13.6px}
 .home .brand .approved-wordmark{font-size:9px;letter-spacing:1.5px}
 .home .menu-toggle{display:block;min-height:44px;min-width:64px;padding:8px;font-size:13px;border-color:#81929c}
 .home .site-header nav{display:none;position:absolute;top:72px;left:18px;right:18px;flex-direction:column;align-items:stretch;gap:0;background:#0b1720;border:1px solid #344853;padding:12px;font-size:16px;box-shadow:0 20px 40px #0008}
 .home .site-header nav.is-open{display:flex}
 .home .site-header nav a{padding:12px;min-height:48px}
 .home .site-header nav .header-cta{margin:8px 0 0;padding:12px}
 .home .eyebrow{font-size:10px!important;letter-spacing:1.6px;line-height:1.5}
 .approved-hero{height:auto;min-height:480px;padding-bottom:75px}
 .approved-hero-photo{background-image:url('home-backgrounds.png');background-size:1100px 1523px;background-position:60% 0}
 .approved-hero-restoration,.approved-crowd-restoration{display:none}
 .approved-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02090edb,#02090e45),linear-gradient(0deg,#04090d99,transparent 65%);z-index:-1}
 .approved-hero-content{padding-top:126px}
 .approved-hero h1{font-size:clamp(32px,8vw,49px);letter-spacing:-1px;line-height:1.05;margin:13px 0 18px}
 .approved-description{font-size:16px;line-height:1.55;max-width:430px;margin-bottom:24px;letter-spacing:0}
 .home .button{min-height:46px;font-size:13px;padding:12px 15px;gap:6px;letter-spacing:0}
 .home .button span{font-size:16px}
 .home .button-row{gap:10px}
 .approved-play{width:44px;height:44px;right:18px;top:auto;bottom:18px;font-size:16px}
 .home .discipline-strip{height:auto;min-height:58px;display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;padding:13px 18px;font-size:9px;letter-spacing:1.3px;text-align:center}
 .home .discipline-strip i{display:none}
 .approved-experiences{padding:28px 0 16px}
 .home .section-heading{align-items:center;gap:8px;margin-bottom:17px}
 .home h2{font-size:28px;letter-spacing:-.8px;line-height:1.13}
 .home .text-link,.home .section-heading>.text-link{font-size:12px;min-height:44px;padding:0;gap:4px;line-height:1.3}
 .home .approved-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 .approved-card{aspect-ratio:auto;flex-direction:column;align-items:stretch}
 .approved-card:before{content:"";display:block;width:100%;aspect-ratio:320/277}
 .approved-card>.approved-plate{inset:0 0 auto;aspect-ratio:320/277;height:auto}
 .approved-card h3{font-size:12px;line-height:1.3;letter-spacing:0;padding:10px 0 0;background:none;min-height:55px;align-items:flex-start}
 .approved-card h3 span{display:none}
 .approved-services{padding:27px 0 30px}
 .approved-services h2{font-size:30px;line-height:1.12;margin:9px 0 24px}
 .approved-service-grid{grid-template-columns:1fr;gap:20px}
 .approved-service,.approved-service:first-child,.approved-service:last-child{padding:0 0 20px;border-right:0;border-bottom:1px solid #293137;display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 12px}
 .approved-service:last-child{padding-bottom:0;border-bottom:0}
 .approved-service .service-number{font-size:12px;margin:4px 0 0;grid-row:1/3;align-self:start}
 .approved-service .service-number i{display:none}
 .approved-service h3{font-size:19px;line-height:1.25;margin:0 0 8px;letter-spacing:-.2px}
 .approved-service p{font-size:15px;line-height:1.55;letter-spacing:0}
 .approved-service p br{display:none}
 .approved-cta{height:auto;min-height:253px;padding:32px 0}
 .approved-crowd{background-image:url('home-backgrounds.png');background-size:1350px 1850px;background-position:65% 95%}
 .approved-cta:after{content:"";position:absolute;inset:0;background:#03112155;z-index:-1}
 .approved-cta h2{font-size:30px;line-height:1.12;letter-spacing:-.7px;margin:12px 0 22px;max-width:450px}
 .approved-footer{height:auto;padding:24px 0}
 .approved-footer>.wrap{flex-wrap:wrap;gap:17px}
 .approved-footer p{font-size:11px;letter-spacing:.4px}
}
@media(max-width:360px){
 .home .brand .approved-wordmark{font-size:8px;letter-spacing:1px}
 .home .section-heading h2{font-size:25px}
 .home .section-heading>.text-link{font-size:11px;max-width:75px}
 .home .button{padding:12px 13px;font-size:12px}
}
