/* ============================================================
   DELMARVA DRONE SERVICES — production stylesheet
   Self-contained. Coastal-night palette, aviation typography.
   ============================================================ */

/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --navy-900:#06090F; --navy-800:#0A0F1E; --navy-700:#0d1628;
  --navy-600:#111827; --navy-500:#1B2B4B;
  --blue-500:#4A90D9; --amber-500:#F5A623;
  --sand-100:#E8E4D9; --slate-400:#8A9BB5;

  --bg:var(--navy-800); --surface:var(--navy-600); --surface-2:var(--navy-500);
  --text:var(--sand-100); --text-muted:var(--slate-400);
  --accent:var(--blue-500); --amber:var(--amber-500);
  --border:rgba(74,144,217,0.18); --border-strong:rgba(74,144,217,0.35);
  --border-faint:rgba(74,144,217,0.08);

  --ff-display:'Bebas Neue',sans-serif;
  --ff-body:'Inter',system-ui,sans-serif;
  --ff-mono:'Space Mono',ui-monospace,monospace;

  --nav-h:72px; --max-w:1200px;
  --gutter:clamp(1rem,5vw,2.5rem);
  --section-pad:clamp(4rem,8vw,7rem);
}

/* ─── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--ff-body);background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{cursor:pointer;border:none;background:none;font:inherit;}

/* ─── UTILITIES ──────────────────────────────────────────── */
.container{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter);}
.mono{font-family:var(--ff-mono);font-size:0.75rem;letter-spacing:0.08em;}
.section{padding-block:var(--section-pad);}
.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:0.15em;font-size:0.72rem;font-family:var(--ff-mono);margin-bottom:0.75rem;}
.section-header{margin-bottom:3rem;}
.section-header h2{font-family:var(--ff-display);font-size:clamp(2.5rem,5vw,4rem);letter-spacing:0.04em;line-height:1;}

/* ─── BUTTONS ────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.75rem;font-family:var(--ff-mono);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;transition:all 0.2s ease;font-weight:700;}
.btn-primary{background:var(--accent);color:var(--bg);}
.btn-primary:hover{background:var(--amber);transform:translateY(-1px);}
.btn-ghost{border:1px solid var(--border);color:var(--text);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-lg{padding:1rem 2.25rem;font-size:0.85rem;}
.btn-full{width:100%;justify-content:center;}

/* ─── NAV ────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);background:rgba(10,15,30,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background 0.3s;}
.nav-logo{display:flex;align-items:center;gap:0.6rem;font-family:var(--ff-mono);font-size:0.7rem;font-weight:700;letter-spacing:0.12em;color:var(--text);}
.logo-mark{color:var(--accent);font-size:1rem;}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{font-family:var(--ff-mono);font-size:0.72rem;letter-spacing:0.08em;color:var(--text-muted);transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--text);}
.nav-cta{padding:0.5rem 1.25rem;background:var(--accent);color:var(--bg)!important;border-radius:2px;font-weight:700;}
.nav-cta:hover,.nav-cta.active{background:var(--amber)!important;color:var(--bg)!important;}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:4px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);transition:all 0.2s;}

/* ─── HERO ───────────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding-top:var(--nav-h);}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(10,15,30,0.55) 0%,rgba(10,15,30,0.78) 55%,var(--bg) 100%),url('images/sunset-coastal.jpg');background-size:cover;background-position:center 35%;}
.hero-haze{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(27,43,75,0.5) 0%,transparent 70%);}
.horizon-line{position:absolute;left:0;right:0;top:62%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(245,166,35,0.15) 10%,rgba(245,166,35,0.6) 40%,rgba(245,166,35,0.6) 60%,rgba(245,166,35,0.15) 90%,transparent 100%);z-index:1;}
.hero-content{position:relative;z-index:2;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter);padding-block:5rem 8rem;width:100%;}
.hero-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:0.15em;font-size:0.72rem;font-family:var(--ff-mono);margin-bottom:1.25rem;}
.hero-headline{font-family:var(--ff-display);font-size:clamp(4rem,12vw,10rem);line-height:0.92;letter-spacing:0.04em;margin-bottom:1.5rem;color:var(--text);}
.bracket-left,.bracket-right{color:var(--accent);display:inline-block;animation:bracket-pulse 3s ease-in-out infinite;}
.bracket-right{animation-delay:1.5s;}
@keyframes bracket-pulse{0%,100%{opacity:0.4;}50%{opacity:0.9;}}
.hero-sub{max-width:580px;font-size:1.05rem;color:var(--text);text-shadow:0 1px 12px rgba(10,15,30,0.6);line-height:1.7;margin-bottom:2.5rem;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:4rem;}
.hero-stats{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;gap:0.25rem;}
.stat-num{font-family:var(--ff-display);font-size:1.35rem;letter-spacing:0.06em;color:var(--text);}
.stat-label{color:var(--text-muted);font-size:0.65rem;font-family:var(--ff-mono);}
.stat-divider{width:1px;height:40px;background:var(--border);}
.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.75rem;color:var(--text-muted);font-size:0.65rem;letter-spacing:0.15em;font-family:var(--ff-mono);z-index:2;}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--text-muted),transparent);animation:scroll-drop 2s ease-in-out infinite;}
@keyframes scroll-drop{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform:scaleY(1);transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* ─── SERVICES ───────────────────────────────────────────── */
.services{background:var(--surface);}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5px;background:var(--border);border:1px solid var(--border);}
.service-card{background:var(--surface);padding:2.5rem;display:flex;flex-direction:column;gap:1rem;transition:background 0.2s;}
.service-card:hover{background:var(--surface-2);}
.service-icon{font-size:1.5rem;color:var(--accent);line-height:1;}
.service-card h3{font-family:var(--ff-display);font-size:1.5rem;letter-spacing:0.04em;}
.service-card p{color:var(--text-muted);font-size:0.92rem;line-height:1.7;}
.service-list{display:flex;flex-direction:column;gap:0.4rem;flex:1;}
.service-list li{font-size:0.82rem;color:var(--text-muted);padding-left:1rem;position:relative;}
.service-list li::before{content:'—';position:absolute;left:0;color:var(--accent);}
.service-link{font-family:var(--ff-mono);font-size:0.72rem;letter-spacing:0.08em;color:var(--accent);margin-top:auto;transition:color 0.2s;}
.service-link:hover{color:var(--amber);}

/* ─── WHY US ─────────────────────────────────────────────── */
.why-us{background:var(--bg);}
.why-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:start;}
.why-text h2{font-family:var(--ff-display);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1;letter-spacing:0.04em;margin-bottom:1.25rem;}
.why-body{color:var(--text-muted);line-height:1.75;margin-bottom:2.5rem;font-size:0.98rem;}
.why-pillars{display:flex;flex-direction:column;gap:1.75rem;}
.pillar{display:flex;gap:1.25rem;align-items:flex-start;padding-bottom:1.75rem;border-bottom:1px solid var(--border);}
.pillar:last-child{border-bottom:none;padding-bottom:0;}
.pillar-icon{color:var(--accent);font-size:0.85rem;margin-top:0.2rem;flex-shrink:0;}
.pillar h4{font-family:var(--ff-mono);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text);margin-bottom:0.4rem;}
.pillar p{color:var(--text-muted);font-size:0.88rem;line-height:1.6;}

/* ─── COVERAGE ───────────────────────────────────────────── */
.coverage{background:var(--surface);}
.coverage-sub{color:var(--text-muted);max-width:600px;margin-bottom:3rem;line-height:1.7;}
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem;}
.coverage-region{padding:2rem;border:1px solid var(--border);}
.coverage-region h4{font-family:var(--ff-display);font-size:1.35rem;letter-spacing:0.04em;color:var(--accent);margin-bottom:1rem;}
.coverage-region li{font-size:0.88rem;color:var(--text-muted);padding-block:0.3rem;border-bottom:1px solid var(--border-faint);}
.coverage-region li:last-child{border-bottom:none;}
.coverage-region em{color:var(--text-muted);font-style:italic;font-size:0.8rem;}
.coverage-note{color:var(--text-muted);font-size:0.72rem;letter-spacing:0.06em;border-left:2px solid var(--accent);padding-left:1rem;font-family:var(--ff-mono);}

/* ─── CTA BAND ───────────────────────────────────────────── */
.cta-band{background:var(--surface-2);padding-block:5rem;text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.cta-band h2{font-family:var(--ff-display);font-size:clamp(2rem,4vw,3.5rem);letter-spacing:0.04em;margin-bottom:1rem;}
.cta-band p{color:var(--text-muted);margin-bottom:2rem;font-size:1rem;}

/* ─── FOOTER ─────────────────────────────────────────────── */
.footer{background:var(--navy-900);padding-top:4rem;border-top:1px solid var(--border);}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--border);}
.footer-brand .nav-logo{margin-bottom:1rem;display:inline-flex;}
.footer-brand p{color:var(--text-muted);font-size:0.85rem;line-height:1.6;max-width:280px;}
.footer-links h5,.footer-contact h5{font-family:var(--ff-mono);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;}
.footer-links ul{display:flex;flex-direction:column;gap:0.6rem;}
.footer-links a{color:var(--text-muted);font-size:0.88rem;transition:color 0.2s;}
.footer-links a:hover{color:var(--accent);}
.footer-contact p{color:var(--text-muted);font-size:0.88rem;margin-bottom:0.4rem;}
.footer-contact a{color:var(--accent);}
.footer-contact a:hover{color:var(--amber);}
.footer-bottom{padding-block:1.5rem;text-align:center;color:var(--text-muted);font-size:0.72rem;letter-spacing:0.06em;font-family:var(--ff-mono);}

/* ─── PAGE HERO (interior) ───────────────────────────────── */
.page-hero{position:relative;padding-top:var(--nav-h);background:linear-gradient(180deg,#0d1628 0%,var(--bg) 100%);overflow:hidden;}
.page-hero--sm{padding-block:calc(var(--nav-h) + 3rem) 4rem;}
.page-hero .horizon-line{top:85%;}
.page-hero .container{position:relative;z-index:2;}
.page-hero h1{font-family:var(--ff-display);font-size:clamp(3rem,8vw,6rem);letter-spacing:0.04em;line-height:1;margin-bottom:1.25rem;}
.page-sub{color:var(--text-muted);max-width:560px;font-size:0.98rem;line-height:1.7;}

/* ─── GALLERY ────────────────────────────────────────────── */
.gallery-filters{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.filter-btn{font-family:var(--ff-mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.5rem 1rem;border:1px solid var(--border);color:var(--text-muted);border-radius:2px;transition:all 0.2s;}
.filter-btn:hover{border-color:var(--accent);color:var(--accent);}
.filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg);}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5px;background:var(--border);border:1px solid var(--border);margin-bottom:3rem;}
.gallery-item{background:var(--surface);aspect-ratio:4/3;position:relative;overflow:hidden;cursor:pointer;}
.gallery-item--wide{grid-column:span 2;aspect-ratio:16/9;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);}
.gallery-item:hover img{transform:scale(1.04);}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(to top,rgba(10,15,30,0.95),transparent);transform:translateY(100%);transition:transform 0.3s;}
.gallery-item:hover .gallery-caption{transform:translateY(0);}
.caption-tag{color:var(--accent);font-family:var(--ff-mono);font-size:0.65rem;letter-spacing:0.12em;display:block;margin-bottom:0.25rem;}
.gallery-caption p{font-size:0.85rem;color:var(--text);}
.gallery-note{text-align:center;color:var(--text-muted);font-size:0.78rem;letter-spacing:0.04em;}
.gallery-note a{color:var(--accent);}
.gallery-item.hidden{display:none;}

/* ─── CONTACT ────────────────────────────────────────────── */
.contact-layout{display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:start;}
.contact-form{display:flex;flex-direction:column;gap:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.form-group{display:flex;flex-direction:column;gap:0.4rem;}
.form-group label{font-family:var(--ff-mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);}
.form-group input,.form-group select,.form-group textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:0.75rem 1rem;font-family:var(--ff-body);font-size:0.92rem;border-radius:2px;transition:border-color 0.2s;width:100%;}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:0.5;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234A90D9' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;}
.form-group select option{background:var(--surface);}
.form-check{flex-direction:row;align-items:center;gap:0.75rem;}
.form-check input[type="checkbox"]{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--accent);}
.form-check label{text-transform:none;letter-spacing:0;font-family:var(--ff-body);font-size:0.85rem;color:var(--text-muted);}
.form-note{color:var(--text-muted);font-size:0.68rem;letter-spacing:0.04em;text-align:center;font-family:var(--ff-mono);}
.form-note a{color:var(--accent);}
.form-success{text-align:center;padding:4rem 2rem;border:1px solid var(--border);}
.success-icon{font-size:2rem;color:var(--accent);margin-bottom:1rem;}
.form-success h3{font-family:var(--ff-display);font-size:2rem;letter-spacing:0.04em;margin-bottom:0.75rem;}
.form-success p{color:var(--text-muted);line-height:1.7;}
.contact-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:calc(var(--nav-h) + 2rem);}
.sidebar-card{background:var(--surface);border:1px solid var(--border);padding:2rem;}
.sidebar-card--accent{border-color:var(--border-strong);background:linear-gradient(135deg,var(--surface) 0%,rgba(27,43,75,0.6) 100%);}
.sidebar-card h4{font-family:var(--ff-display);font-size:1.25rem;letter-spacing:0.04em;margin-bottom:1.25rem;}
.sidebar-list{display:flex;flex-direction:column;gap:1.25rem;}
.sidebar-list li{border-bottom:1px solid var(--border);padding-bottom:1.25rem;}
.sidebar-list li:last-child{border-bottom:none;padding-bottom:0;}
.sidebar-label{display:block;color:var(--accent);font-family:var(--ff-mono);font-size:0.65rem;letter-spacing:0.12em;margin-bottom:0.35rem;}
.sidebar-list p{color:var(--text-muted);font-size:0.82rem;line-height:1.6;}
.sidebar-card--accent p{color:var(--text-muted);font-size:0.88rem;margin-bottom:1rem;}
.sidebar-email{display:block;font-family:var(--ff-mono);font-size:0.78rem;color:var(--accent);word-break:break-all;padding:0.75rem 1rem;border:1px solid var(--border);transition:border-color 0.2s;}
.sidebar-email:hover{border-color:var(--accent);}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width:900px){
  .why-inner,.contact-layout{grid-template-columns:1fr;}
  .contact-sidebar{position:static;}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1 / -1;}
  .gallery-item--wide{grid-column:span 1;aspect-ratio:4/3;}
}
@media (max-width:640px){
  .nav-links{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(10,15,30,0.97);flex-direction:column;padding:2rem;gap:1.5rem;border-bottom:1px solid var(--border);}
  .nav-links.open{display:flex;}
  .nav-links a{font-size:0.85rem;}
  .nav-toggle{display:flex;}
  .hero-headline{font-size:clamp(3rem,16vw,6rem);}
  .hero-stats{gap:1rem;}
  .stat-divider{display:none;}
  .form-row{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;background:none;border:none;gap:1rem;}
  .gallery-item{border:1px solid var(--border);}
  .gallery-caption{transform:translateY(0);}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}
}
