:root{--red:#b80000;--cream:#efebe5;--black:#080808;--white:#fff;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:#b80000;color:#090909;font-family:Montserrat,Arial,sans-serif;overflow-x:hidden} button,a{font:inherit}
.page{width:100%;padding:2.8vw 0}.artboard{position:relative;width:min(1172px,calc(100vw - 72px));aspect-ratio:1172/2047;margin:0 auto;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.22);isolation:isolate}.layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.base-layer{z-index:0}.hero-photo-layer{z-index:1}.hero-red-stripe{position:absolute;z-index:3;left:43.25%;top:0;width:13.5%;height:34.2%;background:linear-gradient(to bottom,#b80000 0%,#b80000 63%,rgba(184,0,0,.96) 76%,rgba(184,0,0,.48) 90%,rgba(184,0,0,0) 100%);pointer-events:none}.services-layer{z-index:1}.gallery-layer{z-index:2}.footer-layer{z-index:2}.drone-layer{z-index:5;animation:droneEntry 1.35s var(--ease) both;filter:drop-shadow(0 18px 22px rgba(0,0,0,.18))}
.top-nav{position:absolute;z-index:20;top:4.5%;display:flex;align-items:center}.top-nav-left{left:7.6%;gap:5vw}.top-nav-right{right:7.6%;gap:5vw}.top-nav a,.top-nav button{appearance:none;border:0;background:transparent;padding:8px 0;color:#111;text-decoration:none;font-size:clamp(10px,1.15vw,15px);font-weight:800;letter-spacing:.12em;cursor:pointer;position:relative}.top-nav a::after,.top-nav button::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:var(--red);transform:translateX(-50%);transition:.35s var(--ease)}.top-nav a:hover::after,.top-nav button:hover::after{width:100%}.top-nav a:hover,.top-nav button:hover{transform:translateY(-2px)}
.top-brand{position:absolute;z-index:20;top:4.55%;left:50%;transform:translateX(-50%);color:#fff;text-align:center;width:13%}.logo-03{font:500 clamp(30px,5.2vw,68px)/.62 'Barlow Condensed';letter-spacing:-.08em}.logo-word{margin-top:.7vw;font-size:clamp(7px,1.15vw,15px);letter-spacing:.48em;margin-left:.48em}.logo-sub{margin-top:.5vw;font-size:clamp(3px,.42vw,6px);letter-spacing:.24em;white-space:nowrap}
.hero-copy-left{position:absolute;z-index:12;left:8.3%;top:22.3%;border-left:4px solid var(--red);padding-left:1.2%;}.hero-copy-left span{display:block;color:var(--red);font-size:clamp(11px,1.55vw,20px);font-weight:800;letter-spacing:.13em;line-height:1.08}.hero-copy-left strong{display:block;margin-top:.45vw;font-size:clamp(9px,1.22vw,16px);letter-spacing:.12em}
.hero-copy-right{position:absolute;z-index:12;right:7.2%;top:6.4%;width:21.7%}.hero-copy-right h1{margin:0;font:800 clamp(18px,2.5vw,31px)/1.02 'Barlow Condensed';letter-spacing:.055em}.hero-copy-right em{font-style:normal;color:var(--red)}.hero-copy-right p{margin-top:1vw;font-size:clamp(6px,.82vw,10.5px);font-weight:500;line-height:1.45;letter-spacing:.02em}
.scroll-anchor{position:absolute;left:0;width:1px;height:1px;pointer-events:none}.services-anchor{top:43.8%;}
.services-copy{position:absolute;inset:0;z-index:10;pointer-events:none}.services-kicker{position:absolute;right:8.4%;left:auto;top:45.55%;text-align:right;margin:0;color:var(--red);font-size:clamp(8px,1.15vw,15px);font-weight:800;line-height:1.06;letter-spacing:.035em}.premium-title{position:absolute;left:7.7%;top:47.8%;transform:none;margin:0;color:var(--red);font:800 clamp(24px,3.45vw,45px)/1 'Barlow Condensed';letter-spacing:.12em;white-space:nowrap;transition:.45s var(--ease);pointer-events:auto}.premium-title:hover{letter-spacing:.18em;transform:scale(1.02);transform-origin:left center}
.service-copy-card{position:absolute;top:52.1%;width:25%;height:15%;pointer-events:auto}.film-card{left:7.6%}.map-card{left:37.5%}.photo-card{left:67.2%}.service-copy-card button{width:100%;height:100%;border:0;background:transparent;cursor:pointer;padding:0;display:block}.service-copy-card button::after{content:"";position:absolute;inset:0;border:1px solid transparent;transition:.35s var(--ease)}.service-copy-card:hover button::after{border-color:rgba(184,0,0,.46);box-shadow:inset 0 0 0 4px rgba(184,0,0,.05)}
.hotspot{position:absolute;z-index:11;top:57.4%;height:10.8%;border:0;background:transparent;cursor:pointer}.hotspot-film{left:6.2%;width:27.6%}.hotspot-map{left:36.7%;width:27.4%}.hotspot-photo{left:66.1%;width:27.8%}.hotspot::after{content:"";position:absolute;inset:0;border:1px solid transparent;transition:.35s}.hotspot:hover::after{border-color:rgba(184,0,0,.5);box-shadow:inset 0 0 0 4px rgba(184,0,0,.06)}
.gallery-showcase{position:absolute;z-index:13;left:5.7%;right:5.8%;top:68.4%;height:8.45%;pointer-events:none}
.cta-block{position:absolute;z-index:15;left:6%;right:6%;top:77.9%;height:11.2%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cta-block h2{margin:0;font:600 clamp(24px,4vw,52px)/1.12 Montserrat;letter-spacing:.16em}.cta-actions{margin-top:.85vw;display:flex;align-items:center;gap:1vw;transform:translateY(-1.1vw)}.cta-primary,.cta-instagram{display:inline-flex;align-items:center;justify-content:center;gap:.8em;text-decoration:none;border:1.5px solid #111;color:#111;background:transparent;font-size:clamp(8px,.9vw,12px);font-weight:800;letter-spacing:.08em;padding:.95em 1.5em;transition:.35s var(--ease)}.cta-primary{background:var(--red);border-color:var(--red);color:#fff}.cta-primary:hover{background:#111;border-color:#111;color:#fff;transform:translateY(-3px)}.cta-instagram svg{width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.8}.cta-instagram:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-3px)}
.modal,.player-modal,.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:3vw}.modal.open,.player-modal.open,.lightbox.open{display:flex}.modal-panel{position:relative;width:min(1180px,94vw);max-height:92vh;overflow:auto;background:var(--cream);padding:3vw;box-shadow:0 30px 90px rgba(0,0,0,.45);animation:modalIn .38s var(--ease) both}.modal-close,.player-close,.lightbox-close{position:absolute;right:1.5rem;top:1rem;border:0;background:transparent;color:var(--red);font-size:34px;line-height:1;cursor:pointer;z-index:4}.eyebrow{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.32em}.modal-panel h2{margin:.35rem 0 1.25rem;font:900 clamp(42px,6vw,76px)/.9 'Barlow Condensed';letter-spacing:.02em}.portfolio-lead{font:700 22px/1.15 'Barlow Condensed';letter-spacing:.03em}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}.filters button{border:1px solid #111;background:transparent;padding:.7rem 1rem;font-size:11px;font-weight:800;cursor:pointer}.filters button.active,.filters button:hover{background:#111;color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}.portfolio-card{border-top:2px solid #111;padding-top:.75rem}.thumb-button{position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#111;overflow:hidden;cursor:pointer}.thumb-button img{width:100%;height:100%;object-fit:cover;transition:.55s var(--ease)}.thumb-button::after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:24px;padding-left:4px;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:.35s var(--ease)}.thumb-button:hover img{transform:scale(1.04);filter:brightness(.8)}.thumb-button:hover::after{transform:translate(-50%,-50%) scale(1.1)}.portfolio-card h3{margin:.65rem 0 .2rem;font:800 21px/1 'Barlow Condensed'}.portfolio-card p{margin:0;font-size:12px;color:#555}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-grid button{border:0;padding:0;background:#111;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:.5s var(--ease)}.photo-grid button:hover img{transform:scale(1.05);filter:brightness(.82)}.about-panel{width:min(780px,92vw)}.about-panel p{font-size:clamp(15px,1.6vw,20px);line-height:1.7;max-width:62ch}
.player-modal{z-index:1200}.player-shell{position:relative;width:min(1100px,94vw);background:#050505;padding:1.2rem;box-shadow:0 35px 100px rgba(0,0,0,.65);animation:modalIn .35s var(--ease) both}.player-close{color:#fff}.player-frame{aspect-ratio:16/9;background:#111}.player-frame iframe{display:block;width:100%;height:100%;border:0}.player-meta{color:#fff;padding:1rem .2rem .2rem}.player-meta span{color:#ff2d2d;font-size:10px;font-weight:800;letter-spacing:.3em}.player-meta h3{margin:.3rem 0 0;font:800 28px/1 'Barlow Condensed'}
.lightbox{z-index:1300}.lightbox img{max-width:88vw;max-height:84vh;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.55)}.lightbox-close{color:#fff}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.1);color:#fff;width:52px;height:70px;font-size:42px;cursor:pointer}.lightbox-prev{left:2vw}.lightbox-next{right:2vw}
.reveal{opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}.reveal-up{transform:translateY(28px)}.reveal-left{transform:translateX(-24px)}.reveal-right{transform:translateX(24px)}.reveal-soft{transform:scale(1.02)}
@keyframes stripeGlow{0%{opacity:.82;filter:saturate(.92)}50%{opacity:1;filter:saturate(1.08)}100%{opacity:.86;filter:saturate(.96)}}
.hero-red-stripe{animation:stripeGlow 5.5s ease-in-out infinite alternate}
.premium-title::after{content:"";display:block;width:42px;height:3px;background:var(--red);margin-top:.55vw;transition:width .4s var(--ease)}.premium-title:hover::after{width:78px}
@keyframes droneEntry{0%{opacity:0;transform:translateY(-26px) scale(.96);filter:drop-shadow(0 35px 30px rgba(0,0,0,.1)) blur(2px)}100%{opacity:1;transform:none;filter:drop-shadow(0 18px 22px rgba(0,0,0,.18))}}
@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){.page{padding:0}.hero-red-stripe{left:43%;width:14%;height:34.5%}.artboard{width:100vw}.top-nav{top:4.4%}.top-nav-left{left:6.5%;gap:4vw}.top-nav-right{right:6.5%;gap:4vw}.top-nav a,.top-nav button{font-size:7px;letter-spacing:.09em}.top-brand{top:4.3%}.hero-copy-right p{display:none}.hero-copy-left{border-left-width:2px}.services-kicker{font-size:7px;right:7.2%}.cta-actions{gap:6px}.cta-primary,.cta-instagram{font-size:7px;padding:.8em 1em}.cta-instagram span{display:none}.portfolio-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.modal-panel{padding:2rem 1.1rem}.modal-panel h2{font-size:48px}.thumb-button::after{width:50px;height:50px;font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

.photo-empty{grid-column:1/-1;margin:2rem 0;padding:3rem 1rem;text-align:center;border:1px solid rgba(0,0,0,.18);font:700 clamp(14px,1.5vw,20px)/1.3 'Montserrat',sans-serif;letter-spacing:.08em;color:#777}
