*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg-warm:#f5f3ef;--bg-cream:#f0ece6;--bg-light:#faf8f5;--bg-dark:#1c1a17;--bg-mid:#2a2724;
  --ink:#1c1a17;--ink-light:#3a3632;--muted:#7a7168;--stone:#b5aa9a;--warm-border:rgba(181,170,154,0.25);
  --accent:#b8956a;--accent-soft:rgba(184,149,106,0.12);--accent-glow:rgba(184,149,106,0.06);
  --white:#fdfbf8;--glass:rgba(253,251,248,0.72);--glass-border:rgba(255,255,255,0.18);
  --glass-dark:rgba(28,26,23,0.65);--glass-dark-border:rgba(255,255,255,0.06);
  --shadow-soft:0 4px 24px rgba(28,26,23,0.06);--shadow-lifted:0 8px 40px rgba(28,26,23,0.10);
  --shadow-inset:inset 0 1px 3px rgba(28,26,23,0.06);
  --radius:20px;--radius-sm:12px;--radius-xs:8px;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --max-w:1280px;
  --section-v:clamp(80px,12vw,160px);
  --section-h:clamp(24px,5vw,60px);
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Maven Pro',sans-serif;color:var(--ink);background:var(--bg-warm);line-height:1.7;font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit}
.jost{font-family:'Jost',sans-serif;font-weight:600}
.vollkorn{font-family:'Vollkorn',serif;font-weight:400;font-style:italic}

.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .5s var(--ease),background .4s,box-shadow .4s}
header.hidden{transform:translateY(-100%)}
header.scrolled{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--warm-border)}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:18px var(--section-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.header-logo img{height:28px;width:auto}
.header-nav{display:flex;gap:32px}
.header-nav a{font-size:.82rem;font-weight:500;letter-spacing:.06em;color:var(--muted);transition:color .3s}
.header-nav a:hover{color:var(--ink)}
.header-cta{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:11px 28px;background:var(--ink);color:var(--white);border-radius:var(--radius-xs);transition:background .35s,transform .3s,box-shadow .3s;
  background:linear-gradient(to bottom,#2a2724,var(--ink));box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,0.06)}
.header-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-lifted),inset 0 1px 0 rgba(255,255,255,0.08)}
.mobile-toggle{display:none;background:none;border:none;width:28px;height:20px;flex-direction:column;justify-content:space-between}
.mobile-toggle span{display:block;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--bg-cream) 0%,var(--bg-warm) 40%,#e8e2d8 70%,var(--bg-cream) 100%)}
.hero-bg-pattern{position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 80%,var(--accent-glow) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(184,149,106,0.04) 0,transparent 40%),
    repeating-linear-gradient(45deg,transparent,transparent 80px,rgba(181,170,154,0.04) 80px,rgba(181,170,154,0.04) 81px);
  opacity:.7}
.hero .hero-content,.hero .hero-image-wrap{position:relative;z-index:1}
.hero{padding:0 var(--section-h)}
.hero>.hero-content,.hero>.hero-image-wrap{max-width:var(--max-w);margin:0 auto}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,64px);align-items:center;padding-top:120px;padding-bottom:80px}
.hero-overline{display:block;font-family:'Jost',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.hero-headline{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.1;margin-bottom:28px}
.hero-headline .jost{display:block}
.hero-headline .vollkorn{display:block}
.hero-sub{font-size:clamp(.95rem,1.15vw,1.08rem);color:var(--muted);max-width:440px;margin-bottom:40px;line-height:1.8}
.btn-primary{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:16px 36px;
  background:linear-gradient(to bottom,#2e2a24,var(--ink));color:var(--white);border:none;border-radius:var(--radius-xs);
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,0.05);transition:transform .35s var(--ease),box-shadow .35s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lifted),inset 0 1px 0 rgba(255,255,255,0.08)}
.hero-image-wrap{position:relative}
.hero-image-wrap figure{max-width:800px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lifted);position:relative}
.hero-image-wrap img{width:100%;height:auto;transform:scale(1.02);transition:transform 6s var(--ease)}
.hero-image-wrap:hover img{transform:scale(1)}
.hero-image-wrap figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(to top,rgba(28,26,23,.6),transparent);color:rgba(255,255,255,.7);font-size:.72rem;letter-spacing:.03em}

/* USP */
.usp{padding:var(--section-v) var(--section-h);background:var(--bg-light)}
.usp-inner{max-width:var(--max-w);margin:0 auto}
.section-headline{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:clamp(36px,5vw,56px);max-width:560px}
.section-headline span {line-height:1}
.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.usp-card{padding:clamp(24px,3vw,36px);border-radius:var(--radius);
  background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,0.4);
  transition:transform .4s var(--ease),box-shadow .4s}
.usp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lifted),inset 0 1px 0 rgba(255,255,255,0.5)}
.usp-num{font-family:'Jost',sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.15em;color:var(--accent);display:block;margin-bottom:12px}
.usp-card p{font-size:.92rem;color:var(--ink-light);line-height:1.7}

/* LOCAL CONTEXT */
.local-context{padding:var(--section-v) var(--section-h);position:relative;overflow:hidden;background:var(--bg-dark);color:var(--bg-cream)}
.local-anim-bg{position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 50% at 30% 60%,rgba(184,149,106,0.07),transparent),radial-gradient(ellipse 40% 60% at 80% 30%,rgba(184,149,106,0.04),transparent);
  animation:localShift 20s ease-in-out infinite alternate}
@keyframes localShift{0%{opacity:.6;transform:scale(1)}100%{opacity:1;transform:scale(1.05)}}
.local-inner{max-width:720px;margin:0 auto;position:relative;z-index:1;text-align:center}
.local-context h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:28px}
.local-context p{color:var(--stone);font-size:clamp(.92rem,1.1vw,1.02rem);line-height:1.9;margin:0 auto;max-width:600px}

/* GALLERY */
.gallery{padding:var(--section-v) 0;background:var(--bg-cream)}
.gallery-header{text-align:center;padding:0 var(--section-h);margin-bottom:clamp(40px,5vw,64px)}
.gallery-header h2{font-size:clamp(2rem,4vw,3.2rem)}
.gallery-masonry{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 8px;width:100vw}
.gallery-col{display:flex;flex-direction:column;gap:8px}
.gallery-col-2{margin-top:40px}
.gallery-col-4{margin-top:20px}
.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-xs);cursor:pointer}
.gallery-item img{width:100%;height:auto;transition:transform .8s var(--ease),filter .6s;filter:brightness(.97)}
.gallery-item:hover img{transform:scale(1.04);filter:brightness(1.02)}
.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(to top,rgba(28,26,23,.55),transparent);color:rgba(255,255,255,.75);font-size:.68rem;letter-spacing:.02em;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.gallery-item:hover figcaption{opacity:1;transform:translateY(0)}
figcaption {display:none!important;}

/* YOUTUBE */
.youtube-section{padding:var(--section-v) var(--section-h);position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--bg-dark) 0%,#252220 50%,var(--bg-dark) 100%)}
.youtube-bg-layer{position:absolute;inset:0;
  background:repeating-conic-gradient(rgba(184,149,106,0.02) 0% 25%,transparent 25% 50%) 0 0/60px 60px;opacity:.5}
.youtube-inner{max-width:var(--max-w);margin:0 auto;position:relative;z-index:1;text-align:center}
.youtube-section h2{color:var(--bg-cream);font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:clamp(32px,4vw,52px)}
.youtube-embed-wrap{position:relative;width:100%;max-width:900px;margin:0 auto;aspect-ratio:16 /9;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lifted),0 0 80px rgba(184,149,106,0.08)}
.youtube-embed-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}

/* COMBINED MEDIA */
.combined-media{padding:var(--section-v) var(--section-h);background:var(--bg-light)}
.combined-media-inner{max-width:var(--max-w);margin:0 auto}
.combined-media h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:clamp(36px,5vw,56px);text-align:center}
.media-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,32px);align-items:start}
.before-after-wrap,.timelapse-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);background:var(--bg-dark)}
.ba-slider{position:relative;width:100%;padding-bottom:66.667%;overflow:hidden;cursor:col-resize}
.ba-after,.ba-before{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ba-after{z-index:1}
.ba-before-clip{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;clip-path:inset(0 50% 0 0)}
.ba-before{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateX(-50%);pointer-events:none}
.ba-handle-line{width:2px;flex:1;background:rgba(255,255,255,.7);border-radius:1px}
.ba-handle-knob{width:40px;height:40px;border-radius:50%;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 2px 12px rgba(0,0,0,.2);flex-shrink:0}
.ba-label{position:absolute;bottom:16px;z-index:4;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);
  padding:5px 12px;border-radius:var(--radius-xs);background:rgba(28,26,23,.45);backdrop-filter:blur(6px)}
.ba-label-before{left:16px}
.ba-label-after{right:16px}
.timelapse-wrap{aspect-ratio:3/2}
.timelapse-wrap img{width:100%;height:100%;object-fit:cover}

/* PROBLEM SOLUTION */
.problem-solution{padding:var(--section-v) var(--section-h);background:var(--bg-warm);position:relative;overflow:hidden}
.ps-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.ps-deco{width:clamp(80px,12vw,140px);color:var(--stone);opacity:.6}
.ps-deco svg{width:100%;height:auto}
.ps-content h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:24px}
.ps-content p{color:var(--muted);line-height:1.9;max-width:640px;font-size:clamp(.92rem,1.1vw,1.02rem)}

/* BENEFITS */
.benefits{padding:var(--section-v) var(--section-h);background:var(--bg-dark);color:var(--bg-cream)}
.benefits-inner{max-width:var(--max-w);margin:0 auto}
.benefits h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:clamp(40px,5vw,64px);text-align:center;color:var(--bg-cream)}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.benefit-card{padding:clamp(28px,3vw,40px);border-radius:var(--radius);
  background:var(--glass-dark);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid var(--glass-dark-border);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 4px 20px rgba(0,0,0,0.15);
  transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.benefit-card:hover{transform:translateY(-4px);border-color:rgba(184,149,106,0.15);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 8px 32px rgba(0,0,0,0.2)}
.benefit-icon{width:48px;height:48px;margin-bottom:20px;color:var(--accent)}
.benefit-card h3{font-family:'Jost',sans-serif;font-weight:500;font-size:1.1rem;margin-bottom:12px;color:var(--bg-cream)}
.benefit-card p{font-size:.88rem;color:var(--stone);line-height:1.75}
#googleReviewsBlock {margin-bottom:25px;}

/* FEATURES */
.features{padding:var(--section-v) var(--section-h);background:var(--bg-cream)}
.features-inner{max-width:800px;margin:0 auto}
.features h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:clamp(36px,5vw,52px)}
.features-list{display:flex;flex-direction:column}
.feature-row{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--warm-border)}
.feature-row:first-child{border-top:1px solid var(--warm-border)}
.feature-marker{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;
  box-shadow:0 0 0 3px var(--accent-soft)}
.feature-row p{font-size:.93rem;color:var(--ink-light)}

/* SOCIAL PROOF */
.social-proof{padding:var(--section-v) var(--section-h);background:var(--bg-light);text-align:center}
.sp-inner{max-width:var(--max-w);margin:0 auto}
.social-proof h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:32px}
.sp-fallback{color:var(--muted);font-size:.93rem;margin-bottom:28px}
.btn-secondary{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:13px 32px;border:1px solid var(--ink);color:var(--ink);border-radius:var(--radius-xs);transition:background .35s,color .35s,transform .3s}
.btn-secondary:hover{background:var(--ink);color:var(--white);transform:translateY(-1px)}

/* ABOUT */
.about{padding:var(--section-v) var(--section-h);background:var(--bg-warm)}
.about-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:.4fr .6fr;gap:clamp(32px,5vw,80px);align-items:center}
.about-image-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lifted);max-width:320px}
.about-image-wrap img{width:100%;height:auto;transition:transform 4s var(--ease)}
.about-image-wrap:hover img{transform:scale(1.03)}
.about h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:24px}
.about-content p{color:var(--muted);line-height:1.9;margin-bottom:16px;font-size:clamp(.92rem,1.1vw,1.02rem)}
.about-charm{font-family:'Vollkorn',serif;font-style:italic;color:var(--accent)!important;font-size:clamp(.95rem,1.1vw,1.05rem)!important}

/* DRONE */
.drone{padding:var(--section-v) var(--section-h);background:var(--bg-dark);color:var(--bg-cream)}
.drone-inner{max-width:var(--max-w);margin:0 auto}
.drone-text{max-width:600px;margin-bottom:clamp(32px,4vw,48px)}
.drone h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:20px;color:var(--bg-cream)}
.drone-text p{color:var(--stone);line-height:1.85}
.drone-carousel-wrap{position:relative}
.drone-carousel{overflow:hidden;border-radius:var(--radius)}
.drone-track{display:flex;transition:transform .6s var(--ease)}
.drone-slide{flex:0 0 100%;max-width:400px;padding:0 6px}
.drone-slide img{width:100%;height:auto;border-radius:var(--radius-sm);cursor:pointer;transition:transform .5s var(--ease);aspect-ratio:3/2;object-fit:cover}
.drone-slide img:hover{transform:scale(1.02)}
.drone-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}
.drone-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--glass-dark-border);background:var(--glass-dark);backdrop-filter:blur(8px);color:var(--stone);display:flex;align-items:center;justify-content:center;transition:border-color .3s,color .3s}
.drone-btn:hover{border-color:var(--accent);color:var(--accent)}
.drone-dots{display:flex;gap:8px}
.drone-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);border:none;padding:0;transition:background .3s,transform .3s}
.drone-dot.active{background:var(--accent);transform:scale(1.3)}

/* FAQ */
.faq{padding:var(--section-v) var(--section-h);background:var(--bg-cream)}
.faq-inner{max-width:780px;margin:0 auto}
.faq h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:clamp(40px,5vw,56px);text-align:center}
.faq-list{display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--warm-border)}
.faq-question{width:100%;background:none;border:none;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;
  font-family:'Jost',sans-serif;font-size:clamp(.95rem,1.2vw,1.1rem);font-weight:500;color:var(--ink);transition:color .3s}
.faq-question:hover{color:var(--accent)}
.faq-icon{width:18px;height:18px;position:relative;flex-shrink:0}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;background:var(--ink);transition:transform .4s var(--ease),background .3s}
.faq-icon::before{width:18px;height:1.5px;top:50%;left:0;transform:translateY(-50%)}
.faq-icon::after{width:1.5px;height:18px;top:0;left:50%;transform:translateX(-50%)}
.faq-item.open .faq-icon::after{transform:translateX(-50%) scaleY(0)}
.faq-question:hover .faq-icon::before,.faq-question:hover .faq-icon::after{background:var(--accent)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-answer-inner{padding:0 0 22px;color:var(--muted);font-size:.9rem;line-height:1.85;max-width:620px}

/* CTA */
.cta-section{padding:var(--section-v) var(--section-h);position:relative;overflow:hidden;text-align:center;
  background:linear-gradient(135deg,var(--bg-dark),#2a2724,var(--bg-dark));color:var(--bg-cream)}
.cta-anim-bg{position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 60% at 50% 50%,rgba(184,149,106,0.07),transparent);
  animation:ctaPulse 12s ease-in-out infinite alternate}
@keyframes ctaPulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.15);opacity:1}}
.cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto}
.cta-section h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:20px;color:var(--bg-cream)}
.cta-section p{color:var(--stone);margin-bottom:36px;line-height:1.85}
.cta-section .btn-primary{background:linear-gradient(to bottom,var(--bg-cream),#e8e2d8);color:var(--ink);
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.5)}
.cta-section .btn-primary:hover{box-shadow:var(--shadow-lifted),inset 0 1px 0 rgba(255,255,255,.6)}

/* CONTACT */
.contact{padding:var(--section-v) var(--section-h);position:relative;overflow:hidden;text-align:center;background:var(--bg-warm)}
.contact-anim-bg{position:absolute;inset:0;
  background:radial-gradient(circle at 70% 40%,var(--accent-glow),transparent 50%),radial-gradient(circle at 30% 70%,rgba(184,149,106,0.03),transparent 40%)}
.contact-inner{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto}
.contact h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:36px}
.contact-links{display:flex;flex-direction:column;align-items:center;gap:16px}
.contact-link{font-size:clamp(1rem,1.5vw,1.3rem);font-family:'Jost',sans-serif;font-weight:400;color:var(--ink);
  padding:12px 28px;border-radius:var(--radius-sm);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid var(--glass-border);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.contact-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lifted);border-color:var(--accent)}

/* FOOTER */
footer{padding:36px var(--section-h);background:var(--bg-dark)}
.footer-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-brand img{height:22px;width:auto;opacity:.6;filter:brightness(10)}
.footer-contact{display:flex;gap:24px}
.footer-contact a{font-size:.8rem;color:var(--stone);transition:color .3s}
.footer-contact a:hover{color:var(--bg-cream)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:.75rem;color:var(--muted);transition:color .3s}
.footer-legal a:hover{color:var(--stone)}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(28,26,23,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.lightbox.active{opacity:1;pointer-events:auto}
.lightbox-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--stone);transition:color .3s}
.lightbox-close:hover{color:var(--white)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--stone);padding:16px;transition:color .3s}
.lightbox-nav:hover{color:var(--white)}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}
.lightbox-img-wrap{max-width:90vw;max-height:85vh}
.lightbox-img-wrap img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:var(--radius-xs);opacity:0;transform:scale(.95);transition:opacity .4s,transform .4s}
.lightbox.active .lightbox-img-wrap img{opacity:1;transform:scale(1)}

/* RESPONSIVE */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;text-align:center;padding-top:140px}
  .hero-sub{margin-left:auto;margin-right:auto}
  .hero-image-wrap{max-width:600px;margin:0 auto}
  .gallery-masonry{grid-template-columns:repeat(3,1fr)}
  .gallery-col-4{display:none}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .media-duo{grid-template-columns:1fr}
  .ps-inner{grid-template-columns:1fr}
  .ps-deco{display:none}
  .about-inner{grid-template-columns:1fr;text-align:center}
  .about-image-wrap{margin:0 auto}
}
@media(max-width:768px){
  .header-nav{display:none}
  .mobile-toggle{display:flex}
  header.nav-open .header-nav{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--glass);backdrop-filter:blur(16px);flex-direction:column;padding:24px var(--section-h);gap:16px;border-bottom:1px solid var(--warm-border)}
  .gallery-masonry{grid-template-columns:repeat(2,1fr)}
  .gallery-col-3,.gallery-col-4{display:none}
  .gallery-col-2{margin-top:20px}
  .usp-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;text-align:center;gap:16px}
  .drone-slide{max-width:100%}
}
@media(max-width:480px){
  .gallery-masonry{grid-template-columns:1fr}
  .gallery-col-2{margin-top:0}
}
