/* ============================================================
   Technology Gala — Design System v2 (WiseRank-tier polish)
   Loads AFTER tg-design.css and Elementor frontend CSS.
   ============================================================ */

/* ---------- Global type scale & rhythm ---------- */
.tg-site { --tg-maxw: 1240px; }
.tg-site h1, .tg-site h2, .tg-site h3, .tg-site h4 { font-family: Sora, sans-serif; letter-spacing: -.02em; }
.tg-site h2 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.14; }
.tg-site h3 { letter-spacing: -.01em; }

/* Make every Elementor container respect a comfortable max width + side padding */
.tg-site .e-con-inner { width: 100%; }
.tg-site section[class*="tg-section"] > .e-con-inner,
.tg-site .tg-sec-inner { max-width: var(--tg-maxw); margin-inline: auto; }

/* ============================================================
   HERO — gradient mesh, badge, dual CTA, trust row
   ============================================================ */
.tg-hero2 { position: relative; overflow: hidden; background: radial-gradient(120% 120% at 85% 0%, #0B3A8C 0%, #0A1B33 45%, #061226 100%); }
.tg-hero2::before { content:""; position:absolute; inset:0; background:
   radial-gradient(40% 50% at 12% 18%, rgba(34,211,238,.18), transparent 70%),
   radial-gradient(38% 48% at 92% 80%, rgba(14,111,255,.28), transparent 70%); pointer-events:none; }
.tg-hero2::after { content:""; position:absolute; inset:0; opacity:.4; pointer-events:none;
   background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
   background-size: 54px 54px; mask-image: radial-gradient(80% 80% at 50% 30%, #000 40%, transparent 100%); }
.tg-hero2-badge { display:inline-flex; align-items:center; gap:9px; padding:7px 15px; border-radius:99px;
   background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#CFE0FF;
   font-size:13.5px; font-weight:600; backdrop-filter: blur(6px); }
.tg-hero2-badge .tg-dot { width:8px; height:8px; border-radius:50%; background:#22D3EE; box-shadow:0 0 0 4px rgba(34,211,238,.22); }
.tg-hero2 .tg-h1 { color:#fff; font-size: clamp(34px, 5vw, 58px); line-height:1.05; letter-spacing:-.025em; margin:20px 0 0; max-width: 16ch; }
.tg-hero2 .tg-h1 .tg-grad { background:linear-gradient(95deg,#38BDF8,#22D3EE 55%,#34D399); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.tg-hero2 .tg-hero-sub { color:#B9C6DD; font-size: clamp(16px,1.5vw,19px); line-height:1.65; max-width: 56ch; margin:22px 0 0; }
.tg-hero2-cta { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.tg-hero2-cta a { display:inline-flex; align-items:center; gap:10px; font-weight:600; border-radius:12px; text-decoration:none; transition:all .22s; }
.tg-hero2-cta .tg-cta-primary { background:linear-gradient(95deg,#0E6FFF,#22D3EE); color:#fff; padding:16px 28px; font-size:16px; box-shadow:0 14px 34px rgba(14,111,255,.4); }
.tg-hero2-cta .tg-cta-primary:hover { transform:translateY(-2px); box-shadow:0 20px 44px rgba(14,111,255,.52); }
.tg-hero2-cta .tg-cta-ghost { background:rgba(255,255,255,.08); color:#fff; padding:16px 26px; font-size:16px; border:1px solid rgba(255,255,255,.2); }
.tg-hero2-cta .tg-cta-ghost:hover { background:rgba(255,255,255,.16); transform:translateY(-2px); }
.tg-hero2-trust { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:30px; }
.tg-hero2-trust span { display:inline-flex; align-items:center; gap:9px; color:#C7D6EE; font-size:14.5px; }
.tg-hero2-trust svg { width:18px; height:18px; flex:none; }
.tg-hero2-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:96px 24px 90px; position:relative; z-index:1; max-width:var(--tg-maxw); margin-inline:auto; }
.tg-hero2-visual { position:relative; }
.tg-hero2-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:22px; padding:22px; backdrop-filter:blur(8px); box-shadow:0 40px 80px rgba(0,0,0,.34); }
.tg-hero2-card img { width:100%; height:auto; border-radius:14px; display:block; }
.tg-hero2-float { position:absolute; background:#fff; border-radius:14px; box-shadow:0 20px 44px rgba(6,18,38,.28); padding:13px 17px; display:flex; align-items:center; gap:12px; }
.tg-hero2-float .ic { width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; }
.tg-hero2-float strong { display:block; font-family:Sora,sans-serif; font-size:18px; color:#0A1B33; line-height:1; }
.tg-hero2-float small { font-size:12px; color:#7A8AA3; }
.tg-hero2-float.f1 { top:8%; right:-14px; } .tg-hero2-float.f1 .ic { background:linear-gradient(135deg,#12B76A,#0E9F6E); }
.tg-hero2-float.f2 { bottom:8%; left:-22px; } .tg-hero2-float.f2 .ic { background:linear-gradient(135deg,#0E6FFF,#22D3EE); }
@media (max-width:980px){ .tg-hero2-grid{ grid-template-columns:1fr; gap:40px; padding:72px 24px 64px; } .tg-hero2-visual{ max-width:520px; } .tg-hero2-float.f1{right:6px;} .tg-hero2-float.f2{left:6px;} }

/* ============================================================
   LOGO / TOOLS STRIP
   ============================================================ */
.tg-logos { background:#fff; border-bottom:1px solid var(--tg-border); }
.tg-logos-inner { max-width:var(--tg-maxw); margin-inline:auto; padding:30px 24px; }
.tg-logos-label { text-align:center; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--tg-muted); font-weight:600; margin:0 0 18px; }
.tg-logos-track { display:flex; flex-wrap:wrap; justify-content:center; gap:14px 30px; }
.tg-logos-track span { display:inline-flex; align-items:center; gap:9px; font-weight:600; font-size:15px; color:#42526B; opacity:.85; }
.tg-logos-track span svg { width:20px; height:20px; opacity:.8; }

/* ============================================================
   SECTION HEADINGS (centered intro)
   ============================================================ */
.tg-shead { text-align:center; max-width:760px; margin:0 auto 46px; }
.tg-shead .tg-eyebrow2 { display:inline-block; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--tg-blue); margin-bottom:14px; }
.tg-on-dark .tg-shead .tg-eyebrow2 { color:#3FD4E6; }
.tg-shead p { color:var(--tg-text); font-size:17.5px; line-height:1.6; margin:14px 0 0; }
.tg-on-dark .tg-shead p { color:#B9C6DD; }

/* ============================================================
   SERVICE CARDS v2 (icon tile, hover lift, arrow)
   ============================================================ */
.tg-scards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tg-scard { position:relative; background:#fff; border:1px solid var(--tg-border); border-radius:18px; padding:28px 26px 26px; text-decoration:none; display:block; transition:transform .22s, box-shadow .22s, border-color .22s; overflow:hidden; }
.tg-scard::after { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,#0E6FFF,#22D3EE); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.tg-scard:hover { transform:translateY(-6px); box-shadow:0 24px 48px rgba(10,27,51,.12); border-color:#C9DCFA; }
.tg-scard:hover::after { transform:scaleX(1); }
.tg-scard .tg-scard-ic { width:54px; height:54px; border-radius:14px; background:linear-gradient(135deg,#EAF2FF,#E0FBFF); color:var(--tg-blue); display:flex; align-items:center; justify-content:center; font-size:23px; margin-bottom:18px; transition:all .25s; }
.tg-scard:hover .tg-scard-ic { background:linear-gradient(135deg,#0E6FFF,#22D3EE); color:#fff; transform:rotate(-6deg) scale(1.05); }
.tg-scard h3 { font-size:19px; color:var(--tg-navy); margin:0 0 9px; }
.tg-scard p { font-size:15px; line-height:1.6; color:var(--tg-text); margin:0 0 16px; }
.tg-scard .tg-scard-link { display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:14.5px; color:var(--tg-blue); }
.tg-scard .tg-scard-link svg { width:15px; height:15px; transition:transform .2s; }
.tg-scard:hover .tg-scard-link svg { transform:translateX(4px); }
@media (max-width:980px){ .tg-scards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .tg-scards{ grid-template-columns:1fr; } }

/* ============================================================
   PROCESS ROW (numbered, connecting line)
   ============================================================ */
.tg-proc { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.tg-proc::before { content:""; position:absolute; top:30px; left:8%; right:8%; height:2px; background:repeating-linear-gradient(90deg,#C9DCFA 0 8px, transparent 8px 16px); z-index:0; }
.tg-proc-step { position:relative; z-index:1; text-align:center; }
.tg-proc-num { width:60px; height:60px; margin:0 auto 18px; border-radius:50%; background:#fff; border:2px solid #C9DCFA; color:var(--tg-blue); font-family:Sora,sans-serif; font-weight:800; font-size:22px; display:flex; align-items:center; justify-content:center; transition:all .25s; }
.tg-proc-step:hover .tg-proc-num { background:linear-gradient(135deg,#0E6FFF,#22D3EE); border-color:transparent; color:#fff; transform:translateY(-4px); box-shadow:0 14px 28px rgba(14,111,255,.32); }
.tg-proc-step h3 { font-size:17px; color:var(--tg-navy); margin:0 0 7px; }
.tg-proc-step p { font-size:14px; line-height:1.55; color:var(--tg-text); margin:0; }
.tg-on-dark .tg-proc-num { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.2); color:#fff; }
.tg-on-dark .tg-proc-step h3 { color:#fff; } .tg-on-dark .tg-proc-step p { color:#AEBDD6; }
.tg-on-dark .tg-proc::before { background:repeating-linear-gradient(90deg,rgba(255,255,255,.2) 0 8px, transparent 8px 16px); }
@media (max-width:980px){ .tg-proc{ grid-template-columns:repeat(2,1fr); gap:30px 20px; } .tg-proc::before{ display:none; } }
@media (max-width:560px){ .tg-proc{ grid-template-columns:1fr; } }

/* ============================================================
   STATS BAND
   ============================================================ */
.tg-statsband { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.tg-statbox { text-align:center; padding:10px; }
.tg-statbox .n { font-family:Sora,sans-serif; font-weight:800; font-size:clamp(34px,4vw,48px); line-height:1; background:linear-gradient(95deg,#38BDF8,#22D3EE); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.tg-statbox .l { color:#C7D6EE; font-size:14.5px; margin-top:10px; line-height:1.45; }
@media (max-width:700px){ .tg-statsband{ grid-template-columns:1fr 1fr; gap:30px 16px; } }

/* ============================================================
   SPLIT FEATURE (image left / checklist right)
   ============================================================ */
.tg-split { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.tg-split-media { border-radius:20px; overflow:hidden; box-shadow:0 30px 60px rgba(10,27,51,.14); background:linear-gradient(135deg,#0B3A8C,#0A1B33); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; }
.tg-split-media img { width:100%; height:100%; object-fit:cover; }
.tg-split h2 { margin:0 0 16px; }
.tg-split .tg-feat-list { list-style:none; margin:22px 0 0; padding:0; }
.tg-split .tg-feat-list li { display:flex; gap:13px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--tg-border); }
.tg-split .tg-feat-list li:last-child { border-bottom:0; }
.tg-split .tg-feat-list .ic { flex:none; width:26px; height:26px; border-radius:7px; background:#E6F9F0; color:#12B76A; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.tg-split .tg-feat-list strong { display:block; font-family:Sora,sans-serif; font-size:16px; color:var(--tg-navy); }
.tg-split .tg-feat-list span { font-size:14.5px; color:var(--tg-text); }
@media (max-width:900px){ .tg-split{ grid-template-columns:1fr; gap:36px; } }

/* ============================================================
   COMPARISON (our approach vs typical) — WiseRank-style
   ============================================================ */
.tg-compare { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1000px; margin:0 auto; }
.tg-comp-card { border-radius:20px; padding:34px 32px; }
.tg-comp-good { background:linear-gradient(160deg,#0B3A8C,#0A1B33); color:#fff; box-shadow:0 30px 60px rgba(11,58,140,.34); }
.tg-comp-bad { background:#fff; border:1px solid var(--tg-border); }
.tg-comp-card h3 { font-size:21px; margin:0 0 6px; }
.tg-comp-good h3 { color:#fff; } .tg-comp-bad h3 { color:var(--tg-navy); }
.tg-comp-tag { display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:99px; margin-bottom:16px; }
.tg-comp-good .tg-comp-tag { background:rgba(34,211,238,.18); color:#7FE9F5; }
.tg-comp-bad .tg-comp-tag { background:#FFF2E8; color:#C2410C; }
.tg-comp-list { list-style:none; margin:18px 0 0; padding:0; }
.tg-comp-list li { display:flex; gap:12px; align-items:flex-start; padding:10px 0; font-size:15px; line-height:1.5; }
.tg-comp-good .tg-comp-list li { color:#D9E4F5; border-bottom:1px solid rgba(255,255,255,.1); }
.tg-comp-bad .tg-comp-list li { color:var(--tg-text); border-bottom:1px solid var(--tg-border); }
.tg-comp-list li:last-child { border-bottom:0; }
.tg-comp-list .ic { flex:none; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; margin-top:1px; }
.tg-comp-good .tg-comp-list .ic { background:rgba(52,211,153,.2); color:#34D399; }
.tg-comp-bad .tg-comp-list .ic { background:#FEE4E2; color:#F04438; }
@media (max-width:800px){ .tg-compare{ grid-template-columns:1fr; } }

/* ============================================================
   INDUSTRY CARDS (compact, icon + arrow)
   ============================================================ */
.tg-indgrid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.tg-indcard { display:flex; flex-direction:column; gap:10px; padding:20px 18px; background:#fff; border:1px solid var(--tg-border); border-radius:14px; text-decoration:none; transition:all .2s; }
.tg-indcard:hover { border-color:var(--tg-blue); transform:translateY(-3px); box-shadow:0 16px 30px rgba(14,111,255,.12); }
.tg-indcard .ic { width:40px; height:40px; border-radius:10px; background:#EAF2FF; color:var(--tg-blue); display:flex; align-items:center; justify-content:center; font-size:17px; }
.tg-indcard span { font-family:Sora,sans-serif; font-weight:600; font-size:14.5px; color:var(--tg-navy); line-height:1.3; }
@media (max-width:980px){ .tg-indgrid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .tg-indgrid{ grid-template-columns:1fr 1fr; } }

/* ============================================================
   TESTIMONIAL CARDS v2
   ============================================================ */
.tg-quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tg-quote { background:#fff; border:1px solid var(--tg-border); border-radius:18px; padding:28px 26px; }
.tg-quote .stars { color:#FBBF24; font-size:16px; letter-spacing:2px; margin-bottom:14px; }
.tg-quote p { font-size:15.5px; line-height:1.7; color:#34435C; font-style:italic; margin:0 0 18px; }
.tg-quote .who { display:flex; align-items:center; gap:12px; }
.tg-quote .av { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#0E6FFF,#22D3EE); color:#fff; display:flex; align-items:center; justify-content:center; font-family:Sora,sans-serif; font-weight:700; }
.tg-quote .who strong { display:block; font-family:Sora,sans-serif; font-size:15px; color:var(--tg-navy); }
.tg-quote .who small { font-size:13px; color:var(--tg-muted); }
@media (max-width:980px){ .tg-quotes{ grid-template-columns:1fr; max-width:560px; margin-inline:auto; } }

/* ============================================================
   FAQ v2
   ============================================================ */
.tg-faq2 { max-width:820px; margin:0 auto; }
.tg-faq2 details { background:#fff; border:1px solid var(--tg-border); border-radius:14px; margin-bottom:12px; overflow:hidden; transition:box-shadow .2s; }
.tg-faq2 details[open] { box-shadow:0 14px 30px rgba(10,27,51,.08); border-color:#C9DCFA; }
.tg-faq2 summary { list-style:none; cursor:pointer; padding:19px 56px 19px 24px; font-family:Sora,sans-serif; font-size:16.5px; font-weight:600; color:var(--tg-navy); position:relative; }
.tg-faq2 summary::-webkit-details-marker { display:none; }
.tg-faq2 summary::after { content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:24px; font-weight:400; color:var(--tg-blue); transition:transform .2s; }
.tg-faq2 details[open] summary::after { transform:translateY(-50%) rotate(45deg); }
.tg-faq2 .ans { padding:0 24px 20px; font-size:15.5px; line-height:1.72; color:var(--tg-text); }

/* ============================================================
   FINAL CTA
   ============================================================ */
.tg-finalcta { position:relative; overflow:hidden; border-radius:26px; background:radial-gradient(120% 140% at 80% 0%, #0B5BE0, #0A1B33 70%); padding:60px 48px; text-align:center; max-width:var(--tg-maxw); margin:0 auto; box-shadow:0 40px 80px rgba(11,58,140,.34); }
.tg-finalcta::before { content:""; position:absolute; inset:0; opacity:.4; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:46px 46px; mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent); }
.tg-finalcta > * { position:relative; z-index:1; }
.tg-finalcta h2 { color:#fff; max-width:18ch; margin:0 auto 14px; }
.tg-finalcta p { color:#D7E6FF; max-width:54ch; margin:0 auto 28px; font-size:17px; }
.tg-finalcta-btns { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.tg-finalcta-btns a { display:inline-flex; align-items:center; gap:9px; padding:15px 28px; border-radius:12px; font-weight:600; text-decoration:none; transition:all .22s; }
.tg-finalcta-btns .p { background:#fff; color:#0A57D6; box-shadow:0 14px 30px rgba(0,0,0,.22); }
.tg-finalcta-btns .p:hover { transform:translateY(-2px); background:#EAF2FF; }
.tg-finalcta-btns .g { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.28); }
.tg-finalcta-btns .g:hover { background:rgba(255,255,255,.2); }
@media (max-width:600px){ .tg-finalcta{ padding:46px 24px; } }

/* ---------- Section vertical rhythm ---------- */
.tg-sec { padding:84px 24px; }
.tg-sec-sm { padding:60px 24px; }
.tg-sec-inner { max-width:var(--tg-maxw); margin-inline:auto; }
.tg-bg-light { background:var(--tg-light); }
.tg-bg-white { background:#fff; }
.tg-bg-navy { background:linear-gradient(180deg,#0A1B33,#061226); }
@media (max-width:600px){ .tg-sec{ padding:60px 20px; } }

/* Home v2 breaks out of the narrow content container */
body.page-template-default .tg-home2 { width:100%; }
body:not(.elementor-page) .site-main:has(.tg-home2) { max-width:none; margin:0; padding:0; }
.tg-home2 { margin:0; }
/* Fallback for browsers without :has() — target the home page body */
body.tg-home-v2 .site-main { max-width:none !important; margin:0 !important; padding:0 !important; }

/* ============ v2 inner-page components ============ */
.tg-hero2--inner .tg-hero2-grid--solo { grid-template-columns:1fr; max-width:880px; padding-block:84px 72px; }
.tg-hero2--inner .tg-h1 { max-width:20ch; }
.tg-scards--2 { grid-template-columns:repeat(2,1fr); }
.tg-scards--4 { grid-template-columns:repeat(4,1fr); }
@media (max-width:980px){ .tg-scards--4{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .tg-scards--2,.tg-scards--4{ grid-template-columns:1fr;} }
.tg-split-body p { color:#44546A; font-size:16.5px; line-height:1.72; margin:14px 0 0; }
.tg-on-dark .tg-split-body p { color:#B9C6DD; }
.tg-split-body a { color:#0E6FFF; text-decoration:underline; text-underline-offset:2px; }
.tg-btn-grad { display:inline-flex; align-items:center; gap:9px; padding:14px 26px; border-radius:12px; background:linear-gradient(95deg,#0E6FFF,#22D3EE); color:#fff !important; font-weight:600; text-decoration:none !important; box-shadow:0 14px 30px rgba(14,111,255,.26); transition:all .22s; }
.tg-btn-grad:hover { transform:translateY(-2px); box-shadow:0 20px 40px rgba(14,111,255,.36); }
.tg-btn-grad svg { width:18px; height:18px; }
/* pain card */
.tg-split--pain { align-items:start; }
.tg-pain-card2 { background:#fff; border:1px solid var(--tg-border); border-radius:18px; padding:30px 30px; box-shadow:0 12px 30px rgba(10,27,51,.06); }
.tg-on-dark .tg-pain-card2 { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14); }
.tg-pain-card2 h3 { font-size:18px; color:var(--tg-navy); margin:0 0 16px; }
.tg-on-dark .tg-pain-card2 h3 { color:#fff; }
.tg-pain-list { list-style:none; margin:0; padding:0; }
.tg-pain-list li { display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--tg-border); font-size:15px; line-height:1.55; color:var(--tg-text); }
.tg-pain-list li:last-child { border-bottom:0; }
.tg-pain-list .x { flex:none; width:22px; height:22px; border-radius:50%; background:#FFF2E8; color:#F79009; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:13px; }
/* benefit card */
.tg-benefit-card2 { background:linear-gradient(160deg,#0B3A8C,#0A1B33); border-radius:18px; padding:32px 30px; box-shadow:0 24px 50px rgba(11,58,140,.3); }
.tg-benefit-card2 ul { list-style:none; margin:0; padding:0; }
.tg-benefit-card2 li { display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.1); color:#E3EDFB; font-size:15.5px; line-height:1.5; }
.tg-benefit-card2 li:last-child { border-bottom:0; }
.tg-benefit-card2 .ic { flex:none; width:24px; height:24px; border-radius:50%; background:rgba(52,211,153,.18); display:flex; align-items:center; justify-content:center; }
.tg-benefit-card2 .ic svg { width:14px; height:14px; }
/* pills v2 */
.tg-pills2 { display:flex; flex-wrap:wrap; gap:11px; justify-content:center; }
.tg-pills2 span, .tg-pills2 a { display:inline-block; padding:10px 18px; border-radius:99px; background:#fff; border:1px solid var(--tg-border); font-size:14.5px; font-weight:500; color:#2B3B55; text-decoration:none; transition:all .18s; }
.tg-pills2 a:hover { border-color:var(--tg-blue); color:var(--tg-blue); transform:translateY(-2px); box-shadow:0 8px 18px rgba(14,111,255,.14); }
.tg-bg-light .tg-pills2 span { background:#fff; }

/* ===== case study components ===== */
.tg-csmeta { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tg-csmeta-box { background:#fff; border:1px solid var(--tg-border); border-radius:14px; padding:22px 24px; }
.tg-csmeta-box h4 { font-family:Sora,sans-serif; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--tg-blue); margin:0 0 10px; }
.tg-csmeta-box p { margin:0; font-size:15px; color:var(--tg-text); line-height:1.55; }
@media (max-width:820px){ .tg-csmeta{ grid-template-columns:1fr; } }
.tg-workgrid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media (max-width:820px){ .tg-workgrid{ grid-template-columns:1fr; } }
.tg-workcard { background:#fff; border:1px solid var(--tg-border); border-radius:16px; padding:28px 28px; }
.tg-workcard h3 { font-size:18px; color:var(--tg-navy); margin:0 0 14px; }
.tg-workcard ul { list-style:none; margin:0; padding:0; }
.tg-workcard li { display:flex; gap:11px; align-items:flex-start; padding:9px 0; font-size:15px; color:var(--tg-text); line-height:1.5; }
.tg-workcard .ic { flex:none; width:22px; height:22px; }
.tg-workcard .ic svg { width:16px; height:16px; }
.tg-statsband--3 { grid-template-columns:repeat(3,1fr); }
@media (max-width:700px){ .tg-statsband--3{ grid-template-columns:1fr; } }

/* ===== contact ===== */
.tg-contact-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:34px; align-items:start; }
@media (max-width:900px){ .tg-contact-grid{ grid-template-columns:1fr; } }
.tg-contact-form { background:#fff; border:1px solid var(--tg-border); border-radius:18px; padding:34px 34px; box-shadow:0 12px 30px rgba(10,27,51,.06); }
.tg-contact-form h3 { font-size:21px; color:var(--tg-navy); margin:0 0 6px; }
.tg-contact-form > p { color:var(--tg-text); font-size:15px; margin:0 0 20px; }
.tg-contact-info { display:flex; flex-direction:column; gap:16px; }
.tg-info-box { background:#fff; border:1px solid var(--tg-border); border-radius:14px; padding:20px 22px; }
.tg-info-box h4 { font-family:Sora,sans-serif; font-size:14px; color:var(--tg-blue); margin:0 0 6px; }
.tg-info-box p { margin:0; font-size:15px; color:var(--tg-text); }
.tg-info-box a { color:var(--tg-blue); font-weight:600; text-decoration:none; }
