/* ============================================================
   TNT RED MEP — Main Stylesheet
   ============================================================ */

/* ---- Custom Properties ---- */
:root {
  --red:        #CC1F1F;
  --red-dark:   #A01515;
  --red-light:  rgba(204,31,31,0.08);
  --navy:       #1C1C2E;
  --navy2:      #2a1a1a;
  --gold:       #E8A020;
  --text:       #2C2C2C;
  --muted:      #666;
  --bg:         #F8F8F8;
  --white:      #FFFFFF;
  --border:     #E5E5E5;
  --sh-sm:      0 2px 10px rgba(0,0,0,0.07);
  --sh-md:      0 6px 25px rgba(0,0,0,0.11);
  --sh-lg:      0 12px 45px rgba(0,0,0,0.15);
  --r:          8px;
  --r-lg:       16px;
  --tr:         all 0.3s ease;
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;object-fit:cover}
a{text-decoration:none;color:inherit;transition:var(--tr)}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea,select{font-family:inherit}

/* ---- Typography ---- */
h1,h2,h3,h4,h5{font-family:'Poppins',system-ui,sans-serif;font-weight:700;line-height:1.2;color:var(--navy)}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.7rem,4vw,2.5rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.4rem)}
h4{font-size:1.1rem}
p{color:var(--muted);line-height:1.8}

/* ---- Layout ---- */
.container{max-width:1220px;margin:0 auto;padding:0 24px}
.section{padding:90px 0}
.section-sm{padding:55px 0}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.flex-center{display:flex;align-items:center;justify-content:center}
.text-center{text-align:center}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}

@media(max-width:992px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-2{grid-template-columns:1fr}
}
@media(max-width:576px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .section{padding:65px 0}
}

/* ---- Section Title ---- */
.sec-title{text-align:center;margin-bottom:55px}
.sec-title .tag{display:inline-block;color:var(--red);font-weight:600;text-transform:uppercase;letter-spacing:2.5px;font-size:0.78rem;margin-bottom:10px}
.sec-title h2{margin-bottom:12px}
.sec-title p{max-width:600px;margin:0 auto;font-size:1rem}
.sec-line{display:block;width:55px;height:4px;background:var(--red);border-radius:3px;margin:14px auto 0}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:var(--r);font-weight:600;font-size:0.95rem;transition:var(--tr);cursor:pointer;border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(204,31,31,0.35)}
.btn-outline{background:transparent;color:var(--red);border-color:var(--red)}
.btn-outline:hover{background:var(--red);color:#fff;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--red);border-color:#fff}
.btn-white:hover{background:var(--bg)}
.btn-ghost{background:rgba(255,255,255,0.12);color:#fff;border-color:rgba(255,255,255,0.3);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(255,255,255,0.22)}
.btn-sm{padding:9px 20px;font-size:0.85rem}
.btn-danger{background:#c0392b;color:#fff;border-color:#c0392b}
.btn-danger:hover{background:#a93226}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar{position:sticky;top:0;z-index:999;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.08);transition:var(--tr)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:95px}
.navbar-logo img{height:85px;width:auto;object-fit:contain}
.navbar-nav{display:flex;align-items:center;gap:28px}
.nav-link{font-weight:500;font-size:0.93rem;color:var(--text);position:relative;padding-bottom:3px}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--red);transition:var(--tr)}
.nav-link:hover,.nav-link.active{color:var(--red)}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-cta{background:var(--red);color:#fff !important;padding:9px 22px;border-radius:var(--r);font-weight:600;font-size:0.9rem}
.nav-cta::after{display:none}
.nav-cta:hover{background:var(--red-dark) !important;transform:translateY(-1px)}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:6px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:var(--tr)}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

@media(max-width:860px){
  .nav-toggle{display:flex}
  .navbar-inner{height:68px}
  .navbar-logo img{height:54px}
  .navbar-nav{display:none;position:fixed;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 20px 24px;gap:4px;box-shadow:var(--sh-md);border-top:1px solid var(--border)}
  .navbar-nav.open{display:flex}
  .nav-link{padding:10px 0;width:100%;font-size:1rem;border-bottom:1px solid var(--border)}
  .nav-link:last-child{border-bottom:none}
  .nav-cta{margin-top:10px;width:100%;text-align:center;border-bottom:none !important;border-radius:var(--r)}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 55%,#5a0a0a 100%);overflow:hidden;padding:60px 0}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.18}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(28,28,46,0.92) 0%,rgba(90,10,10,0.75) 100%)}
.hero-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hs{position:absolute;border-radius:50%;opacity:0.06}
.hs1{width:600px;height:600px;background:var(--gold);top:-150px;right:-150px}
.hs2{width:350px;height:350px;background:var(--red);bottom:-80px;left:5%}
.hs3{width:180px;height:180px;border:2px solid rgba(255,255,255,0.1);top:35%;right:25%;opacity:1}
.hero-content{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.9);padding:7px 18px;border-radius:50px;font-size:0.8rem;font-weight:500;margin-bottom:22px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.15)}
.hero-badge i{color:var(--gold)}
.hero h1{color:#fff;margin-bottom:14px;font-size:clamp(2.2rem,5.5vw,4rem)}
.hero h1 span{color:var(--gold)}
.hero-tagline{color:rgba(255,255,255,0.55);font-size:0.85rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;margin-bottom:18px}
.hero p{color:rgba(255,255,255,0.75);font-size:1.08rem;max-width:580px;margin-bottom:36px;line-height:1.9}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px}
.hs-card{text-align:center;background:rgba(255,255,255,0.06);padding:22px 15px;border-radius:var(--r);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1)}
.hs-card .num{font-size:2.2rem;font-weight:700;color:var(--gold);font-family:'Poppins',sans-serif;line-height:1}
.hs-card .lbl{font-size:0.78rem;color:rgba(255,255,255,0.6);margin-top:6px;letter-spacing:0.5px}

/* MEP floating icons */
.mep-icon{position:absolute;pointer-events:none;color:#fff;line-height:1;}
.mi-1{font-size:2rem;left:7%;top:18%;opacity:0.09;animation:mepFloat 9s ease-in-out infinite;}
.mi-2{font-size:2.8rem;left:13%;bottom:22%;opacity:0.07;animation:mepFloat 12s ease-in-out infinite 2s;}
.mi-3{font-size:2.3rem;left:72%;top:12%;opacity:0.08;animation:mepDrift 11s ease-in-out infinite 1s;}
.mi-4{font-size:3rem;right:8%;bottom:18%;opacity:0.07;animation:mepFloat 14s ease-in-out infinite 3s;}
.mi-5{font-size:1.8rem;left:38%;top:8%;opacity:0.09;animation:mepDrift 8s ease-in-out infinite 0.5s;}
.mi-6{font-size:2rem;right:28%;top:68%;opacity:0.07;animation:mepFloat 13s ease-in-out infinite 4s;}
.mi-7{font-size:1.9rem;left:22%;top:58%;opacity:0.07;animation:mepDrift 15s ease-in-out infinite 2.5s;}
.mi-8{font-size:2.6rem;right:4%;top:40%;opacity:0.08;animation:mepFloat 10s ease-in-out infinite 1.5s;}
.mi-9{font-size:1.8rem;left:52%;bottom:12%;opacity:0.08;animation:mepDrift 12s ease-in-out infinite 3.5s;}
.mi-10{font-size:1.5rem;left:2%;top:48%;opacity:0.07;animation:mepFloat 16s ease-in-out infinite 5s;}
.mi-11{font-size:2.2rem;left:60%;top:75%;opacity:0.06;animation:mepDrift 10s ease-in-out infinite 6s;}
.mi-12{font-size:1.6rem;right:18%;top:25%;opacity:0.08;animation:mepFloat 11s ease-in-out infinite 1s;}
@keyframes mepFloat{
  0%,100%{transform:translateY(0) rotate(0deg);}
  50%{transform:translateY(-28px) rotate(10deg);}
}
@keyframes mepDrift{
  0%,100%{transform:translate(0,0) rotate(0deg);}
  33%{transform:translate(18px,-14px) rotate(-6deg);}
  66%{transform:translate(-12px,12px) rotate(6deg);}
}
@media(max-width:768px){
  .mep-icon{font-size:1.3rem !important;opacity:0.07 !important;}
  .mi-7,.mi-10,.mi-11{display:none}
  .hero{min-height:auto;padding:80px 0 50px}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){.hero-stats{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   STATS BAR
   ============================================================ */
.stats-bar{background:var(--red);padding:48px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center}
.stat-item{padding:0 20px;color:#fff;border-right:1px solid rgba(255,255,255,0.2)}
.stat-item:last-child{border-right:none}
.stat-item .num{font-size:2.8rem;font-weight:700;font-family:'Poppins',sans-serif;line-height:1}
.stat-item .lbl{font-size:0.85rem;opacity:0.85;margin-top:6px}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-item{padding:20px;border-right:none;border-bottom:1px solid rgba(255,255,255,0.2)}.stat-item:nth-child(2n){border-bottom:1px solid rgba(255,255,255,0.2)}.stat-item:nth-last-child(-n+2){border-bottom:none}}

/* ============================================================
   SERVICES
   ============================================================ */
.services-section{background:var(--bg)}
.service-card{background:#fff;border-radius:var(--r-lg);padding:36px 28px;text-align:center;transition:var(--tr);border:1px solid var(--border);height:100%}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);border-color:var(--red)}
.svc-icon{width:72px;height:72px;background:var(--red-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:1.8rem;color:var(--red);transition:var(--tr)}
.service-card:hover .svc-icon{background:var(--red);color:#fff}
.service-card h3{margin-bottom:12px;font-size:1.1rem}
.service-card p{font-size:0.9rem;line-height:1.7}

/* ============================================================
   ABOUT
   ============================================================ */
.about-section{background:#fff}
.about-img-wrap{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md)}
.about-img-wrap img{width:100%;height:480px;object-fit:cover}
.about-badge{position:absolute;bottom:28px;left:28px;background:var(--red);color:#fff;padding:20px 24px;border-radius:var(--r);box-shadow:var(--sh-md)}
.about-badge .num{font-size:2.4rem;font-weight:700;line-height:1;font-family:'Poppins',sans-serif}
.about-badge .lbl{font-size:0.78rem;opacity:0.9;margin-top:3px}
.about-content{display:flex;flex-direction:column;justify-content:center;padding-left:20px}
.about-tag{color:var(--red);font-weight:600;text-transform:uppercase;letter-spacing:2.5px;font-size:0.78rem;margin-bottom:12px}
.about-content h2{margin-bottom:18px}
.about-content p{margin-bottom:16px;font-size:0.97rem}
.about-pts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.apt{display:flex;align-items:center;gap:10px;font-weight:500;font-size:0.88rem;color:var(--text)}
.apt i{color:var(--red);font-size:0.85rem;flex-shrink:0}
@media(max-width:992px){.about-content{padding-left:0;margin-top:30px}}

/* ============================================================
   PROJECTS
   ============================================================ */
.projects-section{background:var(--bg)}
.proj-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:42px;justify-content:center}
.filter-btn{padding:8px 22px;border:2px solid var(--border);border-radius:50px;font-weight:500;color:var(--muted);transition:var(--tr);background:#fff;font-size:0.88rem;cursor:pointer}
.filter-btn.active,.filter-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-light)}
.project-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:var(--tr);height:100%;display:flex;flex-direction:column}
.project-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.pc-img{height:210px;overflow:hidden;background:var(--bg);position:relative;flex-shrink:0}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:var(--tr)}
.project-card:hover .pc-img img{transform:scale(1.06)}
.pc-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--navy2));font-size:3rem;color:rgba(255,255,255,0.2)}
.pc-body{padding:22px;flex:1;display:flex;flex-direction:column}
.pc-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.badge{padding:4px 11px;border-radius:50px;font-size:0.72rem;font-weight:600;letter-spacing:0.3px}
.badge-completed{background:#e8f5e9;color:#2e7d32}
.badge-ongoing{background:#fff3e0;color:#e65100}
.badge-cat{background:var(--red-light);color:var(--red)}
.pc-body h3{font-size:1rem;margin-bottom:6px;flex:1}
.pc-client{color:var(--muted);font-size:0.85rem;display:flex;align-items:center;gap:6px}
.pc-value{color:var(--red);font-weight:600;font-size:0.88rem;margin-top:8px}
.pc-scope{color:var(--muted);font-size:0.82rem;margin-top:4px}
.featured-badge{position:absolute;top:12px;right:12px;background:var(--gold);color:var(--navy);padding:4px 12px;border-radius:50px;font-size:0.72rem;font-weight:700}

/* ============================================================
   GALLERY
   ============================================================ */
.gallery-section{background:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-item{position:relative;overflow:hidden;border-radius:var(--r);aspect-ratio:4/3;cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-overlay{position:absolute;inset:0;background:rgba(204,31,31,0.65);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--tr)}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay i{font-size:1.8rem;color:#fff}
@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}

/* ---- Lightbox ---- */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.96);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.active{display:flex}
.lb-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:var(--r)}
.lb-close{position:absolute;top:16px;right:16px;width:44px;height:44px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;cursor:pointer;z-index:1;transition:var(--tr)}
.lb-close:hover{background:var(--red-dark)}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;cursor:pointer;transition:var(--tr);backdrop-filter:blur(6px)}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-prev:hover,.lb-next:hover{background:var(--red)}

/* ============================================================
   CLIENTS
   ============================================================ */
.clients-section{background:var(--bg)}
.clients-track-wrap{overflow:hidden;position:relative}
.clients-track-wrap::before,.clients-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2}
.clients-track-wrap::before{left:0;background:linear-gradient(to right,var(--bg),transparent)}
.clients-track-wrap::after{right:0;background:linear-gradient(to left,var(--bg),transparent)}
.clients-track{display:flex;gap:20px;width:max-content;animation:ticker 35s linear infinite}
.clients-track:hover{animation-play-state:paused}
.client-logo{flex-shrink:0;width:160px;height:85px;background-color:#e8eef8;background-image:linear-gradient(rgba(28,60,120,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(28,60,120,0.07) 1px,transparent 1px);background-size:16px 16px;border-radius:var(--r);border:1px solid rgba(28,60,120,0.15);display:flex;align-items:center;justify-content:center;padding:14px;transition:var(--tr)}
.client-logo:hover{border-color:var(--red);box-shadow:var(--sh-sm);background-color:#dde6f5}
.client-logo img{max-width:100%;max-height:100%;object-fit:contain;transition:var(--tr)}
.client-logo:hover img{transform:scale(1.05)}
.client-logo-text{font-weight:600;font-size:0.78rem;color:var(--muted);text-align:center;line-height:1.3}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Clients grid (clients.php page) */
.clients-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.cg-item{background:#fff;border-radius:var(--r);border:1px solid var(--border);padding:25px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;transition:var(--tr)}
.cg-item:hover{border-color:var(--red);box-shadow:var(--sh-sm)}
.cg-item img{max-height:65px;max-width:140px;object-fit:contain}
.cg-item span{font-size:0.8rem;font-weight:600;color:var(--muted);text-align:center}
@media(max-width:992px){.clients-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:576px){.clients-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   AWARDS
   ============================================================ */
.awards-section{background:var(--bg)}
.award-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:var(--tr);border:1px solid var(--border)}
.award-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:var(--red)}
.award-img{height:200px;background:var(--bg);overflow:hidden;display:flex;align-items:center;justify-content:center}
.award-img img{width:100%;height:100%;object-fit:cover}
.award-img-placeholder{font-size:3.5rem;color:var(--gold)}
.award-body{padding:20px}
.award-year{color:var(--red);font-weight:600;font-size:0.8rem;letter-spacing:1px;margin-bottom:6px}
.award-body h3{font-size:1rem;margin-bottom:6px}
.award-body p{font-size:0.85rem}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-section{background:var(--bg)}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:55px;align-items:start}
.contact-info h3{margin-bottom:28px}
.ci-item{display:flex;gap:16px;margin-bottom:28px}
.ci-icon{width:50px;height:50px;background:var(--red);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:1.15rem}
.ci-lbl{font-size:0.78rem;color:var(--muted);margin-bottom:3px}
.ci-val{font-weight:600;color:var(--text);font-size:0.95rem;line-height:1.5}
.contact-form-wrap{background:#fff;padding:42px;border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-weight:500;font-size:0.88rem;margin-bottom:7px;color:var(--text)}
.form-control{width:100%;padding:12px 15px;border:1.5px solid var(--border);border-radius:var(--r);font-size:0.93rem;transition:var(--tr);color:var(--text);background:#fff}
.form-control:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-light)}
textarea.form-control{resize:vertical;min-height:130px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.alert{padding:12px 16px;border-radius:var(--r);margin-bottom:18px;font-size:0.9rem;display:none}
.alert.show{display:block}
.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}
.alert-error{background:#ffebee;color:#c62828;border:1px solid #ffcdd2}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
@media(max-width:576px){.form-row{grid-template-columns:1fr}.contact-form-wrap{padding:24px}}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);padding:72px 0;text-align:center;color:#fff}
.page-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem)}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,0.55);font-size:0.88rem;margin-top:12px}
.breadcrumb a{color:var(--gold)}
.breadcrumb i{font-size:0.65rem}

/* ============================================================
   VISION MISSION VALUES
   ============================================================ */
.vmv-section{background:#fff}
.vmv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vmv-card{padding:40px 32px;border-radius:var(--r-lg);text-align:center}
.vmv-card.vision{background:var(--red);color:#fff}
.vmv-card.mission{background:var(--navy);color:#fff}
.vmv-card.values{background:var(--gold);color:var(--navy)}
.vmv-card i{font-size:2.2rem;margin-bottom:18px;display:block}
.vmv-card h3{font-size:1.2rem;margin-bottom:14px;color:inherit}
.vmv-card p{color:inherit;opacity:0.88;font-size:0.93rem;line-height:1.7}
@media(max-width:768px){.vmv-grid{grid-template-columns:1fr}}

/* ---- Services detail page ---- */
.svc-detail-card{background:#fff;border-radius:var(--r-lg);padding:40px;border:1px solid var(--border);transition:var(--tr);display:flex;gap:28px;align-items:flex-start}
.svc-detail-card:hover{box-shadow:var(--sh-md);border-color:var(--red)}
.svc-detail-icon{width:68px;height:68px;background:var(--red-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--red);flex-shrink:0;transition:var(--tr)}
.svc-detail-card:hover .svc-detail-icon{background:var(--red);color:#fff}
.svc-detail-text h3{margin-bottom:10px}
.svc-detail-text p{font-size:0.93rem}
.svc-detail-text ul{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.svc-detail-text ul li{font-size:0.88rem;color:var(--muted);display:flex;align-items:center;gap:8px}
.svc-detail-text ul li::before{content:'✓';color:var(--red);font-weight:700;flex-shrink:0}
@media(max-width:576px){.svc-detail-card{flex-direction:column}}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-section{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);padding:90px 0;text-align:center}
.cta-section h2{color:#fff;font-size:clamp(1.7rem,4vw,2.5rem);margin-bottom:14px}
.cta-section p{color:rgba(255,255,255,0.7);max-width:580px;margin:0 auto 36px;font-size:1.02rem}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   FOOTER
   ============================================================ */
/* ============================================================
   MAP SECTION
   ============================================================ */
.map-section{background:var(--bg);padding:0}
.map-inner{display:grid;grid-template-columns:380px 1fr;min-height:420px}
.map-info{background:var(--navy);padding:50px 40px;display:flex;flex-direction:column;justify-content:center;gap:0}
.map-info .tag{margin-bottom:10px;display:inline-block}
.map-info h3{color:#fff;font-size:1.4rem;margin-bottom:28px;line-height:1.3}
.map-details{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.map-details li{display:flex;align-items:flex-start;gap:12px;font-size:0.88rem;color:rgba(255,255,255,0.65);line-height:1.6}
.map-details li i{color:var(--red);flex-shrink:0;margin-top:3px;width:16px;text-align:center}
.map-details li a{color:rgba(255,255,255,0.65);transition:var(--tr)}
.map-details li a:hover{color:var(--gold)}
.map-dir-btn{align-self:flex-start}
.map-embed{position:relative;overflow:hidden}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;filter:grayscale(20%)}
@media(max-width:860px){
  .map-inner{grid-template-columns:1fr;grid-template-rows:auto 320px}
  .map-info{padding:36px 24px}
  .map-embed{min-height:320px;position:relative}
  .map-embed iframe{position:absolute}
}

.footer{background:var(--navy);color:rgba(255,255,255,0.75);padding:75px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:50px;margin-bottom:55px}
.footer-brand .logo{height:110px;margin-bottom:20px;background:#fff;border-radius:12px;padding:10px 18px}
.footer-brand p{font-size:0.88rem;color:rgba(255,255,255,0.55);line-height:1.85;max-width:280px}
.footer-branches{margin-top:16px}
.branch-label{font-size:0.78rem;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.branch-label i{color:var(--red)}
.branch-item{font-size:0.85rem;color:rgba(255,255,255,0.65);display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.branch-item:last-child{border-bottom:none}
.branch-item i{color:var(--red);font-size:0.75rem;flex-shrink:0}
.branch-item span{font-size:0.72rem;background:var(--red);color:#fff;padding:1px 7px;border-radius:20px;margin-left:4px}
.footer h4{color:#fff;font-size:0.95rem;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--red);display:inline-block}
.footer-links li{margin-bottom:9px}
.footer-links a{color:rgba(255,255,255,0.55);font-size:0.88rem;transition:var(--tr)}
.footer-links a:hover{color:var(--gold);padding-left:5px}
.footer-contact li{display:flex;gap:11px;margin-bottom:13px;font-size:0.88rem;color:rgba(255,255,255,0.55);align-items:flex-start}
.footer-contact i{color:var(--red);flex-shrink:0;margin-top:3px}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:22px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:gap;gap:10px}
.footer-bottom p{font-size:0.82rem;color:rgba(255,255,255,0.35)}
.footer-bottom a{color:var(--gold)}
@media(max-width:992px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:576px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}

/* ============================================================
   SCROLL-TO-TOP
   ============================================================ */
.scroll-top{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:var(--tr);box-shadow:var(--sh-md);z-index:998;font-size:1rem}
.scroll-top.show{opacity:1;visibility:visible}
.scroll-top:hover{background:var(--red-dark);transform:translateY(-3px)}

/* ============================================================
   ANIMATIONS
   ============================================================ */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity 0.65s ease,transform 0.65s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ============================================================
   MISC
   ============================================================ */
.no-results{text-align:center;padding:60px 20px;color:var(--muted)}
.no-results i{font-size:3rem;color:var(--border);display:block;margin-bottom:14px}

/* Map */
.map-wrap{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}
.map-wrap iframe{display:block;width:100%;border:0}
