/*
Theme Name: 2B Creative Engineering & Technology
Theme URI: https://www.2bcreative.com.pk/
Author: 2B Creative Engineering & Technology
Description: Organized WordPress theme rebuilt from the supplied 2B Creative static website, with shared header/footer, responsive navigation, solution hierarchy and page templates.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: two-b-creative
*/

/* ==========================================================
   2B CREATIVE ENGINEERING & TECHNOLOGY
   WordPress Theme - shared styles
   ========================================================== */
:root{
  --2b-navy:#062452;--2b-navy2:#071f48;--2b-blue:#0b3d91;--2b-green:#45a51e;
  --2b-green2:#2f8d20;--2b-text:#10254d;--2b-muted:#4f6484;--2b-line:#e3e8ef;
  --2b-soft:#f5f8fc;--2b-white:#fff;--2b-shadow:0 8px 25px rgba(13,38,72,.08);--2b-radius:8px;
}
html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--2b-text);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit}button{font:inherit}
.site-header{background:#fff;border-bottom:1px solid #dce2ea;position:relative;z-index:1000}.site-header__inner{width:min(100%,1280px);margin:0 auto;min-height:92px;padding:0 24px;display:flex;align-items:center;gap:28px}.site-brand{display:flex;align-items:center;flex:0 0 180px}.site-brand img{width:150px;height:auto;display:block}.site-nav{margin-left:auto}.site-nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px}.site-nav li{position:relative}.site-nav a{display:flex;align-items:center;gap:6px;padding:34px 2px 30px;text-decoration:none;color:#0b2249;font-size:12px;font-weight:800;letter-spacing:.1px;white-space:nowrap}.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current_page_item>a{color:var(--2b-green)}.site-nav .menu-item-has-children>a:after{content:'⌄';font-size:12px}.site-nav .sub-menu{position:absolute;left:50%;top:100%;transform:translate(-50%,8px);width:310px;padding:10px 0;margin:0;list-style:none;background:#fff;border:1px solid #e1e6ed;box-shadow:0 15px 35px rgba(5,29,70,.14);border-radius:8px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}.site-nav .menu-item-has-children:hover>.sub-menu,.site-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.site-nav .sub-menu li{border-bottom:1px solid #edf0f4}.site-nav .sub-menu li:last-child{border-bottom:0}.site-nav .sub-menu a{padding:11px 16px;font-size:11px;line-height:1.35;white-space:normal}.site-nav .sub-menu .sub-menu{left:100%;top:-10px;transform:translate(8px,0)}.site-nav .sub-menu .menu-item-has-children:hover>.sub-menu,.site-nav .sub-menu .menu-item-has-children:focus-within>.sub-menu{transform:translate(0,0)}.site-header__cta{display:inline-flex;align-items:center;justify-content:center;background:var(--2b-navy2);color:#fff;text-decoration:none;padding:12px 17px;border-radius:5px;font-size:11px;font-weight:800;white-space:nowrap}.site-header__cta:hover{background:var(--2b-green);color:#fff}.site-social{display:flex;gap:6px}.site-social a{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;font-size:11px;font-weight:800}.site-social .fb{background:#233f86}.site-social .in{background:#0b73b9}.site-social .ig{background:#8a2b8e}.site-menu-toggle{display:none;margin-left:auto;border:1px solid #d7dee7;background:#fff;color:var(--2b-navy);width:42px;height:40px;border-radius:5px;cursor:pointer}.site-menu-toggle span,.site-menu-toggle:before,.site-menu-toggle:after{content:'';display:block;width:20px;height:2px;background:currentColor;margin:4px auto}
.site-main{min-height:40vh}.two-b-container{width:min(100%,1120px);margin:0 auto;padding:0 24px}.inner-page-hero{background:linear-gradient(135deg,#071f48,#0b3d91);color:#fff;padding:85px 0 75px;position:relative;overflow:hidden}.inner-page-hero:after{content:'';position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;border:80px solid rgba(69,165,30,.16);border-radius:50%}.two-b-label{display:inline-block;color:var(--2b-green);font-size:12px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}.inner-page-hero .two-b-label{color:#82d35e}.inner-page-hero h1{margin:0 0 14px;font-size:48px;line-height:1.05;letter-spacing:-1.3px;font-weight:900;max-width:800px}.inner-page-hero h1 span,.two-b-section h2 span,.two-b-cta h2 span{color:var(--2b-green)}.inner-page-hero p{margin:0;max-width:650px;color:#eaf0f8;font-size:16px;line-height:1.75}.two-b-section{padding:78px 0;border-bottom:1px solid #edf1f5}.two-b-heading{margin-bottom:30px}.two-b-section h2{margin:0;color:var(--2b-navy);font-size:34px;line-height:1.15;font-weight:900;letter-spacing:-.6px}.two-b-section p{color:#50627a;font-size:15px;line-height:1.8}.about-layout,.detail-grid,.renewable-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:60px;align-items:start}.about-lead{font-size:18px!important;color:#304966!important}.about-highlight{background:#071f48;color:#fff;border-radius:10px;padding:26px}.about-highlight>div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18)}.about-highlight>div:last-child{border-bottom:0}.about-highlight strong{display:block;font-size:36px;color:#75c84d;line-height:1}.about-highlight span{display:block;font-size:12px;margin-top:7px;color:#d8e2ef}.discipline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.discipline-grid>div,.feature-list>div,.partner-list>div{border:1px solid var(--2b-line);background:#fff;padding:17px 18px;border-radius:7px;color:#18375f;font-weight:800;box-shadow:var(--2b-shadow)}.lifecycle{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.lifecycle>div{background:#f4f7fb;border-left:3px solid var(--2b-green);padding:16px;color:#1d416c;font-weight:800;border-radius:5px}.two-b-cta{background:var(--2b-navy2);color:#fff;padding:65px 0}.two-b-cta h2{color:#fff;font-size:38px;line-height:1.1;margin:0 0 12px}.two-b-cta p{max-width:650px;color:#d8e2ef}.two-b-btn{display:inline-flex;background:var(--2b-green);color:#fff;padding:12px 20px;border-radius:5px;text-decoration:none;font-weight:800;font-size:13px;margin-top:10px}.solutions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.solution-card{display:flex;flex-direction:column;min-height:250px;padding:28px;border:1px solid var(--2b-line);border-radius:9px;background:#fff;box-shadow:var(--2b-shadow);text-decoration:none;transition:.25s ease}.solution-card:hover{transform:translateY(-5px);border-color:#cbd6e5;box-shadow:0 14px 35px rgba(13,38,72,.12)}.solution-card>span{color:var(--2b-green);font-weight:900;font-size:12px}.solution-card h3{color:var(--2b-navy);font-size:21px;line-height:1.25;margin:18px 0 10px}.solution-card p{margin:0 0 20px;font-size:14px;line-height:1.65}.solution-card b{margin-top:auto;color:var(--2b-blue);font-size:12px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.partner-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.renewable-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:12px}.renewable-capabilities>div{padding:20px;background:#f4f7fb;border-radius:7px;border-left:3px solid var(--2b-green)}.renewable-capabilities strong{display:block;color:var(--2b-green);font-size:12px}.renewable-capabilities span{display:block;color:var(--2b-navy);font-weight:800;margin-top:5px}.presence-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.presence-card{border:1px solid var(--2b-line);border-radius:9px;padding:22px;text-align:center;background:#fff;box-shadow:var(--2b-shadow)}.presence-card h3{margin:0;color:var(--2b-navy);font-size:18px}.presence-card p{font-size:12px;line-height:1.5;margin:8px 0}.presence-card a{color:var(--2b-blue);font-size:11px;text-decoration:none;word-break:break-word}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-box{border:1px solid var(--2b-line);border-radius:9px;padding:24px;background:#fff;box-shadow:var(--2b-shadow)}.contact-box h3{margin:0 0 10px;color:var(--2b-navy);font-size:20px}.contact-box a{color:var(--2b-blue);text-decoration:none}.generic-solution{max-width:800px}.generic-solution .notice{margin-top:24px;padding:18px;border-left:4px solid var(--2b-green);background:#f4f7fb;color:#3c5572}.site-footer{background:#061d47;color:#fff}.site-footer__main{width:min(100%,1120px);margin:0 auto;padding:45px 24px 35px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.site-footer h3{margin:0 0 15px;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.site-footer p,.site-footer li,.site-footer a{font-size:12px;color:#cdd9e8;line-height:1.7}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer a{text-decoration:none}.site-footer a:hover{color:#82d35e}.footer-brand img{width:145px;margin-bottom:12px}.footer-contact a{display:block;margin-bottom:4px}.site-footer__bottom{border-top:1px solid rgba(255,255,255,.15);padding:14px 24px;display:flex;justify-content:space-between;gap:20px;width:100%;font-size:11px;color:#b9c8da}.site-footer__bottom a{color:#b9c8da;text-decoration:none}
/* WordPress editor/admin content safety */.entry-content>*:first-child{margin-top:0}.entry-content img{max-width:100%;height:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.site-header__inner{gap:16px}.site-nav>ul{gap:16px}.site-social{display:none}.solutions-grid{grid-template-columns:repeat(2,1fr)}.presence-grid{grid-template-columns:repeat(3,1fr)}.lifecycle{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.site-header__inner{min-height:76px}.site-menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;border-top:1px solid #e3e8ef;box-shadow:0 12px 25px rgba(0,0,0,.1)}.site-nav.is-open{display:block}.site-nav>ul{display:block;padding:10px 18px}.site-nav a{padding:13px 4px;font-size:13px}.site-nav .sub-menu{position:static;width:auto;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border:0;border-left:2px solid #dfe7ef;border-radius:0;padding:0 0 0 12px;display:none}.site-nav .menu-item-has-children.is-open>.sub-menu{display:block}.site-nav .sub-menu a{padding:9px 10px;font-size:12px}.site-header__cta{margin-left:0}.inner-page-hero{padding:65px 0}.inner-page-hero h1{font-size:40px}.about-layout,.detail-grid,.renewable-grid{grid-template-columns:1fr;gap:30px}.discipline-grid{grid-template-columns:repeat(2,1fr)}.feature-list{grid-template-columns:1fr}.site-footer__main{grid-template-columns:1fr 1fr}.site-footer__bottom{flex-direction:column}}
@media(max-width:560px){body{font-size:14px}.site-header__inner{padding:0 16px}.site-brand{flex-basis:145px}.site-brand img{width:125px}.site-header__cta{padding:10px 12px;font-size:10px}.two-b-container{padding:0 18px}.inner-page-hero{padding:55px 0}.inner-page-hero h1{font-size:34px}.inner-page-hero p{font-size:14px}.two-b-section{padding:55px 0}.two-b-section h2{font-size:29px}.solutions-grid{grid-template-columns:1fr}.discipline-grid,.presence-grid,.renewable-capabilities,.partner-list,.lifecycle{grid-template-columns:1fr}.two-b-cta h2{font-size:31px}.contact-grid,.site-footer__main{grid-template-columns:1fr}.site-footer__bottom{padding:14px 18px}.site-footer__main{padding:35px 18px}}


:root{
  --navy:#062452;
  --navy2:#071f48;
  --blue:#0b3d91;
  --green:#45a51e;
  --green2:#2f8d20;
  --text:#10254d;
  --muted:#4f6484;
  --line:#e3e8ef;
  --soft:#f5f8fc;
  --white:#fff;
  --shadow:0 2px 10px rgba(13,38,72,.08);
  --radius:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(100%,1024px);margin:auto;padding:0 24px}

/* Header */
.header{height:138px;background:#fff;border-bottom:1px solid #dce2ea;display:flex;align-items:stretch}
.header-inner{width:100%;display:flex;align-items:center;padding:0 24px;gap:26px}
.brand{width:190px;align-self:stretch;display:flex;align-items:center;border-right:1px solid #d8dee6;padding-right:24px}
.brand img{width:145px;height:auto}
.nav-wrap{flex:1;display:flex;align-items:center;justify-content:center}
.nav{display:flex;align-items:center;gap:30px;white-space:nowrap}
.nav a{font-weight:700;font-size:11px;color:#0b2249;padding:11px 4px;position:relative}
.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--green)}
.nav .chev{font-size:10px;margin-left:4px}
.social{display:flex;align-items:center;gap:7px;margin-left:auto}
.social a{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px}
.social .in{background:#0b73b9}.social .fb{background:#233f86}.social .ig{background:#8a2b8e}.social .yt{background:#d71920}
.contact-btn{background:#071f48;color:#fff;padding:13px 17px;border-radius:5px;font-weight:700;font-size:10px;box-shadow:0 2px 4px rgba(0,0,0,.12)}

/* Hero */
.hero{display:grid;grid-template-columns:40% 60%;background:#071f48;overflow:hidden}
.hero-copy{padding:52px 28px 30px 32px;display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:39px;line-height:1.04;margin:0 0 14px;font-weight:800;color:#fff;letter-spacing:-1.2px}
.hero h1 span{display:block;color:#45aa1d}
.hero p{font-size:13px;line-height:1.85;color:#fff;margin:0 0 22px;max-width:365px}
.hero-actions{display:flex;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.1px}
.btn-primary{background:#48a91e;color:#fff}
.btn-outline{border:1px solid #cbd4e1;color:#fff;background:transparent}
.hero-visual{position:relative;background:#ddd}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-visual:before{content:"";position:absolute;z-index:2;left:-1px;top:-4px;height:110%;width:90px;background:#071f48;clip-path:polygon(0 0,100% 0,35% 100%,0 100%)}

/* Section headings */
.section{padding:15px 24px 0}
.section-title{text-align:center;margin:0}
.section-title h2{display:flex;align-items:center;justify-content:center;gap:14px;color:#082a68;font-size:17px;margin:0 0 3px;font-weight:800}
.section-title h2:before,.section-title h2:after{content:"";height:2px;width:34px;background:#62a942}
.section-title p{margin:0;color:#153f78;font-size:11px}

/* Division cards */
.divisions{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:12px}
.card{background:#fff;border:1px solid #e6eaf0;border-radius:6px;box-shadow:var(--shadow)}
.div-card{min-height:155px;text-align:center;padding:12px 7px 8px}
.icon{height:50px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.icon svg{width:43px;height:43px}
.div-card h3{font-size:10px;line-height:1.25;margin:0 0 8px;color:#092c70}
.div-card p{font-size:9px;line-height:1.55;margin:0;color:#425a79}

/* Products */
.products{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:14px}
.product{overflow:hidden;text-align:center;padding-bottom:9px}
.product img{width:100%;height:88px;object-fit:cover;border-radius:5px 5px 0 0}
.product h3{font-size:9.5px;line-height:1.3;color:#092c70;margin:8px 4px 0}
.center-btn{text-align:center;margin:11px 0 16px}
.center-btn .btn{background:#061f4c;color:#fff;padding:10px 28px}

/* Four information panels */
.lower-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr 1fr;gap:8px}
.info{padding:11px 12px 10px;min-height:246px}
.info h3{font-size:10px;color:#092c70;margin:0 0 9px;text-transform:uppercase}
.info h3 span{color:#6a7d97;font-weight:700}
.info .main-img{width:100%;height:82px;object-fit:cover;border-radius:4px;margin-bottom:8px}
.info p{font-size:9px;line-height:1.5;color:#465b77;margin:5px 0}
.small-btn{display:inline-flex;border:1px solid #6e86a6;border-radius:4px;padding:6px 11px;font-size:8.5px;font-weight:800;color:#102c5f;float:right;margin-top:8px}
.cap-list{list-style:none;margin:0;padding:0}
.cap-list li{display:grid;grid-template-columns:20px 1fr;gap:6px;margin-bottom:8px}
.cap-list svg{width:17px;height:17px}
.cap-list b{display:block;font-size:8.5px;color:#092c70}
.cap-list span{display:block;font-size:7.5px;color:#63758f;line-height:1.3}
.news-item{display:grid;grid-template-columns:57px 1fr;gap:7px;margin-bottom:8px}
.news-item img{width:57px;height:38px;object-fit:cover;border-radius:3px}
.news-item b{font-size:7.8px;line-height:1.35;color:#092c70}
.news-item span{font-size:7px;color:#697a92}

/* Stats + why choose */
.feature-row{display:grid;grid-template-columns:1.05fr 1fr;gap:8px;margin-top:10px}
.stats{background:#071f4b;color:#fff;border-radius:7px;display:grid;grid-template-columns:repeat(4,1fr);padding:15px 9px}
.stat{text-align:center;border-right:1px solid rgba(255,255,255,.35)}
.stat:last-child{border-right:0}
.stat svg{width:27px;height:27px;margin:0 auto 5px}
.stat strong{display:block;font-size:17px}
.stat span{display:block;font-size:7.5px}
.why{background:#f0f4fa;border-radius:7px;padding:12px 16px}
.why h3{font-size:11px;margin:0 0 8px;color:#092c70}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.check{font-size:8.5px;color:#385172;position:relative;padding-left:16px}
.check:before{content:"✓";position:absolute;left:0;color:#52a72a;font-weight:900}

/* Footer top */
.footer-top{display:grid;grid-template-columns:1.25fr 1.25fr 1fr;gap:8px;margin-top:9px}
.foot-card{border:1px solid #e4e8ef;border-radius:7px;padding:12px 14px;min-height:91px}
.foot-title{text-align:center;color:#092c70;font-weight:800;font-size:9px;margin-bottom:10px}
.cert-row,.presence{display:flex;justify-content:space-around;gap:5px}
.cert,.place{text-align:center;color:#1a3c72;font-size:7px;flex:1}
.cert svg{width:24px;height:24px;margin:0 auto 4px}
.place svg{width:23px;height:23px;margin:0 auto 4px}
.get{display:grid;grid-template-columns:1fr 65px;gap:10px;align-items:center}
.get p{font-size:8px;margin:3px 0;color:#385172}
.qr{width:65px;height:65px;border:3px solid #071f48;padding:2px}

/* Bottom bar */
.footer{margin-top:0;background:#061d47;color:#fff;padding:8px 25px;display:flex;justify-content:space-between;font-size:7.5px}
.footer .right{display:flex;gap:22px}

/* mobile */
@media(max-width:900px){
  .header{height:auto}.header-inner{padding:10px 16px;flex-wrap:wrap}
  .brand{width:auto;height:70px;border-right:0;padding:0}
  .brand img{width:125px}.social{order:2}.contact-btn{order:3}
  .nav-wrap{order:4;width:100%;overflow:auto;justify-content:flex-start;border-top:1px solid #eee;padding-top:8px}
  .nav{gap:20px}.nav a{font-size:10px}
  .hero{height:auto;grid-template-columns:1fr}.hero-copy{padding:35px 25px}.hero-visual{height:280px}.hero-visual:before{width:70px}
  .divisions,.products{grid-template-columns:repeat(4,1fr)}
  .lower-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .container,.section{padding-left:12px;padding-right:12px}
  .header-inner{gap:10px}.social{margin-left:auto}
  .contact-btn{padding:10px 12px}
  .hero-copy{padding:30px 20px}.hero h1{font-size:31px}.hero p{font-size:12px}
  .hero-visual{height:220px}
  .divisions,.products{grid-template-columns:repeat(2,1fr)}
  .div-card{min-height:145px}.product img{height:105px}
  .lower-grid,.feature-row,.footer-top{grid-template-columns:1fr}
  .stats{min-height:95px}.footer{flex-direction:column;gap:7px}.footer .right{gap:12px}
}
	/* ============================================================
   2B CREATIVE — CLICK TO CHAT WIDGET
   Paste everything inside <style> into your site's CSS,
   and everything inside <body> at the bottom of your page.
   ============================================================ */
 
/* ── FLOATING BUTTON ── */
#ctc-fab {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  font-family: Arial, Helvetica, sans-serif;
}
 
/* Pulse ring behind main button */
#ctc-fab .fab-pulse {
  position: absolute;
  bottom: 0; right: 0;
  width: 60px; height: 60px;
  border-radius: 50%;
  background: rgba(37,211,102,0.35);
  animation: ctcPulse 2s ease-out infinite;
  pointer-events: none;
}
@keyframes ctcPulse {
  0%   { transform: scale(1);   opacity: 1; }
  100% { transform: scale(1.9); opacity: 0; }
}
 
/* Main toggle button */
#ctc-toggle {
  width: 60px; height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(18,140,126,0.5);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative; z-index: 2;
}
#ctc-toggle:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 28px rgba(18,140,126,0.6);
}
#ctc-toggle svg { transition: all 0.25s ease; }
#ctc-toggle .icon-close { display: none; }
#ctc-toggle.open .icon-wa   { display: none; }
#ctc-toggle.open .icon-close { display: block; }
 
/* Tooltip bubble */
#ctc-tooltip {
  background: #fff;
  color: #0b2249;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 8px;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(0,0,0,0.14);
  position: absolute;
  right: 70px; bottom: 10px;
  opacity: 1;
  transition: opacity 0.3s;
  pointer-events: none;
}
#ctc-tooltip::after {
  content: '';
  position: absolute; right: -8px; top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: #fff;
  border-right: none;
}
#ctc-fab.panel-open #ctc-tooltip { opacity: 0; }
 
/* ── CHAT PANEL ── */
#ctc-panel {
  position: fixed;
  bottom: 100px; right: 28px;
  width: 340px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 12px 48px rgba(0,0,0,0.18);
  overflow: hidden;
  z-index: 9998;
  transform: scale(0.85) translateY(20px);
  transform-origin: bottom right;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.3s cubic-bezier(.34,1.56,.64,1), opacity 0.25s ease;
  font-family: Arial, Helvetica, sans-serif;
}
#ctc-panel.open {
  transform: scale(1) translateY(0);
  opacity: 1;
  pointer-events: all;
}
 
/* Panel header */
.ctc-header {
  background: linear-gradient(135deg, #062452 0%, #0b3d91 100%);
  padding: 20px 18px 16px;
  display: flex; align-items: center; gap: 12px;
  position: relative;
}
.ctc-header-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: linear-gradient(135deg, #25d366, #128c7e);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  border: 2px solid rgba(255,255,255,0.3);
}
.ctc-header-avatar svg { width: 26px; height: 26px; }
.ctc-header-info { flex: 1; }
.ctc-header-name {
  font-size: 15px; font-weight: 700; color: #fff; line-height: 1.2;
}
.ctc-header-status {
  display: flex; align-items: center; gap: 5px;
  font-size: 12px; color: rgba(255,255,255,0.75); margin-top: 3px;
}
.status-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #25d366;
  box-shadow: 0 0 6px #25d366;
  animation: blink 2s ease-in-out infinite;
}
@keyframes blink {
  0%,100% { opacity: 1; } 50% { opacity: 0.4; }
}
.ctc-close-btn {
  background: rgba(255,255,255,0.12);
  border: none; cursor: pointer;
  width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s;
}
.ctc-close-btn:hover { background: rgba(255,255,255,0.22); }
.ctc-close-btn svg { width: 14px; height: 14px; }
 
/* Chat bubble preview */
.ctc-bubble-wrap {
  background: #f0f2f5;
  padding: 18px 16px;
}
.ctc-bubble {
  background: #fff;
  border-radius: 0 12px 12px 12px;
  padding: 12px 14px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  font-size: 13.5px; color: #222; line-height: 1.55;
  position: relative;
  max-width: 90%;
}
.ctc-bubble::before {
  content: '';
  position: absolute; top: 0; left: -8px;
  border: 8px solid transparent;
  border-right-color: #fff;
  border-top-color: #fff;
}
.ctc-bubble-time {
  text-align: right; font-size: 11px;
  color: #999; margin-top: 6px;
}
.ctc-bubble-logo {
  font-size: 11px; font-weight: 700; color: #062452;
  margin-bottom: 5px; display: flex; align-items: center; gap: 6px;
}
.ctc-bubble-logo span {
  background: #062452; color: #fff;
  font-size: 10px; padding: 2px 7px; border-radius: 3px;
}
 
/* Contact options */
.ctc-options {
  padding: 14px 16px 18px;
  display: flex; flex-direction: column; gap: 10px;
}
.ctc-options-label {
  font-size: 11px; font-weight: 700; color: #8a9ab5;
  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px;
}
 
/* WhatsApp button */
.ctc-btn {
  display: flex; align-items: center; gap: 12px;
  padding: 13px 16px;
  border-radius: 10px;
  border: none; cursor: pointer;
  text-align: left; width: 100%;
  font-family: Arial, Helvetica, sans-serif;
  transition: transform 0.18s, box-shadow 0.18s;
  text-decoration: none;
}
.ctc-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.ctc-btn-wa {
  background: linear-gradient(135deg, #25d366 0%, #1da851 100%);
}
.ctc-btn-wa .ctc-btn-icon {
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ctc-btn-wa .ctc-btn-text strong {
  display: block; font-size: 14px; font-weight: 700; color: #fff;
}
.ctc-btn-wa .ctc-btn-text span {
  font-size: 12px; color: rgba(255,255,255,0.82);
}
.ctc-btn-call {
  background: linear-gradient(135deg, #062452 0%, #0b3d91 100%);
}
.ctc-btn-call .ctc-btn-icon {
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ctc-btn-call .ctc-btn-text strong {
  display: block; font-size: 14px; font-weight: 700; color: #fff;
}
.ctc-btn-call .ctc-btn-text span {
  font-size: 12px; color: rgba(255,255,255,0.75);
}
.ctc-btn-email {
  background: #f5f8fc;
  border: 1.5px solid #dce2ea;
}
.ctc-btn-email .ctc-btn-icon {
  width: 40px; height: 40px; border-radius: 50%;
  background: #e3e8ef;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ctc-btn-email .ctc-btn-text strong {
  display: block; font-size: 14px; font-weight: 700; color: #062452;
}
.ctc-btn-email .ctc-btn-text span {
  font-size: 12px; color: #4f6484;
}
 
/* Department selector */
.ctc-dept {
  padding: 0 16px 16px;
  border-top: 1px solid #eef0f4;
}
.ctc-dept-title {
  font-size: 11px; font-weight: 700; color: #8a9ab5;
  text-transform: uppercase; letter-spacing: 1px;
  padding: 12px 0 10px;
}
.ctc-dept-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.dept-chip {
  display: flex; align-items: center; gap: 7px;
  padding: 9px 10px; border-radius: 8px;
  border: 1.5px solid #dce2ea;
  background: #fff; cursor: pointer;
  font-size: 12px; font-weight: 600; color: #0b2249;
  transition: all 0.18s;
}
.dept-chip:hover, .dept-chip.active {
  border-color: #0b3d91;
  background: #f0f4fc;
  color: #0b3d91;
}
.dept-chip .dept-icon { font-size: 16px; }
 
/* Panel footer */
.ctc-footer {
  background: #f5f8fc;
  padding: 10px 16px;
  text-align: center;
  font-size: 11px; color: #8a9ab5;
  border-top: 1px solid #eef0f4;
}
.ctc-footer a { color: #0b3d91; font-weight: 600; }
 
/* ── RESPONSIVE ── */
@media (max-width: 480px) {
  #ctc-panel { width: calc(100vw - 24px); right: 12px; }
  #ctc-fab { right: 16px; bottom: 20px; }
}
	/* =========================
   FOOTER 4-CARD GRID
========================= */

.footer-top{
  display:grid;
  grid-template-columns:1.25fr 1.25fr 1fr 1.15fr;
  gap:8px;
  margin-top:9px;
}

.foot-card{
  border:1px solid #e4e8ef;
  border-radius:7px;
  padding:12px 14px;
  min-height:130px;
  background:#fff;
  transition:all .25s ease;
}

.foot-card:hover{
  box-shadow:0 5px 18px rgba(13,38,72,.08);
  transform:translateY(-2px);
}

.foot-title{
  text-align:center;
  color:#092c70;
  font-weight:800;
  font-size:9px;
  margin-bottom:12px;
  letter-spacing:.3px;
}


/* =========================
   CERTIFICATIONS
========================= */

.cert-row{
  display:flex;
  justify-content:space-around;
  align-items:flex-start;
  gap:5px;
}

.cert{
  flex:1;
  text-align:center;
  color:#1a3c72;
  font-size:7px;
  line-height:1.25;
}

.cert-icon{
  width:26px;
  height:26px;
  margin:0 auto 4px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#071f48;
  color:#45a51e;
  font-size:13px;
  font-weight:800;
}

.cert strong{
  display:block;
  font-size:7px;
  color:#092c70;
}

.cert span{
  display:block;
  margin-top:2px;
  color:#667a94;
  font-size:6.5px;
}


/* =========================
   OUR PRESENCE
========================= */

.presence{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:4px;
}

.place{
  flex:1;
  text-align:center;
  color:#1a3c72;
}

.place strong{
  display:block;
  font-size:7px;
  color:#092c70;
}

.place span{
  display:block;
  font-size:17px;
  line-height:20px;
  color:#45a51e;
  margin:2px 0;
}

.place small{
  display:block;
  font-size:6px;
  line-height:1.2;
  color:#687b94;
}


/* =========================
   GET IN TOUCH
========================= */

.contact-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.contact-list a{
  display:flex;
  align-items:center;
  gap:7px;
  color:#385172;
  font-size:7.5px;
  transition:color .2s ease;
}

.contact-list a:hover{
  color:#45a51e;
}

.contact-icon{
  width:19px;
  height:19px;
  min-width:19px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#071f48;
  color:#45a51e;
  font-size:9px;
}


/* =========================
   FIND US / LOCATION
========================= */

.location-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,#ffffff 0%,#f4f8fc 100%);
}

.location-card::after{
  content:"";
  position:absolute;
  width:100px;
  height:100px;
  right:-42px;
  bottom:-50px;
  border-radius:50%;
  background:rgba(69,165,30,.08);
}

.location-box{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  gap:9px;
}

.location-pin{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#071f48;
  color:#45a51e;
}

.location-pin svg{
  width:19px;
  height:19px;
}

.location-text strong{
  display:block;
  color:#092c70;
  font-size:8px;
  margin-bottom:4px;
}

.location-text p{
  margin:0;
  color:#52657f;
  font-size:7.2px;
  line-height:1.45;
}

.map-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:8px;
  padding:5px 8px;
  border-radius:4px;
  background:#45a51e;
  color:#fff !important;
  font-size:6.5px !important;
  font-weight:800;
  transition:all .2s ease;
}

.map-btn span{
  font-size:10px;
}

.map-btn:hover{
  background:#2f8d20;
  transform:translateY(-1px);
}
@media(max-width:900px){

  .footer-top{
    grid-template-columns:repeat(2,1fr);
  }

}

@media(max-width:600px){

  .footer-top{
    grid-template-columns:1fr;
  }

  .foot-card{
    min-height:120px;
  }

  .cert{
    font-size:8px;
  }

  .cert-icon{
    width:30px;
    height:30px;
  }

}	

/* =========================================
   OUR PRESENCE - BRANCH EMAILS
   Matches existing 2B Creative footer theme
========================================= */

.presence-card {
    overflow: hidden;
}

.presence-card .presence {
    align-items: flex-start;
}

.presence-card .place {
    min-width: 0;
}

/* Branch email */
.branch-mail {
    display: block;
    margin-top: 4px;
    color: #63758f;
    font-size: 5.5px;
    line-height: 1.25;
    white-space: normal;
    word-break: break-word;
    transition: color .2s ease;
}

/* Small green mail icon */
.branch-mail:first-letter {
    color: #45a51e;
}

/* Hover */
.branch-mail:hover {
    color: #45a51e;
}

/* Keep branch name visually strongest */
.presence-card .place strong {
    margin-bottom: 1px;
}

/* Existing green branch icon */
.presence-card .place span {
    margin: 1px 0;
}

/* Office type */
.presence-card .place small {
    min-height: 14px;
}

/* Desktop - prevent email from making card too wide */
@media (min-width: 901px) {
    .presence-card .place {
        overflow: hidden;
    }

    .branch-mail {
        max-width: 100%;
    }
}

/* Tablet */
@media (max-width: 900px) {
    .branch-mail {
        font-size: 6.5px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .presence-card .presence {
        gap: 8px;
    }

    .branch-mail {
        font-size: 7px;
        margin-top: 5px;
    }
}




/* ==========================================================
   Imported home-page visual system from the supplied build.
   The rules below override only structural pieces needed by
   the WordPress shell/navigation while preserving the original
   2B visual language.
   ========================================================== */
.site-header .header-inner,.site-header .brand,.site-header .nav-wrap{all:unset}.site-header .header-inner{width:min(100%,1280px);margin:auto;min-height:92px;padding:0 24px;display:flex;align-items:center;gap:28px}.site-header .brand{display:flex;align-items:center;flex:0 0 180px}.site-header .brand img{width:150px}.site-header .nav-wrap{margin-left:auto;display:block}.site-header .nav{display:none}.site-header .contact-btn{display:none}.site-header .social{display:none}
/* Make source home content sit naturally inside the WP shell. */
.home .site-main{overflow:hidden}.home .section:first-of-type{padding-top:15px}


/* ==========================================================
   2B CREATIVE - FINAL NAVIGATION
   Exact desktop/mobile structure requested by client.
   ========================================================== */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e3e8ef;box-shadow:0 2px 12px rgba(6,36,82,.05);z-index:9999}
.site-header__inner{width:min(100%,1280px);min-height:88px;padding:0 24px;margin:0 auto;display:flex;align-items:center;gap:30px}
.site-brand{flex:0 0 170px;display:flex;align-items:center}
.site-brand img{display:block;width:145px;height:auto;max-height:62px;object-fit:contain}
.site-nav{margin-left:auto}
.site-nav .primary-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.site-nav .primary-menu>li{position:relative;margin:0;padding:0}
.site-nav .primary-menu>li>a,
.site-nav .nav-dropdown-toggle{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#0b2249;text-decoration:none;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:800;letter-spacing:.25px;line-height:1;padding:35px 0 33px;cursor:pointer;white-space:nowrap}
.site-nav .primary-menu>li>a:hover,
.site-nav .primary-menu>li>a:focus-visible,
.site-nav .nav-dropdown-toggle:hover,
.site-nav .nav-dropdown-toggle:focus-visible{color:#45a51e;outline:none}
.site-nav .nav-dropdown-toggle>span{font-size:14px;line-height:1;transition:transform .2s ease}
.site-nav .nav-solutions:hover>.nav-dropdown-toggle>span{transform:rotate(180deg)}
.site-nav .sub-menu{position:absolute;left:50%;top:100%;width:335px;margin:0;padding:9px 0;list-style:none;background:#fff;border:1px solid #e1e6ed;border-radius:7px;box-shadow:0 18px 40px rgba(6,36,82,.15);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.site-nav .menu-item-has-children:hover>.sub-menu,
.site-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.site-nav .sub-menu li{position:relative;border-bottom:1px solid #edf1f5;margin:0}
.site-nav .sub-menu li:last-child{border-bottom:0}
.site-nav .sub-menu li>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;color:#17355e;text-decoration:none;font-size:12px;font-weight:700;line-height:1.35;white-space:normal;text-transform:none}
.site-nav .sub-menu li>a:hover,.site-nav .sub-menu li>a:focus-visible{background:#f4f8fc;color:#45a51e;outline:none}
.site-nav .sub-menu .sub-menu{left:100%;top:-10px;transform:translate(8px,0);width:250px}
.site-nav .sub-menu .menu-item-has-children:hover>.sub-menu,
.site-nav .sub-menu .menu-item-has-children:focus-within>.sub-menu{transform:translate(0,0)}
.site-header__cta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 17px;background:#071f48;color:#fff;text-decoration:none;border-radius:5px;font-size:11px;font-weight:800;letter-spacing:.3px;white-space:nowrap}
.site-header__cta:hover{background:#45a51e;color:#fff}
.site-menu-toggle{display:none}

@media(max-width:1100px){
  .site-header__inner{gap:20px;padding-left:18px;padding-right:18px}
  .site-nav .primary-menu{gap:18px}
  .site-nav .primary-menu>li>a,.site-nav .nav-dropdown-toggle{font-size:11px}
  .site-header__cta{padding:0 13px;font-size:10px}
}

@media(max-width:900px){
  body.nav-open{overflow:hidden}
  .site-header{position:sticky;top:0}
  .site-header__inner{min-height:72px;padding:8px 16px;gap:12px}
  .site-brand{flex:0 0 auto}
  .site-brand img{width:128px;max-height:54px}
  .site-header__cta{display:none}
  .site-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-left:auto;width:42px;height:40px;padding:0;border:1px solid #d7dee7;border-radius:5px;background:#fff;color:#071f48;cursor:pointer}
  .site-menu-toggle span{display:block;width:21px;height:2px;background:currentColor;margin:0;transition:transform .2s ease,opacity .2s ease}
  .site-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .site-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .site-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .site-nav{position:absolute;left:0;right:0;top:100%;margin:0;background:#fff;border-top:1px solid #e3e8ef;box-shadow:0 15px 30px rgba(6,36,82,.13);max-height:calc(100vh - 72px);overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:.2s ease}
  .site-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .site-nav .primary-menu{display:block;padding:8px 16px 18px}
  .site-nav .primary-menu>li{border-bottom:1px solid #edf1f5}
  .site-nav .primary-menu>li>a,.site-nav .nav-dropdown-toggle{width:100%;min-height:48px;padding:14px 3px;text-align:left;justify-content:space-between;font-size:13px;letter-spacing:.2px}
  .site-nav .nav-dropdown-toggle>span{font-size:16px}
  .site-nav .sub-menu,.site-nav .sub-menu .sub-menu{position:static;width:auto;display:none;opacity:1;visibility:visible;pointer-events:auto;transform:none!important;border:0;border-radius:0;box-shadow:none;background:#f6f8fb;padding:3px 0 7px;margin:0 0 8px}
  .site-nav .menu-item-has-children.is-open>.sub-menu{display:block}
  .site-nav .sub-menu li{border-bottom:1px solid #e5eaf0}
  .site-nav .sub-menu li:last-child{border-bottom:0}
  .site-nav .sub-menu li>a{min-height:42px;padding:10px 13px;font-size:12px}
  .site-nav .sub-menu .sub-menu li>a{padding-left:27px;background:#eef3f8}
  .site-nav .nav-solutions.is-open>.nav-dropdown-toggle>span{transform:rotate(180deg)}
}

@media(max-width:480px){
  .site-header__inner{padding-left:13px;padding-right:13px}
  .site-brand img{width:118px}
  .site-menu-toggle{width:40px;height:38px}
  .site-nav .primary-menu{padding-left:13px;padding-right:13px}
}
.site-header__socials {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 20px;
}

.site-header__socials a {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
}

.site-header__socials a:hover {
    background: #fff;
    color: #111;
    border-color: #fff;
    transform: translateY(-2px);
}
/* Header Social Icons */
.site-header__socials {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 20px;
}

.site-header__socials a {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;

    text-decoration: none !important;
    font-size: 14px;
    line-height: 1;

    transition: all 0.3s ease;
}

.site-header__socials a i {
    color: #ffffff !important;
    font-size: 14px;
    line-height: 1;
}

/* Hover */
.site-header__socials a:hover {
    color: #ffffff !important;
    background: #ffffff;
    border-color: #ffffff;
    transform: translateY(-2px);
}

.site-header__socials a:hover i {
    color: #000000 !important;
}

/* Prevent theme styles from overriding icons */
.site-header__socials a:visited,
.site-header__socials a:focus,
.site-header__socials a:active {
    color: #ffffff !important;
}

/* Mobile */
@media (max-width: 991px) {
    .site-header__socials {
        display: none;
    }
}
.site-header__socials a {
    color: #222222 !important;
    border-color: rgba(0, 0, 0, 0.2);
}

.site-header__socials a i {
    color: #222222 !important;
}

.site-header__socials a:hover {
    background: #222222;
    border-color: #222222;
}

.site-header__socials a:hover i {
    color: #ffffff !important;
}