:root{
  --navy:#0b2e4f;
  --navy-dark:#071d33;
  --accent:#f2a71b;
  --accent-dark:#d98f0b;
  --ink:#1c2430;
  --muted:#5b6b7c;
  --bg-soft:#f6f8fa;
  --border:#e4e9ee;
  --radius:14px;
}

body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.65;
}

h1,h2,h3,h4,h5{font-weight:700;color:var(--navy-dark);}
a{text-decoration:none;}

/* Header / Nav */
.site-header{background:var(--navy);box-shadow:0 2px 10px rgba(0,0,0,.08);position:sticky;top:0;z-index:1000;}
.navbar-brand{display:flex;align-items:center;gap:.6rem;}
.brand-mark{
  width:40px;height:40px;border-radius:10px;background:var(--accent);
  color:var(--navy-dark);font-weight:800;font-size:1.3rem;
  display:flex;align-items:center;justify-content:center;
}
.brand-text{color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:.02em;}
.navbar .nav-link{color:rgba(255,255,255,.85);font-weight:500;padding:.6rem 1rem;}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--accent);}
.btn-accent{background:var(--accent);border:none;color:var(--navy-dark);font-weight:700;padding:.55rem 1.3rem;border-radius:8px;transition:.2s;}
.btn-accent:hover{background:var(--accent-dark);color:#fff;}
.btn-outline-light-accent{border:1.5px solid rgba(255,255,255,.5);color:#fff;font-weight:600;border-radius:8px;padding:.55rem 1.3rem;}
.btn-outline-light-accent:hover{border-color:var(--accent);color:var(--accent);}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;padding:5.5rem 0 6rem;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-10%;top:-20%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(242,167,27,.18),transparent 70%);}
.hero h1{color:#fff;font-size:2.8rem;font-weight:800;}
.hero p.lead{color:rgba(255,255,255,.82);font-size:1.15rem;}
.hero-badge{display:inline-block;background:rgba(242,167,27,.15);color:var(--accent);border:1px solid rgba(242,167,27,.35);padding:.35rem .9rem;border-radius:30px;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.2rem;}
.hero-stats{display:flex;gap:2.2rem;margin-top:2.5rem;flex-wrap:wrap;}
.hero-stats .stat-num{font-size:1.9rem;font-weight:800;color:var(--accent);}
.hero-stats .stat-label{color:rgba(255,255,255,.7);font-size:.85rem;}

section{padding:4.5rem 0;}
.section-tag{color:var(--accent-dark);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;}
.section-title{margin-top:.4rem;margin-bottom:1rem;}
.section-lead{color:var(--muted);font-size:1.05rem;max-width:720px;}
.bg-soft{background:var(--bg-soft);}

/* Cards */
.card-service{border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;height:100%;transition:.25s;background:#fff;}
.card-service:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,46,79,.1);border-color:transparent;}
.service-icon{width:52px;height:52px;border-radius:12px;background:rgba(11,46,79,.07);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem;}
.card-service h3{font-size:1.15rem;}
.card-service p{color:var(--muted);font-size:.95rem;margin-bottom:0;}

.card-project{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;height:100%;transition:.25s;}
.card-project:hover{box-shadow:0 14px 30px rgba(11,46,79,.1);}
.card-project .project-cover{background:linear-gradient(135deg,var(--navy),var(--navy-dark));height:160px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:2.2rem;font-weight:800;}
.card-project .project-body{padding:1.5rem;}
.badge-status{background:rgba(242,167,27,.15);color:var(--accent-dark);font-weight:600;font-size:.72rem;padding:.3rem .7rem;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;}
.project-meta{color:var(--muted);font-size:.85rem;}

.card-stat{text-align:center;padding:1.8rem 1rem;border-radius:var(--radius);background:#fff;border:1px solid var(--border);}
.card-stat .num{font-size:2.1rem;font-weight:800;color:var(--navy);}
.card-stat .label{color:var(--muted);font-size:.9rem;}

.timeline-item{border-left:3px solid var(--accent);padding-left:1.3rem;margin-bottom:1.6rem;position:relative;}
.timeline-item::before{content:"";position:absolute;left:-7px;top:2px;width:11px;height:11px;border-radius:50%;background:var(--accent);}

.list-check{list-style:none;padding:0;margin:0;}
.list-check li{padding-left:1.8rem;position:relative;margin-bottom:.7rem;color:var(--muted);}
.list-check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent-dark);font-weight:800;}

.quote-box{background:var(--navy);color:#fff;border-radius:var(--radius);padding:3rem;}
.quote-box h2{color:#fff;}

/* Footer */
.site-footer{background:var(--navy-dark);color:rgba(255,255,255,.75);padding:4rem 0 1.5rem;margin-top:3rem;}
.footer-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;}
.footer-about{font-size:.9rem;color:rgba(255,255,255,.6);max-width:360px;}
.footer-heading{color:#fff;font-weight:700;margin-bottom:1rem;font-size:.95rem;}
.footer-links{list-style:none;padding:0;}
.footer-links li{margin-bottom:.6rem;}
.footer-links a{color:rgba(255,255,255,.65);font-size:.9rem;}
.footer-links a:hover{color:var(--accent);}
.footer-contact{list-style:none;padding:0;font-size:.9rem;}
.footer-contact li{margin-bottom:.7rem;color:rgba(255,255,255,.65);}
.footer-divider{border-color:rgba(255,255,255,.1);margin:2rem 0 1.2rem;}
.footer-bottom{text-align:center;font-size:.85rem;color:rgba(255,255,255,.5);}

/* Forms */
.form-control,.form-select{border-radius:8px;border:1px solid var(--border);padding:.65rem .9rem;}
.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,167,27,.18);}
.form-label{font-weight:600;font-size:.9rem;color:var(--navy-dark);}

.page-hero{background:var(--navy);color:#fff;padding:3.5rem 0;}
.page-hero h1{color:#fff;}
.breadcrumb-nav a{color:rgba(255,255,255,.7);}
.breadcrumb-nav{color:rgba(255,255,255,.5);font-size:.9rem;}

@media (max-width:991px){
  .hero{padding:3.5rem 0 4rem;text-align:center;}
  .hero-stats{justify-content:center;}
  section{padding:3rem 0;}
}
