*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#0A2463;
  --navy2:#1a3a7a;
  --accent:#2563eb;
  --glow:rgba(10,36,99,0.35);
  --text:#0f0f0f;
  --muted:#6b7280;
  --bg:#ffffff;
  --bg2:#f8f8f7;
  --border:rgba(0,0,0,0.09);
  --borderem:rgba(10,36,99,0.3);
  --r8:8px;--r12:12px;--r16:16px;
}
html{scroll-behavior:smooth;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:#000;overflow-x:hidden;transition:background 0.4s;}

/* ── LIGHT THEME ── */
body.light{background:#f5f6fa;}
body.light .hero{background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(77,124,254,0.10) 0%,transparent 70%);}
body.light nav{background:rgba(255,255,255,0.7);border-bottom:0.5px solid rgba(0,0,0,0.06);}
body.light .nav-logo{color:#0f0f0f;}
body.light .nav-links a{color:rgba(0,0,0,0.5);}
body.light .nav-links a:hover{color:#0f0f0f;}
body.light .hero h1{color:#0f0f0f;}
body.light .hero-sub{color:rgba(0,0,0,0.5);}
body.light .hero-badge{background:rgba(77,124,254,0.08);}
body.light .hero-stats{border-top-color:rgba(0,0,0,0.08);}
body.light .stat-lbl{color:rgba(0,0,0,0.4);}
body.light .btn-ghost{background:rgba(0,0,0,0.03);color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.12);}
body.light .btn-ghost:hover{background:rgba(0,0,0,0.06);border-color:rgba(0,0,0,0.2);}
body.light .scroll-hint span{color:rgba(0,0,0,0.25);}
body.light .scroll-mouse{border-color:rgba(0,0,0,0.15);}
body.light .divider{background:linear-gradient(90deg,transparent,rgba(0,0,0,0.07),transparent);}
body.light .section-title,body.light .contact-info h2{color:#0f0f0f;}
body.light .section-sub{color:rgba(0,0,0,0.45);}
body.light .services-bg{background:rgba(255,255,255,0.5);}
body.light .services-grid{background:rgba(0,0,0,0.06);}
body.light .service-card{background:#fdfdfd;}
body.light .service-card:hover{background:#eef2ff;}
body.light .service-card h3{color:#0f0f0f;}
body.light .service-card p{color:rgba(0,0,0,0.45);}
body.light .about-section{background:radial-gradient(ellipse 70% 60% at 80% 50%,rgba(77,124,254,0.08) 0%,transparent 70%);}
body.light .about-tile{background:rgba(0,0,0,0.025);border-color:rgba(0,0,0,0.07);}
body.light .about-tile:hover{background:rgba(0,0,0,0.045);border-color:rgba(0,0,0,0.12);}
body.light .about-tile-lbl{color:rgba(0,0,0,0.4);}
body.light .about-tile.accent .about-tile-lbl{color:rgba(255,255,255,0.6);}
body.light .value-item strong{color:#0f0f0f;}
body.light .value-item p{color:rgba(0,0,0,0.45);}
body.light .contact-section{background:rgba(255,255,255,0.4);}
body.light .contact-info p{color:rgba(0,0,0,0.45);}
body.light .contact-row{color:rgba(0,0,0,0.5);}
body.light .form-wrap{background:rgba(255,255,255,0.6);border-color:rgba(0,0,0,0.08);}
body.light .form-group label{color:rgba(0,0,0,0.4);}
body.light .form-group input,body.light .form-group textarea{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.12);color:#0f0f0f;}
body.light .form-group input::placeholder,body.light .form-group textarea::placeholder{color:rgba(0,0,0,0.3);}
body.light footer{background:rgba(255,255,255,0.6);border-top-color:rgba(0,0,0,0.06);}
body.light .footer-logo{color:#0f0f0f;}
body.light .footer-copy{color:rgba(0,0,0,0.3);}
body.light .footer-links a{color:rgba(0,0,0,0.35);}
body.light .footer-links a:hover{color:rgba(0,0,0,0.8);}

/* ── THEME TOGGLE ── */
.theme-toggle{
  width:38px;height:38px;border-radius:var(--r8);
  background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.12);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  margin-right:1.25rem;transition:all 0.2s;color:rgba(255,255,255,0.7);
}
.theme-toggle:hover{background:rgba(255,255,255,0.08);}
body.light .theme-toggle{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.1);color:rgba(0,0,0,0.6);}
body.light .theme-toggle:hover{background:rgba(0,0,0,0.06);}
.theme-toggle i{font-size:18px;}
.icon-sun{display:none;}
body.light .icon-moon{display:none;}
body.light .icon-sun{display:block;}

/* ── DEEPER NAVY ACCENT FOR LIGHT MODE ── */
body.light .nav-logo span,
body.light .hero-badge,
body.light .hero h1 .line2,
body.light .stat-num,
body.light .section-label,
body.light .service-icon i,
body.light .service-link,
body.light .about-tile-num,
body.light .value-dot i,
body.light .contact-row-icon i,
body.light .footer-logo span{
  color:#2541b2;
}
body.light .hero-badge::before{background:#2541b2;}
body.light .service-icon{background:rgba(37,65,178,0.08);border-color:rgba(37,65,178,0.18);}
body.light .value-dot{background:rgba(37,65,178,0.08);border-color:rgba(37,65,178,0.18);}
body.light .contact-row-icon{background:rgba(37,65,178,0.08);border-color:rgba(37,65,178,0.18);}
body.light .about-tile.accent{background:rgba(37,65,178,0.1);border-color:rgba(37,65,178,0.22);}
body.light .about-tile.accent .about-tile-num{color:#2541b2;}
body.light .form-group input:focus,body.light .form-group textarea:focus{
  border-color:rgba(37,65,178,0.5);
  box-shadow:0 0 0 3px rgba(37,65,178,0.08);
}

/* ── CANVAS ── */
#bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;}

/* ── NOISE/GRAIN TEXTURE ── */
.noise-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;
  z-index:2;pointer-events:none;
  opacity:0.045;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body.light .noise-overlay{opacity:0.025;mix-blend-mode:multiply;}

/* ── NOISE/GRAIN TEXTURE ── */
.noise-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;z-index:2;
  pointer-events:none;opacity:0.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body.light .noise-overlay{opacity:0.025;mix-blend-mode:multiply;}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:#000;}
::-webkit-scrollbar-thumb{background:var(--navy);border-radius:4px;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;height:64px;
  background:rgba(0,0,0,0.6);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:0.5px solid rgba(255,255,255,0.07);
  transition:background 0.3s;
}
.nav-logo{font-size:18px;font-weight:700;letter-spacing:-0.4px;color:#fff;}
.nav-logo span{color:#4d7cfe;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-size:13px;color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover{color:#fff;}
.nav-cta{
  font-size:13px;font-weight:500;padding:8px 20px;
  background:var(--navy);color:#fff;
  border:1px solid rgba(77,124,254,0.4);
  border-radius:var(--r8);cursor:pointer;text-decoration:none;
  transition:all 0.2s;
  box-shadow:0 0 14px rgba(10,36,99,0.5);
}
.nav-cta:hover{background:#1a3a7a;box-shadow:0 0 24px rgba(10,36,99,0.8);}

/* ── MOBILE NAV TOGGLE (hamburger) ── */
.nav-toggle{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:38px;height:38px;flex-shrink:0;
  background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.12);
  border-radius:var(--r8);cursor:pointer;margin-right:0.5rem;
  transition:background 0.2s;
}
.nav-toggle:hover{background:rgba(255,255,255,0.08);}
.nav-toggle span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform 0.25s ease,opacity 0.25s ease;}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.light .nav-toggle{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.1);}
body.light .nav-toggle:hover{background:rgba(0,0,0,0.06);}
body.light .nav-toggle span{background:#0f0f0f;}

/* ── HERO ── */
.hero{
  position:relative;z-index:1;
  min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:8rem 2rem 5rem;
  background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(10,36,99,0.25) 0%,transparent 70%);
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  margin-bottom:2rem;
  font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;
  color:rgba(77,124,254,0.9);padding:6px 16px;
  border:0.5px solid rgba(77,124,254,0.3);
  border-radius:999px;
  background:rgba(77,124,254,0.06);
  opacity:0;animation:fadeUp 0.8s 0.2s forwards;
}
.hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:#4d7cfe;animation:pulse 2s infinite;}
.hero h1{
  font-size:clamp(40px,6vw,76px);font-weight:700;line-height:1.05;
  letter-spacing:-2.5px;color:#fff;max-width:760px;
  opacity:0;animation:fadeUp 0.9s 0.4s forwards;
}
.hero h1 .line2{color:#4d7cfe;}
.hero-sub{
  margin-top:1.5rem;max-width:500px;
  font-size:16px;line-height:1.75;color:rgba(255,255,255,0.5);
  opacity:0;animation:fadeUp 0.9s 0.6s forwards;
}
.hero-actions{
  display:flex;gap:14px;margin-top:2.5rem;
  opacity:0;animation:fadeUp 0.9s 0.8s forwards;
}
.btn-glow{
  font-size:14px;font-weight:500;padding:12px 28px;
  background:var(--navy);color:#fff;
  border:1px solid rgba(77,124,254,0.5);
  border-radius:var(--r8);cursor:pointer;text-decoration:none;
  transition:all 0.25s;
  box-shadow:0 0 20px rgba(10,36,99,0.6),inset 0 1px 0 rgba(255,255,255,0.06);
}
.btn-glow:hover{background:#1a3a7a;box-shadow:0 0 36px rgba(10,36,99,0.9),0 0 60px rgba(77,124,254,0.2);}
.btn-ghost{
  font-size:14px;font-weight:500;padding:12px 28px;
  background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.75);
  border:0.5px solid rgba(255,255,255,0.15);
  border-radius:var(--r8);cursor:pointer;text-decoration:none;
  transition:all 0.25s;backdrop-filter:blur(4px);
}
.btn-ghost:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.3);}

.hero-stats{
  display:flex;gap:2rem;margin-top:5rem;
  padding-top:2.5rem;
  border-top:0.5px solid rgba(255,255,255,0.08);
  opacity:0;animation:fadeUp 0.9s 1s forwards;
}
.stat-item{text-align:center;}
.stat-num {
    font-size: 1.8rem;
    font-weight: 800;
    color: #4f6cff;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 12px;
}
.stat-lbl {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.75);
    max-width: 260px;
    margin: 0 auto;
    line-height: 1.5;
}
/* scroll indicator */
.scroll-hint{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;animation:fadeUp 1s 1.4s forwards;
}
.scroll-hint span{font-size:11px;color:rgba(255,255,255,0.25);letter-spacing:0.08em;text-transform:uppercase;}
.scroll-mouse{width:22px;height:34px;border:1px solid rgba(255,255,255,0.15);border-radius:12px;display:flex;justify-content:center;padding-top:5px;}
.scroll-dot{width:3px;height:6px;background:#4d7cfe;border-radius:3px;animation:scrollDot 2s infinite;}

/* ── DIVIDER ── */
.divider{width:100%;height:0.5px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);}

/* ── SECTIONS SHARED ── */
.section{position:relative;z-index:1;padding:6rem 3rem;}
.section-label{
  font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:#4d7cfe;margin-bottom:1rem;
}
.section-title{font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-0.8px;line-height:1.15;color:#fff;}
.section-sub{font-size:15px;color:rgba(255,255,255,0.45);margin-top:0.75rem;max-width:500px;line-height:1.75;}

/* ── SERVICES ── */
.services-bg{background:rgba(0,0,0,0.4);}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);;gap:1px;margin-top:3.5rem;background:rgba(255,255,255,0.06);border-radius:var(--r16);overflow:hidden;}
.service-card{
  position:relative;overflow:hidden;
  background:#050505;padding:2rem;
  transition:background 0.3s;
  cursor:default;
}
.service-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(77,124,254,0),transparent);
  transition:background 0.4s;
}
.service-card:hover{background:#0a0a14;}
.service-card:hover::before{background:linear-gradient(90deg,transparent,rgba(77,124,254,0.6),transparent);}
.service-card:hover .service-icon{box-shadow:0 0 24px rgba(77,124,254,0.3);}
.service-icon{
  width:48px;height:48px;border-radius:var(--r8);
  background:rgba(10,36,99,0.3);
  border:0.5px solid rgba(77,124,254,0.2);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;transition:box-shadow 0.3s;
}
.service-icon i{font-size:22px;color:#4d7cfe;}
.service-card h3{font-size:16px;font-weight:600;color:#fff;margin-bottom:0.6rem;}
.service-card p{font-size:13.5px;color:rgba(255,255,255,0.4);line-height:1.7;}
.service-link{
  display:inline-flex;align-items:center;gap:5px;
  margin-top:1.25rem;font-size:13px;font-weight:500;color:#4d7cfe;
  text-decoration:none;transition:gap 0.2s;
}
.service-card:hover .service-link{gap:8px;}

/* ── ABOUT ── */
.about-section{
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
  padding:6rem 3rem;
  background:radial-gradient(ellipse 70% 60% at 80% 50%,rgba(10,36,99,0.12) 0%,transparent 70%);
}
.about-visual{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.about-tile{
  background:rgba(255,255,255,0.03);
  border:0.5px solid rgba(255,255,255,0.08);
  border-radius:var(--r12);padding:1.5rem;
  transition:border-color 0.3s,background 0.3s;
}
.about-tile:hover{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.15);}
.about-tile-num{font-size:24px;font-weight:700;color:#4d7cfe;}
.about-tile-lbl{font-size:12px;color:rgba(255,255,255,0.35);margin-top:4px;line-height:1.4;}
.about-tile.accent{background:rgba(10,36,99,0.25);border-color:rgba(77,124,254,0.25);}
.about-tile.accent:hover{background:rgba(10,36,99,0.35);border-color:rgba(77,124,254,0.4);}
.about-tile.accent .about-tile-num{color:#fff;}
.about-tile.accent .about-tile-lbl{color:rgba(255,255,255,0.5);}

.values-list{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem;}
.value-item{display:flex;align-items:flex-start;gap:14px;}
.value-dot{
  width:28px;height:28px;flex-shrink:0;border-radius:var(--r8);
  background:rgba(10,36,99,0.3);border:0.5px solid rgba(77,124,254,0.25);
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.value-dot i{font-size:14px;color:#4d7cfe;}
.value-item strong{display:block;font-size:14px;font-weight:600;color:#fff;margin-bottom:3px;}
.value-item p{font-size:13.5px;color:rgba(255,255,255,0.4);line-height:1.7;}

/* ── CONTACT ── */
.contact-section{padding:6rem 3rem;background:rgba(0,0,0,0.3);}
.contact-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start;}
.contact-info h2{font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-0.8px;color:#fff;line-height:1.15;}
.contact-info p{font-size:15px;color:rgba(255,255,255,0.45);margin-top:0.75rem;line-height:1.75;}
.contact-details{margin-top:2rem;display:flex;flex-direction:column;gap:14px;}
.contact-row{display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(255,255,255,0.45);}
.contact-row-icon{
  width:34px;height:34px;border-radius:var(--r8);
  background:rgba(10,36,99,0.3);border:0.5px solid rgba(77,124,254,0.2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-row-icon i{font-size:15px;color:#4d7cfe;}

.form-wrap{
  background:rgba(255,255,255,0.06);
  border:0.5px solid rgba(255,255,255,0.14);
  border-radius:var(--r16);padding:2rem;
}
.form-grid{display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:11.5px;font-weight:500;color:rgba(255,255,255,0.6);letter-spacing:0.04em;text-transform:uppercase;}
.form-group input,.form-group textarea{
  font-size:16px;padding:12px 14px;
  background:rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:var(--r8);color:#fff;
  font-family:inherit;resize:none;
  transition:border-color 0.2s,box-shadow 0.2s;outline:none;
}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,0.35);}
.form-group input:focus,.form-group textarea:focus{
  border-color:rgba(77,124,254,0.7);
  background:rgba(255,255,255,0.12);
  box-shadow:0 0 0 3px rgba(77,124,254,0.12);
}
.form-group textarea{min-height:110px;}
.form-submit{
  font-size:14px;font-weight:600;padding:13px;
  background:var(--navy);color:#fff;
  border:1px solid rgba(77,124,254,0.4);
  border-radius:var(--r8);cursor:pointer;width:100%;
  transition:all 0.25s;
  box-shadow:0 0 20px rgba(10,36,99,0.5);
  letter-spacing:0.02em;
}
.form-submit:hover{background:#1a3a7a;box-shadow:0 0 36px rgba(10,36,99,0.8);}

/* Light mode form overrides */
body.light .form-wrap{background:rgba(255,255,255,0.8);border-color:rgba(0,0,0,0.1);}
body.light .form-group label{color:rgba(0,0,0,0.55);}
body.light .form-group input,body.light .form-group textarea{
  background:#fff;border-color:rgba(0,0,0,0.18);color:#0f0f0f;
}
body.light .form-group input::placeholder,body.light .form-group textarea::placeholder{color:rgba(0,0,0,0.3);}
body.light .form-group input:focus,body.light .form-group textarea:focus{
  border-color:rgba(37,65,178,0.5);
  background:#fff;
  box-shadow:0 0 0 3px rgba(37,65,178,0.08);
}

/* ── FOOTER ── */
footer{
  position:relative;z-index:1;
  padding:2rem 3rem;
  border-top:0.5px solid rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(0,0,0,0.5);
}
.footer-logo{font-size:15px;font-weight:700;color:#fff;}
.footer-logo span{color:#4d7cfe;}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.25);}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:12px;color:rgba(255,255,255,0.3);text-decoration:none;transition:color 0.2s;}
.footer-links a:hover{color:rgba(255,255,255,0.7);}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:0.1s;}
.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}
.reveal-delay-4{transition-delay:0.4s;}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
@keyframes scrollDot{0%{transform:translateY(0);opacity:1;}100%{transform:translateY(10px);opacity:0;}}

/* ── RESPONSIVE ── */

/* Tablet */
@media(max-width:900px){
  .about-section{grid-template-columns:1fr;gap:3rem;}
  .contact-wrap{grid-template-columns:1fr;gap:3rem;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .hero h1{font-size:clamp(32px,7vw,56px);}
}

/* Mobile */
@media(max-width:640px){
  /* Nav */
  nav{padding:0 1rem;justify-content:flex-start;}
  .nav-toggle{display:flex;margin-left:0.85rem;margin-right:auto;}
  .nav-cta{font-size:12px;padding:7px 14px;}
  .theme-toggle{width:34px;height:34px;margin-right:0.75rem;}

  .nav-links{
    display:flex;flex-direction:column;gap:0;
    position:fixed;top:64px;left:0;right:0;z-index:199;
    background:rgba(0,0,0,0.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-bottom:0.5px solid rgba(255,255,255,0.08);
    padding:0.5rem 1.25rem 1.25rem;
    transform:translateY(-8px);opacity:0;visibility:hidden;
    transition:transform 0.25s ease,opacity 0.25s ease,visibility 0.25s;
  }
  .nav-links.open{transform:translateY(0);opacity:1;visibility:visible;}
  .nav-links li{width:100%;border-bottom:0.5px solid rgba(255,255,255,0.07);}
  .nav-links li:last-child{border-bottom:none;}
  .nav-links a{display:block;padding:0.95rem 0.25rem;font-size:15px;}
  body.light .nav-links{background:rgba(255,255,255,0.97);border-bottom-color:rgba(0,0,0,0.07);}
  body.light .nav-links li{border-bottom-color:rgba(0,0,0,0.07);}

  /* Hero */
  .hero{padding:6rem 1.25rem 3.5rem;min-height:auto;}
  .hero h1{font-size:clamp(28px,8vw,44px);letter-spacing:-1px;}
  .hero-sub{font-size:14px;}
  .hero-actions{flex-direction:column;width:100%;gap:10px;}
  .btn-glow,.btn-ghost{width:100%;text-align:center;justify-content:center;padding:13px 20px;}

  /* Stats strip */
  .hero-stats{
    gap:1.25rem;
    padding-top:1.5rem;margin-top:2.5rem;
    flex-wrap:wrap;justify-content:center;
  }
  .stat-num{font-size:1.3rem;}
  .stat-lbl{font-size:0.9rem;max-width:200px;}

  /* Sections */
  .section,.about-section,.contact-section{padding:3.5rem 1.25rem;}
  .section-title{font-size:clamp(22px,6vw,30px);}

  /* Services — stack to 1 col on small phones */
  .services-grid{grid-template-columns:1fr;}
  .service-card{padding:1.5rem;}

  /* About tiles */
  .about-visual{grid-template-columns:1fr 1fr;}
  .about-tile{padding:1rem;}
  .about-tile-num{font-size:16px;}

  /* Contact form — full width, readable */
  .contact-section{padding:3rem 1.25rem;}
  .contact-wrap{gap:2rem;}
  .form-row{grid-template-columns:1fr;}
  .form-wrap{padding:1.25rem;}
  .form-submit{font-size:15px;padding:14px;}

  /* Contact info */
  .contact-info h2{font-size:clamp(22px,6vw,28px);}
  .contact-row{font-size:13px;}

  /* Footer */
  footer{flex-direction:column;gap:1rem;text-align:center;padding:2rem 1.25rem;}
  .footer-links{justify-content:center;}
}

/* ══════════════════════════════════════════
   ADDED FOR NEW PAGES — page hero, breadcrumbs,
   content sections, FAQ accordion, founder photo,
   CTA banner, service detail blocks
   ══════════════════════════════════════════ */

/* ── BREADCRUMBS ── */
.breadcrumbs{
  display: none;
  position:relative;z-index:1;
  padding:6.5rem 3rem 0;
  font-size:12.5px;color:rgba(255,255,255,0.35);
  gap:0px;align-items:center;flex-wrap:wrap;
}
.breadcrumbs a{color:rgba(255,255,255,0.45);text-decoration:none;transition:color 0.2s;}
.breadcrumbs a:hover{color:#4d7cfe;}
.breadcrumbs span.sep{color:rgba(255,255,255,0.2);}
body.light .breadcrumbs{color:rgba(0,0,0,0.35);}
body.light .breadcrumbs a{color:rgba(0,0,0,0.5);}
body.light .breadcrumbs a:hover{color:var(--accent);}

/* ── PAGE HERO (for subpages) ── */
.page-hero{
  position:relative;z-index:1;
  padding:6rem 3rem 4rem;
  max-width:900px;
}
.page-hero .hero-badge{margin-bottom:1.5rem;}
.page-hero h1{
  font-size:clamp(32px,5vw,52px);font-weight:700;letter-spacing:-1.5px;
  line-height:1.1;color:#fff;
  opacity:0;animation:fadeUp 0.8s 0.15s forwards;
}
.page-hero .page-sub{
  margin-top:1.25rem;max-width:620px;
  font-size:16px;line-height:1.75;color:rgba(255,255,255,0.5);
  opacity:0;animation:fadeUp 0.8s 0.3s forwards;
}
body.light .page-hero h1{color:#0f0f0f;}
body.light .page-hero .page-sub{color:rgba(0,0,0,0.5);}

/* ── PROSE / CONTENT SECTION ── */
.content-section{position:relative;z-index:1;padding:1rem 3rem 5rem;}
.content-wrap{max-width:760px;}
.content-wrap h2{
  font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-0.6px;
  color:#fff;margin:2.5rem 0 1rem;
}
.content-wrap h2:first-child{margin-top:0;}
.content-wrap p{font-size:15.5px;line-height:1.85;color:rgba(255,255,255,0.55);margin-bottom:1rem;}
.content-wrap ul{margin:1rem 0 1.5rem 1.25rem;color:rgba(255,255,255,0.55);}
.content-wrap ul li{font-size:15px;line-height:1.8;margin-bottom:0.6rem;padding-left:0.25rem;}
.content-wrap ul li::marker{color:#4d7cfe;}
.content-wrap strong{color:#fff;font-weight:600;}
body.light .content-wrap h2{color:#0f0f0f;}
body.light .content-wrap p,body.light .content-wrap ul{color:rgba(0,0,0,0.55);}
body.light .content-wrap strong{color:#0f0f0f;}

/* ── PROCESS STEPS ── */
.process-list{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0;}
.process-step{display:flex;gap:1.25rem;align-items:flex-start;}
.process-num{
  flex-shrink:0;width:34px;height:34px;border-radius:var(--r8);
  background:rgba(10,36,99,0.3);border:0.5px solid rgba(77,124,254,0.3);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;color:#4d7cfe;
}
.process-step h3{font-size:15.5px;font-weight:600;color:#fff;margin-bottom:0.3rem;}
.process-step p{font-size:14px;color:rgba(255,255,255,0.45);line-height:1.7;margin:0;}
body.light .process-step h3{color:#0f0f0f;}
body.light .process-step p{color:rgba(0,0,0,0.45);}

/* ── FOUNDER PHOTO ── */
.founder-layout{
  display:grid;grid-template-columns:280px 1fr;gap:3.5rem;align-items:start;
  max-width:900px;
}
.founder-photo-wrap{
  width:100%;aspect-ratio:1/1;border-radius:var(--r16);
  background:linear-gradient(145deg,rgba(10,36,99,0.35),rgba(77,124,254,0.12));
  border:0.5px solid rgba(77,124,254,0.25);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;
}
.founder-photo-wrap img{width:100%;height:100%;object-fit:cover;display:none;}
.founder-photo-wrap img[src]:not([src=""]){display:block;}
.founder-photo-placeholder{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  color:rgba(255,255,255,0.3);font-size:12px;text-align:center;padding:1.5rem;
}
.founder-photo-placeholder svg{opacity:0.6;}
.founder-name{font-size:14px;color:#4d7cfe;font-weight:600;margin-top:1rem;letter-spacing:0.02em;text-transform:uppercase;}
.founder-role{font-size:13px;color:rgba(255,255,255,0.4);margin-top:2px;}
body.light .founder-role{color:rgba(0,0,0,0.45);}

/* ── FAQ ACCORDION ── */
.faq-list{display:flex;flex-direction:column;gap:0.75rem;margin-top:2rem;}
.faq-item{
  border:0.5px solid rgba(255,255,255,0.1);border-radius:var(--r12);
  background:rgba(255,255,255,0.02);overflow:hidden;
  transition:border-color 0.2s,background 0.2s;
}
.faq-item.open{border-color:rgba(77,124,254,0.35);background:rgba(10,36,99,0.1);}
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.25rem 1.5rem;background:none;border:none;cursor:pointer;text-align:left;
  font-family:inherit;font-size:15px;font-weight:600;color:#fff;
}
.faq-question .faq-icon{flex-shrink:0;transition:transform 0.3s;color:#4d7cfe;}
.faq-item.open .faq-question .faq-icon{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}
.faq-item.open .faq-answer{max-height:400px;}
.faq-answer-inner{padding:0 1.5rem 1.25rem;font-size:14.5px;line-height:1.75;color:rgba(255,255,255,0.5);}
body.light .faq-item{border-color:rgba(0,0,0,0.1);background:rgba(0,0,0,0.015);}
body.light .faq-item.open{background:rgba(37,99,235,0.05);}
body.light .faq-question{color:#0f0f0f;}
body.light .faq-answer-inner{color:rgba(0,0,0,0.5);}

/* ── CTA BANNER ── */
.cta-banner{
  position:relative;z-index:1;margin:0 3rem 5rem;
  padding:3rem;border-radius:var(--r16);text-align:center;
  background:radial-gradient(ellipse 80% 100% at 50% 0%,rgba(10,36,99,0.4) 0%,rgba(0,0,0,0.4) 70%);
  border:0.5px solid rgba(77,124,254,0.2);
}
.cta-banner h2{font-size:clamp(22px,3vw,28px);font-weight:700;color:#fff;letter-spacing:-0.6px;}
.cta-banner p{font-size:14.5px;color:rgba(255,255,255,0.45);margin-top:0.5rem;}
.cta-banner .hero-actions{justify-content:center;margin-top:1.75rem;opacity:1;animation:none;}
body.light .cta-banner{background:radial-gradient(ellipse 80% 100% at 50% 0%,rgba(37,99,235,0.08) 0%,rgba(255,255,255,0.4) 70%);}
body.light .cta-banner h2{color:#0f0f0f;}
body.light .cta-banner p{color:rgba(0,0,0,0.45);}

/* ── SERVICES OVERVIEW LINK LIST (used on faq/about cross-links) ── */
.inline-link{color:#4d7cfe;text-decoration:none;border-bottom:0.5px solid rgba(77,124,254,0.3);transition:border-color 0.2s;}
.inline-link:hover{border-color:#4d7cfe;}

/* ── RESPONSIVE ADDITIONS ── */
@media(max-width:900px){
  .founder-layout{grid-template-columns:1fr;gap:2rem;}
  .founder-photo-wrap{max-width:240px;}
}
@media(max-width:640px){
  .breadcrumbs{padding:5.5rem 1.25rem 0;font-size:11.5px;}
  .page-hero{padding:1.5rem 1.25rem 2.5rem;}
  .content-section{padding:0.5rem 1.25rem 3rem;}
  .cta-banner{margin:0 1.25rem 3rem;padding:2rem 1.5rem;}
  .faq-question{padding:1rem 1.25rem;font-size:14px;}
  .faq-answer-inner{padding:0 1.25rem 1rem;}
}