/*
Theme Name: TechGrowthAI Agency
Description: Responsive Elementor agency theme branded for TechGrowthAI with navy, electric blue and teal colors, dark/light mode, polished cards, animated hero and editable pre-built pages.
Version: 3.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: techgrowthai
*/

/* ============ Design tokens ============ */
:root,[data-theme=dark]{color-scheme:dark;--bg:#050b1c;--card:rgba(17,35,67,.72);--card-solid:#0b1630;--line:rgba(138,177,226,.16);--ink:#f4f8ff;--soft:#c5d4ea;--mute:#91a4c2;--lime:#00c8b5;--acc:#168bff;--on-lime:#041329;--pill:rgba(16,37,71,.78);--glow:rgba(0,200,181,.16);--glow2:rgba(22,139,255,.17);--shadow:0 30px 70px -34px rgba(0,0,0,.72);--viz:#08142b}
[data-theme=light]{color-scheme:light;--bg:#f5f8ff;--card:#fff;--card-solid:#fff;--line:rgba(8,35,77,.12);--ink:#071735;--soft:#263e60;--mute:#5e7190;--lime:#00bfae;--acc:#0878ed;--on-lime:#041329;--pill:rgba(255,255,255,.88);--glow:rgba(0,200,181,.16);--glow2:rgba(22,139,255,.14);--shadow:0 1px 2px rgba(4,20,45,.04),0 26px 50px -26px rgba(22,66,125,.22);--viz:#edf4ff}
:root{--r:22px;--f:'Outfit',system-ui,sans-serif;--hh:72px}

/* Make every Elementor widget follow the light/dark palette */
body{--e-global-color-primary:var(--ink)!important;--e-global-color-secondary:var(--soft)!important;--e-global-color-text:var(--mute)!important;--e-global-color-accent:var(--lime)!important;--e-global-typography-primary-font-family:'Outfit'!important;--e-global-typography-secondary-font-family:'Outfit'!important;--e-global-typography-text-font-family:'Outfit'!important;--e-global-typography-accent-font-family:'Outfit'!important}

/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hh) + 20px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:300 16px/1.65 var(--f);overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 88% -8%,var(--glow2),transparent 62%),radial-gradient(900px 560px at 8% -4%,var(--glow),transparent 62%)}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4{font-family:var(--f);font-weight:400;line-height:1.12;letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}
p{color:var(--mute);margin:0 0 1em;overflow-wrap:anywhere}
.wrap{width:min(1180px,92%);margin-inline:auto}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px 12px;z-index:99}
::selection{background:var(--lime);color:var(--on-lime)}
.grad{background:linear-gradient(95deg,#168bff 0%,#00c8b5 58%,#65e9ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
[data-theme=light] .grad{background-image:linear-gradient(95deg,#0878ed 0%,#008f9c 60%,#00a995 100%)}

/* ============ Header ============ */
.hdr{position:sticky;top:0;z-index:40;height:var(--hh);display:flex;align-items:center;background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid transparent;transition:border-color .25s,background .3s}
.hdr.scrolled{border-color:var(--line)}
.admin-bar .hdr{top:32px}@media(max-width:782px){.admin-bar .hdr{top:46px}}
.hdr .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.logo{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;justify-self:start;min-width:0}
.logo img{max-height:38px;width:auto}
.mark{display:grid;grid-template-columns:repeat(2,12px);gap:3px;flex:none;transition:transform .5s}.logo:hover .mark{transform:rotate(90deg)}
.mark b{width:12px;height:12px;background:var(--ink);border-radius:4px}.mark b:nth-child(2),.mark b:nth-child(3){background:var(--lime);border-radius:50%}
.pill{display:flex;align-items:center;padding:6px;border-radius:999px;background:var(--pill);border:1px solid var(--line)}
.pill ul{display:flex;gap:2px}
.pill a:not(.btn-o){display:block;padding:7px 15px;font-size:.8rem;color:var(--mute);border-radius:999px;white-space:nowrap;transition:color .2s,background .2s}
.pill a:not(.btn-o):hover{color:var(--ink)}
.pill .current-menu-item>a,.pill .current>a{color:var(--on-lime)!important;background:var(--lime)}
.tools{display:flex;gap:10px;align-items:center;justify-self:end}
.btn-o{display:inline-block;padding:10px 22px;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);border-radius:10px;font-size:.82rem;white-space:nowrap;transition:all .2s}.btn-o:hover{border-color:var(--lime);background:var(--lime);color:var(--on-lime)}
.m-only{display:none!important}
.ib{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--pill);color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:1.05rem;flex:none;transition:border-color .2s}
.ib:hover{border-color:var(--acc)}.burger{display:none}
[data-theme=dark] .t-moon,[data-theme=light] .t-sun{display:none}
.toast{position:fixed;top:calc(var(--hh) + 14px);left:50%;transform:translateX(-50%);z-index:60;background:var(--lime);color:var(--on-lime);padding:12px 22px;border-radius:12px;width:max-content;max-width:92vw;text-align:center;box-shadow:0 12px 40px -8px var(--lime)}

/* ============ Elementor: layout system ============ */
.lm-sec{position:relative;padding-block:clamp(48px,7vw,100px)!important;overflow:hidden}
.lm-sec>.e-con-inner{width:min(1180px,92%)!important;max-width:1180px!important;margin-inline:auto;display:flex;flex-direction:column;gap:clamp(26px,4vw,48px);position:relative;z-index:1}
.lm-sec .elementor-widget{margin:0!important}
.lm-grid{display:grid!important;gap:18px!important;width:100%}
.lm-g2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.lm-g3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lm-g4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.lm-svc{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lm-svc>:first-child{grid-column:span 2}
.lm-grid>.e-con,.lm-grid>.elementor-widget{width:100%!important;max-width:none!important;min-width:0}
.lm-stack{display:flex!important;flex-direction:column!important;gap:14px!important}
.lm-btnrow{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:12px!important;justify-content:center;align-items:center}
.lm-deco{position:absolute!important;inset:0;width:100%!important;max-width:none!important;pointer-events:none;overflow:hidden;z-index:0}
.lm-center{text-align:center}

/* headings */
.lm-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:9px;font-size:.72rem!important;font-weight:400!important;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)!important;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--pill);line-height:1.2}
.lm-eyebrow .elementor-heading-title::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 28%,transparent),0 0 14px var(--lime)}
.lm-h1 .elementor-heading-title{font-size:clamp(2.4rem,6.6vw,4.9rem)!important;font-weight:400!important;line-height:1.04!important;letter-spacing:-.035em!important;color:var(--ink)}
.lm-h2 .elementor-heading-title{font-size:clamp(1.8rem,4vw,2.9rem)!important;font-weight:400!important;line-height:1.1!important;letter-spacing:-.03em!important;color:var(--ink);max-width:22ch;margin-inline:auto}
.lm-h2.left .elementor-heading-title{margin-inline:0}
.lm-lead,.lm-lead p{color:var(--soft)!important;font-size:clamp(1rem,1.8vw,1.18rem);max-width:56ch;margin-inline:auto}
.lm-card h3.elementor-heading-title,.lm-h3 .elementor-heading-title{font-size:1.25rem!important;font-weight:400!important;color:var(--ink)!important}
.lm-card .elementor-widget-text-editor,.lm-card .elementor-widget-text-editor p{color:var(--mute);font-size:.95rem}

/* buttons */
.lm-btn .elementor-button,.lm-btn-ghost .elementor-button{border-radius:12px!important;padding:15px 30px!important;font-family:var(--f)!important;font-size:.95rem!important;font-weight:500!important;line-height:1!important;transition:transform .2s,box-shadow .25s,background .2s,border-color .2s!important}
.lm-btn .elementor-button{background:var(--lime)!important;color:var(--on-lime)!important;border:1px solid var(--lime)!important}
.lm-btn .elementor-button:hover{transform:translateY(-3px);box-shadow:0 14px 34px -8px color-mix(in srgb,var(--lime) 70%,transparent)!important}
.lm-btn-ghost .elementor-button{background:var(--pill)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.lm-btn-ghost .elementor-button:hover{border-color:var(--lime)!important;transform:translateY(-3px)}

/* cards (containers and widgets) */
.lm-card{position:relative;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),var(--spot,transparent),transparent 45%),var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:clamp(22px,3vw,32px)!important;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s!important;min-width:0;overflow:hidden}
.lm-card:hover{--spot:color-mix(in srgb,var(--lime) 16%,transparent);transform:translateY(-6px);border-color:color-mix(in srgb,var(--lime) 45%,var(--line))!important}
.lm-card.flat:hover{transform:none}

/* icon boxes */
.lm-card .elementor-icon-box-wrapper{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:18px}
.lm-card .elementor-icon-box-icon{margin:0!important}
.lm-card .elementor-icon-box-icon .elementor-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:22px!important;color:var(--acc)!important;fill:var(--acc)!important;background:color-mix(in srgb,var(--lime) 13%,transparent);border:1px solid color-mix(in srgb,var(--lime) 32%,transparent);transition:transform .4s,background .3s}
.lm-card:hover .elementor-icon-box-icon .elementor-icon{transform:rotate(-8deg) scale(1.08);background:color-mix(in srgb,var(--lime) 24%,transparent)}
.lm-card .elementor-icon-box-title{font-size:1.22rem;font-weight:400;margin:0 0 6px;color:var(--ink)!important}.lm-card .elementor-icon-box-title a{color:inherit}
.lm-card .elementor-icon-box-description{color:var(--mute);font-size:.95rem;margin:0}

/* counters */
.lm-stat{text-align:center}
.lm-stat .elementor-counter{display:flex;flex-direction:column;align-items:center}
.lm-stat .elementor-counter-number-wrapper{font:400 clamp(3rem,7vw,4.6rem)/1 var(--f)!important;letter-spacing:-.04em;background:linear-gradient(180deg,var(--ink),var(--lime));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;justify-content:center}
[data-theme=light] .lm-stat .elementor-counter-number-wrapper{background-image:linear-gradient(180deg,#0878ed,#008f9c)}
.lm-stat .elementor-counter-title{color:var(--mute)!important;font:300 .95rem var(--f)!important;margin-top:10px}

/* testimonials */
.lm-tm.elementor-widget::before{content:"★★★★★";display:block;color:var(--acc);letter-spacing:3px;font-size:1rem;margin-bottom:14px}
.lm-tm .elementor-testimonial-wrapper{display:flex;flex-direction:column;gap:20px;text-align:left}
.lm-tm .elementor-testimonial-content{color:var(--soft)!important;font:300 1rem/1.6 var(--f)!important;margin:0!important}
.lm-tm .elementor-testimonial-meta{margin-top:auto}
.lm-tm .elementor-testimonial-name{color:var(--ink)!important;font:400 1rem var(--f)!important}
.lm-tm .elementor-testimonial-job{color:var(--mute)!important;font:300 .82rem var(--f)!important}

/* accordion (FAQ) */
.lm-faq{max-width:820px;margin-inline:auto;width:100%}
.lm-faq .elementor-accordion .elementor-accordion-item{border:1px solid var(--line)!important;border-radius:18px;margin-bottom:12px;background:var(--card);overflow:hidden;transition:border-color .25s}
.lm-faq .elementor-accordion .elementor-accordion-item:has(.elementor-active){border-color:color-mix(in srgb,var(--lime) 50%,var(--line))!important}
.lm-faq .elementor-tab-title{padding:22px 26px!important;border:0!important;display:flex;align-items:center;gap:14px}
.lm-faq .elementor-tab-title a,.lm-faq .elementor-accordion-title{color:var(--ink)!important;font:400 1.05rem var(--f)!important}
.lm-faq .elementor-tab-title.elementor-active a{color:var(--acc)!important}
.lm-faq .elementor-accordion-icon{color:var(--acc)!important;order:2;margin-left:auto;float:none!important;width:auto!important}
.lm-faq .elementor-tab-content{padding:0 26px 24px!important;border:0!important;color:var(--mute)!important;font:300 .98rem/1.65 var(--f)!important}

/* chips (icon list) */
.lm-tags .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.lm-tags .elementor-icon-list-item{padding:9px 18px;border:1px solid var(--line);border-radius:999px;background:var(--pill);margin:0!important;transition:border-color .2s,transform .2s}
.lm-tags .elementor-icon-list-item:hover{border-color:var(--lime);transform:translateY(-2px)}
.lm-tags .elementor-icon-list-text{color:var(--soft)!important;font:300 .82rem var(--f)!important;padding:0!important}
.lm-tags .elementor-icon-list-icon i{color:var(--acc)!important;font-size:.8rem}.lm-tags .elementor-icon-list-icon svg{fill:var(--acc)!important;width:.85em}

/* ============ Hero ============ */
.lm-hero{padding-top:clamp(56px,8vw,110px)!important;padding-bottom:clamp(30px,5vw,70px)!important;text-align:center}
.lm-hero>.e-con-inner{align-items:center;gap:26px}
.lm-gridbg{position:absolute;inset:0;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/58px 58px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/58px 58px;-webkit-mask-image:radial-gradient(ellipse 65% 55% at 50% 0,#000,transparent 75%);mask-image:radial-gradient(ellipse 65% 55% at 50% 0,#000,transparent 75%);opacity:.55}
.lm-arc{position:absolute;left:50%;top:-6%;width:min(1150px,190vw);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;border:2px solid var(--lime);-webkit-mask-image:linear-gradient(180deg,#000 0,#000 18%,transparent 46%);mask-image:linear-gradient(180deg,#000 0,#000 18%,transparent 46%);box-shadow:0 -10px 80px color-mix(in srgb,var(--lime) 50%,transparent);animation:pulse 6s ease-in-out infinite}
.lm-arc.b{width:min(1500px,240vw);top:-20%;opacity:.35;animation-delay:-3s}
@keyframes pulse{50%{opacity:.55;box-shadow:0 -10px 120px color-mix(in srgb,var(--lime) 60%,transparent)}}
.lm-phero{padding-top:clamp(52px,7vw,92px)!important;padding-bottom:clamp(8px,2vw,24px)!important;text-align:center}
.lm-phero>.e-con-inner{align-items:center;gap:18px}
.lm-phero .lm-arc{width:min(820px,160vw);top:-4%}

/* lead form (shortcode) */
.mail{display:flex;gap:8px;width:min(480px,100%);margin-inline:auto;padding:7px;background:var(--card-solid);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow),0 0 0 6px color-mix(in srgb,var(--lime) 7%,transparent);transition:box-shadow .3s,border-color .3s}
.mail:focus-within{border-color:var(--lime)}
.mail input{flex:1;min-width:0;background:none;border:0;color:var(--ink);font:inherit;font-size:.92rem;padding:0 14px}.mail input::placeholder{color:var(--mute)}.mail input:focus{outline:none}
.btn{background:var(--lime);color:var(--on-lime);border:0;border-radius:11px;padding:14px 22px;font:500 .9rem var(--f);cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px color-mix(in srgb,var(--lime) 45%,transparent)}
.hero-note{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.82rem;color:var(--mute)}
.hero-note .avs{display:flex}.hero-note .avs span{width:30px;height:30px;border-radius:50%;border:2px solid var(--bg);margin-left:-9px;display:grid;place-items:center;font-size:.68rem;color:#071735;font-weight:500}
.hero-note .avs span:first-child{margin:0;background:#f9a8c9}.hero-note .avs span:nth-child(2){background:var(--lime)}.hero-note .avs span:nth-child(3){background:#7fd4ff}.hero-note .avs span:nth-child(4){background:#ffd37a}
.hero-note b{color:var(--ink);font-weight:400}

/* floating dashboard mock-up */
.lm-dash{position:relative;width:min(880px,100%);margin:clamp(24px,4vw,46px) auto 0;padding:14px;border-radius:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--lime) 18%,transparent),transparent 60%),var(--card);border:1px solid var(--line);box-shadow:var(--shadow),0 40px 120px -40px color-mix(in srgb,var(--lime) 45%,transparent);animation:float 7s ease-in-out infinite;text-align:left}
@keyframes float{50%{transform:translateY(-10px)}}
.lm-dash .d-in{border-radius:18px;background:var(--viz);border:1px solid var(--line);padding:18px}
.d-top{display:flex;align-items:center;gap:7px;margin-bottom:16px;font-size:.74rem;color:var(--mute)}
.d-top i{width:10px;height:10px;border-radius:50%;background:var(--line)}.d-top i:first-child{background:#ff6b6b}.d-top i:nth-child(2){background:#ffd166}.d-top i:nth-child(3){background:var(--lime)}.d-top span{margin-left:10px}
.d-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px}
.d-kpi{padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.d-kpi small{display:block;color:var(--mute);font-size:.72rem}.d-kpi b{display:block;font:400 2rem/1.1 var(--f);color:var(--ink);margin:6px 0 4px}.d-kpi em{font-style:normal;color:var(--acc);font-size:.74rem}
.d-chart{padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.d-chart small{color:var(--mute);font-size:.72rem}
.bars{display:flex;align-items:flex-end;gap:5px;height:84px;margin-top:8px}.bars i{flex:1;background:linear-gradient(180deg,var(--lime),color-mix(in srgb,var(--lime) 25%,transparent));border-radius:4px 4px 2px 2px;transform-origin:bottom;animation:grow 1.4s cubic-bezier(.2,.8,.2,1) both}
.bars i:nth-child(odd){animation-delay:.1s}.bars i:nth-child(3n){animation-delay:.25s}
@keyframes grow{from{transform:scaleY(.05)}}
.d-chip{position:absolute;display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:14px;background:var(--card-solid);border:1px solid var(--line);box-shadow:var(--shadow);font-size:.8rem;color:var(--ink);white-space:nowrap}
.d-chip i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--on-lime);font-size:.8rem}
.d-chip.c1{left:-3%;top:22%;animation:float 6s ease-in-out infinite -1s}.d-chip.c2{right:-3%;bottom:16%;animation:float 8s ease-in-out infinite -3s}

/* logo marquee */
.lm-logos{padding-block:clamp(26px,4vw,44px)!important}
.lm-marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.lm-marq p{text-align:center;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.lm-marq .track{display:flex;gap:44px;width:max-content;animation:marq 38s linear infinite}.lm-marq:hover .track{animation-play-state:paused}
.lm-marq .track span{display:flex;align-items:center;gap:10px;font-size:1.15rem;color:var(--mute);white-space:nowrap}
.lm-marq .track em{width:22px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--lime) 55%,transparent);display:inline-block}.lm-marq .track span:nth-child(even) em{border-radius:50%}
@keyframes marq{to{transform:translateX(-50%)}}

/* intro */
.lm-intro p,.lm-intro{font-size:clamp(1.15rem,2.6vw,1.65rem);line-height:1.5;color:var(--soft);text-align:center}
.lm-intro strong{color:var(--ink);font-weight:400}

/* bento visuals */
.viz{height:160px;border-radius:14px;margin-bottom:6px;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--viz);border:1px solid var(--line)}
.viz.chart{display:block;padding:14px 16px}.viz small{color:var(--soft);font-size:.75rem}
.notif{display:flex;align-items:center;gap:12px;background:var(--card-solid);border:1px solid var(--line);border-radius:16px;padding:14px 20px;width:86%;animation:float 6s ease-in-out infinite}
.notif .bolt{width:36px;height:36px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:var(--on-lime);flex:none}
.notif small{display:block;color:var(--mute);font-size:.7rem;line-height:1.2}.notif span{font-size:.95rem;color:var(--ink)}
.viz svg{width:100%;height:100%}.viz .l{stroke:var(--acc);stroke-dasharray:600;animation:draw 3s ease both}.viz .dt{fill:var(--acc)}
@keyframes draw{from{stroke-dashoffset:600}}
.split{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:18px!important}
.apps{display:grid;grid-template-columns:repeat(3,46px);gap:10px}.apps span{width:46px;height:46px;border-radius:13px;background:var(--viz);border:1px solid var(--line);display:grid;place-items:center;font-size:1.15rem;transition:transform .25s}.apps span:hover{transform:translateY(-4px)}
.avs2{display:flex}.avs2 span{width:50px;height:50px;border-radius:50%;border:3px solid var(--card-solid);margin-left:-12px;display:grid;place-items:center;font-size:.85rem;color:#071735;font-weight:500}.avs2 span:nth-child(1){background:#f9a8c9;margin:0}.avs2 span:nth-child(2){background:var(--lime)}.avs2 span:nth-child(3){background:#7fd4ff}

/* how it works */
.lm-step{counter-increment:step}
.step-n{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:400 1.1rem var(--f);color:var(--on-lime);background:var(--lime);box-shadow:0 0 0 6px color-mix(in srgb,var(--lime) 18%,transparent),0 0 30px color-mix(in srgb,var(--lime) 50%,transparent);margin-bottom:6px}

/* story */
.lm-story{display:grid!important;grid-template-columns:1.1fr 1fr;gap:clamp(20px,4vw,48px)!important;align-items:center}
.lm-story blockquote{margin:0 0 18px;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.3;color:var(--ink);letter-spacing:-.02em}
.more{display:inline-flex;gap:8px;align-items:center;color:var(--acc);font-size:.95rem;transition:gap .2s}.more:hover{gap:14px}
.vid{margin:0;aspect-ratio:4/3;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--lime) 35%,var(--viz)),var(--viz)) center/cover;border:1px solid var(--line);position:relative;display:grid;place-items:center;overflow:hidden}
.play{width:78px;height:78px;border-radius:50%;background:var(--lime);color:var(--on-lime);display:grid;place-items:center;font-size:1.3rem;box-shadow:0 0 0 12px color-mix(in srgb,var(--lime) 22%,transparent);transition:transform .25s}.play:hover{transform:scale(1.1)}
.vid figcaption{position:absolute;left:16px;bottom:16px;padding:10px 16px;border-radius:12px;background:color-mix(in srgb,var(--bg) 75%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-size:.9rem}.vid small{display:block;color:var(--mute);font-size:.72rem}

/* CTA */
.lm-cta{text-align:center;background:radial-gradient(600px 260px at 50% 0,color-mix(in srgb,var(--lime) 22%,transparent),transparent 70%),var(--card)!important;display:flex!important;flex-direction:column!important;align-items:center;gap:18px!important;padding:clamp(34px,6vw,70px) clamp(20px,5vw,60px)!important}
.lm-cta:hover{transform:none}

/* contact */
.lm-contact{display:grid!important;grid-template-columns:1.4fr 1fr;gap:18px!important;align-items:start}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fgrid .full{grid-column:1/-1}
.fld label,.wpcf7 label{display:block;font-size:.8rem;color:var(--soft);margin-bottom:7px}
.fld input,.fld select,.fld textarea,.wpcf7 input:not([type=submit]),.wpcf7 select,.wpcf7 textarea{width:100%;background:var(--viz);border:1px solid var(--line);color:var(--ink);font:inherit;font-size:.95rem;padding:14px 16px;border-radius:12px;transition:border-color .2s,box-shadow .2s}
.fld textarea,.wpcf7 textarea{min-height:130px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus,.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 18%,transparent)}
.wpcf7 input[type=submit]{background:var(--lime);color:var(--on-lime);border:0;border-radius:12px;padding:15px 30px;font:500 .95rem var(--f);cursor:pointer;width:auto}
.info{display:flex;flex-direction:column;gap:20px}.info li{display:flex;gap:16px;align-items:center}
.info .ic{width:50px;height:50px;border-radius:15px;background:color-mix(in srgb,var(--lime) 14%,transparent);border:1px solid color-mix(in srgb,var(--lime) 32%,transparent);display:grid;place-items:center;font-size:1.15rem;flex:none}
.info b{display:block;font-weight:400;color:var(--ink)}.info span{color:var(--mute);font-size:.9rem;overflow-wrap:anywhere}

/* floating whatsapp */
.wa{position:fixed;right:20px;bottom:20px;z-index:50;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.5rem;box-shadow:0 10px 30px -6px rgba(37,211,102,.7);animation:float 4s ease-in-out infinite;transition:transform .2s}.wa:hover{transform:scale(1.1)}

/* ============ Footer ============ */
.ft{border-top:1px solid var(--line);padding:clamp(40px,6vw,72px) 0 28px;margin-top:clamp(20px,4vw,40px);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--lime) 4%,transparent))}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px}
.ft h4{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);margin-bottom:16px}
.ft ul li{margin-bottom:10px}.ft a{color:var(--mute);font-size:.92rem;transition:color .2s}.ft a:hover{color:var(--acc)}
.ft .about{color:var(--mute);font-size:.92rem;max-width:34ch;margin-top:16px}
.soc{display:flex;gap:10px;margin-top:18px}.soc a{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--pill);display:grid;place-items:center;font-size:.8rem;color:var(--ink)}.soc a:hover{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}
.ft-bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:.82rem;color:var(--mute)}

/* generic (non-Elementor) pages */
.page-body{padding-block:30px 60px}.page-body>*+*{margin-top:1em}
.page-body .card,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.page-body h2{margin:1.2em 0 .4em}.page-body a{color:var(--acc)}
.nf{text-align:center;padding:clamp(80px,14vw,160px) 0}.nf h1{font-size:clamp(4rem,14vw,9rem)}

/* ============ Responsive ============ */
@media(max-width:1024px){
  .lm-g3,.lm-g4,.lm-svc{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lm-svc>:first-child{grid-column:auto}
  .ft-grid{grid-template-columns:1fr 1fr}
  .d-chip.c1{left:0}.d-chip.c2{right:0}
}
@media(max-width:900px){
  .hdr .wrap{grid-template-columns:1fr auto}
  .burger{display:grid}.d-only{display:none!important}.m-only{display:inline-block!important;text-align:center;margin:8px}
  .pill{position:fixed;left:4%;right:4%;top:calc(var(--hh) + 8px);flex-direction:column;align-items:stretch;border-radius:22px;padding:12px;background:var(--card-solid);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s;z-index:41}
  .admin-bar .pill{top:calc(var(--hh) + 40px)}
  .pill.open{opacity:1;visibility:visible;transform:none}
  .pill ul{flex-direction:column}.pill a:not(.btn-o){padding:13px 16px;font-size:.95rem}
  .lm-story,.lm-contact{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .lm-g2,.lm-g3,.lm-g4,.lm-svc{grid-template-columns:1fr!important}
  .d-grid{grid-template-columns:1fr 1fr}.d-chart{grid-column:1/-1}.d-chip{display:none}
  .fgrid{grid-template-columns:1fr}.split{flex-direction:column!important;align-items:flex-start!important}
  .mail{flex-direction:column}.mail input{padding:12px 14px}.ft-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* widgets fill their column so shortcode forms and centred text keep their width */
.lm-sec>.e-con-inner>.elementor-widget:not(.lm-deco){width:100%}
.lm-hero .lm-card,.lm-cta .elementor-widget{max-width:100%}


/* ============ TechGrowthAI brand polish & responsive safeguards ============ */
.logo img{display:block;width:auto;max-width:min(240px,38vw);max-height:46px;object-fit:contain}
.ft .logo img{max-width:220px;max-height:48px}
.lm-sec .elementor-widget-image img{max-width:100%;height:auto}
.elementor-widget-container,.elementor-widget,.e-con{min-width:0}
.elementor-button,.lm-btn .elementor-button,.lm-btn-ghost .elementor-button{max-width:100%;white-space:normal}
.lm-card,.card,.d-kpi,.d-chart{overflow-wrap:anywhere}
.lm-sec .elementor-heading-title{overflow-wrap:anywhere}
.lm-btn .elementor-button{background:linear-gradient(110deg,#0878ed,#00bfae)!important;color:#041329!important;box-shadow:0 10px 30px rgba(0,145,220,.18)}
.lm-btn .elementor-button:hover{box-shadow:0 14px 34px rgba(0,200,181,.26);transform:translateY(-2px)}
.lm-btn-ghost .elementor-button{border-color:rgba(22,139,255,.45)!important}
.lm-card{border-color:color-mix(in srgb,var(--acc) 18%,var(--line))}
::selection{background:#00c8b5;color:#041329}
@media(max-width:900px){
  .hdr .wrap{gap:10px}
  .logo img{max-width:210px;max-height:40px}
  .lm-sec>.e-con-inner{width:min(1180px,90%)!important}
}
@media(max-width:700px){
  :root{--hh:66px}
  .logo{font-size:1.05rem}
  .logo img{max-width:175px;max-height:34px}
  .lm-h1 .elementor-heading-title{font-size:clamp(2.15rem,10vw,3.4rem)!important}
  .lm-h2 .elementor-heading-title{font-size:clamp(1.65rem,7vw,2.35rem)!important}
  .lm-sec{padding-block:52px!important}
  .lm-sec>.e-con-inner{gap:26px}
  .lm-btnrow{align-items:stretch}
  .lm-btnrow .elementor-widget-button{width:100%}
  .lm-btnrow .elementor-button{width:100%;justify-content:center}
  .mail{max-width:100%}
  .ft-grid{gap:28px}
  .d-grid{gap:8px}
  .d-kpi{padding:12px}
  .d-kpi b{font-size:1.55rem}
}
@media(max-width:380px){
  .logo img{max-width:145px}
  .tools{gap:6px}
  .ib{width:36px;height:36px}
  .lm-h1 .elementor-heading-title{font-size:2.05rem!important}
}
