/* ============================================================
   EDGE ESTIMATES — Subcontractors Page
   Companion stylesheet for the Elementor template
   All classes prefixed "ee-" so nothing collides with your theme
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --ee-gold:#FBB923;
  --ee-black:#000000;
  --ee-navy:#002240;
  --ee-blue:#2C3F65;
  --ee-gray:#f3f3f3;
  --ee-body:#494C4F;
  --ee-white:#ffffff;
  --ee-line:#e3e6ea;
  --ee-gold-soft:#fff8e8;
}

/* ---------- 1. Neutralise Elementor container defaults ---------- */
.elementor .e-con[class*="ee-"]{
  --padding-block-start:0px; --padding-block-end:0px;
  --padding-inline-start:0px; --padding-inline-end:0px;
  --widgets-spacing:0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px;
}
.elementor .e-con[class*="ee-"] > .elementor-widget{ margin-block-end:0; width:100%; }
.elementor [class*="ee-"] .elementor-widget-container{ margin:0; }
.elementor [class*="ee-"] p:last-child{ margin-bottom:0; }

/* ---------- 2. Base typography ---------- */
.elementor .ee-sec,
.elementor .ee-sec p,
.elementor .ee-sec li,
.elementor .ee-sec span,
.elementor .ee-sec a{
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.elementor .ee-sec{ color:var(--ee-body); line-height:1.75; font-size:16px; }
.elementor .ee-sec p{ margin:0 0 16px; }
.elementor .ee-sec a{ color:var(--ee-blue); text-decoration:none; transition:color .2s ease; }
.elementor .ee-sec a:hover{ color:var(--ee-gold); }
.elementor .ee-sec strong{ font-weight:600; color:var(--ee-navy); }

.elementor .ee-h1 .elementor-heading-title{
  font-size:3.2rem; font-weight:800; line-height:1.1; letter-spacing:-1.2px;
  color:var(--ee-gold); margin:0 0 24px;
}
.elementor .ee-h2 .elementor-heading-title{
  font-size:2.15rem; font-weight:700; color:var(--ee-navy);
  line-height:1.22; letter-spacing:-.6px; margin:0 0 18px;
}
.elementor .ee-h3 .elementor-heading-title{
  font-size:1.16rem; font-weight:700; color:var(--ee-navy); line-height:1.4; margin:0 0 10px;
}
.elementor .ee-h4 .elementor-heading-title{
  font-size:1rem; font-weight:700; color:var(--ee-navy); margin:0 0 8px;
}
.elementor .ee-bg-navy .ee-h2 .elementor-heading-title,
.elementor .ee-bg-black .ee-h2 .elementor-heading-title{ color:var(--ee-white); }
.elementor .ee-bg-navy .ee-h3 .elementor-heading-title,
.elementor .ee-bg-black .ee-h3 .elementor-heading-title{ color:var(--ee-gold); }

.elementor .ee-p p{ font-size:1rem; }
.elementor .ee-intro p{ font-size:1.09rem; max-width:840px; }
.elementor .ee-intro{ margin-bottom:44px !important; }
.elementor .ee-intro-tight{ margin-bottom:14px !important; }
.elementor .ee-bg-navy .ee-intro p,
.elementor .ee-bg-black .ee-intro p{ color:#b8c2cc; }

/* ---------- 3. Sections ---------- */
.elementor .ee-sec{ padding:84px 0; }
.elementor .ee-sec > .e-con-inner{ max-width:1200px; width:100%; padding:0 34px; }
.elementor .ee-bg-gray{ background-color:var(--ee-gray); }
.elementor .ee-bg-navy{ background-color:var(--ee-navy); }
.elementor .ee-bg-black{ background-color:var(--ee-black); }
.elementor .ee-bg-gold{ background-color:var(--ee-gold); }

/* ---------- 4. Chips ---------- */
.elementor .ee-chip{ margin-bottom:20px !important; }
.elementor .ee-chip .elementor-heading-title{
  display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:1.7px;
  text-transform:uppercase; padding:8px 18px; border-radius:40px; line-height:1.4;
}
.elementor .ee-chip-gold .elementor-heading-title{ background:var(--ee-gold); color:var(--ee-black); }
.elementor .ee-chip-navy .elementor-heading-title{ background:#e8edf3; color:var(--ee-navy); }
.elementor .ee-chip-out .elementor-heading-title{ background:transparent; color:var(--ee-gold); border:1.5px solid var(--ee-gold); }
.elementor .ee-chip-white .elementor-heading-title{ background:rgba(255,255,255,.12); color:var(--ee-white); border:1px solid rgba(255,255,255,.3); }

/* ---------- 5. Buttons ---------- */
.elementor .ee-btn{ width:auto !important; }
.elementor .ee-btn .elementor-button{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:.95rem;
  padding:16px 32px; border-radius:4px; letter-spacing:.2px;
  border:2px solid transparent; transition:all .2s ease; line-height:1.3;
}
.elementor .ee-btn-gold .elementor-button{ background-color:var(--ee-gold); color:var(--ee-black); }
.elementor .ee-btn-gold .elementor-button:hover{ background-color:#e5a712; color:var(--ee-black); }
.elementor .ee-btn-outline .elementor-button{ background-color:transparent; border-color:var(--ee-gold); color:var(--ee-gold); }
.elementor .ee-btn-outline .elementor-button:hover{ background-color:var(--ee-gold); color:var(--ee-black); }
.elementor .ee-btn-white .elementor-button{ background-color:var(--ee-white); color:var(--ee-navy); }
.elementor .ee-btn-white .elementor-button:hover{ background-color:var(--ee-gold); color:var(--ee-black); }
.elementor .ee-btn-dark .elementor-button{ background-color:transparent; border-color:var(--ee-black); color:var(--ee-black); }
.elementor .ee-btn-dark .elementor-button:hover{ background-color:var(--ee-black); color:var(--ee-gold); }
.elementor .ee-btn-sm .elementor-button{ padding:13px 22px; font-size:.86rem; }
.elementor .ee-btnrow{ display:flex; gap:14px; flex-wrap:wrap; }

/* Plain text links rendered as buttons */
.elementor .ee-link .elementor-button{
  background:transparent; border:none; padding:0; font-size:.93rem;
  font-weight:600; color:var(--ee-blue); justify-content:flex-start;
}
.elementor .ee-link .elementor-button:hover{ color:var(--ee-gold); background:transparent; }
.elementor .ee-link-gold .elementor-button{ color:var(--ee-gold); }
.elementor .ee-link-gold .elementor-button:hover{ color:var(--ee-white); }

/* ---------- 6. HERO ---------- */
.elementor .ee-hero{ padding:96px 0 88px; }
.elementor .ee-hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:start; }
.elementor .ee-hero-lead p{ color:#d4d6d8; font-size:1.14rem; line-height:1.8; margin-bottom:30px; }
.elementor .ee-hero-btns{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:38px; }
.elementor .ee-hero-stats{
  display:grid; grid-template-columns:repeat(4,1fr); background:#0d0d0d;
  border:1px solid #232323; border-radius:6px; overflow:hidden; gap:0;
}
.elementor .ee-hero-stat{ padding:22px 18px; border-right:1px solid #232323; }
.elementor .ee-hero-stat:last-child{ border-right:none; }
.elementor .ee-num .elementor-heading-title{
  font-size:1.5rem; font-weight:800; color:var(--ee-gold); line-height:1.1; display:block; margin-bottom:5px;
}
.elementor .ee-lbl .elementor-heading-title{
  font-size:.72rem; color:#8a8d90; letter-spacing:.5px; line-height:1.4; display:block; font-weight:400;
}

.elementor .ee-accept-card{ background:#0d1b2a; border:1px solid #1e3448; border-radius:6px; overflow:hidden; }
.elementor .ee-ac-head{ background:var(--ee-navy); padding:20px 26px; }
.elementor .ee-ac-head .elementor-heading-title{ color:var(--ee-white); margin:0; font-size:1.08rem; font-weight:700; }
.elementor .ee-ac-list{ padding:8px 26px 22px; }
.elementor .ee-ac-list .elementor-icon-list-items{ padding:0; margin:0; list-style:none; }
.elementor .ee-ac-list .elementor-icon-list-item{
  color:#c4ccd4; font-size:.91rem; padding:11px 0; border-bottom:1px solid #16283a;
  line-height:1.55; align-items:flex-start;
}
.elementor .ee-ac-list .elementor-icon-list-item:last-child{ border-bottom:none; }
.elementor .ee-ac-list .elementor-icon-list-icon i{ color:var(--ee-gold); font-size:13px; }
.elementor .ee-ac-list .elementor-icon-list-icon{ width:20px; }
.elementor .ee-accept-cta{ padding:0 26px 26px; display:flex; gap:10px; flex-wrap:wrap; }
.elementor .ee-accept-cta .ee-btn{ flex:1; min-width:130px; }
.elementor .ee-accept-cta .elementor-button{ width:100%; }

/* ---------- 7. Direct answer band ---------- */
.elementor .ee-answer{ padding:60px 0; }
.elementor .ee-answer-card{
  background:var(--ee-white); border-left:5px solid var(--ee-gold);
  padding:38px 44px; border-radius:0 6px 6px 0; box-shadow:0 2px 14px rgba(0,0,0,.06);
  display:flex; flex-direction:row; gap:28px; align-items:flex-start;
}
.elementor .ee-qicon{ flex:0 0 auto; width:auto !important; }
.elementor .ee-qicon .elementor-heading-title{ font-size:2rem; color:var(--ee-gold); line-height:1; font-weight:800; }
.elementor .ee-answer-body{ flex:1 1 auto; }
.elementor .ee-answer-body .ee-h2 .elementor-heading-title{ font-size:1.4rem; margin-bottom:12px; }
.elementor .ee-answer-body p{ font-size:1.03rem; margin-bottom:14px; }

/* ---------- 8. Grids & cards ---------- */
.elementor .ee-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.elementor .ee-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.elementor .ee-card{
  background:var(--ee-white); padding:30px; border-radius:6px;
  box-shadow:0 2px 12px rgba(0,0,0,.06); border-top:3px solid var(--ee-gold);
}
.elementor .ee-bg-gray .ee-card{ box-shadow:0 2px 12px rgba(0,0,0,.07); }
.elementor .ee-card p{ font-size:.94rem; }
.elementor .ee-card-dark{
  background:#0d1b2a; border:1px solid #1e3448; border-top:3px solid var(--ee-gold);
  padding:30px; border-radius:6px;
}
.elementor .ee-card-dark p{ color:#b8c2cc; font-size:.94rem; }
.elementor .ee-cicon .elementor-heading-title{ font-size:1.9rem; margin-bottom:14px; display:block; line-height:1; }

/* ---------- 9. Services rows ---------- */
.elementor .ee-svc-box{
  background:var(--ee-white); padding:14px 38px; border-radius:6px; box-shadow:0 2px 14px rgba(0,0,0,.06);
}
.elementor .ee-svc-row{
  display:grid; grid-template-columns:56px 1fr; gap:24px; padding:30px 0;
  border-bottom:1px solid var(--ee-line); align-items:start;
}
.elementor .ee-svc-row:last-child{ border-bottom:none; }
.elementor .ee-svc-n .elementor-heading-title{
  width:56px; height:56px; border-radius:6px; background:var(--ee-navy); color:var(--ee-gold);
  font-weight:800; font-size:1.25rem; display:flex; align-items:center; justify-content:center;
}
.elementor .ee-svc-row .ee-h3 .elementor-heading-title{ font-size:1.28rem; margin-bottom:9px; }
.elementor .ee-svc-row p{ font-size:.98rem; margin:0; }

/* ---------- 10. Tables (native containers) ---------- */
.elementor .ee-tblwrap{
  overflow-x:auto; border-radius:6px; box-shadow:0 2px 14px rgba(0,0,0,.07); background:var(--ee-white);
}
.elementor .ee-tbl{ min-width:640px; display:block; }
.elementor .ee-tr{
  display:flex; flex-direction:row; flex-wrap:nowrap; align-items:stretch;
  border-bottom:1px solid var(--ee-line);
}
.elementor .ee-tr:last-child{ border-bottom:none; }
.elementor .ee-tbl .ee-tr:nth-child(2n+3){ background:#fafbfc; }
.elementor .ee-tbl .ee-tr:not(.ee-thead):hover{ background:var(--ee-gold-soft); }
.elementor .ee-thead{ background:var(--ee-navy); border-bottom:none; }
.elementor .ee-tr > .elementor-widget{ min-width:0; width:auto; }
.elementor .ee-th > .elementor-widget-container{ padding:16px 20px; }
.elementor .ee-th .elementor-heading-title{
  color:var(--ee-white); text-align:left; font-weight:600;
  font-size:.83rem; letter-spacing:.5px; text-transform:uppercase; display:block;
}
.elementor .ee-td > .elementor-widget-container{ padding:15px 20px; }
.elementor .ee-td p{ font-size:.92rem; line-height:1.6; margin:0; }
.elementor .ee-td .elementor-heading-title{ font-size:.92rem; line-height:1.6; font-weight:400; color:var(--ee-body); }
.elementor .ee-td-b .elementor-heading-title{ font-weight:600; color:var(--ee-navy); }
.elementor .ee-divtag .elementor-heading-title{
  display:inline-block; background:var(--ee-gold); color:var(--ee-black); font-weight:800;
  font-size:.82rem; padding:4px 11px; border-radius:3px; white-space:nowrap;
}
.elementor .ee-pricetag .elementor-heading-title{ color:var(--ee-navy); font-weight:700; white-space:nowrap; }
.elementor .ee-badge-y .elementor-heading-title,
.elementor .ee-badge-n .elementor-heading-title{
  display:inline-block; font-weight:600; font-size:.8rem; padding:4px 11px;
  border-radius:3px; white-space:nowrap;
}
.elementor .ee-badge-y .elementor-heading-title{ background:#e8f5ec; color:#1a7c3d; }
.elementor .ee-badge-n .elementor-heading-title{ background:#eef1f5; color:var(--ee-blue); }

/* column widths per table */
.elementor .ee-tbl-trades .ee-tr > *:nth-child(1){ flex:0 0 10%; }
.elementor .ee-tbl-trades .ee-tr > *:nth-child(2){ flex:0 0 25%; }
.elementor .ee-tbl-trades .ee-tr > *:nth-child(3){ flex:0 0 65%; }
.elementor .ee-tbl-benefit .ee-tr > *:nth-child(1){ flex:0 0 38%; }
.elementor .ee-tbl-benefit .ee-tr > *:nth-child(2){ flex:0 0 48%; }
.elementor .ee-tbl-benefit .ee-tr > *:nth-child(3){ flex:0 0 14%; }
.elementor .ee-tbl-price .ee-tr > *:nth-child(1){ flex:0 0 32%; }
.elementor .ee-tbl-price .ee-tr > *:nth-child(2){ flex:0 0 20%; }
.elementor .ee-tbl-price .ee-tr > *:nth-child(3){ flex:0 0 20%; }
.elementor .ee-tbl-price .ee-tr > *:nth-child(4){ flex:0 0 28%; }
.elementor .ee-tbl-deliver .ee-tr > *:nth-child(1){ flex:0 0 26%; }
.elementor .ee-tbl-deliver .ee-tr > *:nth-child(2){ flex:0 0 16%; }
.elementor .ee-tbl-deliver .ee-tr > *:nth-child(3){ flex:0 0 58%; }

/* ---------- 11. Callouts ---------- */
.elementor .ee-callout{
  background:var(--ee-gold-soft); border-left:5px solid var(--ee-gold);
  padding:26px 32px; border-radius:0 6px 6px 0; margin-top:34px;
}
.elementor .ee-callout-navy{ background:#eef2f7; border-left-color:var(--ee-navy); }
.elementor .ee-callout p{ font-size:.98rem; }

/* ---------- 12. Included grid ---------- */
.elementor .ee-inc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.elementor .ee-inc-item{
  display:flex; flex-direction:row; gap:16px; background:var(--ee-white);
  padding:24px 26px; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.05); align-items:flex-start;
}
.elementor .ee-ck{ flex:0 0 auto; width:auto !important; }
.elementor .ee-ck .elementor-heading-title{ color:var(--ee-gold); font-weight:800; font-size:1.15rem; line-height:1.4; }
.elementor .ee-inc-body{ flex:1 1 auto; }
.elementor .ee-inc-body p{ font-size:.91rem; margin:0; }

/* ---------- 13. Process ---------- */
.elementor .ee-proc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.elementor .ee-proc-step{ background:var(--ee-white); padding:32px 26px; border-right:1px solid var(--ee-line); }
.elementor .ee-proc-step:last-child{ border-right:none; }
.elementor .ee-step-n .elementor-heading-title{
  font-size:2.6rem; font-weight:800; color:var(--ee-gold); line-height:1; margin-bottom:14px; display:block;
}
.elementor .ee-proc-step .ee-h3 .elementor-heading-title{ font-size:1.05rem; }
.elementor .ee-proc-step p{ font-size:.9rem; margin:0; }

/* ---------- 14. Accuracy cards ---------- */
.elementor .ee-acc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px; }
.elementor .ee-acc-card{
  background:var(--ee-white); padding:26px; border-radius:6px;
  border-left:3px solid var(--ee-gold); box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.elementor .ee-acc-card .ee-h3 .elementor-heading-title{ font-size:1.04rem; margin-bottom:7px; }
.elementor .ee-acc-card p{ font-size:.9rem; margin:0; }

/* ---------- 15. QA numbered list ---------- */
.elementor .ee-qa{ counter-reset:eeqa; display:flex; flex-direction:column; }
.elementor .ee-qa-item{
  counter-increment:eeqa; padding:20px 0 20px 62px; position:relative;
  border-bottom:1px solid var(--ee-line);
}
.elementor .ee-qa-item:last-child{ border-bottom:none; }
.elementor .ee-qa-item:before{
  content:counter(eeqa); position:absolute; left:0; top:20px;
  width:38px; height:38px; border-radius:50%; background:var(--ee-navy); color:var(--ee-gold);
  font-weight:800; font-size:.95rem; display:flex; align-items:center; justify-content:center;
}
.elementor .ee-qa-t .elementor-heading-title{ display:block; color:var(--ee-navy); font-size:1.03rem; font-weight:700; margin-bottom:4px; }
.elementor .ee-qa-item p{ font-size:.95rem; margin:0; }

/* ---------- 16. Mid CTA ---------- */
.elementor .ee-mid{ padding:56px 0; }
.elementor .ee-mid-inner{
  display:flex; flex-direction:row; justify-content:space-between;
  align-items:center; gap:40px; flex-wrap:wrap;
}
.elementor .ee-mid-text{ flex:1 1 380px; }
.elementor .ee-mid .ee-h2 .elementor-heading-title{ color:var(--ee-black); font-size:1.85rem; margin-bottom:8px; }
.elementor .ee-mid p{ color:#2a2a2a; font-size:1.02rem; margin:0; }
.elementor .ee-mid-btns{ display:flex; flex-direction:row; gap:13px; flex-wrap:wrap; flex:0 0 auto; width:auto; }

/* ---------- 17. Service area ---------- */
.elementor .ee-loc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:38px; }
.elementor .ee-loc-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14);
  border-left:3px solid var(--ee-gold); padding:30px; border-radius:0 6px 6px 0;
}
.elementor .ee-loc-card .ee-h3 .elementor-heading-title{ margin-bottom:11px; }
.elementor .ee-loc-card p{ color:#b8c2cc; font-size:.94rem; }
.elementor .ee-contact-line{
  display:flex; flex-direction:row; flex-wrap:wrap; gap:6px 18px; align-items:center;
  margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.14);
}
.elementor .ee-contact-line .ee-btn{ width:auto !important; flex:0 0 auto; }
.elementor .ee-states-box{ background:rgba(0,0,0,.22); padding:28px 32px; border-radius:6px; }
.elementor .ee-states-box .ee-h4 .elementor-heading-title{ color:var(--ee-white); font-size:.98rem; margin-bottom:16px; }
.elementor .ee-state-tags{ display:flex; flex-direction:row; flex-wrap:wrap; gap:8px; }
.elementor .ee-stag{ width:auto !important; flex:0 0 auto; }
.elementor .ee-stag .elementor-heading-title{
  background:rgba(255,255,255,.09); color:#cdd5dd; font-size:.83rem;
  padding:6px 13px; border-radius:3px; border:1px solid rgba(255,255,255,.1); display:inline-block;
}

/* ---------- 18. Submit plans ---------- */
.elementor .ee-submit-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:start; }
.elementor .ee-submit-list .elementor-icon-list-items{ padding:0; margin:0; list-style:none; }
.elementor .ee-submit-list .elementor-icon-list-item{
  padding:11px 0; border-bottom:1px solid var(--ee-line); font-size:.95rem; align-items:flex-start;
}
.elementor .ee-submit-list .elementor-icon-list-item:last-child{ border-bottom:none; }
.elementor .ee-submit-list .elementor-icon-list-icon i{ color:var(--ee-gold); font-size:12px; }
.elementor .ee-submit-list .elementor-icon-list-icon{ width:22px; }
.elementor .ee-submit-box{
  background:var(--ee-gray); border-top:4px solid var(--ee-gold); padding:36px; border-radius:6px;
}
.elementor .ee-submit-box .ee-h3 .elementor-heading-title{ font-size:1.3rem; margin-bottom:8px; }
.elementor .ee-sd-lead p{ font-size:.95rem; margin-bottom:20px; }
.elementor .ee-sd-row{
  display:flex; flex-direction:row; gap:14px; padding:15px 0; border-bottom:1px solid #dfe3e8; align-items:flex-start;
}
.elementor .ee-sd-row:last-of-type{ border-bottom:none; }
.elementor .ee-sd-i{ flex:0 0 auto; width:auto !important; }
.elementor .ee-sd-i .elementor-heading-title{ font-size:1.15rem; line-height:1.5; }
.elementor .ee-sd-body{ flex:1 1 auto; }
.elementor .ee-sd-label .elementor-heading-title{ display:block; font-size:.86rem; color:var(--ee-navy); font-weight:700; margin-bottom:2px; }
.elementor .ee-sd-val .elementor-heading-title{ font-size:.93rem; color:var(--ee-body); font-weight:400; }
.elementor .ee-submit-btns{ display:flex; flex-direction:row; gap:11px; flex-wrap:wrap; margin-top:22px; }
.elementor .ee-submit-btns .ee-btn{ flex:1; min-width:140px; }
.elementor .ee-submit-btns .elementor-button{ width:100%; padding:14px 20px; font-size:.9rem; }

/* ---------- 19. FAQ toggles ---------- */
.elementor .ee-faq-cols{ display:grid; grid-template-columns:1fr 1fr; gap:0 32px; align-items:start; }
.elementor .ee-faq .elementor-toggle-item{ border-bottom:1px solid var(--ee-line); background:var(--ee-white); }
.elementor .ee-faq .elementor-tab-title{
  padding:20px 40px 20px 0; font-weight:600; color:var(--ee-navy);
  font-size:1rem; line-height:1.5; border:none; background:transparent; position:relative;
}
.elementor .ee-faq .elementor-tab-title a,
.elementor .ee-faq .elementor-toggle-title{ color:var(--ee-navy); font-weight:600; }
.elementor .ee-faq .elementor-tab-title:hover .elementor-toggle-title{ color:var(--ee-gold); }
.elementor .ee-faq .elementor-toggle-icon{ color:var(--ee-gold); font-size:1rem; width:auto; }
.elementor .ee-faq .elementor-tab-content{
  padding:0 40px 22px 0; font-size:.95rem; color:var(--ee-body); border:none; background:transparent;
}
.elementor .ee-faq-top .elementor-toggle-item:first-child{ border-top:1px solid var(--ee-line); }

/* ---------- 20. GEO answer blocks ---------- */
.elementor .ee-geo-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.elementor .ee-geo-row-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.elementor .ee-geo-card{
  background:var(--ee-white); border-radius:6px; padding:30px;
  box-shadow:0 2px 12px rgba(0,0,0,.06); border-top:3px solid var(--ee-navy);
}
.elementor .ee-geo-head{ display:flex; flex-direction:row; gap:15px; align-items:flex-start; margin-bottom:15px; }
.elementor .ee-geo-q{ flex:0 0 auto; width:auto !important; }
.elementor .ee-geo-q .elementor-heading-title{
  width:32px; height:32px; border-radius:5px; background:var(--ee-navy); color:var(--ee-gold);
  font-weight:800; font-size:.92rem; display:flex; align-items:center; justify-content:center;
}
.elementor .ee-geo-qt{ flex:1 1 auto; }
.elementor .ee-geo-qt .elementor-heading-title{ font-size:1.04rem; font-weight:700; color:var(--ee-navy); line-height:1.45; }
.elementor .ee-geo-body p{ font-size:.93rem; margin-bottom:16px; }
.elementor .ee-geo-foot{
  display:flex; flex-direction:row; flex-wrap:wrap; gap:7px;
  padding-top:15px; border-top:1px solid var(--ee-line);
}
.elementor .ee-gb{ width:auto !important; flex:0 0 auto; }
.elementor .ee-gb .elementor-heading-title{ font-size:.76rem; font-weight:600; padding:5px 11px; border-radius:3px; display:inline-block; }
.elementor .ee-gb-gold .elementor-heading-title{ background:var(--ee-gold); color:var(--ee-black); }
.elementor .ee-gb-blue .elementor-heading-title{ background:#eef2f7; color:var(--ee-blue); }

/* ---------- 21. Technology box ---------- */
.elementor .ee-tech-box{
  background:#0d1b2a; border:1px solid #1e3448; border-left:3px solid var(--ee-gold);
  padding:26px 32px; border-radius:0 6px 6px 0; margin-top:26px;
}
.elementor .ee-tech-box .ee-h3 .elementor-heading-title{ margin-bottom:8px; }
.elementor .ee-tech-box p{ color:#b8c2cc; font-size:.96rem; }

/* ---------- 22. Final CTA ---------- */
.elementor .ee-final{ padding:92px 0; text-align:center; }
.elementor .ee-final .ee-h2 .elementor-heading-title{ color:var(--ee-gold); font-size:2.5rem; margin-bottom:18px; }
.elementor .ee-final .ee-chip .elementor-heading-title{ margin:0 auto; }
.elementor .ee-final-lead p{ color:#c9cbcd; font-size:1.1rem; max-width:780px; margin:0 auto 34px; }
.elementor .ee-final-btns{ display:flex; flex-direction:row; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:38px; }
.elementor .ee-final-btns .ee-btn{ width:auto !important; flex:0 0 auto; }
.elementor .ee-trust-chips{ display:flex; flex-direction:row; gap:10px; justify-content:center; flex-wrap:wrap; }
.elementor .ee-trust-chip{ width:auto !important; flex:0 0 auto; }
.elementor .ee-trust-chip .elementor-heading-title{
  background:#111; border:1px solid #2a2a2a; color:#9da0a3;
  font-size:.83rem; padding:9px 17px; border-radius:40px; display:inline-block; font-weight:400;
}

/* ---------- 23. Footer ---------- */
.elementor .ee-footer{ background-color:#0a0a0a; padding:60px 0 30px; color:#8a8d90; font-size:.9rem; }
.elementor .ee-footer p{ color:#8a8d90; font-size:.9rem; }
.elementor .ee-footer-grid{
  display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:44px;
  padding-bottom:34px; border-bottom:1px solid #1e1e1e;
}
.elementor .ee-brand .elementor-heading-title{ font-size:1.5rem; font-weight:800; color:var(--ee-gold); margin-bottom:14px; }
.elementor .ee-footer-h .elementor-heading-title{
  color:var(--ee-white); font-size:.86rem; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:16px; font-weight:700;
}
.elementor .ee-footer-list .elementor-icon-list-items{ padding:0; margin:0; list-style:none; }
.elementor .ee-footer-list .elementor-icon-list-item{ margin-bottom:9px; font-size:.9rem; }
.elementor .ee-footer-list .elementor-icon-list-item a{ color:#8a8d90; }
.elementor .ee-footer-list .elementor-icon-list-item a:hover{ color:var(--ee-gold); }
.elementor .ee-footer-bottom{ padding-top:26px; }
.elementor .ee-footer-bottom p{ font-size:.83rem; color:#6a6d70; margin-bottom:5px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .elementor .ee-hero-grid,
  .elementor .ee-submit-grid{ grid-template-columns:1fr; gap:44px; }
  .elementor .ee-proc-grid{ grid-template-columns:1fr 1fr; }
  .elementor .ee-proc-step{ border-bottom:1px solid var(--ee-line); }
  .elementor .ee-proc-step:nth-child(2){ border-right:none; }
  .elementor .ee-geo-row-3{ grid-template-columns:1fr 1fr; }
  .elementor .ee-footer-grid{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media(max-width:820px){
  .elementor .ee-h1 .elementor-heading-title{ font-size:2.25rem; }
  .elementor .ee-h2 .elementor-heading-title{ font-size:1.65rem; }
  .elementor .ee-final .ee-h2 .elementor-heading-title{ font-size:1.9rem; }
  .elementor .ee-sec{ padding:56px 0; }
  .elementor .ee-sec > .e-con-inner{ padding:0 22px; }
  .elementor .ee-grid-2,
  .elementor .ee-grid-3,
  .elementor .ee-inc-grid,
  .elementor .ee-loc-grid,
  .elementor .ee-faq-cols,
  .elementor .ee-geo-row-2,
  .elementor .ee-geo-row-3,
  .elementor .ee-acc-grid,
  .elementor .ee-footer-grid{ grid-template-columns:1fr; }
  .elementor .ee-hero-stats{ grid-template-columns:1fr 1fr; }
  .elementor .ee-hero-stat{ border-bottom:1px solid #232323; }
  .elementor .ee-hero-stat:nth-child(2){ border-right:none; }
  .elementor .ee-proc-grid{ grid-template-columns:1fr; }
  .elementor .ee-proc-step{ border-right:none; }
  .elementor .ee-answer-card{ flex-direction:column; gap:14px; padding:28px 26px; }
  .elementor .ee-svc-row{ grid-template-columns:44px 1fr; gap:16px; }
  .elementor .ee-svc-n .elementor-heading-title{ width:44px; height:44px; font-size:1.05rem; }
  .elementor .ee-mid-inner{ flex-direction:column; align-items:flex-start; }
  .elementor .ee-svc-box{ padding:14px 22px; }
  .elementor .ee-faq-cols{ gap:0; }
}
