*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#0f1b21;color:#eaeaea;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}
a{color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.narrow{max-width:860px}
.section{padding:88px 0}
.section-dark{background:#13252e}
h2{font-size:2rem;letter-spacing:.2px;margin-bottom:12px}
h3{letter-spacing:.1px}
.subtext{opacity:.85;margin-top:-2px}
.thin-divider{height:1px;background:rgba(255,255,255,.10);margin:22px 0}

/* NAV */
.navbar{position:fixed;top:0;left:0;width:100%;z-index:1200;background:rgba(15,27,33,.58);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:saturate(140%) blur(8px);transition:background .25s ease, box-shadow .25s ease}
.navbar.scrolled{background:rgba(15,27,33,.92);box-shadow:0 14px 40px rgba(0,0,0,.35)}
.nav-flex{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:18px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.logo{height:42px;width:auto;display:block}
.brand-name{font-weight:850;letter-spacing:.2px;font-size:.98rem;opacity:.95;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav-links a{text-decoration:none;font-size:.88rem;opacity:.90;padding:10px 10px;border-radius:10px;transition:background .2s ease,opacity .2s ease,transform .2s ease,color .2s ease}
.nav-links a:hover{background:rgba(255,255,255,.06);opacity:1;transform:translateY(-1px)}
.nav-links a.active{background:rgba(77,182,172,.14);border:1px solid rgba(77,182,172,.35);opacity:1;color:#eafffd}

.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:10px;border-radius:12px}
.nav-toggle span{display:block;width:22px;height:2px;background:#eaeaea;margin:5px 0;border-radius:2px}

/* =========================================================
   HERO – FINAL, CLEAN, PREMIUM (DO NOT MODIFY)
   ========================================================= */

.hero{
  position: relative;
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;              /* vertical centering */
  overflow: hidden;
  background: #000;
}

/* Video background */
.hero-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Dark overlay for readability */
.hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(
    ellipse at 30% 35%,
    rgba(0,0,0,0.45),
    rgba(0,0,0,0.90)
  );
}

/* Inner container */
.hero-inner{
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 120px;               /* space for navbar */
  padding-bottom: 90px;
  display: flex;
  justify-content: center;
}

/* Content block (THIS controls position) */
.hero-content{
  width: min(960px, 92vw);
  transform: translateX(-70px);     /* premium left offset */
}

/* Kicker pill */
.hero-kicker{
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(77,182,172,0.12);
  border: 1px solid rgba(77,182,172,0.25);
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 18px;
}

/* Headline */
.hero-content h1{
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 4vw, 3.5rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.4px;
}

/* Description text */
.hero-text{
  max-width: 64ch;
  font-size: 1.05rem;
  line-height: 1.65;
  opacity: 0.9;
  margin-bottom: 26px;
}

/* Buttons */
.hero-actions{
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

/* Scroll indicator */
.scroll-indicator{
  position: absolute;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 0.8;
  pointer-events: none;
}

.scroll-indicator .dot{
  width: 8px;
  height: 8px;
  background: #4db6ac;
  border-radius: 50%;
  margin: 0 auto 8px;
  animation: heroScroll 1.6s infinite ease-in-out;
}

.scroll-indicator .line{
  width: 2px;
  height: 26px;
  background: rgba(255,255,255,0.4);
  margin: 0 auto;
  border-radius: 2px;
}

@keyframes heroScroll{
  0%,100%{opacity:.4; transform:translateY(0)}
  50%{opacity:1; transform:translateY(8px)}
}

/* Responsive fixes */
@media (max-width: 980px){
  .hero-content{
    transform: none;
    text-align: center;
  }
  .hero-text{
    margin-left: auto;
    margin-right: auto;
  }
  .hero-actions{
    justify-content: center;
  }
}

@media (max-width: 768px){
  .hero-video{ display:none; }
  .hero{ background:#06161a; }
}

/* Mobile adjustments */
@media (max-width: 900px){
  .hero-inner{
    padding-top: 110px;
    padding-bottom: 70px;
  }

  .hero-content{
    max-width: 100%;
  }
}

/* Disable video on small devices if needed */
@media (max-width: 768px){
  .hero-video{
    display: none;
  }
  .hero{
    background: #06161a;
  }
}


/* Mobile */
@media (max-width: 980px){
  .hero-inner{grid-template-columns: 1fr; padding: 105px 0 70px}
  .ops-card{justify-self: start; max-width: 520px}
}
@media (max-width: 768px){
  .hero-video{display:none;} /* avoids mobile autoplay issues */
  .hero{background: #06161a;}
}


.eyebrow{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(77,182,172,.14);border:1px solid rgba(77,182,172,.35);color:#dff7f4;font-size:.85rem;margin-bottom:12px}
.hero-title{font-size:3.1rem;line-height:1.12;margin-bottom:12px;letter-spacing:.2px}
.hero-sub{opacity:.93;max-width:60ch;margin-bottom:18px;font-size:1.06rem}

.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.hero-cta-strong .btn{padding:13px 22px;font-size:.98rem}
.hero-mini{display:flex;gap:10px;flex-wrap:wrap}
.mini-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);font-size:.88rem;opacity:.95}
.mini-dot{width:8px;height:8px;border-radius:50%;background:#4db6ac;box-shadow:0 0 16px rgba(77,182,172,.45)}

.hero-aside .aside-card{background:rgba(15,27,33,.55);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:18px;box-shadow:0 16px 45px rgba(0,0,0,.35)}
.aside-title{font-weight:850;margin-bottom:8px}
.aside-line{font-size:.95rem;margin:6px 0}
.aside-sub{opacity:.85;margin:10px 0 12px}
.scroll-hint{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);text-decoration:none;font-size:.9rem;opacity:.85;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:800;transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(0,0,0,.28)}
.btn:active{transform:translateY(-1px)}
.btn.primary{background:#4db6ac;color:#061012}
.btn.outline{background:transparent;border:1px solid rgba(255,255,255,.65);color:#fff}
.btn.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:#fff}
.btn.small{padding:10px 14px;font-size:.92rem}

/* About read more button */
.link-btn{margin-top:10px;background:transparent;border:0;color:#bff3ee;font-weight:850;cursor:pointer;padding:10px 0;display:inline-flex;align-items:center;gap:8px;transition:transform .2s ease, color .2s ease}
.link-btn:hover{color:#fff;transform:translateY(-1px)}
.lead{font-size:1.05rem;opacity:.92}

/* Mission + Values */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mv-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px;transition:transform .25s ease, box-shadow .25s ease, background .25s ease}
.mv-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.07);box-shadow:0 14px 30px rgba(0,0,0,.20)}
.mv-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mv-ico{width:34px;height:34px;border-radius:10px;background:rgba(77,182,172,.12);display:flex;align-items:center;justify-content:center;flex:0 0 34px}
.mv-ico svg{width:18px;height:18px;fill:#4db6ac}
.mv-list{padding-left:18px;margin-top:6px}
.mv-list li{margin:6px 0;opacity:.92}

/* Services */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.card{position:relative;background:rgba(30,58,68,.62);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;min-height:320px}
.card::before{content:"";position:absolute;inset:-2px;background:linear-gradient(120deg, rgba(77,182,172,.28), rgba(255,255,255,0));opacity:0;transition:opacity .35s ease}
.card:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(0,0,0,.25);background:rgba(30,58,68,.86)}
.card:hover::before{opacity:1}
.card h3{font-size:1.18rem;margin-bottom:8px}
.card p{opacity:.9}
.bullets{margin-top:12px;padding-left:18px}
.bullets li{margin:6px 0;opacity:.92}

/* Who we serve pills */
.pill-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}
.pill-grid span{background:rgba(30,58,68,.55);border:1px solid rgba(255,255,255,.08);padding:10px 14px;border-radius:999px;transition:transform .22s ease, background .22s ease, box-shadow .22s ease}
.pill-grid span:hover{transform:translateY(-3px);background:rgba(30,58,68,.90);box-shadow:0 12px 26px rgba(0,0,0,.22)}

/* Leadership smaller + social */
.leader-box{display:flex;gap:18px;align-items:center;margin-top:18px}
.leader-box.compact{align-items:flex-start}
.leader-img{width:148px;height:148px;object-fit:cover;border-radius:18px;border:2px solid rgba(77,182,172,.55)}
.leader-img.circle{border-radius:50%}
.leader-name{margin:0}
.role{color:#4db6ac;font-weight:850;margin-top:4px;margin-bottom:10px}
.leader-text{opacity:.92;max-width:62ch}
.social-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.social-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);transition:transform .22s ease, background .22s ease}
.social-btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)}
.social-btn svg{width:18px;height:18px;fill:#eafffd}
.social-btn span{font-weight:850;font-size:.92rem}

/* Contact cards */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.contact-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}
.c-title{font-weight:850;margin-bottom:6px}
.c-text a{text-decoration:none;color:#dff7f4}
.smallprint{margin-top:18px;opacity:.8;font-size:.95rem}

/* Footer */
.footer{background:#0b1418;border-top:1px solid rgba(255,255,255,.06);padding:22px 0}
.footer-flex{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.footer-left{display:flex;gap:12px;align-items:center}
.footer-logo{height:36px;width:auto}
.footer-text{opacity:.85;font-size:.92rem}
.footer-right{opacity:.85}

/* WhatsApp button */
.whatsapp{position:fixed;right:22px;bottom:22px;background:#25d366;color:#061012;padding:12px 16px;border-radius:999px;text-decoration:none;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.35);transition:transform .25s ease, box-shadow .25s ease;z-index:1400}
.whatsapp:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(0,0,0,.40)}

/* Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:all .8s ease}
.reveal.active{opacity:1;transform:translateY(0)}

/* Hero entrance */
.hero-entrance{opacity:0;transform:translateY(18px);animation:heroIn .9s ease forwards;animation-delay:.12s}
@keyframes heroIn{to{opacity:1;transform:translateY(0)}}

/* MODALS */
.modal{position:fixed;inset:0;display:none;z-index:2000}
.modal.show{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.modal-panel{position:relative;width:min(920px,92vw);margin:7vh auto;background:#0f1b21;border:1px solid rgba(255,255,255,.10);border-radius:16px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.5);transform:translateY(16px);opacity:0;transition:transform .25s ease, opacity .25s ease}
.modal.show .modal-panel{transform:translateY(0);opacity:1}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:rgba(19,37,46,.75)}
.muted{font-size:.85rem;opacity:.8;margin-top:2px}
.icon-btn{background:transparent;border:0;color:#fff;font-size:1.25rem;cursor:pointer;padding:8px 10px;border-radius:10px}
.icon-btn:hover{background:rgba(255,255,255,.08)}
.modal-body{padding:14px}
.modal-footer{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.modal-list{margin-top:12px;padding-left:18px}
.modal-list li{margin:6px 0;opacity:.92}
.cert-img{width:100%;height:auto;border-radius:12px;display:block}

/* Responsive */
@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr;gap:16px}
  .grid-3{grid-template-columns:1fr}
  .mv-grid{grid-template-columns:1fr}
  .leader-box{flex-direction:column}
  .contact-grid{grid-template-columns:1fr}

  .nav-toggle{display:inline-block}
  .nav-links{
    position:absolute;left:0;right:0;top:100%;
    background:rgba(15,27,33,.98);
    border-bottom:1px solid rgba(255,255,255,.06);
    padding:10px 14px;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    max-height:80vh;
    overflow:auto;
  }
  .nav-links a{width:100%}
  .nav-links.show{display:flex}
}
/* Services polish (ISCO-like) */
.service-card{
  padding-top:16px;
  border-top:2px solid rgba(77,182,172,.30);
}
.service-top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.service-ico{
  width:34px;height:34px;border-radius:10px;
  background:rgba(77,182,172,.12);
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(77,182,172,.20);
}
.service-ico svg{width:18px;height:18px;fill:#4db6ac}

.service-btn{
  margin-top:12px;
  gap:8px;
}
.service-btn span{
  transition:transform .2s ease;
}
.service-btn:hover span{
  transform:translateX(4px);
}

/* Modal smoother + proper layering */
.modal{z-index:3000}
.modal-panel{max-height:82vh; overflow:auto}
/* FORCE all inline SVG icons to never blow up */
svg { max-width: 100%; height: auto; }

/* Only icons inside icon containers should be small */
.service-ico svg,
.mv-ico svg,
.ico svg {
  width: 18px !important;
  height: 18px !important;
  display: block;
}

/* If any SVG accidentally appears in the legitimacy section, force it small */
#legitimacy svg {
  width: 18px !important;
  height: 18px !important;
}
/* TRUST section designs */
.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:18px;
}
.trust-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:16px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.trust-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.07);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.trust-head{display:flex;gap:12px;align-items:flex-start}
.trust-ico{
  width:36px;height:36px;border-radius:12px;
  background:rgba(77,182,172,.12);
  border:1px solid rgba(77,182,172,.22);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 36px;
}
.trust-ico svg{width:18px;height:18px;fill:#4db6ac}
.t-title{font-weight:900}
.t-text{opacity:.88;margin-top:4px}

.trust-split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
  margin-top:18px;
}
.h3{margin-top:4px;margin-bottom:8px;font-size:1.15rem}
.client-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.chip{
  padding:10px 12px;border-radius:999px;
  background:rgba(30,58,68,.55);
  border:1px solid rgba(255,255,255,.08);
  transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.chip:hover{transform:translateY(-3px);background:rgba(30,58,68,.90);box-shadow:0 12px 26px rgba(0,0,0,.20)}

.quotes{display:grid;gap:12px;margin-top:10px}
.quote{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:14px 14px 12px;
}
.quote blockquote{opacity:.92}
.quote figcaption{margin-top:8px;opacity:.75;font-size:.92rem}

/* TIMELINE designs */
.timeline{
  position:relative;
  margin-top:18px;
  padding-left:18px;
}
.timeline::before{
  content:"";
  position:absolute;
  left:7px; top:4px; bottom:4px;
  width:2px;
  background:linear-gradient(180deg, rgba(77,182,172,.65), rgba(255,255,255,.10));
  border-radius:2px;
}
.t-item{display:grid;grid-template-columns:18px 1fr;gap:14px;margin:16px 0}
.t-dot{
  width:14px;height:14px;border-radius:50%;
  background:#4db6ac;
  box-shadow:0 0 18px rgba(77,182,172,.35);
  margin-top:10px;
}
.t-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:14px 14px 12px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.t-card:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.07);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.t-date{font-weight:900;color:#bff3ee;font-size:.95rem}
.t-main{font-weight:900;font-size:1.08rem;margin:4px 0 6px}

/* Responsive */
@media (max-width: 980px){
  .trust-grid{grid-template-columns:1fr}
  .trust-split{grid-template-columns:1fr}
}
/* CONTACT: spacing fixes so cards/buttons don't touch */
.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px !important;
  margin-top:18px;
  align-items:stretch;
}

.contact-card{
  padding:16px !important;
  border-radius:16px !important;
}

/* Buttons row under contact cards */
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px !important;
  margin-top:14px;
}

/* Make buttons consistent and not squashed */
.contact-actions .btn{
  min-height:44px;
  padding:12px 18px;
}

/* On smaller screens stack cleanly */
@media (max-width: 980px){
  .contact-grid{grid-template-columns:1fr !important}
  .contact-actions{flex-direction:column}
  .contact-actions .btn{width:100%}
}
/* Scroll indicator pinned bottom center */
.scroll-indicator{
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  bottom: -120px;
  z-index:2;
  opacity:.7;
  pointer-events:none;
}
.scroll-indicator .dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(77,182,172,.95);
  margin: 0 auto 6px;
  box-shadow: 0 0 16px rgba(77,182,172,.35);
}
.scroll-indicator .line{
  width: 2px; height: 26px;
  margin: 0 auto;
  background: linear-gradient(180deg, rgba(77,182,172,.9), rgba(255,255,255,0));
  border-radius: 2px;
  animation: scrollPulse 1.6s ease-in-out infinite;
}
@keyframes scrollPulse{
  0%,100%{ transform: translateY(0); opacity:.7; }
  50%{ transform: translateY(6px); opacity:1; }
}
/* ===== Legitimacy upgrade ===== */
.section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.verified-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(77,182,172,.12);
  border: 1px solid rgba(77,182,172,.25);
  font-weight:800;
  font-size:.9rem;
  white-space:nowrap;
}
.verified-badge .dot{
  width:10px;height:10px;border-radius:50%;
  background:#4db6ac;
  box-shadow: 0 0 0 6px rgba(77,182,172,.18);
}

.legit-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:18px;
  align-items:start;
}

.legit-card{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 18px;
  backdrop-filter: blur(10px);
}

.legit-lead{opacity:.92; line-height:1.65; margin: 0 0 14px}

.facts{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top: 8px;
}

.fact{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border-radius:14px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.06);
  transition: transform .18s ease, border-color .18s ease;
}
.fact:hover{
  transform: translateY(-2px);
  border-color: rgba(77,182,172,.25);
}
.fact-ic{font-size:1.05rem; opacity:.9}
.fact-label{font-size:.85rem; opacity:.75}
.fact-value{font-weight:900}

.legit-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top: 14px;
}

.legit-note{opacity:.75; font-size:.95rem}

.trust-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 14px;
}
.chip{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  font-weight:700;
  font-size:.85rem;
  opacity:.95;
  transition: transform .18s ease, border-color .18s ease;
}
.chip:hover{transform: translateY(-2px); border-color: rgba(77,182,172,.22)}

/* Certificate tile */
.cert-tile{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px;
  position: relative;
  overflow:hidden;
}

.cert-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.cert-title{font-weight:900}
.watermark{
  font-weight:900;
  letter-spacing:.14em;
  font-size:.8rem;
  opacity:.55;
}

.cert-preview{
  width:100%;
  border:0;
  background: transparent;
  padding:0;
  cursor:pointer;
  border-radius: 16px;
  overflow:hidden;
  position: relative;
  outline:none;
}
.cert-preview img{
  width:100%;
  height:auto;
  display:block;
  transform: scale(1.02);
  filter: contrast(1.05);
}
.cert-cta{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:10px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.16);
  font-weight:800;
}
.cert-preview:hover .cert-cta{
  border-color: rgba(77,182,172,.35);
}

.cert-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  opacity:.75;
  font-size:.9rem;
}
.mini{white-space:nowrap}

/* Modal certificate image */
.cert-modal-img{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.25);
}
.cert-modal-img img{
  width: 100%;
  height: auto;
  display:block;
}
.cert-modal-watermark{
  position:absolute;
  top:12px;
  right:12px;
  padding:8px 12px;
  border-radius:999px;
  font-weight:900;
  background: rgba(77,182,172,.18);
  border: 1px solid rgba(77,182,172,.35);
  letter-spacing:.12em;
}

/* Responsive */
@media (max-width: 980px){
  .legit-grid{grid-template-columns: 1fr;}
  .facts{grid-template-columns: 1fr;}
  .section-head{flex-direction:column; align-items:flex-start;}
}
.legit-grid {
  grid-template-columns: 1fr !important;
}
.hero::before {
  content: "";
  background: url("hero-fallback.jpg") center/cover no-repeat;
}
/* ================================
   SERVICES: Card background images
   ================================ */
.card.has-bg{
  position: relative;
  overflow: hidden;
  isolation: isolate; /* keep overlays inside card */
}

/* photo layer */
.card.has-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--card-bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.12); /* avoids blur edges */
filter: blur(1.2px);
opacity: .7;
transform: scale(1.08);

}

.service-card.has-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(6, 14, 18, 0.75),
    rgba(6, 14, 18, 0.85)
  );
  z-index: 1;
}


.service-card > * {
  position: relative;
  z-index: 2;
}


/* premium hover */
.card.has-bg{
  transition: transform .25s ease, box-shadow .25s ease;
}
.card.has-bg:hover{
  transform: translateY(-4px);
}
.card.has-bg:hover::before{
  opacity: .62;
  filter: blur(2.5px);
  transform: scale(1.16);
}
