/* 
  Luxe Security Inc. — Premium Design System v2
  Dark Luxury Theme · Full-Width · Cinematic Layout
*/

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
  --bg:            #020208;
  --bg-secondary:  #050510;
  --surface:       #080816;
  --surface-card:  #0d0d22;
  --surface-hover: #12122e;
  --border:        rgba(255,255,255,0.07);
  --border-hover:  rgba(197,168,128,0.3);
  --gold:          #c8ab7a;
  --gold-light:    #e0cba0;
  --gold-dark:     #9a7f55;
  --gold-glow:     rgba(200,171,122,0.18);
  --indigo:        #818cf8;
  --cyan:          #22d3ee;
  --purple:        #c084fc;
  --green:         #4ade80;
  --red-soft:      #f87171;
  --text-main:     #f1f5f9;
  --text-sub:      #cbd5e1;
  --text-muted:    #94a3b8;
  --text-dim:      #475569;
  --font-brand:    'Cinzel', serif;
  --font-display:  'Playfair Display', serif;
  --font-body:     'Outfit', sans-serif;
  --font-mono:     'JetBrains Mono', monospace;
  --container:     1200px;
  --radius-xs:     4px;
  --radius-sm:     8px;
  --radius-md:     16px;
  --radius-lg:     24px;
  --radius-xl:     36px;
  --radius-full:   9999px;
  --ease:          cubic-bezier(0.16,1,0.3,1);
  --transition:    all 0.4s var(--ease);
  --transition-sm: all 0.25s var(--ease);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body {
  background:var(--bg); color:var(--text-main);
  font-family:var(--font-body); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body::before {
  content:''; position:fixed; inset:0;
  background-image:
    linear-gradient(rgba(129,140,248,0.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(129,140,248,0.012) 1px,transparent 1px);
  background-size:64px 64px; pointer-events:none; z-index:0;
}
body::after {
  content:''; position:fixed; inset:0;
  background:
    radial-gradient(ellipse at 15% 10%,rgba(200,171,122,0.04) 0%,transparent 50%),
    radial-gradient(ellipse at 85% 90%,rgba(129,140,248,0.04) 0%,transparent 50%);
  pointer-events:none; z-index:0;
}
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.08); border-radius:var(--radius-full); border:2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background:var(--gold-dark); }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-display); font-weight:600; color:var(--text-main); letter-spacing:-0.01em; text-wrap:balance; }
p,li,blockquote { text-wrap:pretty; }
a { color:inherit; text-decoration:none; transition:var(--transition-sm); }
img { display:block; max-width:100%; }
.container { max-width:var(--container); margin:0 auto; padding:0 2rem; position:relative; z-index:10; }
.gold { color:var(--gold); }

/* BUTTONS */
.btn {
  display:inline-flex; align-items:center; gap:0.6rem;
  padding:0.875rem 2.25rem; border-radius:var(--radius-full);
  font-family:var(--font-body); font-size:0.95rem; font-weight:600;
  cursor:pointer; transition:var(--transition); border:1px solid transparent;
  white-space:nowrap;
}
.btn-primary {
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);
  color:#050510; box-shadow:0 4px 20px rgba(200,171,122,0.25);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 35px rgba(200,171,122,0.4); }
.btn-secondary {
  background:rgba(255,255,255,0.03); color:var(--text-sub);
  border-color:var(--border); backdrop-filter:blur(10px);
}
.btn-secondary:hover { background:rgba(200,171,122,0.06); border-color:var(--border-hover); color:var(--text-main); transform:translateY(-2px); }
.btn-ghost { background:transparent; border-color:var(--border); color:var(--text-muted); padding:0.65rem 1.5rem; font-size:0.875rem; }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.btn-dev {
  background:linear-gradient(135deg,var(--indigo) 0%,var(--cyan) 100%);
  color:#050510; font-weight:700; box-shadow:0 6px 24px rgba(129,140,248,0.25);
}
.btn-dev:hover { transform:translateY(-2px); box-shadow:0 10px 36px rgba(129,140,248,0.45); }

/* HEADER */
#site-header {
  position:fixed; top:1.25rem; left:50%; transform:translateX(-50%);
  z-index:1000; width:calc(100% - 3rem); max-width:var(--container); transition:var(--transition);
}
.header-inner {
  display:flex; align-items:center; justify-content:space-between;
  padding:0.875rem 2rem;
  background:rgba(2,2,8,0.6); backdrop-filter:blur(24px) saturate(200%);
  -webkit-backdrop-filter:blur(24px) saturate(200%);
  border:1px solid var(--border); border-radius:var(--radius-full); transition:var(--transition);
}
#site-header.scrolled { top:0.5rem; width:calc(100% - 1.5rem); }
#site-header.scrolled .header-inner {
  padding:0.625rem 1.75rem; background:rgba(2,2,8,0.9);
  box-shadow:0 12px 50px rgba(0,0,0,0.6);
}
.logo { display:flex; align-items:center; }
.logo img {
  height:36px; width:auto;
  filter:invert(1) brightness(0.85) sepia(0.3) hue-rotate(5deg) saturate(1.2);
  transition:var(--transition-sm);
}
.logo img:hover { filter:invert(1) brightness(1) sepia(0.5) hue-rotate(5deg) saturate(1.5); }
nav.desktop-nav { display:flex; align-items:center; gap:0.125rem; }
nav.desktop-nav a {
  font-size:0.875rem; font-weight:500; color:var(--text-muted);
  padding:0.5rem 0.875rem; border-radius:var(--radius-full); transition:var(--transition-sm);
}
nav.desktop-nav a:hover,nav.desktop-nav a.active { color:var(--text-main); background:rgba(255,255,255,0.05); }
.nav-cta {
  background:var(--gold) !important; color:#050510 !important;
  font-weight:700 !important; padding:0.5rem 1.25rem !important;
  margin-left:0.5rem; box-shadow:0 4px 16px var(--gold-glow);
}
.nav-cta:hover { background:var(--gold-light) !important; }
.menu-btn {
  display:none; align-items:center; justify-content:center;
  width:40px; height:40px; background:rgba(255,255,255,0.04);
  border:1px solid var(--border); border-radius:var(--radius-full);
  color:var(--text-main); cursor:pointer; transition:var(--transition-sm);
}
.mobile-nav {
  display:none; position:absolute; top:calc(100% + 0.75rem); left:0; right:0;
  background:rgba(5,5,16,0.97); backdrop-filter:blur(20px);
  border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:1.5rem; flex-direction:column; gap:0.375rem;
  box-shadow:0 24px 60px rgba(0,0,0,0.7);
}
.mobile-nav.open { display:flex; }
.mobile-nav a { padding:0.75rem 1rem; border-radius:var(--radius-sm); color:var(--text-muted); font-weight:500; }
.mobile-nav a:hover { color:var(--text-main); background:rgba(255,255,255,0.05); }
.mobile-nav .nav-cta { margin-top:0.5rem; background:var(--gold) !important; color:#050510 !important; text-align:center; border-radius:var(--radius-full) !important; }

/* HERO */
.hero {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:10rem 0 6rem; position:relative; overflow:hidden; text-align:center;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,rgba(200,171,122,0.07) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 50% 100%,rgba(129,140,248,0.05) 0%,transparent 70%);
  pointer-events:none; z-index:2;
}
.hero::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom,rgba(2,2,8,0.45) 0%,rgba(2,2,8,0.15) 40%,rgba(2,2,8,0.88) 100%);
  pointer-events:none; z-index:1;
}
.hero-bg-img { position:absolute; inset:0; object-fit:cover; width:100%; height:100%; opacity:0.2; z-index:0; }
.hero-content { position:relative; z-index:10; max-width:900px; margin:0 auto; }
.hero-badge {
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.4rem 1.25rem; background:rgba(200,171,122,0.08);
  border:1px solid rgba(200,171,122,0.2); border-radius:var(--radius-full);
  font-family:var(--font-mono); font-size:0.7rem; color:var(--gold);
  text-transform:uppercase; letter-spacing:0.15em; margin-bottom:2.5rem;
}
.badge-pulse { width:6px; height:6px; border-radius:50%; background:var(--green); animation:pulse-anim 2.2s ease-in-out infinite; }
@keyframes pulse-anim {
  0%,100% { transform:scale(0.9); box-shadow:0 0 0 0 rgba(74,222,128,0.5); }
  50% { transform:scale(1.1); box-shadow:0 0 0 6px rgba(74,222,128,0); }
}
.hero-title {
  font-family:var(--font-brand); font-size:clamp(3rem,7vw,6rem);
  font-weight:700; line-height:1.05; letter-spacing:0.03em;
  margin-bottom:0.75rem; color:var(--text-main);
}
.hero-title-sub {
  font-family:var(--font-display); font-size:clamp(1.5rem,3.5vw,2.75rem);
  font-weight:400; font-style:italic;
  background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 60%,var(--gold-dark) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  margin-bottom:2.5rem; display:block;
}
.hero-ticker {
  display:flex; align-items:center; justify-content:center; gap:0.75rem;
  font-family:var(--font-mono); font-size:0.75rem; color:var(--text-dim);
  letter-spacing:0.08em; margin-bottom:2rem; overflow:hidden; height:20px;
}
.ticker-item { opacity:0; transform:translateY(100%); transition:opacity 0.5s ease,transform 0.5s ease; white-space:nowrap; }
.ticker-item.active { opacity:1; transform:translateY(0); }
.hero-description {
  font-size:clamp(1rem,1.8vw,1.15rem); color:var(--text-muted);
  max-width:620px; margin:0 auto 3rem; line-height:1.8;
}
.hero-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:4rem; }
.hero-stats {
  display:flex; justify-content:center; gap:4rem;
  padding-top:3rem; border-top:1px solid var(--border); flex-wrap:wrap;
}
.stat-item { text-align:center; }
.stat-number { font-family:var(--font-brand); font-size:2.25rem; font-weight:700; color:var(--gold); display:block; letter-spacing:0.02em; }
.stat-label { font-family:var(--font-mono); font-size:0.7rem; color:var(--text-dim); text-transform:uppercase; letter-spacing:0.12em; display:block; margin-top:0.25rem; }
.scroll-indicator {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  z-index:10; display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  color:var(--text-dim); font-family:var(--font-mono); font-size:0.65rem;
  letter-spacing:0.1em; text-transform:uppercase;
}
.scroll-line { width:1px; height:48px; background:linear-gradient(to bottom,var(--gold),transparent); animation:scroll-line-anim 1.8s ease-in-out infinite; }
@keyframes scroll-line-anim { 0%{opacity:1;transform:scaleY(1) translateY(0);transform-origin:top;} 100%{opacity:0;transform:scaleY(0.1);transform-origin:top;} }

/* SECTION */
.section { padding:8rem 0; position:relative; }
.section-inner { position:relative; z-index:10; }
.section--tinted { background:var(--bg-secondary); }
.section--tinted::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(200,171,122,0.02) 0%,transparent 60%); pointer-events:none; }
.section-header { text-align:center; margin-bottom:5rem; max-width:700px; margin-left:auto; margin-right:auto; }
.section-eyebrow {
  display:inline-flex; align-items:center; gap:0.75rem;
  font-family:var(--font-mono); font-size:0.7rem; color:var(--gold);
  text-transform:uppercase; letter-spacing:0.2em; margin-bottom:1.25rem;
}
.section-eyebrow::before,.section-eyebrow::after { content:''; width:24px; height:1px; background:var(--gold-dark); opacity:0.6; }
.section-title { font-size:clamp(2rem,4vw,3rem); line-height:1.15; margin-bottom:1.25rem; font-weight:700; }
.section-title .accent {
  background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.section-lead { font-size:1.05rem; color:var(--text-muted); line-height:1.8; }
.divider { width:60px; height:1px; background:linear-gradient(to right,var(--gold),transparent); margin:1.5rem auto; }

/* ABOUT */
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.about-text .section-header { text-align:left; margin-left:0; margin-right:0; margin-bottom:2.5rem; }
.about-text .section-eyebrow::before { display:none; }
.about-text .section-eyebrow::after { width:32px; }
.about-body p { color:var(--text-muted); font-size:1rem; line-height:1.85; margin-bottom:1.5rem; }
.about-cta-link {
  display:inline-flex; align-items:center; gap:0.5rem;
  font-size:0.875rem; font-weight:600; color:var(--gold);
  margin-top:1.5rem; transition:var(--transition-sm); letter-spacing:0.03em;
}
.about-cta-link:hover { color:var(--gold-light); }
.about-cta-link svg { transition:transform 0.25s var(--ease); }
.about-cta-link:hover svg { transform:translateX(4px); }
.about-visual { display:flex; flex-direction:column; gap:1.5rem; }
.credential-card {
  background:var(--surface-card); border:1px solid var(--border);
  border-radius:var(--radius-md); padding:2rem 2.25rem;
  transition:var(--transition); position:relative; overflow:hidden;
}
.credential-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(to right,transparent,var(--gold),transparent);
  opacity:0; transition:var(--transition);
}
.credential-card:hover { border-color:var(--border-hover); transform:translateY(-2px); box-shadow:0 16px 40px rgba(0,0,0,0.4); }
.credential-card:hover::before { opacity:1; }
.credential-icon { font-size:1.75rem; margin-bottom:1rem; display:block; }
.credential-card h4 { font-family:var(--font-body); font-size:0.95rem; font-weight:700; color:var(--text-main); margin-bottom:0.4rem; }
.credential-card p { font-size:0.85rem; color:var(--text-dim); line-height:1.6; }
.credentials-row { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }

/* SERVICES */
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
.service-card { background:var(--surface-card); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:var(--transition); position:relative; }
.service-card:hover { border-color:var(--border-hover); transform:translateY(-4px); box-shadow:0 24px 60px rgba(0,0,0,0.5); }
.service-img-wrap { width:100%; height:240px; overflow:hidden; position:relative; }
.service-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.7s var(--ease); }
.service-card:hover .service-img-wrap img { transform:scale(1.06); }
.service-img-overlay { position:absolute; bottom:0; left:0; right:0; height:50%; background:linear-gradient(to top,var(--surface-card),transparent); }
.service-body { padding:2rem 2.25rem 2.5rem; position:relative; z-index:2; }
.service-num { font-family:var(--font-mono); font-size:0.7rem; color:var(--gold-dark); letter-spacing:0.15em; display:block; margin-bottom:0.75rem; opacity:0.8; }
.service-body h3 { font-size:1.5rem; color:var(--text-main); margin-bottom:0.875rem; font-weight:600; }
.service-body p { color:var(--text-muted); font-size:0.9rem; line-height:1.75; margin-bottom:1.5rem; }
.service-features { list-style:none; display:flex; flex-direction:column; gap:0.5rem; }
.service-features li { display:flex; align-items:flex-start; gap:0.75rem; font-size:0.875rem; color:var(--text-sub); line-height:1.5; }
.service-features li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--gold); flex-shrink:0; margin-top:0.5rem; box-shadow:0 0 6px var(--gold-glow); }

/* TESTIMONIALS */
.testimonials-wrap { max-width:900px; margin:0 auto; }
.testimonial-slider {
  background:var(--surface-card); border:1px solid var(--border);
  border-radius:var(--radius-xl); padding:4rem 5rem;
  position:relative; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.testimonial-slider::before {
  content:'"'; font-family:var(--font-display); font-size:12rem;
  color:rgba(200,171,122,0.06); position:absolute; top:-2rem; left:2rem;
  line-height:1; pointer-events:none; user-select:none;
}
.testimonial-slide { display:none; animation:slide-in 0.5s var(--ease) forwards; }
.testimonial-slide.active { display:block; }
@keyframes slide-in { from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);} }
.block-quote { font-family:var(--font-display); font-style:italic; font-size:clamp(1.1rem,2vw,1.3rem); line-height:1.75; color:var(--text-sub); margin-bottom:2.5rem; }
.testimonial-author { display:flex; align-items:center; gap:1rem; font-style:normal; }
.author-avatar {
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold-dark),var(--gold));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-brand); font-size:0.85rem; font-weight:700; color:#050510; flex-shrink:0;
}
.author-info strong { display:block; font-size:0.95rem; font-weight:700; color:var(--gold); }
.author-info span { font-size:0.825rem; color:var(--text-dim); }
.slider-controls { display:flex; align-items:center; gap:1.5rem; margin-top:3.5rem; }
.slider-arrow { width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,0.04); border:1px solid var(--border); color:var(--text-muted); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--transition-sm); }
.slider-arrow:hover { background:var(--gold-glow); border-color:var(--gold); color:var(--gold); transform:scale(1.08); }
.slider-dots { display:flex; gap:0.5rem; }
.slider-dot { width:6px; height:6px; border-radius:50%; background:var(--text-dim); cursor:pointer; transition:var(--transition-sm); }
.slider-dot.active { background:var(--gold); width:22px; border-radius:var(--radius-full); }

/* MISSION */
.mission-layout { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:start; }
.mission-text .section-header { text-align:left; margin-left:0; margin-right:0; }
.mission-text .section-eyebrow::before { display:none; }
.mission-text .section-eyebrow::after { width:32px; }
.mission-body p { color:var(--text-muted); font-size:0.975rem; line-height:1.85; margin-bottom:1.5rem; }
.mission-steps { list-style:none; display:flex; flex-direction:column; gap:1.25rem; }
.mission-step { display:flex; gap:1.25rem; align-items:flex-start; }
.step-num {
  font-family:var(--font-brand); font-size:0.85rem; font-weight:700; color:var(--gold);
  background:rgba(200,171,122,0.08); border:1px solid rgba(200,171,122,0.18);
  width:40px; height:40px; border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--transition-sm);
}
.mission-step:hover .step-num { background:rgba(200,171,122,0.16); border-color:var(--gold); }
.step-content strong { display:block; font-size:0.95rem; font-weight:700; color:var(--text-main); margin-bottom:0.35rem; }
.step-content p { font-size:0.875rem; color:var(--text-muted); line-height:1.6; margin:0; }
.quality-card { background:var(--surface-card); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,0.4); }
.quality-header { background:linear-gradient(135deg,rgba(200,171,122,0.12) 0%,rgba(200,171,122,0.04) 100%); border-bottom:1px solid var(--border); padding:2rem 2.5rem; }
.quality-header h3 { font-family:var(--font-brand); font-size:1.1rem; color:var(--gold); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:0.5rem; }
.quality-header p { font-size:0.875rem; color:var(--text-muted); }
.quality-metrics { padding:2rem 2.5rem; display:flex; flex-direction:column; gap:1.5rem; }
.metric-row { display:flex; flex-direction:column; gap:0.5rem; }
.metric-label { display:flex; justify-content:space-between; font-size:0.825rem; color:var(--text-muted); }
.metric-label span:last-child { color:var(--gold); font-weight:700; }
.metric-bar { height:3px; background:rgba(255,255,255,0.06); border-radius:var(--radius-full); overflow:hidden; }
.metric-fill { height:100%; border-radius:var(--radius-full); background:linear-gradient(to right,var(--gold-dark),var(--gold)); box-shadow:0 0 8px var(--gold-glow); transform-origin:left; transform:scaleX(0); }
.metric-fill.animated { animation:bar-fill 1.5s var(--ease) forwards; }
@keyframes bar-fill { to{transform:scaleX(1);} }
.quality-badge { display:flex; align-items:center; gap:0.75rem; padding:1.25rem 2.5rem; border-top:1px solid var(--border); background:rgba(74,222,128,0.04); }
.badge-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 8px rgba(74,222,128,0.5); flex-shrink:0; animation:pulse-anim 2s ease-in-out infinite; }
.quality-badge span { font-family:var(--font-mono); font-size:0.72rem; color:var(--green); letter-spacing:0.06em; }

/* FAQ */
.faq-grid { max-width:860px; margin:0 auto; }
.faq-accordion-group { display:flex; flex-direction:column; gap:0.875rem; }
.faq-item { background:var(--surface-card); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; transition:var(--transition); }
.faq-item:hover { border-color:rgba(200,171,122,0.15); }
.faq-item.active { border-color:rgba(200,171,122,0.3); box-shadow:0 8px 30px rgba(0,0,0,0.3); }
.faq-trigger { width:100%; padding:1.5rem 1.75rem; background:transparent; border:none; display:flex; justify-content:space-between; align-items:center; cursor:pointer; text-align:left; color:var(--text-main); font-family:var(--font-body); font-weight:600; font-size:1rem; gap:1.5rem; transition:color 0.25s; }
.faq-item.active .faq-trigger { color:var(--gold-light); }
.faq-icon { width:28px; height:28px; border-radius:50%; border:1px solid var(--border); background:rgba(255,255,255,0.04); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--gold); font-size:1rem; line-height:1; transition:var(--transition); }
.faq-item.active .faq-icon { transform:rotate(45deg); background:rgba(200,171,122,0.1); border-color:var(--gold); }
.faq-panel { max-height:0; overflow:hidden; transition:max-height 0.45s var(--ease),padding 0.3s ease; padding:0 1.75rem; }
.faq-panel p { color:var(--text-muted); font-size:0.925rem; line-height:1.75; padding-bottom:1.75rem; }

/* CONTACT */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.contact-info h3 { font-size:1.85rem; margin-bottom:1.25rem; }
.contact-info p { color:var(--text-muted); font-size:0.975rem; line-height:1.8; margin-bottom:2.5rem; }
.contact-details { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:2.5rem; }
.contact-detail { display:flex; align-items:center; gap:0.875rem; font-size:0.9rem; color:var(--text-muted); }
.contact-detail-icon { width:38px; height:38px; border-radius:var(--radius-sm); background:rgba(200,171,122,0.07); border:1px solid rgba(200,171,122,0.15); display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1rem; flex-shrink:0; }
#map-widget { height:240px; border-radius:var(--radius-md); border:1px solid var(--border); box-shadow:0 10px 30px rgba(0,0,0,0.4); margin-top:1.5rem; z-index:5; }
.map-caption { font-family:var(--font-mono); font-size:0.68rem; color:var(--text-dim); text-align:center; margin-top:0.75rem; letter-spacing:0.05em; }
.leaflet-container { background:var(--bg) !important; }
.leaflet-bar a { background-color:var(--surface-card) !important; color:var(--text-main) !important; border-bottom:1px solid var(--border) !important; }
.leaflet-bar a:hover { background-color:var(--surface-hover) !important; }
.contact-form-box { background:var(--surface-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2.75rem; box-shadow:0 16px 40px rgba(0,0,0,0.3); }
.form-row { margin-bottom:1.25rem; }
.field-label { display:block; font-size:0.8rem; font-weight:600; color:var(--text-dim); margin-bottom:0.5rem; text-transform:uppercase; letter-spacing:0.08em; }
.form-field-input { width:100%; padding:0.9rem 1.2rem; background:rgba(2,2,8,0.6); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-main); font-family:var(--font-body); font-size:0.925rem; transition:var(--transition); }
.form-field-input::placeholder { color:var(--text-dim); }
.form-field-input:focus { outline:none; border-color:var(--gold); background:rgba(2,2,8,0.9); box-shadow:0 0 0 3px rgba(200,171,122,0.08); }
.form-field-input.textarea { resize:vertical; min-height:120px; }
.submit-btn { width:100%; justify-content:center; margin-top:0.5rem; }

/* DEVBYONE */
.devbyone-section { padding:8rem 0; position:relative; overflow:hidden; background:var(--bg-secondary); }
.devbyone-section::before { content:''; position:absolute; top:-200px; left:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(129,140,248,0.05) 0%,transparent 70%); pointer-events:none; }
.devbyone-section::after { content:''; position:absolute; bottom:-200px; right:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(34,211,238,0.04) 0%,transparent 70%); pointer-events:none; }
.devbyone-inner { position:relative; z-index:10; }
.devbyone-layout { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.devbyone-text .section-header { text-align:left; margin-left:0; margin-right:0; margin-bottom:2rem; }
.devbyone-text .section-eyebrow { color:var(--cyan); }
.devbyone-text .section-eyebrow::before { display:none; }
.devbyone-text .section-eyebrow::after { background:var(--cyan); opacity:0.4; width:32px; }
.devbyone-text .section-title .accent { background:linear-gradient(135deg,var(--cyan) 0%,var(--indigo) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.devbyone-description p { color:var(--text-muted); font-size:0.975rem; line-height:1.85; margin-bottom:1.5rem; }
.philosophy-chips { display:flex; flex-wrap:wrap; gap:0.625rem; margin:2rem 0; }
.chip { display:inline-flex; align-items:center; gap:0.4rem; padding:0.375rem 0.875rem; background:rgba(129,140,248,0.07); border:1px solid rgba(129,140,248,0.15); border-radius:var(--radius-full); font-size:0.78rem; color:var(--indigo); font-weight:500; }
.chip::before { content:'✦'; font-size:0.55rem; }
.devbyone-cta { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.5rem; }
.devbyone-apps { display:flex; flex-direction:column; gap:1.5rem; }
.app-card { background:rgba(8,8,22,0.8); backdrop-filter:blur(16px); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2rem 2.25rem; transition:var(--transition); position:relative; overflow:hidden; }
.app-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; opacity:0; transition:opacity 0.3s; }
.app-card--slyp::before { background:linear-gradient(to right,transparent,var(--indigo),transparent); }
.app-card--sentinel::before { background:linear-gradient(to right,transparent,var(--red-soft),transparent); }
.app-card:hover { border-color:rgba(129,140,248,0.2); transform:translateY(-3px); box-shadow:0 20px 50px rgba(0,0,0,0.5); }
.app-card:hover::before { opacity:1; }
.app-card-header { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.app-icon { width:44px; height:44px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:1.25rem; flex-shrink:0; }
.app-icon--slyp { background:linear-gradient(135deg,rgba(129,140,248,0.15),rgba(34,211,238,0.15)); border:1px solid rgba(129,140,248,0.2); }
.app-icon--sentinel { background:linear-gradient(135deg,rgba(248,113,113,0.12),rgba(192,132,252,0.12)); border:1px solid rgba(248,113,113,0.18); }
.app-card h4 { font-family:var(--font-brand); font-size:1rem; letter-spacing:0.06em; color:var(--text-main); }
.app-card .app-platform { font-family:var(--font-mono); font-size:0.65rem; color:var(--text-dim); letter-spacing:0.1em; text-transform:uppercase; margin-top:0.15rem; }
.app-card p { font-size:0.875rem; color:var(--text-muted); line-height:1.65; }
.terminal-wrap { background:#04040c; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,0.5); margin-top:1.5rem; }
.term-bar { background:#080810; border-bottom:1px solid var(--border); padding:0.6rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.term-dots { display:flex; gap:0.35rem; }
.term-dot { width:10px; height:10px; border-radius:50%; }
.term-dot--red { background:#ff5f57; }
.term-dot--yellow { background:#febc2e; }
.term-dot--green { background:#28c840; }
.term-title { font-family:var(--font-mono); font-size:0.65rem; color:var(--text-dim); letter-spacing:0.05em; flex:1; text-align:center; }
.term-screen { background:#030309; padding:1.25rem; font-family:var(--font-mono); font-size:0.72rem; line-height:1.6; height:180px; overflow-y:auto; color:#a5b4fc; }
.console-line { margin-bottom:0.3rem; display:flex; gap:0.6rem; }
.line-time { color:var(--text-dim); flex-shrink:0; }
.line-content { word-break:break-all; }
.line-content.info { color:#e2e8f0; }
.line-content.success { color:var(--green); }
.line-content.warn { color:#fbbf24; }
.line-content.alert { color:var(--red-soft); }
.line-content.accent { color:var(--cyan); }

/* FOOTER */
.footer { background:#010106; border-top:1px solid var(--border); padding:4rem 0 2rem; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:4rem; margin-bottom:3.5rem; padding-bottom:3.5rem; border-bottom:1px solid var(--border); }
.footer-brand img { height:28px; width:auto; filter:invert(1) brightness(0.7) sepia(0.3) hue-rotate(5deg); margin-bottom:1.25rem; }
.footer-brand p { font-size:0.875rem; color:var(--text-dim); line-height:1.75; max-width:280px; }
.footer-col h4 { font-family:var(--font-mono); font-size:0.7rem; color:var(--text-dim); text-transform:uppercase; letter-spacing:0.15em; margin-bottom:1.25rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.7rem; }
.footer-col ul li a { font-size:0.875rem; color:var(--text-dim); transition:color 0.2s; }
.footer-col ul li a:hover { color:var(--gold); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; font-size:0.8rem; color:var(--text-dim); }
.footer-bottom a { color:var(--text-dim); transition:color 0.2s; }
.footer-bottom a:hover { color:var(--gold); }

/* REVEAL */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.9s var(--ease),transform 0.9s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-28px); transition:opacity 0.9s var(--ease),transform 0.9s var(--ease); }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(28px); transition:opacity 0.9s var(--ease),transform 0.9s var(--ease); }
.reveal-right.visible { opacity:1; transform:translateX(0); }
.delay-1 { transition-delay:0.1s; }
.delay-2 { transition-delay:0.2s; }
.delay-3 { transition-delay:0.3s; }
.delay-4 { transition-delay:0.45s; }
.delay-5 { transition-delay:0.6s; }

/* RESPONSIVE */
@media (max-width:1024px) {
  .about-layout,.mission-layout,.devbyone-layout,.contact-layout { grid-template-columns:1fr; gap:4rem; }
  .about-text .section-header,.mission-text .section-header,.devbyone-text .section-header { text-align:center; margin-left:auto; margin-right:auto; }
  .about-text .section-eyebrow::before,.mission-text .section-eyebrow::before,.devbyone-text .section-eyebrow::before { display:block; }
  .about-cta-link { display:flex; justify-content:center; }
  .devbyone-cta { justify-content:center; }
  .services-grid { grid-template-columns:1fr; }
  .testimonial-slider { padding:3rem; }
  .footer-top { grid-template-columns:1fr 1fr; gap:3rem; }
  .hero-stats { gap:2.5rem; }
}
@media (max-width:768px) {
  .container { padding:0 1.25rem; }
  #site-header { width:calc(100% - 1.5rem); }
  .desktop-nav { display:none; }
  .menu-btn { display:flex; }
  .section { padding:5rem 0; }
  .section-header { margin-bottom:3.5rem; }
  .hero { padding:8rem 0 5rem; }
  .hero-stats { gap:2rem; }
  .testimonial-slider { padding:2.25rem; }
  .testimonial-slider::before { display:none; }
  .credentials-row { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; text-align:center; }
}
@media (max-width:480px) {
  .hero-actions { flex-direction:column; align-items:center; }
  .hero-stats { flex-direction:column; gap:1.75rem; }
  .btn { padding:0.875rem 1.75rem; font-size:0.9rem; }
  .contact-form-box { padding:1.75rem; }
}
