
:root{
  --bg:#ffffff;
  --fg:#0b2a4a;
  --muted:#6b7a90;
  --card:#f6f8fb;
  --accent:#174d9a;
  --ring:rgba(23,77,154,.25);
  --shadow:0 10px 30px rgba(0,0,0,.08);
}
[data-theme="dark"]{
  --bg:#0b1220;
  --fg:#e8eef6;
  --muted:#9db0c7;
  --card:#101a2c;
  --accent:#89b4ff;
  --ring:rgba(137,180,255,.35);
  --shadow:0 10px 30px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
.container{width:min(1100px,92%);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid rgba(0,0,0,.05)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--fg)}
.brand-text{font-size:clamp(1rem,2vw,1.1rem)}
.site-nav .nav-toggle{display:none}
.nav-list{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.nav-list a{padding:.5rem .7rem;border-radius:12px}
.nav-list a.active, .nav-list a:focus-visible{background:var(--card);outline:2px solid var(--ring)}
.header-cta{display:flex;gap:.5rem;align-items:center}
.btn{display:inline-block;border:1px solid transparent;padding:.7rem 1rem;border-radius:16px;box-shadow:var(--shadow);background:var(--card);color:var(--fg)}
.btn.ghost{background:transparent;border-color:rgba(0,0,0,.15)}
.btn.primary{background:var(--accent);color:#fff;border-color:transparent}
.hero, .sub-hero{position:relative;min-height:52vh;display:grid;place-items:center;text-align:center;color:#fff}
.hero{background:url('https://wallpaperaccess.com/full/1453912.jpg') center/cover no-repeat}
.services-bg{background:url('https://wallpaperaccess.com/full/1453916.jpg') center/cover no-repeat}
.process-bg{background:url('https://wallpaperaccess.com/full/1453924.jpg') center/cover no-repeat}
.about-bg{background:url('https://wallpapercave.com/wp/wp2164098.jpg') center/cover no-repeat}
.contact-bg{background:url('https://wallpaperaccess.com/full/1453919.jpg') center/cover no-repeat}
.overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.35))}
.hero-inner, .sub-hero .container{position:relative;z-index:1}
h1{font-size:clamp(1.8rem,5vw,3rem);margin:.2rem 0}
p.sub{font-size:clamp(1rem,2.6vw,1.25rem);color:#e8eef6}
.section-title{font-size:clamp(1.4rem,3vw,1.8rem)}
.grid.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.card{background:var(--card);padding:1rem;border-radius:16px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.04)}
.highlights{padding:3rem 0}
.process-preview{position:relative;padding:3rem 0;background:url('https://wallpaperaccess.com/full/1453924.jpg') center/cover no-repeat;color:#fff}
.process-preview { position: relative; }
.process-preview .overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;   /* <— key */
  z-index: 0;             /* push behind content */
}
.process-preview .container {
  position: relative;
  z-index: 1;             /* pull content above overlay */
}

.logo-strip{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;opacity:.9}
.logo-strip img{height:38px;filter:none;}
.two-col{display:grid;grid-template-columns:1fr;gap:1.2rem;padding:2rem 0}
.two-col .col{min-width:0}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.team-card{background:var(--card);padding:.8rem; border-radius:16px; text-align:center}
.team-card .ph{height:120px;border-radius:12px;background:linear-gradient(135deg,#e2ebf6,#cbd7e7)}
.form{display:block}
.form input, .form select, .form textarea{width:100%;padding:.7rem;border-radius:12px;border:1px solid rgba(0,0,0,.15);background:#fff;color:#111}
.form .grid.two{display:grid;grid-template-columns:1fr;gap:.8rem}
label{display:grid;gap:.35rem}
.consent{display:flex;gap:.5rem;align-items:center}
.info .map-wrap{margin-top:1rem;aspect-ratio:16/9;background:var(--card);border-radius:16px;overflow:hidden}
.info iframe{width:100%;height:100%;border:0}
.site-footer{border-top:1px solid rgba(0,0,0,.05);margin-top:3rem}
.site-footer .container{padding:1.2rem 0;text-align:center}
.progress-bar{position:fixed;top:0;left:0;height:4px;background:var(--accent);width:0%;z-index:60}
.back-to-top{position:fixed;right:1rem;bottom:1rem;display:none;padding:.7rem 1rem;border-radius:16px;border:1px solid rgba(0,0,0,.15);background:var(--card);box-shadow:var(--shadow)}
.reveal{opacity:0;transform:translateY(18px);transition:all .6s cubic-bezier(.2,.6,.2,1)}
.reveal.visible{opacity:1;transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (min-width: 860px){
  .two-col{grid-template-columns:1.2fr .8fr}
  .form .grid.two{grid-template-columns:1fr 1fr}
}
/* Mobile nav */
@media (max-width: 760px){
  .site-nav .nav-toggle{display:inline-block}
  .nav-list{position:absolute;inset:60px 0 auto 0;background:var(--bg);flex-direction:column;padding:1rem;border-bottom:1px solid rgba(0,0,0,.05);display:none}
  .nav-list.open{display:flex}
}

/* Align CTA buttons at the bottom of cards and ensure equal heights */
.grid.cards > .card{display:flex;flex-direction:column}
.card .btn.primary{margin-top:auto}

/* Cert logos section background */
.logo-strip {
  position: relative;
  padding: 1rem 1.5rem;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  max-width: 550px; 
  margin: 0 auto;     
}
