@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600&display=swap');

/* ── VARIABLES ── */
:root {
  --green:    #C05A16;
  --green2:   #9E4711;
  --navy:     #243A66;
  --navy2:    #1B2C4E;
  --dark:     #1A1A2E;
  --white:    #FFFFFF;
  --off:      #F7F8FC;
  --off2:     #EEF0F8;
  --text:     #555E7A;
  --heading:  #243A66;
  --border:   #E4E8F0;
  --ease:     cubic-bezier(0.25,0.46,0.45,0.94);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; line-height:1.7; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-thumb { background:var(--green); border-radius:2px; }

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4,h5 { font-family:'Plus Jakarta Sans',sans-serif; color:var(--heading); font-weight:700; line-height:1.2; }

/* ── PRELOADER ── */
#preloader { position:fixed;inset:0;z-index:9999;background:var(--navy);display:flex;align-items:center;justify-content:center;transition:opacity 0.6s,visibility 0.6s; }
#preloader.hidden { opacity:0;visibility:hidden; }
.pre-inner { text-align:center; }
.pre-logo { font-family:'Plus Jakarta Sans',sans-serif;font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:3px;margin-bottom:24px; }
.pre-logo span { color:var(--green); }
.pre-bar { width:200px;height:2px;background:rgba(255,255,255,0.1);margin:0 auto;overflow:hidden;border-radius:2px; }
.pre-fill { height:100%;background:var(--green);width:0;transition:width 0.05s linear;border-radius:2px; }
.pre-pct { font-size:0.75rem;font-weight:600;letter-spacing:3px;color:rgba(255,255,255,0.4);margin-top:12px; }

/* ── TOP BAR ── */
.topbar { background:var(--navy);padding:9px 6%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px; }
.topbar-left { display:flex;gap:24px;align-items:center; }
.topbar a { font-size:0.78rem;color:rgba(255,255,255,0.65);display:flex;align-items:center;gap:7px;transition:color 0.2s; }
.topbar a:hover { color:var(--green); }
.topbar a i { color:var(--green);font-size:0.8rem; }
.topbar-right { display:flex;gap:10px; }
.topbar-right a { width:28px;height:28px;border:1px solid rgba(255,255,255,0.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.55);font-size:0.7rem;transition:all 0.2s; }
.topbar-right a:hover { background:var(--green);border-color:var(--green);color:#fff; }

/* ── NAVBAR ── */
#navbar { position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 20px rgba(36,58,102,0.06);padding:0 6%;display:flex;align-items:center;justify-content:space-between;height:74px;transition:all 0.3s; }
#navbar.scrolled { box-shadow:0 4px 30px rgba(36,58,102,0.12); }
.nav-logo img { height:42px; }
.nav-links { display:flex;list-style:none;align-items:center;gap:4px; }
.nav-links > li > a { display:block;padding:8px 16px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.82rem;font-weight:600;color:var(--heading);transition:color 0.2s;position:relative; }
.nav-links > li > a::after { content:'';position:absolute;bottom:2px;left:16px;right:16px;height:2px;background:var(--green);transform:scaleX(0);transition:transform 0.25s var(--ease);border-radius:1px; }
.nav-links > li > a:hover, .nav-links > li > a.active { color:var(--green); }
.nav-links > li > a:hover::after, .nav-links > li > a.active::after { transform:scaleX(1); }
.nav-cta { background:var(--green)!important;color:#fff!important;padding:10px 24px!important;border-radius:6px;font-weight:700!important;transition:background 0.2s!important; }
.nav-cta:hover { background:var(--green2)!important;color:#fff!important; }
.nav-cta::after { display:none!important; }
.dropdown { position:relative; }
.dropdown-menu { position:absolute;top:calc(100% + 8px);left:0;background:#fff;min-width:220px;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 40px rgba(36,58,102,0.12);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all 0.25s var(--ease);z-index:99; }
.dropdown:hover .dropdown-menu { opacity:1;visibility:visible;transform:translateY(0); }
.dropdown-menu a { display:flex;align-items:center;gap:10px;padding:11px 18px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.8rem;font-weight:600;color:var(--heading);transition:all 0.2s;border-left:3px solid transparent; }
.dropdown-menu a:first-child { border-radius:8px 8px 0 0; }
.dropdown-menu a:last-child { border-radius:0 0 8px 8px; }
.dropdown-menu a:hover { color:var(--green);background:var(--off);border-left-color:var(--green);padding-left:22px; }
.hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px; }
.hamburger span { display:block;width:24px;height:2px;background:var(--heading);transition:all 0.3s;border-radius:2px; }
#mobile-nav { display:none;position:fixed;inset:0;top:0;z-index:998;background:var(--navy);padding:90px 8% 40px;overflow-y:auto;transform:translateX(100%);transition:transform 0.4s var(--ease); }
#mobile-nav.open { transform:translateX(0); }
#mobile-nav a { display:block;padding:14px 0;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:700;color:rgba(255,255,255,0.8);border-bottom:1px solid rgba(255,255,255,0.08);transition:color 0.2s; }
#mobile-nav a:hover { color:var(--green); }

/* ── BUTTONS ── */
.btn { display:inline-flex;align-items:center;gap:9px;padding:13px 28px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.84rem;font-weight:700;border-radius:6px;transition:all 0.25s;cursor:pointer;border:2px solid transparent; }
.btn-green { background:var(--green);color:#fff;border-color:var(--green); }
.btn-green:hover { background:var(--green2);border-color:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(192,90,22,0.3); }
.btn-outline { background:transparent;color:var(--heading);border-color:var(--border); }
.btn-outline:hover { border-color:var(--green);color:var(--green);transform:translateY(-2px); }
.btn-white { background:#fff;color:var(--navy);border-color:#fff; }
.btn-white:hover { background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-2px); }
.btn-outline-white { background:transparent;color:#fff;border-color:rgba(255,255,255,0.4); }
.btn-outline-white:hover { background:#fff;color:var(--navy);transform:translateY(-2px); }

/* ── SECTION LABELS ── */
.s-label { display:inline-flex;align-items:center;gap:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.72rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--green);margin-bottom:14px; }
.s-label::before { content:'';display:block;width:24px;height:2px;background:var(--green);border-radius:1px; }
.s-title { font-size:clamp(1.5rem,2.8vw,2.4rem);font-weight:800;color:var(--heading);margin-bottom:16px;line-height:1.15;letter-spacing:-0.3px; }
.s-sub { color:var(--text);font-size:0.95rem;line-height:1.85;max-width:540px;margin-bottom:48px; }

/* ── SHAPE DECORATIONS ── */
.shape-wrap { position:absolute;top:0;right:0;width:260px;opacity:0.06;pointer-events:none;z-index:0; }
.shape-wrap2 { position:absolute;bottom:-40px;left:-40px;width:200px;opacity:0.04;pointer-events:none;z-index:0; }

/* ── HERO ── */
#hero { background:linear-gradient(135deg,var(--navy) 0%,#1B2C4E 100%);min-height:calc(100vh - 110px);display:flex;align-items:center;position:relative;overflow:hidden;padding:80px 6%; }
.hero-bg-circle { position:absolute;border-radius:50%;pointer-events:none; }
.hero-bg-circle.c1 { width:500px;height:500px;background:radial-gradient(circle,rgba(192,90,22,0.12),transparent 70%);top:-100px;right:-100px; }
.hero-bg-circle.c2 { width:300px;height:300px;background:radial-gradient(circle,rgba(192,90,22,0.07),transparent 70%);bottom:-50px;left:30%; }
.hero-grid { display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;position:relative;z-index:1;width:100%; }
.hero-tag { display:inline-flex;align-items:center;gap:8px;background:rgba(192,90,22,0.12);border:1px solid rgba(192,90,22,0.25);padding:6px 14px;border-radius:100px;font-size:0.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:22px; }
.hero-tag i { font-size:0.65rem; }
.hero-title { font-size:clamp(2rem,4.5vw,3.6rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-0.5px;margin-bottom:20px; }
.hero-title span { color:var(--green); }
.hero-sub { color:rgba(255,255,255,0.6);font-size:1rem;line-height:1.85;max-width:480px;margin-bottom:36px; }
.hero-actions { display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px; }
.hero-stats { display:flex;gap:32px;flex-wrap:wrap; }
.hero-stat { border-left:2px solid rgba(255,255,255,0.1);padding-left:16px; }
.hero-stat .num { font-family:'Plus Jakarta Sans',sans-serif;font-size:1.7rem;font-weight:800;color:#fff;line-height:1; }
.hero-stat .num span { color:var(--green); }
.hero-stat .lbl { font-size:0.76rem;color:rgba(255,255,255,0.5);margin-top:3px; }
.hero-right { position:relative; }
.hero-img-main { width:100%;border-radius:16px;filter:brightness(0.85);box-shadow:0 32px 80px rgba(0,0,0,0.4); }
.hero-badge-card { position:absolute;bottom:28px;left:-28px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 12px 40px rgba(36,58,102,0.2);display:flex;align-items:center;gap:12px; }
.hero-badge-card .badge-icon { width:42px;height:42px;background:rgba(192,90,22,0.12);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.1rem; }
.hero-badge-card .badge-text { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.78rem;font-weight:700;color:var(--heading);line-height:1.3; }
.hero-badge-card .badge-text span { display:block;font-size:0.65rem;font-weight:500;color:var(--text);margin-top:2px; }
.hero-badge-cert { position:absolute;top:24px;right:-20px;background:var(--green);border-radius:12px;padding:12px 16px;text-align:center;box-shadow:0 8px 24px rgba(192,90,22,0.4); }
.hero-badge-cert .cert-val { font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:800;color:#fff;line-height:1; }
.hero-badge-cert .cert-lbl { font-size:0.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.8);margin-top:3px; }
.hero-slide-dots { display:flex;gap:8px;margin-top:20px;justify-content:flex-end; }
.hdot { width:28px;height:4px;background:rgba(255,255,255,0.2);border-radius:2px;cursor:pointer;transition:all 0.3s; }
.hdot.active { width:44px;background:var(--green); }

/* ── TICKER ── */
.ticker { background:var(--green);padding:12px 0;overflow:hidden; }
.ticker-track { display:flex;width:max-content;animation:tick 32s linear infinite; }
.ticker:hover .ticker-track { animation-play-state:paused; }
@keyframes tick { to { transform:translateX(-50%); } }
.tick-item { display:inline-flex;align-items:center;gap:18px;padding:0 32px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.76rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fff;white-space:nowrap; }
.tick-dot { width:4px;height:4px;background:rgba(255,255,255,0.4);border-radius:50%; }

/* ── STATS STRIP ── */
.stats-strip { background:var(--navy);padding:48px 6%; }
.stats-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.06); }
.stat-item { padding:32px 28px;text-align:center;background:var(--navy);position:relative;overflow:hidden;transition:background 0.3s; }
.stat-item:hover { background:rgba(192,90,22,0.08); }
.stat-item::after { content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--green);transition:width 0.4s; }
.stat-item:hover::after { width:60%; }
.stat-num { font-family:'Plus Jakarta Sans',sans-serif;font-size:2.4rem;font-weight:800;color:var(--green);display:block;line-height:1;margin-bottom:6px; }
.stat-lbl { font-size:0.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.45); }

/* ── CARDS ── */
.card-bx { background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px 28px;transition:all 0.35s;position:relative;overflow:hidden; }
.card-bx::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--green);transform:scaleX(0);transition:transform 0.4s var(--ease); }
.card-bx:hover { box-shadow:0 16px 48px rgba(36,58,102,0.1);transform:translateY(-6px);border-color:transparent; }
.card-bx:hover::before { transform:scaleX(1); }
.card-icon { width:56px;height:56px;background:rgba(192,90,22,0.1);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.3rem;margin-bottom:18px;transition:all 0.3s; }
.card-bx:hover .card-icon { background:var(--green);color:#fff; }
.card-bx h3 { font-size:1.05rem;font-weight:700;color:var(--heading);margin-bottom:10px; }
.card-bx p { font-size:0.86rem;color:var(--text);line-height:1.75; }
.card-arrow { display:inline-flex;align-items:center;gap:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.78rem;font-weight:700;color:var(--green);margin-top:16px;transition:gap 0.2s; }
.card-bx:hover .card-arrow { gap:10px; }

/* ── SECTION ALTERNATING ── */
.split-section { display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:96px 6%; }
.split-section.reverse .split-img { order:-1; }
.split-img { position:relative;border-radius:16px;overflow:hidden; }
.split-img img { width:100%;height:100%;object-fit:cover;border-radius:16px; }
.split-img-badge { position:absolute;bottom:24px;right:24px;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 8px 30px rgba(36,58,102,0.15); }
.split-img-badge .bval { font-family:'Plus Jakarta Sans',sans-serif;font-size:1.4rem;font-weight:800;color:var(--green);line-height:1; }
.split-img-badge .blbl { font-size:0.65rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:1px;margin-top:3px; }
.check-list { list-style:none;display:flex;flex-direction:column;gap:12px;margin:20px 0 32px; }
.check-list li { display:flex;gap:10px;align-items:flex-start;font-size:0.88rem;color:var(--text); }
.check-list li i { color:var(--green);font-size:0.9rem;margin-top:2px;flex-shrink:0; }

/* ── PROCESS ── */
.process-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border); }
.proc-item { background:#fff;padding:36px 28px;position:relative;transition:background 0.3s; }
.proc-item:hover { background:var(--off); }
.proc-num { font-family:'Plus Jakarta Sans',sans-serif;font-size:3rem;font-weight:800;color:rgba(36,58,102,0.06);line-height:1;margin-bottom:12px; }
.proc-item h4 { font-size:0.92rem;font-weight:700;color:var(--heading);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px; }
.proc-item p { font-size:0.82rem;color:var(--text);line-height:1.7; }
.proc-icon { width:46px;height:46px;background:rgba(192,90,22,0.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.1rem;margin-bottom:16px; }

/* ── PRODUCT GRID ── */
.prod-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.prod-card { background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all 0.35s;cursor:pointer; }
.prod-card:hover { box-shadow:0 20px 60px rgba(36,58,102,0.12);transform:translateY(-6px); }
.prod-img { height:220px;overflow:hidden;position:relative; }
.prod-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.6s; }
.prod-card:hover .prod-img img { transform:scale(1.06); }
.prod-tag-pill { position:absolute;top:14px;left:14px;background:var(--green);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:100px; }
.prod-body { padding:22px; }
.prod-body h3 { font-size:1rem;font-weight:700;color:var(--heading);margin-bottom:8px;transition:color 0.2s; }
.prod-card:hover .prod-body h3 { color:var(--green); }
.prod-body p { font-size:0.82rem;color:var(--text);line-height:1.7;margin-bottom:14px; }
.prod-specs-row { display:flex;gap:14px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border); }
.prod-spec { font-size:0.7rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:0.5px; }
.prod-spec strong { color:var(--green); }
.prod-card.wide { grid-column:span 2; }
.prod-card.wide .prod-img { height:280px; }

/* ── PROJECTS ── */
.proj-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.proj-item { border-radius:12px;overflow:hidden;position:relative;cursor:pointer; }
.proj-item img { width:100%;height:100%;object-fit:cover;transition:transform 0.6s,filter 0.4s; }
.proj-item:hover img { transform:scale(1.07);filter:brightness(0.7); }
.proj-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(36,58,102,0.92) 0%,rgba(36,58,102,0.1) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;opacity:0;transition:opacity 0.35s; }
.proj-item:hover .proj-overlay { opacity:1; }
.proj-base { position:absolute;bottom:16px;left:16px; }
.proj-base h4 { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.88rem;font-weight:700;color:rgba(255,255,255,0.7); }
.proj-item:hover .proj-base { opacity:0; }
.proj-pill { display:inline-block;background:var(--green);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:3px 9px;border-radius:100px;margin-bottom:8px; }
.proj-overlay h3 { font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:700;color:#fff;line-height:1.3; }
.proj-overlay p { font-size:0.78rem;color:rgba(255,255,255,0.6);margin-top:4px; }
.proj-item.tall { grid-row:span 2; }

/* ── TESTIMONIALS ── */
.testi-wrap { display:flex;gap:24px;overflow:hidden; }
.testi-card { flex-shrink:0;width:380px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px;transition:all 0.3s; }
.testi-card:hover { border-color:var(--green);box-shadow:0 12px 40px rgba(36,58,102,0.08);transform:translateY(-4px); }
.testi-stars { color:#F59E0B;font-size:0.85rem;letter-spacing:2px;margin-bottom:14px; }
.testi-card blockquote { font-size:0.88rem;line-height:1.8;color:var(--text);font-style:italic;margin-bottom:22px; }
.testi-author { display:flex;align-items:center;gap:12px; }
.testi-av { width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0; }
.testi-av img { width:100%;height:100%;object-fit:cover; }
.testi-av-init { width:44px;height:44px;border-radius:50%;background:rgba(192,90,22,0.12);display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:var(--green);font-size:0.9rem;flex-shrink:0; }
.testi-name { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.85rem;font-weight:700;color:var(--heading); }
.testi-role { font-size:0.74rem;color:var(--text); }

/* ── COMPARE TABLE ── */
.compare-wrap { overflow-x:auto;border-radius:12px;border:1px solid var(--border); }
.compare-table { width:100%;border-collapse:collapse; }
.compare-table th { padding:14px 20px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px; }
.compare-table th:first-child { background:var(--off);color:var(--text);text-align:left;border-radius:12px 0 0 0; }
.compare-table th.th-good { background:var(--green);color:#fff; }
.compare-table th.th-bad { background:var(--off2);color:#aaa; }
.compare-table td { padding:13px 20px;font-size:0.85rem;border-bottom:1px solid var(--border); }
.compare-table tr:last-child td { border-bottom:none; }
.compare-table tr:nth-child(even) td { background:var(--off); }
.compare-table td:first-child { font-weight:600;color:var(--heading);background:var(--off)!important; }
.td-yes { color:#059669;font-weight:700; }
.td-no { color:#DC2626;font-weight:700; }

/* ── CERT GRID ── */
.cert-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
.cert-card { background:#fff;border:1px solid var(--border);border-radius:10px;padding:24px 18px;text-align:center;transition:all 0.3s; }
.cert-card:hover { border-color:var(--green);box-shadow:0 8px 24px rgba(192,90,22,0.1);transform:translateY(-3px); }
.cert-card .cert-name { font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:800;color:var(--heading);display:block;margin-bottom:6px; }
.cert-card .cert-desc { font-size:0.74rem;color:var(--text);line-height:1.6; }

/* ── FAQ ── */
.faq-item { border-bottom:1px solid var(--border);padding:4px 0; }
.faq-q { padding:18px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:0.92rem;color:var(--heading);transition:color 0.2s; }
.faq-q:hover,.faq-item.open .faq-q { color:var(--green); }
.faq-icon { width:30px;height:30px;border:1px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text);font-size:0.75rem;flex-shrink:0;transition:all 0.3s; }
.faq-item.open .faq-icon { background:var(--green);border-color:var(--green);color:#fff;transform:rotate(45deg); }
.faq-a { display:none;padding-bottom:18px;font-size:0.9rem;color:var(--text);line-height:1.85;max-width:680px; }
.faq-a.open { display:block; }

/* ── NEWS ── */
.news-grid { display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:24px; }
.news-card { border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:all 0.35s; }
.news-card:hover { box-shadow:0 16px 48px rgba(36,58,102,0.1);transform:translateY(-5px); }
.news-img { overflow:hidden;position:relative; }
.news-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.5s; }
.news-card:hover .news-img img { transform:scale(1.05); }
.news-img.tall { height:240px; }
.news-img.short { height:160px; }
.news-pill { position:absolute;top:14px;left:14px;background:var(--green);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:3px 9px;border-radius:100px; }
.news-body { padding:20px; }
.news-date { font-size:0.7rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:8px; }
.news-card h3 { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.98rem;font-weight:700;color:var(--heading);line-height:1.35;margin-bottom:8px;transition:color 0.2s; }
.news-card:hover h3 { color:var(--green); }
.news-card p { font-size:0.82rem;color:var(--text);line-height:1.7; }
.news-more { display:inline-flex;align-items:center;gap:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.78rem;font-weight:700;color:var(--green);margin-top:14px;transition:gap 0.2s; }
.news-card:hover .news-more { gap:10px; }

/* ── CTA SECTION ── */
.cta-section { background:linear-gradient(135deg,var(--navy) 0%,#1B2C4E 100%);padding:88px 6%;position:relative;overflow:hidden;text-align:center; }
.cta-section h2 { font-size:clamp(1.6rem,3vw,2.6rem);font-weight:800;color:#fff;margin-bottom:14px; }
.cta-section p { color:rgba(255,255,255,0.6);font-size:0.95rem;max-width:500px;margin:0 auto 36px; }
.cta-section::before { content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(192,90,22,0.1),transparent 70%);pointer-events:none; }

/* ── CONTACT ── */
.contact-info-item { display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--border); }
.contact-info-item:last-child { border-bottom:none; }
.contact-icon { width:44px;height:44px;background:rgba(192,90,22,0.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1rem;flex-shrink:0; }
.contact-lbl { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:4px; }
.contact-val { font-size:0.9rem;color:var(--heading);font-weight:500; }
.contact-val a { color:var(--green); }
.form-group { margin-bottom:18px; }
.form-group label { display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text);margin-bottom:8px; }
.form-group input,.form-group select,.form-group textarea { width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:8px;font-family:'Inter',sans-serif;font-size:0.9rem;color:var(--heading);outline:none;transition:border-color 0.25s,box-shadow 0.25s; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--green);box-shadow:0 0 0 3px rgba(192,90,22,0.1); }
.form-group textarea { min-height:110px;resize:vertical; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:16px; }

/* ── FOOTER ── */
#footer { background:var(--navy);padding:80px 6% 0; }
.footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-brand p { color:rgba(255,255,255,0.45);font-size:0.84rem;line-height:1.85;max-width:260px;margin-top:16px; }
.footer-brand img { height:40px; }
.footer-col h5 { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#fff;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { color:rgba(255,255,255,0.45);font-size:0.84rem;transition:color 0.2s;display:flex;align-items:center;gap:6px; }
.footer-col ul li a:hover { color:var(--green); }
.footer-col ul li a:hover::before { color:var(--green); }
.footer-newsletter h5 { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#fff;margin-bottom:12px; }
.footer-newsletter p { color:rgba(255,255,255,0.45);font-size:0.82rem;line-height:1.7;margin-bottom:16px; }
.newsletter-form { display:flex;gap:0; }
.newsletter-form input { flex:1;padding:12px 16px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-right:none;border-radius:8px 0 0 8px;color:#fff;font-size:0.85rem;outline:none; }
.newsletter-form input::placeholder { color:rgba(255,255,255,0.3); }
.newsletter-form button { background:var(--green);border:none;padding:12px 18px;border-radius:0 8px 8px 0;color:#fff;font-size:0.85rem;cursor:pointer;transition:background 0.2s; }
.newsletter-form button:hover { background:var(--green2); }
.footer-socials { display:flex;gap:8px;margin-top:20px; }
.footer-socials a { width:36px;height:36px;border:1px solid rgba(255,255,255,0.1);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.45);font-size:0.8rem;transition:all 0.2s; }
.footer-socials a:hover { background:var(--green);border-color:var(--green);color:#fff; }
.footer-bottom { display:flex;justify-content:space-between;align-items:center;padding:22px 0;flex-wrap:wrap;gap:10px; }
.footer-bottom p { color:rgba(255,255,255,0.25);font-size:0.78rem; }
.footer-bottom a { color:var(--green); }

/* ── PAGE HERO ── */
.page-hero { background:linear-gradient(135deg,var(--navy) 0%,#1B2C4E 100%);padding:100px 6% 70px;position:relative;overflow:hidden; }
.page-hero::after { content:'';position:absolute;top:-50%;right:-5%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(192,90,22,0.1),transparent 70%);pointer-events:none; }
.page-hero-eyebrow { font-family:'Plus Jakarta Sans',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--green);margin-bottom:12px;display:block; }
.page-hero h1 { font-size:clamp(1.8rem,3.5vw,3rem);font-weight:800;color:#fff;margin-bottom:14px;line-height:1.15;letter-spacing:-0.3px; }
.page-hero h1 span { color:var(--green); }
.page-hero p { color:rgba(255,255,255,0.55);font-size:0.95rem;max-width:500px;line-height:1.85; }
.page-hero-breadcrumb { display:flex;align-items:center;gap:8px;font-size:0.78rem;color:rgba(255,255,255,0.4);margin-top:16px; }
.page-hero-breadcrumb a { color:rgba(255,255,255,0.4);transition:color 0.2s; }
.page-hero-breadcrumb a:hover { color:var(--green); }
.page-hero-breadcrumb span { color:var(--green); }

/* ── REVEAL ANIMATIONS ── */
.reveal { opacity:0;transform:translateY(30px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease); }
.reveal.visible { opacity:1;transform:translateY(0); }
.reveal-left { opacity:0;transform:translateX(-30px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease); }
.reveal-left.visible { opacity:1;transform:translateX(0); }
.reveal-right { opacity:0;transform:translateX(30px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease); }
.reveal-right.visible { opacity:1;transform:translateX(0); }
.d1{transition-delay:0.1s}.d2{transition-delay:0.2s}.d3{transition-delay:0.3s}.d4{transition-delay:0.4s}

/* ── WA FLOAT ── */
.wa-float { position:fixed;bottom:28px;right:28px;z-index:900;width:52px;height:52px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;box-shadow:0 4px 20px rgba(37,211,102,0.4);transition:transform 0.3s; }
.wa-float:hover { transform:scale(1.1); }

/* ── GALLERY STRIP ── */
.gal-strip { overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border); }
.gal-track { display:flex;width:max-content;animation:gals 28s linear infinite; }
.gal-strip:hover .gal-track { animation-play-state:paused; }
@keyframes gals { to { transform:translateX(-50%); } }
.gal-item { width:280px;height:180px;flex-shrink:0;overflow:hidden;border-right:1px solid var(--border); }
.gal-item img { width:100%;height:100%;object-fit:cover;filter:grayscale(20%);transition:all 0.4s; }
.gal-item:hover img { filter:grayscale(0);transform:scale(1.05); }

/* ── FILTER TABS ── */
.filter-tabs { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px; }
.ftab { padding:8px 20px;border-radius:100px;background:var(--off);color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;font-size:0.78rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);transition:all 0.25s; }
.ftab.active,.ftab:hover { background:var(--green);color:#fff;border-color:var(--green); }

/* ── RESPONSIVE ── */
@media(max-width:1100px){.prod-grid{grid-template-columns:1fr 1fr}.prod-card.wide{grid-column:span 2}.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .hero-grid,.split-section{grid-template-columns:1fr}
  .split-section.reverse .split-img{order:0}
  .hero-badge-card,.hero-badge-cert{display:none}
  .stats-grid{grid-template-columns:1fr 1fr}
  .topbar,.footer-grid{display:none}
  .news-grid{grid-template-columns:1fr}
  .nav-links{display:none}
  .hamburger{display:flex}
  #mobile-nav{display:block}
  .prod-grid{grid-template-columns:1fr}
  .prod-card.wide{grid-column:span 1}
  .testi-wrap{flex-direction:column}
  .testi-card{width:100%}
  .process-grid{grid-template-columns:1fr 1fr}
  .cert-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .page-hero{padding:80px 5% 52px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .cert-grid{grid-template-columns:1fr 1fr}
  .process-grid{grid-template-columns:1fr}
}

/* Mobile nav social icons */
.mob-social { display:flex;gap:10px;padding:24px 0 8px;flex-wrap:wrap; }
.mob-social a { width:38px;height:38px;border:1px solid rgba(255,255,255,0.2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.65);font-size:0.8rem;transition:color 0.2s,border-color 0.2s;text-decoration:none;background:transparent; }
.mob-social a:hover { background:transparent;border-color:var(--green);color:var(--green); }

/* ══════════════════════════════════════════════════════
   PRODUCT DETAIL PAGE — sidebar layout
   ══════════════════════════════════════════════════════ */
.pd-wrap { padding:72px 6%; }
.pd-grid { display:grid; grid-template-columns:1fr 320px; gap:56px; align-items:start; }

/* ── Main column ── */
.pd-main { min-width:0; }
.pd-hero-img { width:100%; height:340px; object-fit:cover; border-radius:14px; margin-bottom:32px; filter:brightness(0.94); }
.pd-h2 { font-size:clamp(1.4rem,2.4vw,2rem); font-weight:800; color:var(--heading); margin-bottom:14px; line-height:1.2; }
.pd-intro { font-size:0.95rem; line-height:1.9; color:var(--text); margin-bottom:8px; }
.pd-h3 { display:flex; align-items:center; gap:10px; font-size:1.05rem; font-weight:700; color:var(--heading); margin:38px 0 16px; padding-bottom:12px; border-bottom:2px solid var(--border); }
.pd-h3 i { color:var(--green); font-size:0.9rem; }

/* What we do list */
.pd-list { list-style:none; display:flex; flex-direction:column; gap:11px; }
.pd-list li { display:flex; gap:11px; align-items:flex-start; font-size:0.9rem; color:var(--text); line-height:1.7; }
.pd-list li i { color:var(--green); font-size:0.88rem; margin-top:4px; flex-shrink:0; }

/* Best for grid */
.pd-bestfor { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pd-bf-item { display:flex; gap:10px; align-items:flex-start; background:var(--off); border:1px solid var(--border); border-radius:8px; padding:12px 14px; transition:all 0.25s; }
.pd-bf-item:hover { border-color:var(--green); background:rgba(192,90,22,0.05); }
.pd-bf-item i { color:var(--green); font-size:0.75rem; margin-top:5px; flex-shrink:0; }
.pd-bf-item span { font-size:0.84rem; color:var(--text); line-height:1.6; }

/* Spec table */
.pd-spec-table { width:100%; border-collapse:collapse; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.pd-spec-table td { padding:12px 18px; font-size:0.87rem; border-bottom:1px solid var(--border); }
.pd-spec-table tr:last-child td { border-bottom:none; }
.pd-spec-table td:first-child { font-weight:600; color:var(--heading); background:var(--off); width:38%; }
.pd-spec-table td:last-child { color:var(--text); }
.pd-spec-table tr:hover td:last-child { color:var(--green); font-weight:600; }

/* Why manufacturer */
.pd-why { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pd-why-item { display:flex; gap:13px; align-items:flex-start; border:1px solid var(--border); border-radius:10px; padding:18px; transition:all 0.3s; }
.pd-why-item:hover { border-color:var(--green); box-shadow:0 8px 26px rgba(192,90,22,0.08); transform:translateY(-2px); }
.pd-why-icon { width:40px; height:40px; background:rgba(192,90,22,0.1); border-radius:9px; display:flex; align-items:center; justify-content:center; color:var(--green); font-size:0.95rem; flex-shrink:0; }
.pd-why-item strong { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.87rem; font-weight:700; color:var(--heading); margin-bottom:3px; }
.pd-why-item span { font-size:0.79rem; color:var(--text); line-height:1.65; }

/* Pricing note */
.pd-note { background:rgba(192,90,22,0.06); border-left:4px solid var(--green); border-radius:0 10px 10px 0; padding:20px 24px; margin-top:34px; }
.pd-note-title { display:flex; align-items:center; gap:8px; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--green); margin-bottom:9px; }
.pd-note p { font-size:0.87rem; color:var(--text); line-height:1.85; margin:0; }

/* FAQ inside product page */
.pd-faq .faq-item:first-child { border-top:1px solid var(--border); }

/* ── Sidebar ── */
.pd-side { position:sticky; top:92px; display:flex; flex-direction:column; gap:18px; }
.pd-card { border:1px solid var(--border); border-radius:12px; padding:22px; }
.pd-card h4 { font-family:'Plus Jakarta Sans',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--heading); margin-bottom:15px; padding-bottom:11px; border-bottom:2px solid var(--green); }
.pd-side-list { list-style:none; display:flex; flex-direction:column; gap:2px; }
.pd-side-list a { display:flex; align-items:center; gap:10px; padding:10px 12px; font-size:0.84rem; font-weight:500; color:var(--text); border-radius:7px; border-left:3px solid transparent; transition:all 0.22s; }
.pd-side-list a i { color:var(--green); font-size:0.8rem; width:16px; flex-shrink:0; }
.pd-side-list a:hover { background:var(--off); color:var(--green); border-left-color:var(--green); padding-left:16px; }
.pd-side-list a.active { background:rgba(192,90,22,0.08); color:var(--green); font-weight:700; border-left-color:var(--green); }

/* Sidebar CTA card */
.pd-card-cta { background:var(--navy); border-color:var(--navy); }
.pd-card-cta h4 { color:#fff; border-bottom-color:rgba(192,90,22,0.4); }
.pd-card-cta p { font-size:0.82rem; color:rgba(255,255,255,0.5); line-height:1.7; margin-bottom:16px; }
.pd-cta-btn { display:flex; align-items:center; justify-content:center; gap:8px; padding:11px 16px; background:var(--green); color:#fff; border-radius:8px; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.82rem; font-weight:700; margin-bottom:9px; transition:all 0.22s; }
.pd-cta-btn:hover { background:var(--green2); transform:translateY(-2px); }
.pd-cta-wa { background:#25D366; }
.pd-cta-wa:hover { background:#1da851; }
.pd-cta-outline { background:transparent; border:1.5px solid rgba(255,255,255,0.2); color:rgba(255,255,255,0.75); margin-bottom:0; }
.pd-cta-outline:hover { background:#fff; color:var(--navy); border-color:#fff; }

/* Sidebar certs */
.pd-certs { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:13px; }
.pd-certs span { background:var(--off); border:1px solid var(--border); border-radius:6px; padding:5px 11px; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.7rem; font-weight:700; color:var(--heading); }
.pd-cert-gem { background:rgba(192,90,22,0.1)!important; border-color:var(--green)!important; color:var(--green)!important; display:inline-flex; align-items:center; gap:5px; }
.pd-cert-note { font-size:0.74rem; color:var(--text); line-height:1.65; margin:0; }

/* Product card as link */
a.prod-card { color:inherit; }
a.prod-card:hover { text-decoration:none; }

/* ── Responsive ── */
@media(max-width:1000px){
  .pd-grid { grid-template-columns:1fr; gap:40px; }
  .pd-side { position:static; }
  .pd-why { grid-template-columns:1fr; }
  .pd-bestfor { grid-template-columns:1fr; }
}
@media(max-width:600px){
  .pd-wrap { padding:52px 5%; }
  .pd-hero-img { height:220px; }
  .pd-spec-table td { padding:10px 13px; font-size:0.82rem; }
  .pd-spec-table td:first-child { width:44%; }
}

/* ══════════════════════════════════════════════════════
   MOBILE OVERFLOW FIXES
   ══════════════════════════════════════════════════════ */

/* Global guard — nothing may create a horizontal scrollbar */
html, body { max-width:100%; overflow-x:hidden; }

/* Off-canvas mobile nav is parked off-screen by design —
   stop it dragging the page scroll width with it */
#mobile-nav { max-width:100vw; overflow-x:hidden; }

/* Decorative hero glows must never extend the page */
#hero, .page-hero, .cta-section { overflow:hidden; }
.hero-bg-circle { max-width:100vw; }

/* Client logo marquee — contain the scrolling track */
.clients-strip { overflow:hidden; max-width:100%; }
.clients-track-wrap { overflow:hidden; max-width:100%; }

/* Any full-bleed marquee/strip stays inside the viewport */
.ticker, .gal-strip { max-width:100%; }

@media(max-width:600px){
  /* Contact enquiry card: reduce heavy desktop padding */
  .card-bx { padding:24px 18px !important; }
  /* Form rows stack fully */
  .form-row { grid-template-columns:1fr !important; }
  /* Contact page 2-col layout collapses */
  section > div[style*="grid-template-columns:1fr 1.4fr"],
  section > div[style*="grid-template-columns:1fr 2fr"],
  section > div[style*="grid-template-columns:1fr 1.8fr"] {
    display:block !important;
  }
  /* Tables never force width */
  .pd-spec-table, .compare-table { display:block; overflow-x:auto; width:100%; }
}

/* ══════════════════════════════════════════════════════
   HERO SLIDER — cross-fade (slides must never stack)
   ══════════════════════════════════════════════════════ */
.hero-slider { position:relative; }

/* Every slide overlays the first */
.hero-slider .hslide {
  position:absolute;
  top:0; left:0; right:0;
  opacity:0;
  transition:opacity 1s ease-in-out;
  pointer-events:none;
}

/* First slide sits in flow so the wrapper gets its height */
.hero-slider .hslide:first-child { position:relative; }

.hero-slider .hslide.active { opacity:1; pointer-events:auto; }

/* Preloader scroll lock — uses a class so it never fights overflow-x:hidden */
body.is-loading { overflow:hidden; }

/* ══════════════════════════════════════════════════════
   MMTS — site-specific additions
   ══════════════════════════════════════════════════════ */

/* Logo sizing — MMT mark is wide, needs more height than a wordmark */
.nav-logo img { height:52px; width:auto; }
.footer-brand img { height:56px; width:auto; background:#fff; padding:8px 12px; border-radius:8px; }

/* Topbar partner badge */
.topbar-partner { font-size:0.76rem; color:rgba(255,255,255,0.5); display:inline-flex; align-items:center; gap:7px; }
.topbar-partner i { color:var(--green); font-size:0.78rem; }
@media(max-width:1200px){ .topbar-partner { display:none; } }

/* Mobile nav — service sub-items sit visually under the parent */
#mobile-nav a.mob-sub { font-size:0.86rem; font-weight:500; padding:10px 0 10px 16px; color:rgba(255,255,255,0.55); border-bottom:1px solid rgba(255,255,255,0.05); }
#mobile-nav a.mob-sub i { color:var(--green); font-size:0.78rem; width:20px; }

/* Partner ribbon under hero */
.partner-bar { background:var(--off); border-bottom:1px solid var(--border); padding:22px 6%; display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; text-align:center; }
.partner-bar .pb-text { font-family:'Plus Jakarta Sans',sans-serif; font-size:0.86rem; font-weight:600; color:var(--heading); }
.partner-bar .pb-text span { color:var(--green); font-weight:800; }
.partner-bar .pb-chip { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--border); border-radius:100px; padding:7px 16px; font-size:0.78rem; font-weight:600; color:var(--text); }
.partner-bar .pb-chip i { color:var(--green); }

/* Industries grid */
.ind-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ind-item { display:flex; align-items:center; gap:12px; border:1px solid var(--border); border-radius:10px; padding:16px 18px; transition:all 0.25s; }
.ind-item:hover { border-color:var(--green); background:rgba(192,90,22,0.04); transform:translateY(-3px); }
.ind-item i { color:var(--green); font-size:1.05rem; width:24px; flex-shrink:0; }
.ind-item span { font-family:'Plus Jakarta Sans',sans-serif; font-size:0.84rem; font-weight:600; color:var(--heading); }
@media(max-width:900px){ .ind-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .ind-grid { grid-template-columns:1fr; } }

/* Service grid — 3 across, uses prod-card base */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:1100px){ .svc-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:760px){ .svc-grid { grid-template-columns:1fr; } }
.svc-card { background:#fff; border:1px solid var(--border); border-radius:12px; padding:26px 24px; transition:all 0.32s; display:block; position:relative; overflow:hidden; }
.svc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--green); transform:scaleX(0); transition:transform 0.35s var(--ease); }
.svc-card:hover { box-shadow:0 16px 48px rgba(36,58,102,0.1); transform:translateY(-5px); border-color:transparent; }
.svc-card:hover::before { transform:scaleX(1); }
.svc-icon { width:50px; height:50px; background:rgba(192,90,22,0.1); border-radius:11px; display:flex; align-items:center; justify-content:center; color:var(--green); font-size:1.15rem; margin-bottom:16px; transition:all 0.3s; }
.svc-card:hover .svc-icon { background:var(--green); color:#fff; }
.svc-card h3 { font-size:0.98rem; font-weight:700; color:var(--heading); margin-bottom:8px; transition:color 0.2s; }
.svc-card:hover h3 { color:var(--green); }
.svc-card p { font-size:0.83rem; color:var(--text); line-height:1.75; }
.svc-more { display:inline-flex; align-items:center; gap:6px; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.76rem; font-weight:700; color:var(--green); margin-top:14px; transition:gap 0.2s; }
.svc-card:hover .svc-more { gap:10px; }

/* Value / why-choose cards */
.val-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:1000px){ .val-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:660px){ .val-grid { grid-template-columns:1fr; } }
.val-item { display:flex; gap:14px; align-items:flex-start; border:1px solid var(--border); border-radius:11px; padding:22px; transition:all 0.3s; }
.val-item:hover { border-color:var(--green); box-shadow:0 10px 30px rgba(192,90,22,0.08); transform:translateY(-3px); }
.val-icon { width:42px; height:42px; background:rgba(192,90,22,0.1); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--green); font-size:1rem; flex-shrink:0; }
.val-item strong { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.9rem; font-weight:700; color:var(--heading); margin-bottom:5px; }
.val-item span { font-size:0.82rem; color:var(--text); line-height:1.7; }

/* Mission / vision / values */
.mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:800px){ .mv-grid { grid-template-columns:1fr; } }
.mv-card { border:1px solid var(--border); border-radius:12px; padding:30px 28px; transition:all 0.3s; }
.mv-card:hover { border-color:var(--green); box-shadow:0 12px 36px rgba(36,58,102,0.07); }
.mv-card .mv-icon { width:48px; height:48px; background:rgba(192,90,22,0.1); border-radius:11px; display:flex; align-items:center; justify-content:center; color:var(--green); font-size:1.15rem; margin-bottom:16px; }
.mv-card h3 { font-size:1.05rem; font-weight:700; margin-bottom:10px; }
.mv-card p { font-size:0.88rem; line-height:1.85; color:var(--text); }

/* Contact page layout */
.contact-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:44px; align-items:start; }
@media(max-width:900px){ .contact-grid { grid-template-columns:1fr; gap:36px; } }
.contact-map { border:0; width:100%; height:300px; border-radius:12px; display:block; }
.form-note { font-size:0.78rem; color:var(--text); margin-top:14px; line-height:1.7; }
.form-status { display:none; padding:13px 16px; border-radius:8px; font-size:0.85rem; font-weight:600; margin-bottom:16px; }
.form-status.ok { display:block; background:rgba(5,150,105,0.1); color:#059669; border:1px solid rgba(5,150,105,0.25); }
.form-status.err { display:block; background:rgba(220,38,38,0.08); color:#DC2626; border:1px solid rgba(220,38,38,0.22); }

/* Hero slider text sizing on this site */
.hslide .hero-title { margin-bottom:18px; }
