/* V3: one cinematic scene, live typography and the original vector identity. */
.home-page .site-header{position:absolute;inset:0 0 auto;z-index:20;background:linear-gradient(#09111bee,#09111b65,transparent);border:0;backdrop-filter:none}
.home-page .header-inner{min-height:96px}
.home-page .brand-logo-vector{width:139px;height:84px}
.home-page .header-inner nav a{font-size:13px}
.home-page .header-phone{background:#ffffff08;border-color:#ffffff60;min-height:40px}
.home-page .header-cta{background:linear-gradient(#ff2739,#d50920);border-color:#ff7180;box-shadow:0 3px 22px #f30b2826}
.hero-cinema{background:#080c12;border-bottom:2px solid #e61931;isolation:isolate}
.hero-cinema:before,.hero-cinema:after{display:none}
.hero-art{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06101c63,transparent 52%),linear-gradient(0deg,#080c12 2%,#080c12c4 14%,transparent 35%)}
.hero-parallax{position:absolute;inset:0;transform:translate3d(0,var(--scene-y,0px),0)}
.hero-artboard{position:absolute;width:max(100%,1190px);aspect-ratio:2;left:50%;top:64px;transform:translateX(-50%)}
.hero-camera{position:absolute;inset:0;transform-origin:65% 48%}
.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.hero-clean{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;visibility:hidden}
.blitz-live{position:absolute;left:46%;top:6%;width:29%;height:81%;visibility:hidden;pointer-events:none}
.blitz-model-canvas{display:block;width:100%;height:100%}
.has-live-blitz .hero-scene{visibility:hidden}
.has-live-blitz .hero-clean,.has-live-blitz .blitz-live{visibility:visible}
.barrier-logo{position:absolute;left:73%;top:52.2%;width:13.5%;height:17%;object-fit:contain;mix-blend-mode:multiply;transform:rotate(1deg) skewY(1deg);opacity:.94}
.beacon-halo{position:absolute;width:9%;aspect-ratio:1;top:27.6%;left:66.8%;background:radial-gradient(circle,#ffe5a039,#ffae001e 26%,transparent 64%);mix-blend-mode:screen;opacity:.42}
.beacon-halo.second{left:89%;top:30.8%;width:8%}
.road-sheen{position:absolute;left:44%;right:0;bottom:9%;height:12%;background:linear-gradient(100deg,transparent 15%,#ff223a30 50%,transparent 80%);filter:blur(15px);opacity:.28}
.cinema-grid{display:flex;align-items:center;min-height:clamp(570px,46vw + 40px,790px);padding-top:110px;padding-bottom:54px}
.cinema-copy{padding:0;max-width:560px;width:47%;pointer-events:auto}
.cinema-copy .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:24px;color:#ecedf4}
.cinema-copy h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(44px,4.65vw,77px);font-weight:800;letter-spacing:-.055em;line-height:1.12;font-style:italic;font-synthesis:style;white-space:nowrap;text-shadow:0 3px 18px #0005}
.cinema-copy h1 em{color:#ff263e}
.cinema-copy h1 em:after{display:block;content:"";position:absolute;left:35%;right:2%;bottom:-12px;height:8px;clip-path:polygon(0 80%,45% 8%,78% 0,100% 60%,77% 40%,45% 46%);background:#f6263d;transform-origin:left center}
.cinema-copy>p{font-size:15px;line-height:1.9;color:#f0f2f8;max-width:400px;margin:34px 0 26px;text-shadow:0 2px 9px #0009}
.hero-cinema .hero-actions{flex-direction:row;gap:14px}
.hero-cinema .button{font-size:12px;min-height:49px;padding:14px 21px;gap:22px;background:linear-gradient(#ff283d,#d70c24);border:1px solid #ff7f8d;box-shadow:0 4px 22px #ef183c3d}
.hero-cinema .button.outline{background:#09111b52;border-color:#dbe1edb3;box-shadow:none}
.cinema-note{margin-top:27px;font-size:11px;color:#bfc9d8}
.cinema-note strong{color:#eef2f7;font-weight:600}
.hero-proof{padding-block:21px 28px;border-top:1px solid #ffffff16;gap:24px;min-height:111px}
.hero-proof>div{gap:15px;padding:9px 8px 9px 0}
.hero-proof>div+div:before{background:linear-gradient(transparent,#ff173e75,transparent);height:50px;top:7px;left:-16px}
.hero-proof strong{font-size:12px}.hero-proof small{font-size:10px;line-height:1.7;color:#c3ccda;max-width:175px}
.hero-proof svg{width:34px;height:34px;filter:drop-shadow(0 0 6px #ff264936)}
.scroll-prompt{bottom:116px;left:calc(50% - 17px);width:34px;height:40px;font-size:24px;opacity:.8}
.home-services{padding-block:58px 53px}
.home-services h2,.home-reference h2{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:44px;font-style:italic;font-synthesis:style;letter-spacing:-.06em}
.home-services .section-intro>p{font-size:14px;max-width:435px}
.service-photo{height:200px}
.service-title>h3{font-size:21px;line-height:1.25;letter-spacing:-.045em}
.service-card-body>p{font-size:13px;line-height:1.8}
.service-card-body .text-link{font-size:11px;min-height:36px}
.photo-services .service-card{border-radius:13px;box-shadow:0 5px 0 #1b26340a,0 12px 28px #10233a0a;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service-photo img{transition:transform .65s cubic-bezier(.2,.6,.2,1)}
.service-card-body{padding:23px 23px 19px}
.customer-routes{padding:29px 0 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:28px;border-top:1px solid #dae0e8}
.customer-routes>a{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-content:start}
.customer-routes strong{font-size:13px;line-height:1.7}.customer-routes p{font-size:12px;line-height:1.8;color:var(--muted);margin:0;grid-column:1}.customer-routes span{grid-area:1/2/3/3;align-self:center;color:var(--red);font-size:24px}
.customer-routes a:hover strong{color:#bc1128}
.delivery-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 10%,#26364e66,transparent 60%),#101925;padding-block:73px}
.delivery-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:29px}
.delivery-steps h3{font-size:18px}.delivery-steps p{font-size:13px;line-height:1.9}
.delivery-section .section-intro>p{font-size:14px;max-width:400px}
.delivery-steps:before{background:linear-gradient(90deg,#e71636c0,#e7163620)}
.operations-strip{display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:28px;padding:28px;border:1px solid #dce1e8;border-left:4px solid var(--red);border-radius:8px;margin-top:45px;margin-bottom:8px;background:#fff}
.operations-strip h3{font-size:20px;line-height:1.45;margin:0}.operations-strip p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.operations-strip .text-link{white-space:nowrap}
.home-faq{padding-block:68px}.home-faq h2{font-size:46px}.home-faq h2,.delivery-section h2{font-family:Manrope,Arial,sans-serif;font-style:italic;font-weight:800;font-synthesis:style;letter-spacing:-.055em;line-height:1.2}.delivery-section h2{font-size:44px}.home-faq>div:first-child>p{font-size:14px}.faq-list summary{font-size:14px;line-height:1.6}.faq-list details>p{font-size:13px}
.home-reference .section-intro>.text-link{font-size:13px}
.reference-side>a>span{font-size:12px}
.catalogue-supplement h2{font-size:18px}.catalogue-supplement p{font-size:12px}
.cinema-contact h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,4vw,60px);font-weight:800;letter-spacing:-.055em;line-height:1.15}
.cinema-contact p{font-size:14px}.footer-grid a{font-size:13px}
.field-guide{padding:30px;border:1px solid #dce1e8;border-left:4px solid var(--red);background:#f4f6f9;margin:30px 0}
.field-guide h2{font-size:24px!important;margin:0 0 18px!important}.field-guide p{font-size:15px}.field-guide .check-list{margin-top:14px}
.inquiry-result #download-inquiry{display:table;margin-top:18px}.inquiry-result #email-inquiry[hidden]{display:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .photo-services .service-card:hover{transform:translateY(-5px);border-color:#e7193590;box-shadow:0 12px 28px #d0192420}
 .photo-services .service-card:hover .service-photo img{transform:scale(1.035)}
 .button{transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}
 .text-link>span{transition:transform .25s}.text-link:hover>span{transform:translateX(3px)}
}
@media(prefers-reduced-motion:no-preference){
 .hero-camera{animation:camera-arrive 4.6s cubic-bezier(.16,.64,.24,1) both}
 .cinema-copy .eyebrow{animation:copy-arrive .7s .1s both}
 .cinema-copy h1{animation:copy-arrive .85s .18s both}
 .cinema-copy>p{animation:copy-arrive .8s .28s both}
 .hero-actions{animation:copy-arrive .8s .38s both}
 .cinema-copy h1 em:after{animation:accent-draw .9s .65s both}
 .beacon-halo{animation:beacon-warmup 4.5s ease-out both}
 .beacon-halo.second{animation-duration:4.3s;animation-delay:.1s}
 .road-sheen{animation:road-light 4.5s ease-out both}
 @view-transition{navigation:auto}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
}
@keyframes camera-arrive{from{transform:scale(1.045) translateY(9px)}to{transform:none}}
@keyframes copy-arrive{from{opacity:.15;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes accent-draw{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes beacon-warmup{0%{opacity:0;transform:scale(.8)}28%{opacity:1;transform:scale(1.06)}67%{opacity:.25;transform:scale(.94)}100%{opacity:.42;transform:scale(1)}}
@keyframes road-light{0%{opacity:0;transform:translateX(-35px)}40%{opacity:.7}100%{opacity:.28;transform:none}}
@media(min-width:1700px){.cinema-copy{width:50%;max-width:670px}.cinema-copy>p{font-size:17px;max-width:460px}.hero-artboard{top:32px}.hero-proof strong{font-size:14px}.hero-proof small{font-size:12px;max-width:220px}.hero-proof{padding-bottom:34px}}
@media(max-width:1100px){.hero-artboard{left:47%;top:80px;width:1190px}.cinema-grid{min-height:590px}.cinema-copy{width:49%}.cinema-copy h1{font-size:48px}.cinema-copy>p{max-width:330px;font-size:14px}.hero-proof{gap:18px}.hero-proof strong{font-size:11px}.hero-proof small{font-size:10px}.hero-proof svg{width:28px;height:28px}.hero-cinema .button{padding-inline:15px;font-size:11px;gap:16px}.delivery-steps{gap:20px}.delivery-steps h3{font-size:16px}.service-title>h3{font-size:18px}.service-card-body{padding:21px 19px}.service-photo{height:180px}.operations-strip{grid-template-columns:1fr 1fr}.operations-strip>.text-link{grid-column:1/-1;justify-self:start}}
@media(max-width:850px){.home-page .header-inner{min-height:80px}.home-page .brand-logo-vector{width:119px;height:72px}.home-page .header-inner nav a{font-size:12px}.hero-artboard{width:1070px;left:45%;top:90px}.cinema-grid{min-height:585px;padding-top:90px}.cinema-copy h1{font-size:40px}.cinema-copy{width:52%}.cinema-copy .eyebrow{font-size:8px}.cinema-copy>p{max-width:295px;font-size:13px}.hero-proof{padding-block:15px 20px;gap:0 25px}.hero-proof>div{padding-block:11px}.hero-proof strong{font-size:12px}.hero-proof small{max-width:230px}.scroll-prompt{display:none}.home-services h2,.home-reference h2{font-size:39px}.service-title>h3{font-size:17px}.service-card-body>p{font-size:12px}.service-card-body{padding:20px 16px}.service-photo{height:155px}.customer-routes{gap:22px}.delivery-steps{grid-template-columns:1fr 1fr;gap:28px}.delivery-steps:before{display:none}.delivery-steps h3{font-size:19px}.home-faq{gap:40px}.home-faq h2{font-size:46px}.home-faq .faq-list summary{font-size:13px}}
@media(max-width:600px){
 .home-page .site-header{background:#080c12}.home-page .header-inner{min-height:78px}.home-page .brand-logo-vector{width:114px;height:68px}
 .home-page .header-inner nav a{font-size:15px}.home-page .header-inner nav{background:#080c12;margin:0;padding-bottom:17px}
 .home-page .menu-toggle{min-height:44px;font-size:12px}
 .cinema-grid{display:block;padding-top:111px;padding-bottom:0;min-height:0}
 .cinema-copy{width:100%;max-width:none;padding:0;position:relative}
 .cinema-copy .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:18px}
 .cinema-copy h1{font-size:clamp(31px,8.75vw,51px);white-space:normal;line-height:1.15;letter-spacing:-.055em}
 .cinema-copy h1 em:after{bottom:-8px;height:6px}
 .cinema-copy>p{font-size:14px;max-width:390px;margin:24px 0 21px;line-height:1.8}
 .hero-cinema .hero-actions{gap:9px;flex-wrap:wrap}.hero-cinema .button{font-size:11px;padding:12px 14px;min-height:47px;gap:15px}
 .cinema-copy:after{content:"";display:block;height:clamp(275px,76vw,450px)}
 .hero-art{inset:auto 0 168px;height:clamp(340px,90vw,525px);z-index:0}
 .hero-art:after{background:linear-gradient(#080c12 0%,transparent 22%,transparent 75%,#080c12 100%)}
 .hero-parallax{inset:0}.hero-artboard{width:172%;top:0;left:50%;transform:translateX(-66.5%)}
 .cinema-copy{z-index:2}.hero-proof{z-index:3;padding-block:10px 21px;gap:0 19px;min-height:168px}
 .hero-proof>div{gap:11px;padding-block:10px;align-items:flex-start}.hero-proof strong{font-size:11px;line-height:1.5}.hero-proof small{font-size:10px;max-width:160px;margin-top:4px}.hero-proof svg{width:26px;height:26px}
 .home-services{padding-block:43px}.home-services h2,.home-reference h2{font-size:37px}.home-services .section-intro>p{font-size:13px;max-width:350px}
 .service-photo{height:210px}.service-card-body{padding:24px 23px 21px}.service-title>h3{font-size:23px}.service-card-body>p{font-size:14px}.service-card-body .text-link{font-size:12px;min-height:40px}
 .customer-routes{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:24px}.customer-routes strong{font-size:14px}.customer-routes p{font-size:13px;max-width:300px}.customer-routes>a{padding-bottom:17px;border-bottom:1px solid var(--line)}
 .reference-side>a>span{font-size:10px}.home-reference .section-intro>.text-link{font-size:12px}
 .delivery-section{padding-block:48px}.delivery-steps{grid-template-columns:1fr;gap:26px}.delivery-steps>li{gap:24px}.delivery-steps p{font-size:13px}.delivery-steps h3{font-size:19px}.delivery-section .section-intro>p{font-size:13px}.delivery-section h2{font-size:44px}
 .operations-strip{display:block;padding:24px;margin-top:30px}.operations-strip h3{font-size:21px}.operations-strip p{font-size:13px;margin:14px 0}.operations-strip .text-link{font-size:12px}
 .home-faq{padding-block:45px}.home-faq .faq-list summary{font-size:14px}.faq-list details>p{font-size:13px}
 .catalogue-supplement h2{font-size:18px}.catalogue-supplement p{font-size:12px}
 .cinema-contact h2{font-size:40px}.cinema-contact p{font-size:14px}.cinema-contact .button{font-size:12px}
 .field-guide{padding:23px}.field-guide h2{font-size:22px!important}
}
@media(max-width:360px){.hero-proof strong{font-size:10px}.hero-proof small{font-size:9px}.hero-proof>div{gap:8px}.hero-proof svg{width:23px;height:23px}.hero-art{bottom:168px}.hero-cinema .button{font-size:10px;padding-inline:11px;gap:10px}.service-title>h3{font-size:21px}}
@media(min-width:601px) and (max-width:850px){
 .cinema-grid{display:block;min-height:0;padding:126px 0 0}.cinema-copy{width:100%;max-width:none}.cinema-copy h1{font-size:clamp(46px,7vw,59px)}
 .cinema-copy .eyebrow{font-size:10px}.cinema-copy>p{max-width:490px;font-size:15px;line-height:1.9;margin-block:30px 23px}.cinema-note{display:none}
 .hero-cinema .hero-actions{flex-direction:row}.hero-cinema .button{font-size:12px;padding-inline:20px;min-height:49px}
 .cinema-copy:after{content:"";display:block;height:390px}.hero-art{inset:auto 0 167px;height:420px;z-index:0}.hero-art:after{background:linear-gradient(#080c12,transparent 20%,transparent 72%,#080c12)}
 .hero-artboard{width:118%;left:50%;top:0;transform:translateX(-57%)}.hero-proof{min-height:167px}.hero-proof strong{font-size:13px}.hero-proof small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.hero-parallax,.hero-camera{transform:none}.hero-camera,.cinema-copy>*{animation:none}.hero-camera{will-change:auto}.photo-services .service-card:hover,.button:hover,.reference-main:hover>img{transform:none}@view-transition{navigation:none}}
/* V5: one complete dark opening, with a protected area for the headline. */
.hero-cinema{min-height:100svh;background:#080c12;border-bottom:1px solid #f51b3538}
@media(min-width:851px){
 .hero-cinema{display:flex;flex-direction:column}
 .home-page .header-inner nav a{font-size:14px}
 .cinema-grid{flex:1;min-height:calc(100svh - 118px);padding-top:128px;padding-bottom:64px}
 .cinema-copy{width:45%;max-width:550px}
 .cinema-copy h1{font-size:clamp(42px,4.05vw,64px);line-height:1.16;letter-spacing:-.05em}
 .cinema-copy>p{font-size:16px;max-width:420px;line-height:1.85;margin-block:32px 27px}
 .cinema-copy .eyebrow{margin-bottom:24px}
 .hero-artboard{width:max(1190px,min(120vw,calc((100svh - 170px)*2.3),1920px));left:50%;top:max(44px,calc((100svh - 850px)*.35));mask-image:linear-gradient(90deg,transparent,#000 5%,#000 97%,transparent)}
 .hero-art:after{background:linear-gradient(90deg,#080c1294,transparent 58%),linear-gradient(0deg,#080c12 0%,#080c12d9 12%,transparent 32%)}
 .hero-proof{min-height:118px;margin-top:auto;padding-block:22px 27px;align-items:center}
 .hero-proof strong{font-size:13px}.hero-proof small{font-size:11px;line-height:1.75}
 .hero-cinema .button{font-size:12px;min-height:50px;padding-inline:22px}
 .scroll-prompt{bottom:126px}
}
@media(min-width:851px) and (max-width:1100px){.cinema-copy h1{font-size:41px}.cinema-copy>p{font-size:14px;max-width:335px}.hero-proof{gap:17px}.hero-proof strong{font-size:11px}.hero-proof small{font-size:10px}.hero-cinema .button{font-size:11px;padding-inline:15px;gap:15px}}
@media print{.home-page .site-header{position:static}.hero-art,.customer-routes,.operations-strip{display:none}.hero-cinema{min-height:0}.cinema-grid{min-height:0;padding:15px 0}.cinema-copy{width:100%}.cinema-copy:after{display:none}.hero-proof{display:none}}

