/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;color:#334155;background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit;transition:all .2s}
img{max-width:100%;display:block}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;outline:none}
input,select,textarea{font-family:inherit;outline:none}

/* ============================================================
   CSS VARIABLES
   ============================================================ */
/* Brand palette — only two brand colours are used across the whole site:
   deep teal  #135062  (structure: nav, headings, footer)
   orange     #ff5c00  (action: buttons, highlights, badges)
   everything else is a tint or shade of those two. */
:root{
  --primary:#135062;
  --primary-d:#0d3c4a;
  --primary-m:#1c6d85;
  --primary-l:#e7f0f3;
  --primary-l2:#d4e5ea;
  /* legacy alias kept so older markup that used --green still themes correctly */
  --green:#1c6d85;
  --green-d:#0d3c4a;
  --green-l:#e7f0f3;
  --orange:#ff5c00;
  --orange-d:#d94e00;
  --orange-l:#fff1e7;
  --accent:#ff5c00;
  --accent-d:#d94e00;
  --accent-l:#fff1e7;
  --dark:#0c2c36;
  --body:#3c4d54;
  --muted:#6b7f88;
  --light:#94a8b1;
  --border:#dde7eb;
  --bg:#f5f9fa;
  --white:#ffffff;
  --shadow-sm:0 1px 4px rgba(19,80,98,.08);
  --shadow:0 4px 16px rgba(19,80,98,.12);
  --shadow-lg:0 8px 32px rgba(19,80,98,.16);
  --shadow-xl:0 16px 48px rgba(19,80,98,.2);
  --radius:10px;
  --radius-lg:16px;
  --radius-xl:22px;
}

/* ============================================================
   TOP BAR
   ============================================================ */
.top-bar{
  background:var(--primary-d);
  padding:8px 0;
  font-size:12.5px;
  color:rgba(255,255,255,.72);
}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.top-info{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.top-info a{color:rgba(255,255,255,.72);display:flex;align-items:center;gap:5px;transition:.2s}
.top-info a:hover{color:#fff}
.top-info a svg{width:13px;height:13px;flex-shrink:0}
.top-acts{display:flex;align-items:center;gap:6px}
.btn-post-req{
  background:var(--orange);color:#fff;padding:5px 14px;
  border-radius:6px;font-size:12px;font-weight:700;
  display:flex;align-items:center;gap:5px;transition:.2s
}
.btn-post-req:hover{background:var(--orange-d);transform:translateY(-1px)}
.btn-toplink{
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);
  padding:5px 12px;border-radius:6px;font-size:12px;
  border:1px solid rgba(255,255,255,.15);transition:.2s
}
.btn-toplink:hover{background:rgba(255,255,255,.15);color:#fff}
.btn-topreg{
  background:var(--primary);color:#fff;padding:5px 13px;
  border-radius:6px;font-size:12px;font-weight:700;transition:.2s
}
.btn-topreg:hover{background:var(--primary-d)}

/* ============================================================
   CONTAINER
   ============================================================ */
.container{max-width:1260px;margin:0 auto;padding:0 24px}

/* ============================================================
   SITE HEADER
   ============================================================ */
.site-header{
  background:#fff;
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:500;
  transition:box-shadow .25s;
}
.site-header.scrolled{box-shadow:var(--shadow)}
.header-inner{
  display:flex;align-items:center;gap:16px;
  padding:12px 24px;max-width:1260px;margin:0 auto;
}

/* Logo */
.site-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-mark{
  width:44px;height:44px;
  background:linear-gradient(135deg,var(--primary),var(--green));
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.logo-mark svg{width:24px;height:24px;fill:#fff}
.logo-words .l1{font-size:16px;font-weight:800;color:var(--primary);line-height:1.1}
.logo-words .l2{font-size:10.5px;color:var(--muted);font-weight:600}

/* Search bar */
.header-search{flex:1;max-width:560px}
.search-wrap{
  display:flex;align-items:center;
  background:var(--bg);border:1.5px solid var(--border);
  border-radius:50px;overflow:hidden;transition:.2s;
}
.search-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px rgba(11,77,140,.09)}

.search-divider{width:1px;height:22px;background:var(--border);flex-shrink:0}
.search-inp{
  flex:1;border:none;background:transparent;
  font-size:13.5px;padding:10px 14px;color:var(--dark);
}
.search-inp::placeholder{color:var(--light)}
.search-go{
  background:var(--primary);color:#fff;border:none;
  padding:10px 20px;font-size:15px;transition:.2s;
}
.search-go:hover{background:var(--primary-d)}
.search-go svg{width:16px;height:16px;fill:#fff;display:block}

/* Right actions */
.header-right{display:flex;align-items:center;gap:14px;flex-shrink:0;margin-left:auto}
.header-call{
  display:flex;align-items:center;gap:9px;
  text-decoration:none;color:var(--body);
}
.call-icon{
  width:38px;height:38px;background:var(--primary-l);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.call-icon svg{width:16px;height:16px;fill:var(--primary)}
.call-txt small{display:block;font-size:10.5px;color:var(--muted)}
.call-txt strong{font-size:13px;color:var(--dark);font-weight:700}
.btn-listco{
  background:var(--green);color:#fff;
  padding:10px 20px;border-radius:9px;
  font-size:13px;font-weight:700;
  display:flex;align-items:center;gap:6px;
  white-space:nowrap;transition:.2s;
}
.btn-listco:hover{background:var(--green-d);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-listco svg{width:15px;height:15px;fill:#fff}

/* Hamburger */
.hamburger{
  display:none;flex-direction:column;gap:5px;
  background:transparent;border:none;padding:4px;
}
.hamburger span{
  display:block;width:24px;height:2px;
  background:var(--dark);border-radius:2px;transition:.3s;
}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ============================================================
   MAIN NAV
   ============================================================ */
.main-nav{
  background:var(--primary);
  position:relative;z-index:400;overflow:visible;
}
.nav-inner{
  display:flex;align-items:center;
  max-width:1260px;margin:0 auto;padding:0 24px;
  height:48px;overflow:visible;
}
.nav-all-btn{
  background:rgba(255,255,255,.15);color:#fff;
  padding:8px 16px;border-radius:7px;
  font-size:13px;font-weight:700;
  display:flex;align-items:center;gap:7px;
  margin-right:10px;flex-shrink:0;transition:.2s;
}
.nav-all-btn:hover{background:rgba(255,255,255,.25)}
.nav-all-btn svg{width:14px;height:14px;fill:#fff}
/* NOTE: this used to be `overflow-x:auto`, which silently made overflow-y
   compute to `auto` as well. That turned the nav strip into a scroll
   container and CLIPPED the absolutely-positioned dropdowns to its 48px
   height — which is why the hover mega-menu never appeared. Overflow must
   stay visible here; the nav is hidden below 992px anyway. */
.nav-links{display:flex;align-items:center;gap:1px;overflow:visible;flex-wrap:nowrap}
.nav-item{position:relative;flex-shrink:0}
.nav-link{
  display:flex;align-items:center;gap:4px;
  color:rgba(255,255,255,.88);font-size:13.5px;font-weight:600;
  padding:13px 14px;cursor:pointer;border-radius:6px;
  transition:.2s;white-space:nowrap;
}
.nav-link:hover,.nav-item:hover>.nav-link{
  color:#fff;background:rgba(255,255,255,.12);
}
.nav-link svg{width:10px;height:10px;fill:rgba(255,255,255,.7);transition:.25s;flex-shrink:0}
.nav-item:hover>.nav-link svg{transform:rotate(180deg);fill:#fff}

/* Mega Menu */
.mega-drop{
  position:absolute;top:100%;left:0;
  background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);
  box-shadow:var(--shadow-xl);
  border-top:3px solid var(--green);
  min-width:680px;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:all .22s;pointer-events:none;
  z-index:999;
}
.nav-item:hover .mega-drop,
.nav-item:focus-within .mega-drop,
.nav-item.open .mega-drop{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:all;
}
/* invisible bridge so the pointer can travel from the label into the panel */
.nav-item>.mega-drop::before,
.nav-item>.simple-drop::before{
  content:'';position:absolute;top:-10px;left:0;right:0;height:10px;
}
/* dropdowns opened by the last nav items align to the right edge so they
   never spill past the viewport */
.nav-links>.nav-item:nth-last-child(-n+4)>.mega-drop,
.nav-links>.nav-item:nth-last-child(-n+4)>.simple-drop{left:auto;right:0}
/* the "All Categories" panel always opens from the left */
.nav-item-all{position:relative;flex-shrink:0}
.nav-item-all>.mega-drop{left:0;right:auto}
.nav-item-all:hover>.nav-all-btn{background:rgba(255,255,255,.28)}
.mega-inner{display:flex;padding:24px;gap:0}
.mega-col{flex:1;padding:0 20px;border-right:1px solid var(--border)}
.mega-col:first-child{padding-left:0}
.mega-col:last-child{border-right:none}
.mega-col-title{
  font-size:10.5px;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--primary);
  margin-bottom:12px;padding-bottom:8px;
  border-bottom:2px solid var(--primary-l);
}
.mega-col ul li{margin-bottom:8px}
.mega-col ul li a{
  font-size:13.5px;color:var(--body);font-weight:500;
  display:flex;align-items:center;gap:6px;
  padding:3px 0;transition:.2s;
}
.mega-col ul li a:hover{color:var(--primary);padding-left:4px}
.mega-col ul li a::before{
  content:'';width:5px;height:5px;
  border-radius:50%;background:var(--green);flex-shrink:0;
}
.mega-cta-box{
  background:var(--primary-l);border-radius:var(--radius);
  padding:20px;text-align:center;
}
.mega-cta-box .ico{font-size:30px;margin-bottom:10px}
.mega-cta-box h6{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:6px}
.mega-cta-box p{font-size:12.5px;color:var(--muted);margin-bottom:14px;line-height:1.5}

/* Simple dropdown */
.simple-drop{
  position:absolute;top:100%;left:0;
  background:#fff;border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--shadow-lg);min-width:220px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:all .2s;z-index:999;border-top:3px solid var(--green);
}
.nav-item:hover .simple-drop,
.nav-item:focus-within .simple-drop,
.nav-item.open .simple-drop{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:all;
}
.simple-drop{pointer-events:none}
.simple-drop a{
  display:block;padding:11px 18px;font-size:13.5px;
  color:var(--body);font-weight:500;border-bottom:1px solid var(--border);
  transition:.2s;
}
.simple-drop a:last-child{border-bottom:none}
.simple-drop a:hover{color:var(--primary);background:var(--bg);padding-left:24px}

/* Mobile Menu */
.mobile-menu{
  display:none;background:#fff;
  border-top:1px solid var(--border);
  position:absolute;top:100%;left:0;right:0;
  z-index:450;box-shadow:var(--shadow-lg);
  max-height:calc(100vh - 120px);overflow-y:auto;
}
.mobile-menu.open{display:block}
.mobile-search{padding:14px 16px;border-bottom:1px solid var(--border)}
.mobile-search-row{
  display:flex;align-items:center;
  background:var(--bg);border:1.5px solid var(--border);
  border-radius:10px;overflow:hidden;
}
.mobile-search-row input{
  flex:1;border:none;background:transparent;
  padding:10px 14px;font-size:14px;color:var(--dark);
}
.mobile-search-row button{
  background:var(--primary);color:#fff;
  padding:10px 16px;font-size:14px;border:none;
}
.mob-nav{padding:8px 0}
.mob-nav-item{border-bottom:1px solid var(--border)}
.mob-nav-link{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 18px;font-size:14px;font-weight:600;color:var(--dark);
  cursor:pointer;
}
.mob-nav-link svg{width:12px;height:12px;fill:var(--muted);transition:.25s}
.mob-nav-item.open .mob-nav-link svg{transform:rotate(180deg)}
.mob-sub{display:none;background:var(--bg);border-top:1px solid var(--border)}
.mob-nav-item.open .mob-sub{display:block}
.mob-sub a{
  display:block;padding:11px 28px;
  font-size:13.5px;color:var(--body);
  border-bottom:1px solid var(--border);
  transition:.2s;
}
.mob-sub a:last-child{border-bottom:none}
.mob-sub a:hover{color:var(--primary);background:#fff}
.mob-direct a{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;font-size:14px;
  font-weight:600;color:var(--dark);
  border-bottom:1px solid var(--border);
}
.mob-direct a:hover{color:var(--primary)}
.mob-direct a svg{width:16px;height:16px;fill:var(--primary)}
.mob-ctas{padding:14px 16px;display:flex;flex-direction:column;gap:10px;border-top:2px solid var(--border)}
.mob-ctas a{
  display:flex;align-items:center;justify-content:center;
  gap:8px;padding:13px;border-radius:10px;
  font-size:14px;font-weight:700;text-align:center;
}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  background:linear-gradient(135deg,#0a2f3b 0%,var(--primary) 55%,#1c6d85 100%);
  padding:80px 0 96px;position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 15% 60%,rgba(28,109,133,.28) 0%,transparent 50%),
    radial-gradient(circle at 85% 20%,rgba(255,92,0,.16) 0%,transparent 45%),
    url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1.5' fill='%23ffffff' fill-opacity='0.04'/%3E%3C/svg%3E");
}
.hero .container{position:relative}
.hero-content{max-width:720px;margin:0 auto;text-align:center}
.hero-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);
  color:#fff;font-size:12.5px;font-weight:700;
  padding:6px 18px;border-radius:30px;margin-bottom:20px;
  letter-spacing:.3px;
}
.hero-badge svg{width:14px;height:14px;fill:var(--orange)}
.hero h1{
  font-size:clamp(28px,5vw,54px);font-weight:800;
  color:#fff;line-height:1.2;margin-bottom:16px;letter-spacing:-.5px;
}
.hero h1 .hl{color:#8fd0e0}
.hero h1 .hl2{color:var(--orange)}
.hero-sub{
  font-size:16px;color:rgba(255,255,255,.82);
  line-height:1.7;max-width:600px;margin:0 auto 36px;
}

/* Search Box */
.hero-search-box{
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-xl);
  padding:24px 28px;max-width:700px;margin:0 auto;
}
.search-type-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:16px}
.stype{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.78);font-size:13px;font-weight:700;
  padding:6px 18px;border-radius:30px;cursor:pointer;transition:.2s;
}
.stype.active,.stype:hover{background:rgba(255,255,255,.96);color:var(--primary)}
.hero-inp-row{
  display:flex;align-items:center;background:#fff;
  border-radius:50px;overflow:hidden;
  box-shadow:0 8px 40px rgba(0,0,0,.2);
}
.hero-inp-ico{padding:0 16px;flex-shrink:0}
.hero-inp-ico svg{width:18px;height:18px;fill:var(--light)}
.hero-inp{
  flex:1;border:none;background:transparent;
  padding:16px 0;font-size:15px;color:var(--dark);
}
.hero-inp::placeholder{color:var(--light)}
.hero-search-btn{
  background:var(--green);color:#fff;border:none;
  padding:15px 30px;font-size:14px;font-weight:700;
  cursor:pointer;white-space:nowrap;transition:.2s;
  display:flex;align-items:center;gap:7px;
}
.hero-search-btn:hover{background:var(--green-d)}
.hero-search-btn svg{width:15px;height:15px;fill:#fff}
.popular-row{
  display:flex;align-items:center;gap:7px;
  flex-wrap:wrap;justify-content:center;margin-top:14px;
}
.pop-lbl{font-size:12px;color:rgba(255,255,255,.6);font-weight:700}
.pop-tag{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.85);font-size:12.5px;font-weight:600;
  padding:4px 13px;border-radius:20px;cursor:pointer;transition:.2s;
}
.pop-tag:hover{background:rgba(255,255,255,.25);color:#fff}

/* Hero CTA Buttons */
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.btn-hero-green{
  background:var(--green);color:#fff;
  padding:14px 28px;border-radius:50px;
  font-size:14.5px;font-weight:700;
  display:flex;align-items:center;gap:8px;
  transition:.2s;box-shadow:0 4px 20px rgba(0,168,107,.35);
}
.btn-hero-green:hover{background:var(--green-d);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,168,107,.4)}
.btn-hero-green svg{width:16px;height:16px;fill:#fff}
.btn-hero-ghost{
  background:rgba(255,255,255,.13);color:#fff;
  border:2px solid rgba(255,255,255,.35);
  padding:13px 28px;border-radius:50px;
  font-size:14.5px;font-weight:700;
  display:flex;align-items:center;gap:8px;transition:.2s;
}
.btn-hero-ghost:hover{background:rgba(255,255,255,.22)}
.btn-hero-ghost svg{width:16px;height:16px;fill:#fff}
.btn-hero-wa{
  background:#25d366;color:#fff;
  padding:14px 26px;border-radius:50px;
  font-size:14.5px;font-weight:700;
  display:flex;align-items:center;gap:8px;transition:.2s;
}
.btn-hero-wa:hover{background:#128c7e;transform:translateY(-2px)}
.btn-hero-wa svg{width:17px;height:17px;fill:#fff}
/* Wave */
.hero-wave{position:relative;margin-top:48px;line-height:0}
.hero-wave svg{width:100%;display:block}

/* ============================================================
   STATS BAR
   ============================================================ */
.stats-bar{background:var(--primary-d);padding:20px 0}
.stats-inner{
  display:flex;align-items:center;justify-content:space-around;
  flex-wrap:wrap;gap:16px;
  max-width:1260px;margin:0 auto;padding:0 24px;
}
.stat-item{display:flex;align-items:center;gap:12px}
.stat-ico{
  width:46px;height:46px;background:rgba(255,255,255,.12);
  border-radius:12px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;
}
.stat-ico svg{width:22px;height:22px;fill:#fff}
.stat-num{font-size:28px;font-weight:800;color:#fff;line-height:1}
.stat-lbl{font-size:12px;color:rgba(255,255,255,.65);font-weight:500;margin-top:2px}
.stat-sep{width:1px;height:50px;background:rgba(255,255,255,.2);flex-shrink:0}

/* ============================================================
   SHARED SECTION STYLES
   ============================================================ */
.section{padding:72px 0}
.section-bg{background:var(--bg)}
.section-dark{background:linear-gradient(135deg,var(--primary-d) 0%,var(--primary) 60%,#1a6dd6 100%)}
.sec-head{text-align:center;margin-bottom:48px}
.sec-head.left{text-align:left}
.eyebrow{
  display:inline-block;font-size:11.5px;font-weight:800;
  letter-spacing:2px;text-transform:uppercase;
  color:var(--green);background:var(--green-l);
  padding:4px 14px;border-radius:20px;margin-bottom:12px;
}
.eyebrow-white{
  display:inline-block;font-size:11.5px;font-weight:800;
  letter-spacing:2px;text-transform:uppercase;
  color:#ffb183;background:rgba(255,92,0,.18);
  padding:4px 14px;border-radius:20px;margin-bottom:12px;
}
.sec-title{font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--dark);margin-bottom:10px;line-height:1.25}
.sec-title-white{font-size:clamp(22px,3vw,34px);font-weight:800;color:#fff;margin-bottom:10px;line-height:1.25}
.sec-desc{font-size:15px;color:var(--muted);max-width:580px;margin:0 auto;line-height:1.7}
.sec-desc-white{font-size:15px;color:rgba(255,255,255,.78);max-width:580px;margin:0 auto;line-height:1.7}
.sec-hd-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:16px}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:11px 24px;border-radius:9px;
  font-size:13.5px;font-weight:700;cursor:pointer;transition:.2s;
}
.btn svg{width:15px;height:15px;flex-shrink:0}
.btn-primary{background:var(--primary);color:#fff;border:none;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--primary-d);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-primary svg{fill:#fff}
.btn-green{background:var(--green);color:#fff;border:none;box-shadow:var(--shadow-sm)}
.btn-green:hover{background:var(--green-d);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-green svg{fill:#fff}
.btn-orange{background:var(--orange);color:#fff;border:none}
.btn-orange:hover{background:var(--orange-d);transform:translateY(-1px)}
.btn-orange svg{fill:#fff}
.btn-outline{background:#fff;color:var(--primary);border:1.5px solid var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
.btn-outline-white:hover{background:rgba(255,255,255,.15)}
.btn-lg{padding:14px 32px;font-size:15px;border-radius:10px}
.btn-sm{padding:8px 16px;font-size:12.5px;border-radius:8px}
.btn-wa{background:#25d366;color:#fff;border:none}
.btn-wa:hover{background:#128c7e}
.btn-wa svg{fill:#fff}
.btn-call{background:var(--primary-l);color:var(--primary);border:1.5px solid var(--primary)}
.btn-call svg{fill:var(--primary)}

/* ============================================================
   CATEGORY CARDS
   ============================================================ */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}
.cat-card{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--radius-lg);padding:20px 12px;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:10px;cursor:pointer;
  transition:all .22s;text-decoration:none;
}
.cat-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-5px)}
.cat-ico{
  width:52px;height:52px;background:var(--primary-l);
  border-radius:14px;display:flex;align-items:center;
  justify-content:center;transition:.22s;
}
.cat-ico svg{width:24px;height:24px;fill:var(--primary);transition:.22s}
.cat-card:hover .cat-ico{background:var(--primary)}
.cat-card:hover .cat-ico svg{fill:#fff}
.cat-name{font-size:12.5px;font-weight:700;color:var(--dark);line-height:1.3}
.cat-count{font-size:11.5px;color:var(--green);font-weight:600}

/* ============================================================
   COMPANY CARDS
   ============================================================ */
.co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:18px}
.co-grid-4{grid-template-columns:repeat(4,1fr)}
.co-card{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--radius-xl);overflow:hidden;
  display:flex;flex-direction:column;position:relative;
  transition:all .22s;
}
.co-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.feat-ribbon{
  position:absolute;top:16px;right:-2px;
  background:var(--orange);color:#fff;
  font-size:9px;font-weight:800;letter-spacing:1.2px;
  padding:4px 14px 4px 10px;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);
}
.co-top{padding:16px 16px 0;display:flex;justify-content:space-between;align-items:flex-start}
.co-logo{
  width:70px;height:70px;border-radius:12px;
  border:1.5px solid var(--border);background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:800;color:var(--primary);
  flex-shrink:0;letter-spacing:-1px;overflow:hidden;
}
.badge-v{
  background:var(--primary-l);color:var(--primary);
  font-size:11px;font-weight:700;
  padding:4px 10px;border-radius:20px;
  display:flex;align-items:center;gap:4px;
}
.badge-v svg{width:11px;height:11px;fill:var(--primary)}
.co-body{padding:12px 16px;flex:1}
.co-name{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:5px;line-height:1.3}
.co-loc{font-size:12.5px;color:var(--muted);margin-bottom:8px;display:flex;align-items:center;gap:4px}
.co-loc svg{width:12px;height:12px;fill:var(--orange);flex-shrink:0}
.co-desc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:10px}
.co-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.tag{
  font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;
}
.tag-blue{background:var(--primary-l);color:var(--primary)}
.tag-green{background:var(--green-l);color:var(--green-d)}
.tag-orange{background:#fff0ea;color:#c24a14}
.co-invest{font-size:13px;color:var(--orange-d);font-weight:700;display:flex;align-items:center;gap:4px}
.co-invest svg{width:13px;height:13px;fill:var(--orange-d)}
.co-footer{
  padding:12px 16px;border-top:1px solid var(--border);
  display:flex;gap:8px;
}
.btn-viewp{
  background:var(--primary);color:#fff;border:none;
  padding:8px 0;border-radius:8px;font-size:12.5px;font-weight:700;
  flex:1;transition:.2s;display:flex;align-items:center;justify-content:center;gap:5px;
}
.btn-viewp:hover{background:var(--primary-d)}
.btn-viewp svg{width:13px;height:13px;fill:#fff}
.btn-enq{
  background:var(--green);color:#fff;border:none;
  padding:8px 0;border-radius:8px;font-size:12.5px;font-weight:700;
  flex:1;transition:.2s;display:flex;align-items:center;justify-content:center;gap:5px;
}
.btn-enq:hover{background:var(--green-d)}
.btn-enq svg{width:13px;height:13px;fill:#fff}

/* ============================================================
   PRODUCT RANGE CARDS
   ============================================================ */
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:12px}
.pr-card{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--radius-lg);padding:18px 10px;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:8px;cursor:pointer;transition:all .22s;
}
.pr-card:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-4px)}
.pr-ico{
  width:48px;height:48px;background:var(--green-l);
  border-radius:13px;display:flex;align-items:center;
  justify-content:center;transition:.22s;
}
.pr-ico svg{width:22px;height:22px;fill:var(--green);transition:.22s}
.pr-card:hover .pr-ico{background:var(--green)}
.pr-card:hover .pr-ico svg{fill:#fff}
.pr-name{font-size:12.5px;font-weight:700;color:var(--dark)}
.pr-cnt{font-size:11.5px;color:var(--muted)}

/* ============================================================
   WHY US
   ============================================================ */
.why-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:60px;align-items:start}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.why-card{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--radius-lg);padding:20px;
  display:flex;gap:14px;transition:all .22s;
}
.why-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:transparent}
.why-ico{
  width:44px;height:44px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.why-ico svg{width:20px;height:20px}
.w-bl .why-ico{background:var(--primary-l)}.w-bl .why-ico svg{fill:var(--primary)}
.w-gr .why-ico{background:var(--primary-l)}.w-gr .why-ico svg{fill:var(--primary-m)}
.w-or .why-ico{background:var(--orange-l)}.w-or .why-ico svg{fill:var(--orange-d)}
.w-pu .why-ico{background:var(--primary-l2)}.w-pu .why-ico svg{fill:var(--primary-d)}
.w-te .why-ico{background:var(--primary-l)}.w-te .why-ico svg{fill:var(--primary-m)}
.w-re .why-ico{background:var(--orange-l)}.w-re .why-ico svg{fill:var(--orange)}
.why-t{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:4px}
.why-d{font-size:13px;color:var(--muted);line-height:1.55;margin:0}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-inner-grid{
  display:grid;grid-template-columns:1fr 1.2fr;
  gap:52px;align-items:center;
}
.cta-title{font-size:clamp(22px,3vw,38px);font-weight:800;color:#fff;line-height:1.25;margin-bottom:14px}
.cta-desc{color:rgba(255,255,255,.82);font-size:15px;line-height:1.7;margin-bottom:22px}
.trust-bs{display:flex;flex-wrap:wrap;gap:8px}
.trust-b{
  background:rgba(255,255,255,.13);color:rgba(255,255,255,.9);
  font-size:12.5px;font-weight:600;padding:6px 15px;
  border-radius:25px;border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;gap:5px;
}
.trust-b svg{width:13px;height:13px;fill:var(--orange)}
.cta-form-card{
  background:#fff;border-radius:var(--radius-xl);
  padding:32px;box-shadow:var(--shadow-xl);
}
.cta-form-title{font-size:18px;font-weight:800;color:var(--dark);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.cta-form-title svg{width:20px;height:20px;fill:var(--primary)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-single{margin-bottom:12px}
.f-group label{font-size:12.5px;font-weight:700;color:var(--dark);display:block;margin-bottom:5px}
.f-inp,.f-sel,.f-txt{
  width:100%;border:1.5px solid var(--border);
  border-radius:9px;padding:11px 14px;font-size:13.5px;
  color:var(--dark);background:#fff;transition:.2s;font-family:inherit;
}
.f-inp:focus,.f-sel:focus,.f-txt:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,77,140,.08)}
.f-inp::placeholder,.f-txt::placeholder{color:var(--light)}
.f-txt{resize:none}
.btn-cta-submit{
  width:100%;background:var(--orange);color:#fff;
  border:none;padding:15px;border-radius:10px;
  font-size:15px;font-weight:700;cursor:pointer;transition:.2s;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;
}
.btn-cta-submit:hover{background:var(--orange-d);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-cta-submit svg{width:17px;height:17px;fill:#fff}
.form-note{text-align:center;font-size:12px;color:var(--muted);margin-top:10px;display:flex;align-items:center;justify-content:center;gap:5px}
.form-note svg{width:13px;height:13px;fill:var(--primary)}

/* ============================================================
   BLOGS
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}
.blog-card{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--radius-xl);overflow:hidden;
  display:flex;flex-direction:column;transition:all .22s;
}
.blog-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.blog-img{
  background:var(--primary-l);
  display:flex;align-items:center;justify-content:center;
  font-size:42px;position:relative;overflow:hidden;
}
.blog-img-sm{height:180px}
.blog-img-feat{height:240px}
.blog-cat-badge{
  position:absolute;top:12px;left:12px;
  background:var(--primary);color:#fff;
  font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px;
}
.blog-body{padding:18px;flex:1;display:flex;flex-direction:column}
.blog-meta{font-size:12px;color:var(--muted);margin-bottom:9px;display:flex;gap:12px;flex-wrap:wrap}
.blog-meta span{display:flex;align-items:center;gap:4px}
.blog-meta svg{width:12px;height:12px;fill:var(--muted)}
.blog-title{font-size:15px;font-weight:700;color:var(--dark);line-height:1.4;margin-bottom:8px}
.blog-feat .blog-title{font-size:18px}
.blog-exc{font-size:13px;color:var(--muted);line-height:1.6;flex:1}
.blog-rm{
  color:var(--primary);font-size:13px;font-weight:700;
  margin-top:14px;display:inline-flex;align-items:center;gap:5px;transition:.2s;
}
.blog-rm:hover{gap:9px}
.blog-rm svg{width:13px;height:13px;fill:var(--primary);transition:.2s}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.test-card{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--radius-xl);padding:26px;transition:all .22s;
}
.test-card:hover{border-color:var(--primary);box-shadow:var(--shadow)}
.stars{color:var(--orange);font-size:15px;margin-bottom:12px;letter-spacing:1px}
.test-q{
  font-size:14px;color:var(--body);line-height:1.7;
  font-style:italic;margin-bottom:18px;
  border-left:3px solid var(--green);padding-left:14px;
}
.test-auth{display:flex;align-items:center;gap:12px}
.av{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--green));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:17px;font-weight:800;flex-shrink:0;
}
.test-nm{font-size:14px;font-weight:700;color:var(--dark)}
.test-rl{font-size:12px;color:var(--muted)}

/* ============================================================
   FAQ
   ============================================================ */
.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:56px;align-items:start}
.faq-contact-card{background:var(--primary-l);border-radius:var(--radius-lg);padding:24px;text-align:center;margin-top:24px}
.faq-contact-card h6{font-size:16px;font-weight:700;color:var(--dark);margin:10px 0 6px}
.faq-contact-card p{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.55}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{border:1.5px solid var(--border);border-radius:12px;overflow:hidden}
.faq-q{
  padding:16px 20px;font-size:14px;font-weight:600;color:var(--dark);
  cursor:pointer;display:flex;align-items:center;gap:12px;
  background:#fff;user-select:none;transition:.2s;
}
.faq-item.open .faq-q{background:var(--primary-l);color:var(--primary)}
.faq-num{
  background:var(--primary-l);color:var(--primary);
  font-size:11px;font-weight:800;width:28px;height:28px;
  border-radius:7px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;transition:.2s;
}
.faq-item.open .faq-num{background:var(--primary);color:#fff}
.faq-arr{margin-left:auto;transition:transform .25s;flex-shrink:0}
.faq-arr svg{width:14px;height:14px;fill:var(--muted)}
.faq-item.open .faq-arr{transform:rotate(90deg)}
.faq-a{
  padding:0 20px 16px 60px;font-size:14px;
  color:var(--muted);line-height:1.7;display:none;
}
.faq-item.open .faq-a{display:block}

/* ============================================================
   BANNER CTA STRIP
   ============================================================ */
.banner-cta{
  background:linear-gradient(135deg,var(--primary-d) 0%,var(--primary) 100%);
  padding:48px 0;text-align:center;
}
.banner-cta h2{font-size:clamp(20px,3vw,32px);font-weight:800;color:#fff;margin-bottom:10px}
.banner-cta p{color:rgba(255,255,255,.8);font-size:15px;margin-bottom:28px}
.banner-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   COMPANY CTA STRIP (dark)
   ============================================================ */
.strip-cta{background:var(--green);padding:36px 0}
.strip-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
}
.strip-text h3{font-size:22px;font-weight:800;color:#fff;margin-bottom:4px}
.strip-text p{color:rgba(255,255,255,.82);font-size:14px}
.strip-btns{display:flex;gap:10px;flex-wrap:wrap}

/* ============================================================
   FOOTER
   ============================================================ */
.footer-nl{background:var(--primary);padding:28px 0}
.nl-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.nl-title{font-size:16px;font-weight:700;color:#fff}
.nl-sub{font-size:13px;color:rgba(255,255,255,.65)}
.nl-form{display:flex;gap:9px;flex-wrap:wrap}
.nl-inp{
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);
  color:#fff;padding:12px 18px;border-radius:9px;font-size:14px;
  outline:none;width:280px;font-family:inherit;transition:.2s;
}
.nl-inp::placeholder{color:rgba(255,255,255,.5)}
.nl-inp:focus{border-color:rgba(255,255,255,.5)}
.btn-nl{
  background:var(--orange);color:#fff;border:none;
  padding:12px 22px;border-radius:9px;font-size:14px;font-weight:700;
  cursor:pointer;white-space:nowrap;transition:.2s;font-family:inherit;
  display:flex;align-items:center;gap:6px;
}
.btn-nl:hover{background:var(--orange-d)}
.btn-nl svg{width:15px;height:15px;fill:#fff}

.footer-main{background:var(--primary-d);padding:56px 0 28px}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1.1fr 1.1fr;gap:36px;margin-bottom:36px}
.f-logo-row{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.f-logo-ico{
  width:44px;height:44px;
  background:linear-gradient(135deg,var(--primary),var(--green));
  border-radius:11px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;
}
.f-logo-ico svg{width:24px;height:24px;fill:#fff}
.f-logo-m{font-size:15px;font-weight:800;color:#fff}
.f-logo-s{font-size:10.5px;color:rgba(255,255,255,.45)}
.f-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:18px}
.f-contact-list{margin-bottom:18px}
.f-contact-list a{
  display:flex;align-items:flex-start;gap:8px;
  font-size:13px;color:rgba(255,255,255,.6);margin-bottom:8px;transition:.2s;
}
.f-contact-list a:hover{color:#fff}
.f-contact-list a svg{width:14px;height:14px;fill:var(--green);flex-shrink:0;margin-top:2px}
.socials{display:flex;gap:8px;flex-wrap:wrap}
.soc{
  width:34px;height:34px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:#fff;cursor:pointer;transition:.2s;font-weight:700;
}
.soc:hover{transform:translateY(-3px);opacity:.9}
.soc-fb{background:#1877f2}.soc-tw{background:#1da1f2}
.soc-li{background:#0a66c2}.soc-ig{background:#e1306c}.soc-wa{background:#25d366}
.f-col-t{
  font-size:12px;font-weight:800;text-transform:uppercase;
  letter-spacing:1.2px;color:#fff;margin-bottom:18px;
  padding-bottom:10px;border-bottom:1.5px solid rgba(255,255,255,.1);
}
.f-lks{list-style:none}
.f-lks li{margin-bottom:10px}
.f-lks li a{
  font-size:13px;color:rgba(255,255,255,.55);
  display:flex;align-items:center;gap:6px;transition:.2s;
}
.f-lks li a::before{content:'›';color:var(--green);font-weight:700;font-size:16px}
.f-lks li a:hover{color:#fff;padding-left:4px}
.footer-bottom{
  background:#082e3a;padding:16px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.f-bot-inner{
  display:flex;justify-content:space-between;align-items:center;
  font-size:12.5px;color:rgba(255,255,255,.45);flex-wrap:wrap;gap:10px;
}
.f-bot-links{display:flex;gap:18px}
.f-bot-links a{color:rgba(255,255,255,.45);cursor:pointer;transition:.2s;font-size:12.5px}
.f-bot-links a:hover{color:#fff}

/* ============================================================
   FLOATING BUTTONS
   ============================================================ */
.floats{
  position:fixed;right:20px;bottom:80px;
  display:flex;flex-direction:column;gap:10px;z-index:900;
}
.fab-btn{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:50%;
  border:none;cursor:pointer;
  box-shadow:0 4px 16px rgba(0,0,0,.22);transition:all .22s;
  position:relative;
}
.fab-btn:hover{transform:scale(1.1)}
.fab-wa{background:#25d366}
.fab-call{background:var(--primary)}
.fab-enq{background:var(--orange)}
.fab-btn svg{width:22px;height:22px;fill:#fff}
.fab-tooltip{
  position:absolute;right:62px;
  background:rgba(15,23,42,.88);color:#fff;
  font-size:12px;font-weight:600;
  padding:5px 12px;border-radius:7px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:.2s;
}
.fab-tooltip::after{
  content:'';position:absolute;left:100%;top:50%;
  transform:translateY(-50%);
  border:5px solid transparent;border-left-color:rgba(15,23,42,.88);
}
.fab-btn:hover .fab-tooltip{opacity:1}
.btt-btn{
  position:fixed;right:20px;bottom:20px;
  width:46px;height:46px;background:var(--primary);
  color:#fff;border:none;border-radius:50%;
  font-size:14px;cursor:pointer;
  box-shadow:var(--shadow);display:flex;align-items:center;
  justify-content:center;opacity:0;transition:.3s;z-index:900;
}
.btt-btn.vis{opacity:1}
.btt-btn:hover{background:var(--primary-d);transform:translateY(-2px)}
.btt-btn svg{width:18px;height:18px;fill:#fff}

/* ============================================================
   ENQUIRY MODAL
   ============================================================ */
.modal-backdrop{
  position:fixed;inset:0;background:rgba(15,23,42,.6);
  backdrop-filter:blur(4px);z-index:1000;
  display:none;align-items:center;justify-content:center;padding:20px;
}
.modal-backdrop.open{display:flex}
.modal-box{
  background:#fff;border-radius:var(--radius-xl);
  width:100%;max-width:520px;
  max-height:90vh;overflow-y:auto;
  animation:modalIn .25s ease;
}
@keyframes modalIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.modal-head{
  background:linear-gradient(135deg,var(--primary-d),var(--primary));
  padding:22px 26px;display:flex;justify-content:space-between;align-items:flex-start;
  position:sticky;top:0;z-index:2;
}
.modal-head h4{font-size:18px;font-weight:800;color:#fff;margin-bottom:3px;display:flex;align-items:center;gap:8px}
.modal-head h4 svg{width:20px;height:20px;fill:#fff}
.modal-head p{font-size:13px;color:rgba(255,255,255,.72)}
.modal-close{
  background:rgba(255,255,255,.15);border:none;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.2s;flex-shrink:0;
}
.modal-close:hover{background:rgba(255,255,255,.28)}
.modal-close svg{width:16px;height:16px;fill:#fff}
.modal-body{padding:26px}
.modal-form .f-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.modal-form .f-full{margin-bottom:12px}
.modal-form .f-lbl{font-size:12.5px;font-weight:700;color:var(--dark);display:block;margin-bottom:5px}
.modal-form .req{color:var(--orange)}
.f-lbl .req,label .req{color:var(--orange)}
.modal-submit{
  width:100%;background:var(--primary);color:#fff;
  border:none;padding:14px;border-radius:10px;
  font-size:15px;font-weight:700;cursor:pointer;transition:.2s;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;
}
.modal-submit:hover{background:var(--primary-d);transform:translateY(-1px)}
.modal-submit svg{width:17px;height:17px;fill:#fff}
.modal-note{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:var(--muted);margin-top:10px}
.modal-note svg{width:13px;height:13px;fill:var(--primary)}
.modal-alts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.modal-alt-btn{
  padding:12px;border-radius:9px;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:7px;
  cursor:pointer;transition:.2s;border:none;text-decoration:none;
}
.modal-alt-btn svg{width:16px;height:16px;flex-shrink:0}
.alt-wa{background:#25d366;color:#fff}
.alt-wa svg{fill:#fff}
.alt-wa:hover{background:#128c7e}
.alt-call{background:var(--primary-l);color:var(--primary);border:1.5px solid var(--primary)!important}
.alt-call svg{fill:var(--primary)}
.alt-call:hover{background:var(--primary);color:#fff}
.alt-call:hover svg{fill:#fff}

/* Toast */
.toast-wrap{
  position:fixed;bottom:80px;left:50%;transform:translateX(-50%);
  z-index:2000;display:flex;flex-direction:column;gap:8px;align-items:center;
}
.toast{
  background:#0f172a;color:#fff;font-size:14px;font-weight:600;
  padding:14px 22px;border-radius:12px;
  box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:8px;
  animation:toastIn .3s ease;min-width:260px;
}
.toast svg{width:18px;height:18px;flex-shrink:0}
.toast-success svg{fill:#ffb183}
@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:28px}
  .footer-grid>div:last-child{grid-column:1/4}
  .co-grid-4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:992px){
  .header-call{display:none}
  .why-layout{grid-template-columns:1fr}
  .cta-inner-grid{grid-template-columns:1fr}
  .faq-layout{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr 1fr}
  .blog-feat{grid-column:span 2}
  .nav-links{display:none}
  .hamburger{display:flex}
  /* hide the whole item, not just the button — the hidden mega panel is
     still laid out at its min-width and would stretch the page sideways */
  .nav-all-btn,.nav-item-all{display:none}
  .mega-drop,.simple-drop{display:none}
}
@media(max-width:768px){
  .header-inner{padding:10px 16px;flex-wrap:wrap}
  .header-search{order:3;flex:0 0 100%}
  .stat-sep{display:none}
  .stats-inner{gap:20px}
  .test-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .blog-feat{grid-column:auto}
  .f-row,.form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .footer-grid>div:first-child{grid-column:1/3}
  .footer-grid>div:last-child{grid-column:auto}
  .cta-inner-grid{grid-template-columns:1fr}
  .section{padding:52px 0}
  .floats{right:14px;bottom:72px}
  .fab-btn{width:46px;height:46px}
  .fab-btn svg{width:19px;height:19px}
  .co-grid-4{grid-template-columns:repeat(2,1fr)}
  .strip-inner{flex-direction:column;text-align:center}
}
@media(max-width:576px){
    .btn-topreg {display:none}
    .header-inner{gap:5px}
    .nav-inner{height: unset;}
    .mobile-search {display: none;}
   .btn-listco {display: none;}
  .top-info{display:none}
  .hero{padding:52px 0 68px}
  .hero h1{font-size:26px}
  .hero-btns{flex-direction:column;align-items:center}
  .btn-hero-green,.btn-hero-ghost,.btn-hero-wa{width:100%;max-width:320px;justify-content:center}
  .hero-search-box{padding:16px}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .pr-grid{grid-template-columns:repeat(3,1fr)}
  .co-grid{grid-template-columns:1fr}
  .co-grid-4{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .banner-cta-btns{flex-direction:column;align-items:center}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-grid>div:last-child{grid-column:auto}
  .nl-inp{width:100%}
  .nl-form{flex-direction:column}
  .modal-form .f-row-2{grid-template-columns:1fr}
  .modal-alts{grid-template-columns:1fr}
  .top-acts{gap:4px}
  .hero-search-btn{padding:14px 16px;font-size:13px}
}
