:root{
  --navy:#071a3a;
  --navy-2:#0b2a5b;
  --blue:#2462a6;
  --gold:#f4a300;
  --gold-2:#ffc247;
  --ink:#111827;
  --muted:#667085;
  --soft:#f3f6fa;
  --white:#ffffff;
  --radius:24px;
  --shadow:0 24px 70px rgba(7,26,58,.12);
  --shadow-sm:0 10px 35px rgba(7,26,58,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}.container-xl{max-width:1220px}.text-gold{color:var(--gold)}
.site-loader{position:fixed;inset:0;background:var(--navy);z-index:9999;display:grid;place-items:center;transition:.55s ease;gap:18px}.site-loader img{width:92px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.35))}.site-loader span{width:80px;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:loadline 1s linear infinite}@keyframes loadline{0%{transform:translateX(-30px);opacity:.3}50%{opacity:1}100%{transform:translateX(30px);opacity:.3}}body.loaded .site-loader{opacity:0;visibility:hidden}
.topbar{background:var(--navy);color:rgba(255,255,255,.85);padding:9px 0;font-size:.88rem}.topbar-links{display:flex;gap:28px}.topbar a{color:rgba(255,255,255,.9)}.topbar i{color:var(--gold)}
.main-nav{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(7,26,58,.08);padding:14px 0}.navbar-brand img{height:54px;width:auto}.nav-link{font-weight:700;color:var(--navy)!important;border-radius:999px;padding:10px 16px!important}.nav-link:hover,.nav-link.active{background:#fff3d8;color:var(--navy)!important}.navbar-toggler{border:0;box-shadow:none!important}
.btn{border-radius:999px;font-weight:800;letter-spacing:.01em;padding:.82rem 1.35rem}.btn-brand{background:linear-gradient(135deg,var(--gold),#ffb72d);color:var(--navy);border:0;box-shadow:0 13px 35px rgba(244,163,0,.32)}.btn-brand:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}.btn-navy{background:var(--navy);color:#fff;border:0}.btn-navy:hover{background:var(--gold);color:var(--navy)}.btn-outline-navy{border:2px solid var(--navy);color:var(--navy);background:#fff}.btn-outline-navy:hover{background:var(--navy);color:#fff}.btn-light-outline{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08)}.btn-light-outline:hover{background:#fff;color:var(--navy)}
.hero-section{position:relative;background:var(--navy);color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,58,.96),rgba(7,26,58,.72)),url('../img/hero.webp') center/cover;transform:scale(1.03)}.hero-section:after,.dark-hero:after{content:"";position:absolute;right:-120px;top:-80px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(244,163,0,.28),transparent 67%)}.min-vh-hero{min-height:740px;padding:80px 0}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem}.eyebrow span{display:inline-block;width:42px;height:4px;border-radius:999px;background:var(--gold)}.hero-section h1,.page-hero h1{font-weight:900;line-height:.98;letter-spacing:-.05em}.hero-section h1{font-size:clamp(3.2rem,6vw,6.8rem);max-width:840px}.hero-section h1 span{color:var(--gold)}.hero-section .lead{max-width:720px;color:rgba(255,255,255,.82);font-size:1.2rem}.hero-proof{display:flex;flex-wrap:wrap;gap:14px}.hero-proof div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:16px 22px;min-width:145px}.hero-proof strong{display:block;font-size:1.7rem;color:var(--gold)}.hero-proof span{font-size:.82rem;color:rgba(255,255,255,.78)}.hero-card{position:relative;padding:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:34px;box-shadow:var(--shadow);transform:rotate(1.5deg)}.hero-card img{height:560px;width:100%;object-fit:cover;border-radius:24px}.hero-card-badge{position:absolute;left:-28px;bottom:42px;display:flex;gap:12px;align-items:center;background:#fff;color:var(--navy);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);max-width:310px;font-weight:800}.hero-card-badge i{width:42px;height:42px;display:grid;place-items:center;background:var(--gold);border-radius:50%}
.section{padding:100px 0}.section.compact{padding:44px 0}.bg-soft{background:var(--soft)}.bg-navy{background:var(--navy)}.angled-section{position:relative;overflow:hidden}.angled-section:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%);pointer-events:none}.section-label{display:flex;align-items:center;gap:10px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin-bottom:14px}.section-label:before{content:"";width:40px;height:4px;border-radius:99px;background:var(--gold)}.section-label.light{color:var(--gold)}.section-title{font-size:clamp(2rem,4vw,3.7rem);line-height:1.02;font-weight:900;letter-spacing:-.04em;color:var(--navy);margin-bottom:20px}.section-text{font-size:1.05rem;line-height:1.78;color:#2f3a4b}.metric-card{background:#fff;border-radius:22px;padding:28px 24px;box-shadow:var(--shadow-sm);border:1px solid rgba(7,26,58,.05)}.metric-card span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:900;font-size:.72rem}.metric-card strong{display:block;font-size:2rem;color:var(--navy);margin-top:8px}.image-stack{position:relative}.image-stack img,.rounded-hero-img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;object-fit:cover}.image-stack img{height:520px}.image-stack-note{position:absolute;right:24px;bottom:24px;background:#fff;border-radius:18px;padding:18px 22px;box-shadow:var(--shadow-sm);max-width:260px}.image-stack-note strong{display:block;color:var(--navy);font-size:1.4rem}.image-stack-note span{color:var(--muted)}.feature-list{display:grid;gap:14px}.feature-list div{display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:16px;background:#fff;box-shadow:0 10px 35px rgba(7,26,58,.06)}.feature-list i{width:42px;height:42px;background:#fff3d8;color:var(--gold);border-radius:50%;display:grid;place-items:center}.feature-list span{font-weight:700;color:var(--navy)}
.service-card{display:block;height:100%;background:#fff;border-radius:24px;overflow:hidden;color:var(--navy);box-shadow:0 18px 55px rgba(0,0,0,.14);transition:.35s ease}.service-card:hover,.gallery-card:hover,.project-card:hover{transform:translateY(-6px)}.service-card img{height:210px;width:100%;object-fit:cover}.service-card div{padding:24px}.service-card i{width:46px;height:46px;background:var(--gold);border-radius:14px;display:grid;place-items:center;margin-bottom:16px}.service-card h3,.service-detail-card h3,.project-card h3{font-weight:900;letter-spacing:-.03em}.service-card p{color:#506070}.service-detail-card{height:100%;background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(7,26,58,.06)}.service-detail-card img{height:230px;width:100%;object-fit:cover}.service-detail-body{padding:28px}.service-detail-body span{width:54px;height:54px;background:var(--navy);color:var(--gold);border-radius:16px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:18px}.service-detail-body p{color:var(--muted);line-height:1.65}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.check-list li{position:relative;padding-left:34px;color:#2f3a4b;font-weight:700}.check-list.light li{color:rgba(255,255,255,.85)}.check-list li:before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:1px;color:var(--gold)}.process-tile{background:#fff;border-radius:20px;padding:24px;box-shadow:var(--shadow-sm);height:100%}.process-tile h4{color:var(--navy);font-weight:900}.process-tile p{color:var(--muted);margin:0}
.cta-section{padding:90px 0;background:linear-gradient(135deg,var(--navy),#102e63);color:#fff;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;inset:0;background:url('../img/civil.webp') center/cover;opacity:.12}.cta-card{position:relative;border-radius:34px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:46px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-card h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:-.04em}.cta-card p{color:rgba(255,255,255,.78);font-size:1.08rem;margin:0}
.page-hero{position:relative;overflow:hidden;padding:92px 0;background:linear-gradient(135deg,#f7f9fc,#fff)}.compact-hero{padding:78px 0}.dark-hero{background:linear-gradient(135deg,var(--navy),#113a78);color:#fff}.page-hero h1{font-size:clamp(2.6rem,5vw,5.3rem);color:var(--navy)}.dark-hero h1{color:#fff}.page-hero p{font-size:1.2rem;color:var(--muted);max-width:760px}.dark-hero p{color:rgba(255,255,255,.78)}.page-hero-logo{max-height:120px;background:#fff;border-radius:20px;padding:18px;box-shadow:var(--shadow-sm)}.rounded-hero-img{max-height:420px}.portrait-frame{border-radius:34px;padding:12px;background:#fff;box-shadow:var(--shadow);height:620px}.portrait-frame img{width:100%;height:100%;object-fit:cover;border-radius:24px}.mini-value{height:100%;background:#fff;border:1px solid rgba(7,26,58,.06);box-shadow:var(--shadow-sm);border-radius:20px;padding:22px}.mini-value i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy);margin-bottom:14px}.mini-value h4{font-size:1rem;font-weight:900;color:var(--navy)}.mini-value p{font-size:.88rem;color:var(--muted);margin:0}.statement-card{height:100%;border-radius:28px;padding:38px;box-shadow:var(--shadow-sm);color:#fff}.statement-card h3{font-weight:900;text-transform:uppercase;letter-spacing:.04em}.statement-card p{line-height:1.7;margin:0;color:rgba(255,255,255,.9)}.statement-card.gold{background:var(--gold);color:var(--navy)}.statement-card.gold p{color:rgba(7,26,58,.8)}.statement-card.blue{background:var(--blue)}.statement-card.navy{background:var(--navy)}.team-card{background:#fff;border-radius:32px;box-shadow:var(--shadow);padding:42px;text-align:center;border:1px solid rgba(7,26,58,.06)}.team-card img{width:210px;height:210px;object-fit:cover;border-radius:30px;background:#eef2f7;border:6px solid #fff;box-shadow:0 16px 35px rgba(7,26,58,.13);margin-bottom:26px}.team-card h3{font-weight:900;color:var(--navy);text-transform:uppercase;letter-spacing:-.02em}.team-card p{color:var(--muted);font-size:1.1rem;margin:0}
.project-filters{display:flex;gap:10px;flex-wrap:wrap}.filter-btn{border:0;background:#edf2f7;color:var(--navy);font-weight:900;border-radius:999px;padding:12px 18px}.filter-btn.active,.filter-btn:hover{background:var(--gold);color:var(--navy)}.project-card{height:100%;background:#fff;border-radius:24px;box-shadow:var(--shadow-sm);padding:28px;border:1px solid rgba(7,26,58,.06);transition:.3s ease}.project-card.premium{background:linear-gradient(160deg,#fff,#f7fbff)}.project-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.number{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff3d8;color:var(--navy);font-weight:900}.status{border-radius:999px;padding:7px 12px;font-size:.72rem;font-weight:900;text-transform:uppercase}.status.completed{background:#e7f8ef;color:#087443}.status.ongoing{background:#fff3d8;color:#a15c00}.project-card h3{font-size:1.25rem;color:var(--navy)}.project-card p{color:var(--muted)}.project-meta{display:grid;gap:12px;border-top:1px solid #edf0f5;padding-top:18px}.project-meta span{color:var(--muted);font-size:.9rem}.project-meta strong{color:var(--navy)}.project-item.d-none{display:none!important}
.gallery-card{display:block;position:relative;overflow:hidden;border-radius:26px;box-shadow:var(--shadow-sm);height:310px;transition:.35s}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:.45s}.gallery-card:hover img{transform:scale(1.08)}.gallery-card div{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(7,26,58,.86);backdrop-filter:blur(12px);color:#fff;border-radius:18px;padding:18px;display:flex;justify-content:space-between;align-items:center}.gallery-card h3{font-weight:900;margin:0;font-size:1.1rem}.gallery-card span{width:40px;height:40px;background:var(--gold);color:var(--navy);border-radius:50%;display:grid;place-items:center}.compliance-card{height:100%;display:block;background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow-sm);border-left:7px solid var(--gold);transition:.3s}.compliance-card:hover{transform:translateY(-6px);border-left-color:var(--blue)}.compliance-card i{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-size:1.4rem;margin-bottom:22px}.compliance-card h3{font-weight:900;color:var(--navy)}.compliance-card strong{display:block;color:var(--blue);font-size:1.1rem}.compliance-card p{color:var(--muted);margin:8px 0 0}.identity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.identity-grid div{background:#fff;border-radius:20px;box-shadow:var(--shadow-sm);padding:24px}.identity-grid span{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.72rem;color:var(--muted)}.identity-grid strong{display:block;color:var(--navy);margin-top:8px;font-size:1.2rem}
.contact-panel{background:var(--navy);color:#fff;border-radius:32px;padding:38px;box-shadow:var(--shadow);height:100%}.contact-logo{background:#fff;border-radius:18px;padding:14px;max-height:88px;margin-bottom:28px}.contact-panel h2{font-weight:900;letter-spacing:-.03em}.contact-panel p{color:rgba(255,255,255,.78)}.contact-method{display:flex;gap:16px;align-items:flex-start;margin-top:22px}.contact-method i{width:48px;height:48px;border-radius:16px;background:var(--gold);color:var(--navy);display:grid;place-items:center}.contact-method span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:rgba(255,255,255,.55);font-weight:900}.contact-method strong{display:block;color:#fff}.quote-form{background:#fff;border-radius:32px;padding:38px;box-shadow:var(--shadow);border:1px solid rgba(7,26,58,.06)}.quote-form label{font-weight:900;color:var(--navy);margin-bottom:8px}.form-control,.form-select{border:1px solid #d7dee8;border-radius:14px;padding:14px 16px;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:var(--gold)}.bank-card{height:100%;background:#fff;border-radius:24px;box-shadow:var(--shadow-sm);padding:28px;display:flex;gap:22px;align-items:flex-start;border-right:7px solid var(--gold)}.bank-card i{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-size:1.5rem;flex:0 0 auto}.bank-card h3{font-weight:900;color:var(--navy);font-size:1.22rem}.bank-card h3 span{font-weight:700}.bank-card p{margin:4px 0;color:var(--muted)}.bank-card strong{color:var(--navy)}.profile-preview{background:#fff;border-radius:32px;padding:24px;box-shadow:var(--shadow)}.profile-preview-head{display:flex;gap:18px;align-items:center;border-bottom:1px solid #edf0f5;padding-bottom:20px;margin-bottom:20px}.profile-preview-head img{height:72px}.profile-preview-head h2{font-weight:900;color:var(--navy);margin:0}.profile-preview-head p{color:var(--muted);margin:0}.profile-preview iframe{width:100%;height:780px;border:0;border-radius:20px;background:#f3f6fa}
.site-footer{background:#06142c;color:#fff}.footer-top{padding:70px 0}.footer-logo{background:#fff;border-radius:18px;padding:12px;max-height:86px}.site-footer p,.site-footer li{color:rgba(255,255,255,.72)}.site-footer h6{color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}.site-footer a{color:rgba(255,255,255,.72)}.site-footer a:hover{color:var(--gold)}.contact-list i{color:var(--gold);width:24px}.socials{display:flex;gap:12px;margin-top:22px}.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff}.socials a:hover{background:var(--gold);color:var(--navy)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;color:rgba(255,255,255,.65);font-size:.9rem}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1000;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:1.8rem;box-shadow:0 16px 40px rgba(37,211,102,.35)}
@media(max-width:991.98px){.navbar-brand img{height:46px}.min-vh-hero{min-height:auto;padding:80px 0}.hero-card{transform:none}.hero-card img{height:380px}.hero-card-badge{left:18px;right:18px;max-width:none}.cta-card{display:block}.cta-card .d-flex{margin-top:25px}.section{padding:72px 0}.identity-grid{grid-template-columns:1fr}.profile-preview iframe{height:560px}.page-hero{padding:70px 0}.portrait-frame{height:440px}}
@media(max-width:575.98px){.hero-section h1{font-size:3rem}.section-title{font-size:2.2rem}.page-hero h1{font-size:2.6rem}.hero-proof div{width:100%}.quote-form,.contact-panel{padding:24px;border-radius:24px}.bank-card{display:block}.bank-card i{margin-bottom:16px}.profile-preview-head{display:block}.profile-preview-head img{margin-bottom:14px}.gallery-card{height:250px}}
