:root{
  --blue:#082b74;
  --blue-2:#0f48b6;
  --blue-3:#1a67e8;
  --cyan:#39d3ff;
  --navy:#06142f;
  --ink:#18233a;
  --muted:#62708c;
  --line:#dde7f7;
  --soft:#f4f8ff;
  --white:#ffffff;
  --shadow:0 22px 70px rgba(7,25,68,.18);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#f7fbff 0%,#ffffff 36%,#f6f9ff 100%);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.skip-link{
  position:absolute;
  left:-999px;
  top:10px;
  background:#fff;
  color:var(--blue);
  padding:10px 14px;
  border-radius:12px;
  z-index:1000;
}
.skip-link:focus{left:10px}
.container{width:min(1180px,92vw);margin:0 auto}
.section-pad{padding:92px 0}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(12,54,139,.12);
}
.nav{
  width:min(1220px,94vw);
  margin:0 auto;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.brand-logo-wrap{
  width:58px;
  height:58px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#eef5ff;
  border:2px solid rgba(26,103,232,.18);
  box-shadow:0 12px 30px rgba(8,43,116,.12);
}
.brand-logo{width:100%;height:100%;object-fit:cover}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:1.08rem;color:var(--blue);letter-spacing:.02em;text-transform:lowercase}
.brand-text small{font-size:.76rem;color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{
  padding:10px 13px;
  border-radius:999px;
  color:#23324d;
  font-weight:700;
  font-size:.93rem;
}
.nav-links a:hover{background:#edf5ff;color:var(--blue)}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer;color:var(--blue)}
.menu-toggle span{display:block;width:28px;height:3px;background:var(--blue);border-radius:9px;margin:5px 0}
.menu-toggle em{font-style:normal;font-size:.75rem;font-weight:700}
.hero{
  position:relative;
  overflow:hidden;
  min-height:calc(100vh - 82px);
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 12% 16%, rgba(57,211,255,.28), transparent 26%),
    radial-gradient(circle at 86% 12%, rgba(26,103,232,.22), transparent 30%),
    linear-gradient(135deg,#f8fbff 0%,#e9f3ff 48%,#ffffff 100%);
}
.hero:before{
  content:"";
  position:absolute;
  inset:auto -16% -42% auto;
  width:620px;
  height:620px;
  background:linear-gradient(135deg,var(--blue-2),var(--cyan));
  border-radius:50%;
  opacity:.12;
}
.hero-bg-shape{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.shape-one{width:180px;height:180px;background:rgba(26,103,232,.12);left:4%;top:18%}
.shape-two{width:88px;height:88px;background:rgba(57,211,255,.24);right:12%;bottom:18%}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}
.eyebrow{
  color:var(--blue-2);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  margin:0 0 12px;
}
.hero h1{
  margin:0;
  font-size:clamp(3.2rem,8vw,7.2rem);
  line-height:.88;
  color:var(--blue);
  letter-spacing:-.06em;
  text-transform:lowercase;
}
.hero h2{
  margin:18px 0 0;
  font-size:clamp(1.3rem,2.7vw,2.35rem);
  color:var(--navy);
}
.lead{font-size:clamp(1.05rem,2vw,1.28rem);color:#35445f;max-width:700px;margin:24px 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}
.btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:900;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;box-shadow:0 14px 34px rgba(8,43,116,.28)}
.btn-ghost{background:#fff;color:var(--blue);border-color:#cdddf7;box-shadow:0 10px 24px rgba(8,43,116,.08)}
.btn-outline{background:transparent;color:var(--blue);border-color:#cdddf7}
.btn-small{min-height:40px;padding:8px 15px;font-size:.9rem;background:#fff;border-color:#dce7f9;color:var(--blue)}
.btn-small.active{background:var(--blue);color:#fff}
.hero-contact-strip{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.hero-contact-strip span{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(26,103,232,.16);
  border-radius:18px;
  padding:10px 14px;
  box-shadow:0 10px 26px rgba(8,43,116,.08);
}
.hero-card{
  position:relative;
  border-radius:var(--radius);
  background:linear-gradient(160deg,#ffffff 0%,#eff6ff 100%);
  padding:32px;
  box-shadow:var(--shadow);
  border:1px solid rgba(26,103,232,.13);
  overflow:hidden;
}
.hero-card:before{
  content:"";
  position:absolute;
  top:-95px;
  right:-80px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(10,73,190,.22),rgba(57,211,255,.2));
}
.logo-panel{
  position:relative;
  min-height:380px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(145deg,#071d55,#0d4fc7);
  overflow:hidden;
}
.logo-panel:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.28));
}
.logo-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
.card-lines{display:grid;gap:9px;margin:22px 0 14px}
.card-lines span{height:8px;border-radius:20px;background:linear-gradient(90deg,#dce9ff,transparent)}
.card-lines span:nth-child(2){width:78%}.card-lines span:nth-child(3){width:54%}
.hero-card p{margin:0;color:#31425f;font-weight:700}
.quick-info{margin-top:-44px;position:relative;z-index:2}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-card{
  padding:26px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 48px rgba(8,43,116,.12);
  border:1px solid rgba(26,103,232,.12);
}
.icon{font-size:2rem;display:inline-grid;width:56px;height:56px;place-items:center;border-radius:18px;background:#eef6ff;margin-bottom:14px}
.info-card h3{margin:0 0 8px;color:var(--blue);font-size:1.25rem}.info-card p{margin:0;color:var(--muted)}
.section-head{text-align:center;max-width:850px;margin:0 auto 42px}.section-head.left{text-align:left;margin:0}
.section-head h2{font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.04;margin:0 0 18px;color:var(--navy);letter-spacing:-.04em}.section-head p{color:var(--muted);font-size:1.05rem;margin:0}
.services{background:#fff}
.service-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:22px;align-items:stretch}
.service-feature{
  background:linear-gradient(145deg,var(--blue),#083a98 60%,#0e58dd);
  color:#fff;
  border-radius:var(--radius);
  padding:34px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.service-feature:after{
  content:"";position:absolute;right:-80px;bottom:-110px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.13)
}
.service-feature h3{font-size:2rem;line-height:1.1;margin:0 0 16px}.service-feature p{color:#eaf2ff;margin:0 0 24px}.text-link{font-weight:900;border-bottom:2px solid rgba(255,255,255,.75);padding-bottom:4px}
.service-list{
  background:var(--soft);
  border:1px solid #dfe9fa;
  border-radius:var(--radius);
  padding:34px;
}
.service-list h3{margin:0 0 20px;color:var(--blue)}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.check-list.columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.check-list li{position:relative;padding-left:28px;color:#2f3e59;font-weight:700}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--blue-3);font-weight:900}
.civil-card{
  margin-top:24px;
  background:linear-gradient(135deg,#f5f9ff,#ffffff);
  border:1px solid #dce7f8;
  border-radius:var(--radius);
  padding:34px;
  display:grid;
  grid-template-columns:.45fr 1fr;
  gap:22px;
  align-items:start;
}
.civil-card h3{margin:0;font-size:1.8rem;color:var(--navy);line-height:1.1}
.pill-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.pill-list li{background:#fff;border:1px solid #dbe7f8;border-radius:999px;padding:10px 14px;font-weight:800;color:#34435d;box-shadow:0 8px 20px rgba(8,43,116,.06)}
.experience{background:linear-gradient(135deg,#06142f,#082b74);color:#fff;overflow:hidden;position:relative}.experience:before{content:"";position:absolute;inset:-30% auto auto -10%;width:500px;height:500px;border-radius:50%;background:rgba(57,211,255,.16)}.experience-grid{position:relative;display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:center}.experience .section-head h2{color:#fff}.experience .section-head p{color:#dbe8ff}.experience .eyebrow{color:#7de3ff}.stats-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:36px;text-align:center;box-shadow:0 20px 55px rgba(0,0,0,.18)}.stats-card strong{display:block;font-size:5rem;line-height:1;font-weight:900}.stats-card span{font-weight:900;font-size:1.2rem}.stats-card p{margin:18px 0 0;color:#dceaff}
.gallery-section{background:#f6f9ff}.gallery-toolbar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-card{position:relative;margin:0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(8,43,116,.12);border:1px solid rgba(26,103,232,.12);cursor:pointer;min-height:220px}.gallery-card img{width:100%;height:260px;object-fit:cover;transition:transform .35s ease}.gallery-card:hover img{transform:scale(1.045)}.gallery-card figcaption{position:absolute;left:12px;bottom:12px;background:rgba(6,20,47,.82);color:#fff;border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:900;backdrop-filter:blur(8px)}
.document-section{background:#fff}.document-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;align-items:center}.document-copy{background:linear-gradient(145deg,#f6f9ff,#fff);border:1px solid #dce7f8;border-radius:var(--radius);padding:34px;box-shadow:0 14px 38px rgba(8,43,116,.08)}.document-copy h2{margin:0 0 15px;color:var(--navy);font-size:2.3rem;line-height:1.05}.document-copy p{color:var(--muted)}.document-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.pdf-viewer{background:#06142f;border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.16)}.pdf-viewer iframe{width:100%;height:680px;border:0;border-radius:18px;background:#fff}.pdf-viewer p{color:#dbe7ff;margin:10px 8px 0;font-size:.9rem}
.contact-section{background:linear-gradient(180deg,#f6f9ff,#fff)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:stretch}.contact-card,.contact-form{background:#fff;border:1px solid #dce7f8;border-radius:var(--radius);padding:34px;box-shadow:0 18px 45px rgba(8,43,116,.1)}.contact-card h2{margin:0 0 12px;color:var(--navy);font-size:2.2rem}.contact-intro{color:var(--muted)}.contact-list{display:grid;gap:12px;margin-top:26px}.contact-list a{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #dbe7f8;background:#f7fbff;border-radius:18px;padding:16px}.contact-list span{color:var(--muted);font-weight:800}.contact-list strong{color:var(--blue);text-align:right}.contact-form h3{margin:0 0 18px;color:var(--blue);font-size:1.45rem}.contact-form label{display:block;font-weight:900;color:#263654;margin:14px 0 7px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cfdbef;border-radius:16px;padding:13px 14px;background:#f9fbff;color:#1e2e4a;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue-3);box-shadow:0 0 0 4px rgba(26,103,232,.12)}.contact-form button{margin-top:18px;width:100%}
.site-footer{background:#06142f;color:#dce7ff;padding:38px 0}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:22px}.footer-logo{width:58px;height:58px;border-radius:50%;object-fit:cover;margin-bottom:10px}.site-footer p{margin:0}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.footer-links a{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:800}.float-whatsapp{position:fixed;right:18px;bottom:18px;z-index:45;background:#17b85a;color:#fff;border-radius:999px;padding:13px 18px;font-weight:900;box-shadow:0 16px 38px rgba(23,184,90,.34)}.modal{position:fixed;inset:0;z-index:100;background:rgba(2,8,22,.88);display:none;align-items:center;justify-content:center;padding:22px}.modal.open{display:flex}.modal img{max-width:min(1100px,94vw);max-height:86vh;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.45);object-fit:contain}.modal-close{position:absolute;top:18px;right:22px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#06142f;font-size:2rem;line-height:1;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media (max-width:1020px){.hero-grid,.service-layout,.civil-card,.experience-grid,.document-grid,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(3,1fr)}.hero{min-height:auto}.logo-panel{min-height:330px}.experience .section-head.left{text-align:center;margin:0 auto}.stats-card{max-width:420px;margin:0 auto}}
@media (max-width:780px){.section-pad{padding:66px 0}.nav{min-height:74px}.brand-logo-wrap{width:50px;height:50px}.brand-text small{display:none}.menu-toggle{display:block}.nav-links{position:absolute;left:3vw;right:3vw;top:74px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #dce7f8;border-radius:22px;padding:12px;box-shadow:0 18px 45px rgba(8,43,116,.16)}.nav-links.open{display:flex}.nav-links a{width:100%;border-radius:14px}.hero{padding-top:18px}.hero-grid{gap:30px}.hero-actions .btn{width:100%}.hero-contact-strip{display:grid}.info-grid{grid-template-columns:1fr}.quick-info{margin-top:0;padding:22px 0;background:#fff}.check-list.columns{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-card{min-height:170px}.gallery-card img{height:210px}.pdf-viewer iframe{height:520px}.footer-grid{align-items:flex-start;flex-direction:column}.contact-list a{align-items:flex-start;flex-direction:column}.contact-list strong{text-align:left}.float-whatsapp{left:18px;right:18px;text-align:center;display:flex;justify-content:center}.site-footer{padding-bottom:82px}}
@media (max-width:520px){.container{width:min(100% - 28px,1180px)}.section-head h2{font-size:2rem}.hero h1{font-size:3.15rem}.hero h2{font-size:1.25rem}.lead{font-size:1rem}.hero-card,.service-feature,.service-list,.civil-card,.document-copy,.contact-card,.contact-form{border-radius:22px;padding:22px}.logo-panel{min-height:270px;border-radius:18px}.gallery-grid{grid-template-columns:1fr}.gallery-card img{height:250px}.pdf-viewer{padding:8px;border-radius:22px}.pdf-viewer iframe{height:430px;border-radius:16px}.stats-card strong{font-size:4rem}}
