/* ============================================================
   GENX POWER SOLUTIONS — Elementor child presentational CSS
   Ported from the approved genx design. Global palette + Poppins
   also live in Elementor Site Settings (kit); these tokens mirror
   them with hex fallbacks so the stylesheet stays portable.
   Colours: navy #0B1A2F · navy-2 #14263F · yellow #FFC20E · off-white #F5F6F8
   ============================================================ */
:root{
  --navy:#0B1A2F;
  --navy-2:#14263F;
  --yellow:#FFC20E;
  --offwhite:#F5F6F8;
  --genx-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --line:rgba(11,26,47,.12);
}

/* ---- Base ---- */
body{background:var(--offwhite);color:var(--navy);font-family:var(--genx-font);line-height:1.5}
body a{text-decoration:none}
.genx-canvas{width:100%;background:var(--offwhite);overflow-x:hidden}
#genx-content{display:block}

/* Kill Hello Elementor's default content max-width so bands span full width */
.elementor-template-full-width #genx-content,
.elementor-template-full-width .site-main{max-width:none;margin:0;padding:0}

/* ============================================================
   ELEMENTOR STRUCTURE
   Sections are full-width bands (content_width:full → no .e-con-inner);
   the inner .wrap keeps the 1120px measure. Grids apply directly to
   the container because there is no inner wrapper in full mode.
   ============================================================ */
.e-con.genx-band{width:100%;max-width:none}

/* Inner content measure (centred 1120px) */
.e-con.wrap{width:100%;max-width:1120px;margin-left:auto;margin-right:auto}

/* Generic grid switch — beats Elementor's --display:flex */
.e-con.gx-grid{display:grid!important;width:100%}
.e-con.gx-cell{width:100%!important;height:100%}

/* ---- Colour helpers ---- */
.navy{background:var(--navy)}
.yel,.yel *{color:var(--yellow)}

/* ============================================================
   CARDS / PLACEHOLDERS / PILLS
   ============================================================ */
.e-con.card{background:#fff;border:1px solid var(--line);border-radius:10px}

/* Image placeholder box (navy) — swap for a real Image widget later. */
.e-con.ph{
  background:var(--navy);border-radius:8px;color:rgba(255,255,255,.35);
  font-size:11px;letter-spacing:1px;text-align:center;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.1);
}
.elementor-widget-heading.ph-label .elementor-heading-title{
  color:rgba(255,255,255,.35);font-size:11px;letter-spacing:1px;font-weight:400;text-align:center;
}
.tag,.elementor-widget-heading.tag .elementor-heading-title{
  background:var(--yellow);color:var(--navy);font-size:9px;font-weight:700;
  padding:3px 8px;border-radius:4px;letter-spacing:.5px;display:inline-block;
}

/* ============================================================
   BUTTON WIDGET ADAPTERS (.btn solid yellow · .btno outline)
   ============================================================ */
.elementor-widget-button.btn .elementor-button{
  background:var(--yellow);color:var(--navy);font-size:13px;font-weight:600;
  padding:11px 22px;border-radius:6px;border:none;line-height:1.25;
  display:inline-flex;align-items:center;gap:6px;
  transition:filter .15s ease,transform .15s ease;fill:var(--navy);
}
.elementor-widget-button.btn .elementor-button:hover{filter:brightness(1.06);transform:translateY(-1px);color:var(--navy)}
.elementor-widget-button.btno .elementor-button{
  background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff;
  font-size:13px;font-weight:600;padding:10px 22px;border-radius:6px;line-height:1.25;
  display:inline-flex;align-items:center;gap:6px;
  transition:border-color .15s ease,background .15s ease;
}
.elementor-widget-button.btno .elementor-button:hover{border-color:var(--yellow);background:rgba(255,194,14,.08);color:#fff}
.elementor-widget-button.btn-block .elementor-button{width:100%;justify-content:center}

/* ============================================================
   SECTION HEADINGS (.sh) + subheads (.ss)
   ============================================================ */
.elementor-widget-heading.sh .elementor-heading-title{
  font-size:20px;font-weight:600;color:var(--navy);text-align:center;letter-spacing:.3px;line-height:1.3;
}
.elementor-widget-heading.sh-sm .elementor-heading-title{font-size:15px}
.elementor-widget-heading.sh-18 .elementor-heading-title{font-size:18px}
.elementor-widget-heading.sh-16 .elementor-heading-title{font-size:16px}
.elementor-widget-heading.sh-left .elementor-heading-title{text-align:left}
.elementor-widget-text-editor.ss,.elementor-widget-text-editor.ss p{
  font-size:12px;color:rgba(11,26,47,.6);text-align:center;line-height:1.5;
}

/* ============================================================
   TICK / ICON LISTS  (Icon List widget, yellow check)
   ============================================================ */
.elementor-widget-icon-list.ticks .elementor-icon-list-items{display:flex;flex-direction:column;gap:6px}
.elementor-widget-icon-list.ticks .elementor-icon-list-item{padding:0!important;align-items:flex-start}
.elementor-widget-icon-list.ticks .elementor-icon-list-item::before,
.elementor-widget-icon-list.ticks li::before{content:none!important;display:none!important}
.elementor-widget-icon-list.ticks .elementor-icon-list-item a,
.elementor-widget-icon-list.ticks .elementor-icon-list-item span{display:flex;align-items:flex-start;gap:8px}
.elementor-widget-icon-list.ticks .elementor-icon-list-icon{margin-top:2px}
.elementor-widget-icon-list.ticks .elementor-icon-list-icon i,
.elementor-widget-icon-list.ticks .elementor-icon-list-icon svg{
  color:var(--yellow)!important;fill:var(--yellow)!important;font-size:13px!important;width:13px;height:13px;
}
.elementor-widget-icon-list.ticks .elementor-icon-list-text{font-size:13px;color:var(--navy);line-height:1.5}
.elementor-widget-icon-list.ticks-navy .elementor-icon-list-text{color:rgba(255,255,255,.9)}
.elementor-widget-icon-list.ticks-sm .elementor-icon-list-text{font-size:11.5px}

/* ============================================================
   HEADER (Elementor-built navy bar)
   ============================================================ */
.e-con.genx-header{background:var(--navy);width:100%}
.e-con.genx-header-inner{
  display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;column-gap:24px;
  width:100%;max-width:1120px;margin:0 auto;
}
.elementor-widget-html.genx-logo .genx-logo-mark{
  width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--navy);
  font-size:17px;font-weight:700;text-align:center;line-height:30px;display:inline-block;vertical-align:middle;
}
.elementor-widget-html.genx-logo .genx-logo-word{color:#fff;font-size:19px;font-weight:700;letter-spacing:2px}
.elementor-widget-html.genx-logo .genx-logo-sub{color:rgba(255,255,255,.4);font-size:7px;letter-spacing:3px;margin-left:48px;margin-top:2px}

.e-con.genx-nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px}
.elementor-widget-button.genx-navlink .elementor-button{
  background:transparent;color:rgba(255,255,255,.75);font-size:13px;font-weight:400;padding:2px 0;border:none;transition:color .15s ease;
}
.elementor-widget-button.genx-navlink .elementor-button:hover{color:var(--yellow)}
.elementor-widget-button.genx-navlink.current .elementor-button{color:var(--yellow);font-weight:600}

.e-con.genx-actions{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:14px}
.elementor-widget-html.genx-callnow .genx-callnow-lbl{color:rgba(255,255,255,.55);font-size:10px;line-height:1.3}
.elementor-widget-html.genx-callnow .genx-callnow-num{color:#fff;font-size:13px;font-weight:600}
.elementor-widget-html.genx-callnow .genx-callnow-num a{color:#fff}

.elementor-widget-html.genx-burger{display:none}
.genx-mobile-toggle{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff;border-radius:6px;padding:6px 11px;font-size:16px;line-height:1;cursor:pointer}
.e-con.genx-mobile-menu{display:none!important}
.e-con.genx-mobile-menu.open{display:block!important}

/* ============================================================
   FOOTER (Elementor-built): CTA strip + columns + copyright
   ============================================================ */
.e-con.genx-cta{background:var(--navy);border-top:2px solid var(--yellow);width:100%}
.e-con.genx-cta-inner{
  display:grid!important;grid-template-columns:44fr 56fr;align-items:center;column-gap:20px;
  width:100%;max-width:1120px;margin:0 auto;
}
.elementor-widget-heading.cta-title .elementor-heading-title{color:#fff;font-size:16px;font-weight:700}
.elementor-widget-text-editor.cta-sub,.elementor-widget-text-editor.cta-sub p{color:rgba(255,255,255,.62);font-size:11.5px;margin-top:5px}
.e-con.genx-cta-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}

.e-con.genx-footer{background:var(--navy);width:100%}
.e-con.genx-footer-cols{
  display:grid!important;grid-template-columns:30fr 22fr 24fr 24fr;column-gap:24px;
  width:100%;max-width:1120px;margin:0 auto;
}
.elementor-widget-heading.foot-h .elementor-heading-title{color:var(--yellow);font-size:11.5px;font-weight:700;letter-spacing:.5px}
.elementor-widget-text-editor.foot-links,.elementor-widget-text-editor.foot-links p{color:rgba(255,255,255,.6);font-size:11.5px;line-height:2;margin-top:9px}
.elementor-widget-text-editor.foot-links a{color:rgba(255,255,255,.6);display:block}
.elementor-widget-text-editor.foot-links a:hover{color:var(--yellow)}
.elementor-widget-html.foot-brand .genx-logo-mark{width:26px;height:26px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:14px;line-height:26px;text-align:center;display:inline-block;vertical-align:middle}
.elementor-widget-html.foot-brand .genx-logo-word{color:#fff;font-size:17px;font-weight:700;letter-spacing:2px;margin-left:8px;vertical-align:middle}
.elementor-widget-html.foot-brand .genx-foot-bio{color:rgba(255,255,255,.55);font-size:11px;line-height:1.75;margin-top:12px;max-width:80%}
.elementor-widget-text-editor.genx-copy,.elementor-widget-text-editor.genx-copy p{
  color:rgba(255,255,255,.4);font-size:10.5px;text-align:center;
  border-top:1px solid rgba(255,255,255,.1);margin-top:22px;padding-top:16px;
}

/* ============================================================
   SHARED HOME BUILDING BLOCKS
   ============================================================ */
.elementor-widget-heading.glyph .elementor-heading-title{color:var(--yellow);font-size:24px;line-height:1}
.e-con.navy-card{background:var(--navy);border-radius:10px;padding:22px}
.elementor-widget-heading.navy-card-h .elementor-heading-title{color:#fff;font-size:15px;font-weight:700;line-height:1.4;margin-top:8px}
.elementor-widget-text-editor.navy-card-t,.elementor-widget-text-editor.navy-card-t p{color:rgba(255,255,255,.65);font-size:11.5px;line-height:1.7;margin-top:9px}

/* HERO */
.e-con.gx-hero{grid-template-columns:56fr 44fr;column-gap:34px;align-items:start}
.elementor-widget-heading.hero-title .elementor-heading-title{color:#fff;font-size:48px;font-weight:700;line-height:1.12}
.elementor-widget-heading.hero-title-yel .elementor-heading-title{color:var(--yellow);font-size:48px;font-weight:700;line-height:1.12}
.elementor-widget-text-editor.hero-tagline,.elementor-widget-text-editor.hero-tagline p{color:#fff;font-size:19px;font-weight:500;margin-top:12px}
.elementor-widget-text-editor.hero-lead,.elementor-widget-text-editor.hero-lead p{color:rgba(255,255,255,.72);font-size:13px;line-height:1.75;margin-top:14px}
.e-con.gx-hero-btns{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:12px;align-items:center}
.elementor-widget-html.hero-rating .genx-hero-rating{color:rgba(255,255,255,.75);font-size:12px}
.elementor-widget-html.hero-rating .genx-stars{color:var(--yellow);font-size:15px;letter-spacing:2px}
.e-con.hero-spec{background:var(--navy-2);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:16px 18px}
.elementor-widget-html.hero-spec-row .genx-spec-line{color:#fff;font-size:13px;font-weight:600;margin-top:10px}
.elementor-widget-html.hero-spec-row .genx-spec-line small{color:rgba(255,255,255,.55);font-weight:400;font-size:11px}

/* TRUSTED BY */
.elementor-widget-heading.trusted-h .elementor-heading-title{font-size:13px;letter-spacing:1px;font-weight:600;color:var(--navy);text-align:center}
.e-con.gx-brands{grid-template-columns:repeat(6,1fr);column-gap:14px}
.e-con.brand-card{background:#fff;border:1px solid var(--line);border-radius:10px;height:52px;display:flex;align-items:center;justify-content:center}
.elementor-widget-heading.brand .elementor-heading-title{color:rgba(11,26,47,.55);font-size:14px;font-weight:600;text-align:center}

/* QUOTE BAR */
.e-con.gx-quote{background:var(--navy);border-radius:10px;padding:20px 24px}
.e-con.gx-quote-grid{grid-template-columns:1.6fr 1fr 1fr 1fr .8fr;column-gap:14px;align-items:end}
.elementor-widget-html.quote-lbl .genx-q-title{color:#fff;font-size:16px;font-weight:600}
.elementor-widget-html.quote-lbl .genx-q-sub{color:rgba(255,255,255,.6);font-size:11px;margin-top:5px}
.elementor-widget-html.quote-field .genx-q-cap{color:rgba(255,255,255,.55);font-size:10px;margin-bottom:5px}
.elementor-widget-html.quote-field .genx-q-box{background:#fff;border-radius:5px;padding:9px 11px;font-size:12px;color:rgba(11,26,47,.5)}

/* STATS */
.e-con.gx-stats{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 0;grid-template-columns:repeat(6,1fr)}
.e-con.stat-cell{border-right:1px solid rgba(11,26,47,.08);text-align:center;align-items:center;justify-content:center}
.e-con.stat-cell.last{border-right:none}
.elementor-widget-heading.stat-num .elementor-heading-title{color:var(--navy);font-size:22px;font-weight:700;text-align:center}
.elementor-widget-text-editor.stat-lbl,.elementor-widget-text-editor.stat-lbl p{color:rgba(11,26,47,.6);font-size:11px;text-align:center}

/* GENERATOR SIZES */
.e-con.gx-sizes{grid-template-columns:repeat(6,1fr);column-gap:14px;align-items:stretch}
.e-con.size-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 12px;text-align:center;align-items:center}
.elementor-widget-heading.size-title .elementor-heading-title{color:var(--navy);font-size:14px;font-weight:700;text-align:center;margin-top:10px}
.elementor-widget-text-editor.size-desc,.elementor-widget-text-editor.size-desc p{color:rgba(11,26,47,.58);font-size:10.5px;text-align:center;margin-top:5px}
.elementor-widget-button.size-link .elementor-button{background:transparent;color:var(--navy);font-size:11.5px;font-weight:600;padding:4px 0;border:none}

/* SIZE HELP + INDUSTRIES */
.e-con.gx-help{grid-template-columns:26fr 72fr;column-gap:2%;align-items:start}
.e-con.help-card{background:var(--navy);border-radius:10px;padding:22px 20px}
.elementor-widget-heading.help-title .elementor-heading-title{color:#fff;font-size:15px;font-weight:700;line-height:1.4;margin-top:10px}
.elementor-widget-text-editor.help-desc,.elementor-widget-text-editor.help-desc p{color:rgba(255,255,255,.65);font-size:11.5px;line-height:1.7;margin-top:10px}
.e-con.gx-industries{grid-template-columns:repeat(6,1fr);column-gap:1.2%}
.e-con.ind-item{align-items:center}
.elementor-widget-text-editor.ind-name,.elementor-widget-text-editor.ind-name p{color:var(--navy);font-size:10.5px;font-weight:600;text-align:center;margin-top:7px;line-height:1.4}

/* RENT VS BUY */
.e-con.gx-rvb{grid-template-columns:63fr 35fr;column-gap:2%;align-items:start}
.e-con.rvb-table{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.e-con.rvb-head{background:var(--navy);padding:11px 16px;grid-template-columns:34fr 33fr 33fr}
.e-con.rvb-row{padding:9px 16px;border-bottom:1px solid rgba(11,26,47,.07);grid-template-columns:34fr 33fr 33fr}
.e-con.rvb-row.last{border-bottom:none}
.elementor-widget-heading.rvb-h1 .elementor-heading-title{color:#fff;font-size:11.5px;font-weight:700}
.elementor-widget-heading.rvb-h2 .elementor-heading-title{color:var(--yellow);font-size:11.5px;font-weight:700}
.elementor-widget-heading.rvb-h3 .elementor-heading-title{color:rgba(255,255,255,.45);font-size:11.5px;font-weight:700}
.elementor-widget-text-editor.rvb-feat,.elementor-widget-text-editor.rvb-feat p{color:rgba(11,26,47,.75);font-size:11.5px}
.elementor-widget-text-editor.rvb-yes,.elementor-widget-text-editor.rvb-yes p{color:var(--navy);font-size:11.5px}
.elementor-widget-text-editor.rvb-yes p::before{content:"\2713";color:var(--yellow);font-weight:700;margin-right:8px}
.elementor-widget-text-editor.rvb-no,.elementor-widget-text-editor.rvb-no p{color:rgba(11,26,47,.45);font-size:11.5px}
.elementor-widget-text-editor.rvb-no p::before{content:"\2715";color:rgba(11,26,47,.35);margin-right:8px}
.e-con.rvb-reco{background:var(--navy);border-radius:10px;padding:22px}
.elementor-widget-heading.reco-title .elementor-heading-title{color:#fff;font-size:15px;font-weight:700;margin-top:8px}
.elementor-widget-text-editor.reco-desc,.elementor-widget-text-editor.reco-desc p{color:rgba(255,255,255,.65);font-size:11.5px;line-height:1.7;margin-top:9px}

/* TECH SPECS */
.e-con.gx-specs{grid-template-columns:58fr 40fr;column-gap:2%;align-items:start}
.e-con.spec-row{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-top:9px}
.elementor-widget-html.spec-row-inner .genx-spec-name{color:var(--navy);font-size:12.5px;font-weight:600}
.elementor-widget-html.spec-row-inner .genx-spec-caret{float:right;color:rgba(11,26,47,.4)}

/* PROJECTS + INCLUDED */
.e-con.gx-projects{grid-template-columns:58fr 40fr;column-gap:2%;align-items:start}
.e-con.gx-proj-cards{grid-template-columns:repeat(4,1fr);column-gap:2%}
.elementor-widget-text-editor.proj-title,.elementor-widget-text-editor.proj-title p{color:var(--navy);font-size:10.5px;font-weight:600;margin-top:7px}
.elementor-widget-text-editor.proj-meta,.elementor-widget-text-editor.proj-meta p{color:rgba(11,26,47,.55);font-size:10px}
.e-con.included-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px}
.elementor-widget-heading.included-h .elementor-heading-title{color:var(--navy);font-size:14px;font-weight:700;text-align:center}

/* RENTAL PLANS */
.e-con.gx-plans{grid-template-columns:repeat(5,1fr);column-gap:1.5%;align-items:stretch}
.e-con.plan-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 16px;text-align:center;align-items:center}
.e-con.plan-card.featured{border:2px solid var(--yellow)}
.e-con.plan-card.plan-navy{background:var(--navy);border:none}
.elementor-widget-heading.plan-name .elementor-heading-title{color:var(--navy);font-size:15px;font-weight:700;text-align:center}
.elementor-widget-text-editor.plan-from,.elementor-widget-text-editor.plan-from p{color:rgba(11,26,47,.55);font-size:10px;text-align:center;margin-top:8px}
.elementor-widget-heading.plan-price .elementor-heading-title{color:var(--navy);font-size:17px;font-weight:700;text-align:center}
.elementor-widget-heading.plan-name-navy .elementor-heading-title{color:#fff;font-size:14px;font-weight:700;text-align:center}
.elementor-widget-text-editor.plan-desc-navy,.elementor-widget-text-editor.plan-desc-navy p{color:rgba(255,255,255,.65);font-size:11px;line-height:1.7;text-align:center;margin-top:8px}

/* COVERAGE + WHY */
.e-con.gx-coverage{grid-template-columns:31fr 29fr 36fr;column-gap:2%;align-items:stretch}
.e-con.cov-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.elementor-widget-heading.cov-h .elementor-heading-title{color:var(--navy);font-size:14px;font-weight:700;text-align:center}
.e-con.cov-lists{grid-template-columns:1fr 1fr;column-gap:8px}
.e-con.gx-why{grid-template-columns:repeat(3,1fr);gap:14px}
.elementor-widget-html.why-item{text-align:center}
.elementor-widget-html.why-item .genx-why-glyph{color:var(--yellow);font-size:19px}
.elementor-widget-html.why-item .genx-why-lbl{color:var(--navy);font-size:10.5px;font-weight:600;margin-top:5px}

/* REVIEWS + FAQ */
.e-con.gx-reviews{grid-template-columns:20fr 38fr 38fr;column-gap:2%;align-items:start}
.e-con.rating-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:center;align-items:center}
.elementor-widget-heading.rating-num .elementor-heading-title{color:var(--navy);font-size:30px;font-weight:700;text-align:center}
.e-con.review-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;margin-bottom:9px}
.elementor-widget-html.review .genx-rev-stars{color:var(--yellow);font-size:12px;letter-spacing:1px}
.elementor-widget-html.review .genx-rev-body{color:rgba(11,26,47,.75);font-size:11px;line-height:1.65;margin-top:5px}
.elementor-widget-html.review .genx-rev-by{color:var(--navy);font-size:10px;font-weight:600;margin-top:7px}
.e-con.faq-card{background:var(--navy);border-radius:10px;padding:16px 18px}
.genx-acc{color:rgba(255,255,255,.88);font-size:11.5px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);cursor:pointer}
.genx-acc:last-child{border-bottom:none}
.genx-acc .genx-acc-caret{float:right;color:var(--yellow);transition:transform .2s ease}
.genx-acc.open .genx-acc-caret{transform:rotate(180deg)}

/* ============================================================
   INTERIOR PAGES (About / Services / Projects / Rental / Contact / 100 kVA)
   ============================================================ */
/* Breadcrumb + interior hero */
.e-con.gx-crumb{background:var(--navy-2)}
.elementor-widget-html.gx-crumb-inner .genx-crumb{color:rgba(255,255,255,.5);font-size:11px}
.elementor-widget-html.gx-crumb-inner .genx-crumb a{color:rgba(255,255,255,.5)}
.elementor-widget-html.gx-crumb-inner .genx-crumb a:hover{color:var(--yellow)}
.elementor-widget-html.gx-crumb-inner .genx-crumb .cur{color:var(--yellow)}
.e-con.int-hero{background:var(--navy)}
.elementor-widget-heading.int-hero-title .elementor-heading-title{color:#fff;font-size:38px;font-weight:700;line-height:1.15}
.elementor-widget-text-editor.int-hero-sub,.elementor-widget-text-editor.int-hero-sub p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.7;margin-top:12px;max-width:680px}

/* CTA band (interior) */
.e-con.gx-cta2{background:var(--navy);border-radius:10px;padding:26px 30px}
.e-con.gx-cta2-grid{grid-template-columns:64fr 36fr;align-items:center}
.elementor-widget-heading.cta2-title .elementor-heading-title{color:#fff;font-size:18px;font-weight:700}
.elementor-widget-text-editor.cta2-sub,.elementor-widget-text-editor.cta2-sub p{color:rgba(255,255,255,.65);font-size:12px;margin-top:6px}
.e-con.gx-cta2-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}

/* Generic icon cards */
.elementor-widget-heading.icard-t .elementor-heading-title{color:var(--navy);font-size:15px;font-weight:700;margin-top:10px}
.elementor-widget-heading.icard-t-sm .elementor-heading-title{color:var(--navy);font-size:13px;font-weight:700;margin-top:9px}
.elementor-widget-text-editor.icard-x,.elementor-widget-text-editor.icard-x p{color:rgba(11,26,47,.68);font-size:11.5px;line-height:1.75;margin-top:8px}
.elementor-widget-button.card-link .elementor-button{background:transparent;color:var(--navy);font-size:11.5px;font-weight:600;padding:6px 0 0;border:none}

/* Prose */
.elementor-widget-text-editor.genx-prose p{color:rgba(11,26,47,.8);font-size:13px;line-height:1.9;margin-bottom:12px}
.elementor-widget-text-editor.genx-prose p:last-child{margin-bottom:0}

/* Reusable grids */
.e-con.gx-2col{grid-template-columns:1fr 1fr;column-gap:24px}
.e-con.gx-3col{grid-template-columns:repeat(3,1fr);column-gap:24px}
.e-con.gx-4col{grid-template-columns:repeat(4,1fr);column-gap:22px}

/* About: WHO WE ARE + at-a-glance */
.e-con.gx-who{grid-template-columns:56fr 40fr;column-gap:4%;align-items:start}
.e-con.glance-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}
.elementor-widget-heading.glance-h .elementor-heading-title{color:var(--navy);font-size:14px;font-weight:700;text-align:center}
.e-con.glance-grid{grid-template-columns:1fr 1fr;gap:16px}
.e-con.glance-cell{align-items:center}
.elementor-widget-heading.glance-num .elementor-heading-title{color:var(--navy);font-size:24px;font-weight:700;text-align:center}
.elementor-widget-text-editor.glance-lbl,.elementor-widget-text-editor.glance-lbl p{color:rgba(11,26,47,.6);font-size:10.5px;text-align:center}

/* Services: steps */
.e-con.gx-steps{grid-template-columns:repeat(4,1fr);column-gap:24px}
.e-con.step-cell{align-items:center;text-align:center}
.elementor-widget-html.step-num .genx-step-num{width:44px;height:44px;line-height:44px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:18px;font-weight:700;margin:0 auto;text-align:center}
.elementor-widget-heading.step-t .elementor-heading-title{color:var(--navy);font-size:13px;font-weight:700;text-align:center;margin-top:10px}
.elementor-widget-text-editor.step-x,.elementor-widget-text-editor.step-x p{color:rgba(11,26,47,.65);font-size:11px;line-height:1.7;text-align:center;margin-top:6px}

/* Projects: cards with image top */
.e-con.proj-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.e-con.proj-card .e-con.ph{border-radius:0}
.e-con.proj-body{padding:16px 18px}
.elementor-widget-heading.proj-name .elementor-heading-title{color:var(--navy);font-size:15px;font-weight:700;margin-top:9px}
.elementor-widget-text-editor.proj-loc,.elementor-widget-text-editor.proj-loc p{color:rgba(11,26,47,.55);font-size:11px;margin-top:2px}
.elementor-widget-text-editor.proj-desc,.elementor-widget-text-editor.proj-desc p{color:rgba(11,26,47,.68);font-size:11.5px;line-height:1.7;margin-top:8px}
/* Projects stats band (4) */
.e-con.gx-stats4{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 0;grid-template-columns:repeat(4,1fr)}

/* Generator Rental: size cards */
.e-con.size2-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;text-align:center;align-items:center}
.e-con.size2-card.featured{border:2px solid var(--yellow)}
.elementor-widget-heading.size2-title .elementor-heading-title{color:var(--navy);font-size:16px;font-weight:700;text-align:center;margin-top:10px}
.elementor-widget-text-editor.size2-desc,.elementor-widget-text-editor.size2-desc p{color:rgba(11,26,47,.58);font-size:10.5px;text-align:center;margin-top:5px;line-height:1.6;min-height:34px}
.elementor-widget-heading.size2-price .elementor-heading-title{color:var(--navy);font-size:12px;font-weight:700;text-align:center;margin-top:6px}
.elementor-widget-button.size2-link .elementor-button{background:transparent;color:var(--navy);font-size:11.5px;font-weight:600;padding:6px 0 0;border:none;margin:0 auto}
/* Included row */
.e-con.gx-incl{grid-template-columns:48fr 50fr;column-gap:2%;align-items:stretch}
.e-con.incl-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px}
.elementor-widget-heading.incl-h .elementor-heading-title{color:var(--navy);font-size:15px;font-weight:700}
.e-con.incl-lists{grid-template-columns:1fr 1fr;column-gap:8px;margin-top:10px}

/* Contact */
.e-con.gx-contact{grid-template-columns:38fr 59fr;column-gap:3%;align-items:start}
.e-con.cinfo-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:10px}
.elementor-widget-html.cinfo .genx-ci-lbl{color:rgba(11,26,47,.55);font-size:10px;font-weight:600;letter-spacing:.5px}
.elementor-widget-html.cinfo .genx-ci-val{color:var(--navy);font-size:17px;font-weight:700;margin-top:3px;display:block}
.elementor-widget-html.cinfo .genx-ci-val.sm{font-size:14px;font-weight:600}
.elementor-widget-html.cinfo .genx-ci-val a{color:var(--navy)}
.e-con.hours-card{background:var(--navy);border-radius:10px;padding:18px;margin-top:10px}
.elementor-widget-html.hours .genx-hours-t{color:#fff;font-size:13px;font-weight:700}
.elementor-widget-html.hours .genx-hours-x{color:rgba(255,255,255,.7);font-size:11.5px;line-height:1.9;margin-top:6px}
.elementor-widget-html.hours .genx-hours-x .yel{color:var(--yellow)}
/* Form */
.genx-form-wrap{width:100%}
.genx-alert{border-radius:8px;padding:14px 16px;margin-bottom:14px;font-size:13px}
.genx-alert-ok{background:#eafbe7;border:1px solid #7bc47f;color:#1e6b2a}
.genx-alert-err{background:#fdecec;border:1px solid #e59a9a;color:#a12525}
.genx-form.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}
.genx-hp{position:absolute;left:-9999px}
.genx-form-row{display:grid;grid-template-columns:1fr 1fr;gap:2%;margin-bottom:12px}
.genx-field{width:100%;background:#fff;border:1px solid rgba(11,26,47,.18);border-radius:6px;padding:11px 13px;font-size:13px;color:var(--navy);margin-top:6px;font-family:var(--genx-font)}
.genx-field:focus{outline:none;border-color:var(--yellow)}
.genx-label{font-size:11px;font-weight:600;color:rgba(11,26,47,.7);letter-spacing:.3px}
.genx-form-actions{margin-top:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.genx-submit{background:var(--yellow);color:var(--navy);font-weight:600;font-size:13px;border:none;border-radius:6px;padding:12px 30px;cursor:pointer;font-family:var(--genx-font)}
.genx-wa{border:1.5px solid rgba(11,26,47,.3);color:var(--navy);font-size:13px;font-weight:600;border-radius:6px;padding:11px 22px}

/* 100 kVA specifics */
.e-con.kva-hero{grid-template-columns:56fr 44fr;column-gap:34px;align-items:start}
.elementor-widget-heading.kva-title .elementor-heading-title{color:#fff;font-size:42px;font-weight:700;line-height:1.15}
.elementor-widget-heading.kva-title-yel .elementor-heading-title{color:var(--yellow);font-size:42px;font-weight:700;line-height:1.15}
.elementor-widget-text-editor.kva-lead,.elementor-widget-text-editor.kva-lead p{color:rgba(255,255,255,.72);font-size:13px;line-height:1.75;margin-top:14px}
.elementor-widget-html.kva-delivery .genx-kva-del{color:rgba(255,255,255,.6);font-size:11.5px;margin-top:18px}
.elementor-widget-html.kva-delivery .genx-kva-del .yel{color:var(--yellow);font-weight:600}
.e-con.kva-highlights{grid-template-columns:repeat(3,1fr);column-gap:2%;margin-top:12px}
.e-con.kva-hl{background:var(--navy-2);border-radius:8px;padding:12px;align-items:center}
.elementor-widget-heading.kva-hl-num .elementor-heading-title{color:var(--yellow);font-size:17px;font-weight:700;text-align:center}
.elementor-widget-text-editor.kva-hl-lbl,.elementor-widget-text-editor.kva-hl-lbl p{color:rgba(255,255,255,.55);font-size:9.5px;text-align:center;margin-top:3px}
/* KVA quote bar */
.e-con.kva-quote-grid{grid-template-columns:38fr 22fr 22fr 18fr;column-gap:12px;align-items:end}
/* Load table */
.e-con.gx-load{grid-template-columns:66fr 32fr;column-gap:2%;align-items:start}
.e-con.load-table{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.e-con.load-head{background:var(--navy);padding:11px 16px;grid-template-columns:40fr 22fr 20fr 18fr}
.e-con.load-row{padding:9px 16px;border-bottom:1px solid rgba(11,26,47,.07);grid-template-columns:40fr 22fr 20fr 18fr}
.e-con.load-row.last{border-bottom:none}
.elementor-widget-heading.load-h .elementor-heading-title{color:#fff;font-size:11.5px;font-weight:700}
.elementor-widget-heading.load-h.yel-h .elementor-heading-title{color:var(--yellow)}
.elementor-widget-text-editor.load-c,.elementor-widget-text-editor.load-c p{font-size:11.5px;color:rgba(11,26,47,.65)}
.elementor-widget-text-editor.load-c.load-eq p{color:rgba(11,26,47,.8)}
.elementor-widget-text-editor.load-c.load-yes p{color:var(--navy)}
.elementor-widget-text-editor.load-c.load-yes p::before{content:"\2713";color:var(--yellow);font-weight:700;margin-right:6px}
.elementor-widget-text-editor.load-c.load-no p{color:rgba(11,26,47,.45)}
/* KVA cost strip */
.e-con.kva-cost{background:var(--navy);border-radius:10px;padding:16px 22px;grid-template-columns:24fr 24fr 24fr 28fr;align-items:center}
.elementor-widget-html.cost-item .genx-cost-lbl{color:rgba(255,255,255,.55);font-size:10px}
.elementor-widget-html.cost-item .genx-cost-num{color:#fff;font-size:16px;font-weight:700;margin-top:3px}
.elementor-widget-html.cost-item .genx-cost-sub{color:rgba(255,255,255,.45);font-size:10px}
.elementor-widget-html.cost-cta{text-align:right}
.elementor-widget-html.cost-cta .genx-cost-note{color:var(--yellow);font-size:11px;font-weight:600}
/* Spec table */
.e-con.gx-specs2{grid-template-columns:49fr 49fr;column-gap:2%;align-items:start}
.e-con.spec-table{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:12px}
.e-con.spec-tr{padding:9px 16px;border-bottom:1px solid rgba(11,26,47,.07);grid-template-columns:50fr 50fr}
.e-con.spec-tr.last{border-bottom:none}
.elementor-widget-text-editor.spec-k,.elementor-widget-text-editor.spec-k p{color:rgba(11,26,47,.6);font-size:11.5px}
.elementor-widget-text-editor.spec-v,.elementor-widget-text-editor.spec-v p{color:var(--navy);font-size:11.5px;font-weight:600}
/* Pricing 3 */
.e-con.gx-price3{grid-template-columns:repeat(3,1fr);column-gap:2%;margin-top:12px}
.e-con.price-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;text-align:center;align-items:center}
.e-con.price-card.featured{border:2px solid var(--yellow)}
.elementor-widget-text-editor.price-per,.elementor-widget-text-editor.price-per p{color:rgba(11,26,47,.55);font-size:10px;text-align:center}
.elementor-widget-heading.price-amt .elementor-heading-title{color:var(--navy);font-size:17px;font-weight:700;text-align:center;margin-top:4px}
.elementor-widget-text-editor.price-note,.elementor-widget-text-editor.price-note p{color:rgba(11,26,47,.5);font-size:10px;text-align:center;margin-top:3px}
/* KVA why-choose */
.e-con.gx-kva-why{grid-template-columns:57fr 41fr;column-gap:2%;align-items:start}
.e-con.kva-why-grid{grid-template-columns:1fr 1fr;gap:14px}
.elementor-widget-heading.kwh-t .elementor-heading-title{color:var(--navy);font-size:12.5px;font-weight:700}
.elementor-widget-text-editor.kwh-x,.elementor-widget-text-editor.kwh-x p{color:rgba(11,26,47,.65);font-size:11px;line-height:1.7;margin-top:5px}
.e-con.kva-track{background:var(--navy);border-radius:10px;padding:20px}
.e-con.track-grid{grid-template-columns:1fr 1fr;gap:14px}
.elementor-widget-heading.track-num .elementor-heading-title{color:var(--yellow);font-size:21px;font-weight:700}
.elementor-widget-text-editor.track-lbl,.elementor-widget-text-editor.track-lbl p{color:rgba(255,255,255,.6);font-size:10.5px}
/* KVA delivery areas */
.e-con.gx-delivery{grid-template-columns:40fr 33fr 23fr;column-gap:2%;align-items:start}
/* KVA compare + projects/faq */
.e-con.gx-compare{grid-template-columns:repeat(4,1fr);column-gap:2%}
.e-con.gx-kva-pf{grid-template-columns:58fr 40fr;column-gap:2%;align-items:start}
.e-con.gx-kva-proj{grid-template-columns:repeat(3,1fr);column-gap:2.5%}
.e-con.cost-cta-cell{align-items:flex-end;justify-content:center}
.e-con.gx-also{grid-template-columns:22fr 78fr;align-items:center;column-gap:2%}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .e-con.genx-band{padding-left:28px!important;padding-right:28px!important}
}
@media (max-width:820px){
  .e-con.gx-hero,.e-con.gx-brands,.e-con.gx-quote-grid,.e-con.gx-stats,
  .e-con.gx-sizes,.e-con.gx-help,.e-con.gx-industries,.e-con.gx-rvb,
  .e-con.gx-specs,.e-con.gx-projects,.e-con.gx-proj-cards,.e-con.gx-plans,
  .e-con.gx-coverage,.e-con.gx-why,.e-con.cov-lists,.e-con.gx-reviews,
  .e-con.genx-cta-inner,.e-con.genx-footer-cols,
  .e-con.rvb-head,.e-con.rvb-row,
  .e-con.gx-cta2-grid,.e-con.gx-2col,.e-con.gx-3col,.e-con.gx-4col,
  .e-con.gx-who,.e-con.glance-grid,.e-con.gx-steps,.e-con.gx-stats4,
  .e-con.gx-incl,.e-con.incl-lists,.e-con.gx-contact,
  .e-con.kva-hero,.e-con.kva-highlights,.e-con.kva-quote-grid,
  .e-con.gx-load,.e-con.load-head,.e-con.load-row,.e-con.kva-cost,
  .e-con.gx-specs2,.e-con.spec-tr,.e-con.gx-price3,.e-con.gx-kva-why,
  .e-con.kva-why-grid,.e-con.track-grid,.e-con.gx-delivery,
  .e-con.gx-compare,.e-con.gx-kva-pf,.e-con.gx-kva-proj,.e-con.gx-also{grid-template-columns:1fr!important}
  .e-con.genx-band{padding-left:20px!important;padding-right:20px!important}
  .e-con.rvb-head,.e-con.load-head{display:none!important}

  .e-con.genx-header-inner{grid-template-columns:1fr auto}
  .e-con.genx-nav{display:none!important}
  .elementor-widget-html.genx-burger{display:block}
  .elementor-widget-html.genx-callnow{display:none}

  .e-con.stat-cell{border-right:none;border-bottom:1px solid rgba(11,26,47,.08);padding-bottom:12px;padding-top:12px}
  .elementor-widget-heading.hero-title .elementor-heading-title,
  .elementor-widget-heading.hero-title-yel .elementor-heading-title{font-size:clamp(28px,7.4vw,40px)!important;line-height:1.14!important}
  .e-con.genx-cta-actions{justify-content:flex-start}
}
@media (max-width:480px){
  .e-con.genx-band{padding-left:16px!important;padding-right:16px!important}
  .elementor-widget-heading.sh .elementor-heading-title{font-size:18px}
  .elementor-widget-button.btn .elementor-button,
  .elementor-widget-button.btno .elementor-button{width:100%;justify-content:center}
}
