
.elementor-widget-wrap{padding:0!important}

.elementor-widget-html{width:100%!important}
.elementor-widget-html .elementor-widget-container{padding:0!important;margin:0!important}
.elementor-section{padding:0!important}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:100%!important}
.e-con{padding:0!important;max-width:100%!important}
.e-con-inner{max-width:100%!important;margin:0!important}
.av-page{display:block;min-height:100vh;padding-top:var(--hh)}

.ni.has-dd{position:relative}
.dd{position:absolute;top:100%;right:0;min-width:260px;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--td);border-radius:0 0 10px 10px;box-shadow:0 18px 56px rgba(13,26,23,.13);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:199;padding:8px}
.ni.has-dd:hover .dd,.dd:hover{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.dd-i{display:block;padding:10px 14px;border-radius:8px;color:var(--ink);font-weight:600;font-size:.9rem;white-space:nowrap;transition:background .15s,color .15s}
.dd-i:hover{background:var(--paper);color:var(--td)}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#0d1a17;--muted:#6b7b75;--paper:#f5f7f2;--white:#fff;
  --line:#dde5da;--teal:#0f766e;--td:#0b4f4a;--blue:#1d4ed8;
  --gold:#b45309;--dark:#17332f;--darker:#0d1a17;
  --hh:68px;
}
html{overflow-x:hidden;scroll-behavior:auto;direction:rtl}
body{font-family:"Heebo",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;overflow-x:hidden;direction:rtl;text-align:right}
a{color:inherit;text-decoration:none}
ul{list-style:none;padding:0;margin:0}
h1,h2,h3,p{margin-top:0}
img{max-width:100%}

#progress{position:fixed;top:0;left:0;height:3px;background:var(--td);z-index:300;width:0;transition:width .12s linear}

.hdr{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(245,247,242,.93);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);transition:box-shadow .3s;height:var(--hh)}
.hdr.shadow{box-shadow:0 4px 28px rgba(13,26,23,.1)}
.hdr-inner{display:flex;align-items:stretch;height:100%;padding:0 clamp(14px,4vw,60px)}

.brand{display:inline-flex;align-items:center;margin-left:36px;flex-shrink:0;cursor:pointer}
.brand-logo{height:auto!important;width:auto!important;max-width:300px!important;object-fit:contain;transition:transform .35s cubic-bezier(.34,1.56,.64,1);display:block}
.brand:hover .brand-logo{transform:scale(1.06)}
@media(max-width:640px){.brand{margin-left:8px}.brand-logo{height:48px;max-width:260px}}

.desk-nav{display:flex;align-items:stretch;flex:1}
.ni{position:relative;display:flex;align-items:center}
.nl{display:flex;align-items:center;gap:5px;padding:0 16px;height:100%;color:var(--muted);font-weight:600;font-size:.93rem;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s;user-select:none}
.nl svg{width:13px;height:13px;transition:transform .25s;flex-shrink:0}
.ni:hover .nl,.nl.active{color:var(--td);border-bottom-color:var(--td)}
.ni:hover .nl svg{transform:rotate(180deg)}

/* Mega menu */
.mega{position:fixed;top:var(--hh);left:0;right:0;background:var(--white);border-top:1px solid var(--line);border-bottom:2px solid var(--td);box-shadow:0 18px 56px rgba(13,26,23,.13);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:199}
.ni:hover .mega,.mega:hover{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.mega-in{display:grid;max-width:1280px;margin:0 auto;padding:32px clamp(14px,4vw,60px)}
.mg-svc{grid-template-columns:repeat(3,1fr) 260px;gap:0}
.mg-mth{grid-template-columns:repeat(3,1fr) 260px;gap:0}
.mc{padding:0 20px 0 0;border-left:1px solid var(--line)}
.mc:first-child{padding-right:0}
.mc:last-child{border-left:none}
.mc-lbl{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.mi{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;margin-bottom:3px;transition:background .15s}
.mi:hover{background:var(--paper)}
.mi-ico{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:var(--paper);border:1px solid var(--line);border-radius:7px;font-size:.95rem;transition:background .18s,border-color .18s,color .18s}
.mi:hover .mi-ico{background:var(--td);border-color:var(--td);color:#fff}
.mi-txt strong{display:block;font-size:.9rem;font-weight:700;margin-bottom:1px}
.mi-txt p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.35}
.mfeat{padding:18px 22px;background:var(--td);color:#fff;border-radius:10px;margin-right:20px;display:flex;flex-direction:column;justify-content:space-between}
.mfeat-lbl{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}
.mfeat h4{font-size:1.05rem;font-weight:800;line-height:1.2;margin-bottom:8px}
.mfeat p{font-size:.85rem;color:rgba(255,255,255,.68);margin-bottom:16px;flex:1}
.mfeat-btn{display:inline-flex;align-items:center;gap:5px;padding:9px 16px;border-radius:7px;background:rgba(255,255,255,.15);color:#fff;font-weight:800;font-size:.85rem;border:1px solid rgba(255,255,255,.2);transition:background .18s;cursor:pointer}
.mfeat-btn:hover{background:rgba(255,255,255,.25)}

.hdr-right{display:flex;align-items:center;gap:10px;margin-right:auto}
.hdr-cta{display:inline-flex;align-items:center;padding:9px 18px;border-radius:8px;background:var(--td);color:#fff;font-weight:800;font-size:.88rem;box-shadow:0 4px 14px rgba(11,79,74,.25);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s;cursor:pointer}
.hdr-cta:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 10px 26px rgba(11,79,74,.35)}

.burger{display:none;flex-direction:column;justify-content:center;align-self:center;gap:5px;width:40px;height:40px;border:none;background:none;cursor:pointer;padding:4px;margin-right:auto}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.drawer{position:fixed;top:var(--hh);left:0;right:0;bottom:0;background:var(--white);z-index:198;overflow-y:auto;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}
.drawer.open{transform:translateX(0)}
.drawer-in{padding:20px clamp(14px,5vw,32px) 48px}
.dg{margin-bottom:28px}
.dg-lbl{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 4px;margin-bottom:10px;display:block}
.di{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:background .18s,border-color .18s;margin-bottom:4px}
.di:hover{background:var(--paper);border-color:var(--line)}
.di.active{background:rgba(11,79,74,.06);border-color:rgba(11,79,74,.2)}
.di-ico{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:var(--paper);border:1px solid var(--line);border-radius:8px;font-size:1rem}
.di-txt strong{display:block;font-size:.95rem;font-weight:700}
.di-txt span{font-size:.82rem;color:var(--muted)}
.drawer-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;border-radius:10px;background:var(--td);color:#fff;font-weight:800;font-size:1rem;margin-top:8px;cursor:pointer;transition:opacity .2s}
.drawer-cta:active{opacity:.85}

.sec-lbl{display:inline-flex;align-items:center;gap:8px;color:var(--td);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.sec-lbl::before{content:"";width:18px;height:2px;background:var(--td);border-radius:1px}
.dark-lbl.sec-lbl{color:#9fe6b1}
.dark-lbl.sec-lbl::before{background:#4ade80}

.btn{display:inline-flex;align-items:center;gap:7px;min-height:48px;padding:0 26px;border:none;border-radius:10px;font:800 .96rem "Heebo",sans-serif;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.14);transform:translateX(110%);transition:transform .5s}
.btn:hover::after{transform:translateX(-110%)}
.btn-p{color:#fff;background:var(--td);box-shadow:0 6px 22px rgba(11,79,74,.28)}
.btn-p:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 16px 40px rgba(11,79,74,.4)}
.btn-s{color:var(--td);background:var(--white);border:1.5px solid var(--line);box-shadow:0 3px 12px rgba(13,26,23,.07)}
.btn-s:hover{transform:translateY(-3px) scale(1.03);border-color:var(--td);box-shadow:0 12px 28px rgba(13,26,23,.12)}
.btn-w{color:var(--td);background:var(--white);font-weight:800}
.btn-w:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 26px rgba(0,0,0,.2)}

.footer{display:flex;justify-content:space-between;gap:14px;padding:22px clamp(14px,6vw,82px);color:var(--muted);background:var(--white);border-top:1px solid var(--line);font-size:.86rem}
.footer.dark-ft{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09);color:rgba(255,255,255,.4)}

.zr{opacity:0;transform:scale(.9) translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.zr.v{opacity:1;transform:scale(1) translateY(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

@keyframes grid-drift{from{background-position:0 0,0 0}to{background-position:52px 52px,52px 52px}}
@keyframes orb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@keyframes pulse-node{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.4);opacity:1}}
@keyframes rise-in{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ms{0%,100%{opacity:1;transform:translateX(-50%) translateY(0)}50%{opacity:.3;transform:translateX(-50%) translateY(10px)}}

@media(max-width:1024px){
  .desk-nav,.hdr-cta{display:none}
  .burger{display:flex}
  .hero{grid-template-columns:1fr;min-height:auto}
  .sp-hero{grid-template-columns:1fr}
  .sp-icon-box{display:none}
  .svc-grid,.pain-grid,.steps-grid,.fg.three{grid-template-columns:repeat(2,1fr)}
  .hero-panel{grid-template-columns:repeat(2,1fr)}
  .pc-feat{grid-column:1/-1}
  .fit-layout{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr}
  .contact-layout .lead-form{justify-self:center;margin-left:auto;margin-right:auto;max-width:640px}
  .mth-extras{grid-template-columns:repeat(2,1fr)}
  .mg-svc,.mg-mth{grid-template-columns:1fr}
  .scroll-hint{display:none}
}
@media(max-width:767px){
.footer{text-align:center;flex-direction:column;gap:6px;align-items:center}
  :root{--hh:58px}
  .hero,.pg-hero,.mth-hero,.pain-hero,.sp-hero,.fit-layout,.contact-layout{padding-left:16px;padding-right:16px}
  .hero{padding-top:36px;padding-bottom:32px}
  .sp-hero{padding-top:36px;padding-bottom:0}
  .pg-hero,.pain-hero{padding-top:36px;padding-bottom:24px}
  .mth-hero{padding-top:36px;padding-bottom:24px}
  .hero-h1{font-size:clamp(2.1rem,9vw,2.8rem)}
  .sp-h{font-size:clamp(1.8rem,8vw,2.4rem)}
  .hero-acts,.sp-acts{flex-direction:column;gap:10px}
  .btn{width:100%}
  .hero-panel{grid-template-columns:1fr}
  .pc-feat{grid-column:auto}
  .svc-grid,.pain-grid,.steps-grid,.fg,.fg.three,.mth-extras{grid-template-columns:1fr}
  .stat-bar{grid-template-columns:1fr}
  .stat-bar .sc{border-left:none;border-bottom:1px solid var(--line)}
  .stat-bar.dk .sc{border-color:rgba(255,255,255,.1)}
  .stat-bar .sc:last-child{border-bottom:none}
  .impact-strip{grid-template-columns:1fr}
  .fg{padding-left:16px;padding-right:16px}
  .pain-grid,.svc-grid{padding-left:16px;padding-right:16px;padding-bottom:32px}
  
  
  
  .footer{flex-direction:column;gap:8px;padding-left:16px;padding-right:16px}
  .fit-layout{gap:28px;padding-top:36px;padding-bottom:36px}
  .fit-aside{grid-template-columns:repeat(2,1fr)}
  .fit-aside .btn{grid-column:1/-1}
  .contact-layout{padding-top:36px;padding-bottom:36px;gap:28px}
  .lead-form{padding:24px 20px}
  .lead-form .cf7-grid{grid-template-columns:1fr;gap:10px}
  .lead-form .cf7-grid > p:nth-of-type(1),.lead-form .cf7-grid > p:nth-of-type(2),.lead-form .cf7-grid > p:nth-of-type(3),.lead-form .cf7-grid > p:nth-of-type(4){grid-column:1/-1}
  .mth-extras,.steps-grid{padding-left:16px;padding-right:16px;padding-bottom:32px}
  .wa-btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ===== Contact form (CF7) final override - highest specificity ===== */
/* Alevectis final CF7 override - keep this after the form markup */
#lead-form.lead-form{
  width:min(720px,100%)!important;
  max-width:720px!important;
  min-width:0!important;
  padding:38px 42px!important;
  border-radius:22px!important;
  box-shadow:0 30px 80px rgba(0,0,0,.45)!important;
  direction:rtl!important;
}
/* Hidden CF7 fields container draws a default fieldset border (the black bar) - kill it */
#lead-form.lead-form fieldset.hidden-fields-container,
#lead-form.lead-form fieldset{
  border:0!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  height:0!important;
  overflow:hidden!important;
}
/* The form itself stays a single column; the field grid below becomes 2 columns */
#lead-form.lead-form form.wpcf7-form{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
/* 2-column responsive grid for the fields, RTL so the first field sits on the right */
#lead-form.lead-form .cf7-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px 20px!important;
  align-content:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  direction:rtl!important;
}
/* Each field child resets to block (label+input stack). NOT .cf7-grid itself - it must stay grid */
#lead-form.lead-form .cf7-grid > *,
#lead-form.lead-form .cf7-grid > label,
#lead-form.lead-form form.wpcf7-form > *:not(.cf7-grid){
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
/* First 4 short fields (full name, business, phone, email) share rows two-up */
#lead-form.lead-form .cf7-grid > p:nth-of-type(1),
#lead-form.lead-form .cf7-grid > p:nth-of-type(2),
#lead-form.lead-form .cf7-grid > p:nth-of-type(3),
#lead-form.lead-form .cf7-grid > p:nth-of-type(4){
  grid-column:span 1!important;
}
/* Message, consent notes, submit and responses always span full width */
#lead-form.lead-form .cf7-grid > p:nth-of-type(5),
#lead-form.lead-form .cf7-grid > .field-wide,
#lead-form.lead-form .cf7-grid > .cf7-privacy-note,
#lead-form.lead-form .cf7-grid > .cf7-marketing-note,
#lead-form.lead-form .cf7-grid > .cf7-submit-row,
#lead-form.lead-form .cf7-grid > .wpcf7-response-output,
#lead-form.lead-form .cf7-grid > p:last-of-type{
  grid-column:1/-1!important;
}
#lead-form.lead-form label{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  font-size:.88rem!important;
  line-height:1.25!important;
  font-weight:700!important;
  text-align:right!important;
  direction:rtl!important;
}
#lead-form.lead-form .wpcf7-form-control-wrap{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin-top:7px!important;
}
#lead-form.lead-form input[type="text"],
#lead-form.lead-form input[type="tel"],
#lead-form.lead-form input[type="email"]{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  height:48px!important;
  padding:12px 16px!important;
  font-size:.95rem!important;
  line-height:1.35!important;
  border-radius:12px!important;
  direction:rtl!important;
  text-align:right!important;
}
#lead-form.lead-form textarea{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:12px 16px!important;
  font-size:.95rem!important;
  line-height:1.35!important;
  border-radius:12px!important;
  direction:rtl!important;
  text-align:right!important;
  min-height:88px!important;
  max-height:140px!important;
}
#lead-form.lead-form input::placeholder,
#lead-form.lead-form textarea::placeholder{
  direction:rtl!important;
  text-align:right!important;
}
#lead-form.lead-form .cf7-privacy-note,
#lead-form.lead-form .cf7-marketing-note{
  width:100%!important;
  max-width:none!important;
  padding:10px 12px!important;
  margin:0!important;
}
#lead-form.lead-form .wpcf7-acceptance label{
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:9px!important;
  direction:rtl!important;
  text-align:right!important;
  font-weight:500!important;
  font-size:.76rem!important;
  line-height:1.32!important;
}
#lead-form.lead-form .wpcf7-acceptance input[type="checkbox"]{
  order:0!important;
  flex:0 0 auto!important;
  width:15px!important;
  height:15px!important;
  margin:2px 0 0 0!important;
}
#lead-form.lead-form .wpcf7-list-item-label{
  order:1!important;
  display:inline!important;
}
#lead-form.lead-form input[type="submit"],
#lead-form.lead-form .wpcf7-submit{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:46px!important;
  margin:0!important;
}
#lead-form.lead-form br{
  display:none!important;
}
/* Response output: no stray blue box. Neutral by default, hidden when empty,
   and only styled when it actually carries a CF7 status message. */
#lead-form.lead-form .wpcf7-response-output{
  border:0!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  border-radius:10px!important;
}
#lead-form.lead-form .wpcf7-response-output:empty{
  display:none!important;
}
#lead-form.lead-form .wpcf7-response-output.wpcf7-validation-errors,
#lead-form.lead-form .wpcf7-response-output.wpcf7-mail-sent-ng,
#lead-form.lead-form .wpcf7-response-output.wpcf7-mail-sent-ok,
#lead-form.lead-form .wpcf7-response-output.wpcf7-acceptance-missing,
#lead-form.lead-form .wpcf7-response-output.wpcf7-spam-blocked{
  border-width:2px!important;
  border-style:solid!important;
  padding:10px 14px!important;
  margin-top:12px!important;
}
/* When the contact layout collapses to one column, center the form */
@media(max-width:1024px){
  #lead-form.lead-form{
    justify-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:640px!important;
  }
}
/* Responsive: single column on narrow screens, lighter padding */
@media(max-width:760px){
  #lead-form.lead-form{
    padding:24px 20px!important;
  }
  #lead-form.lead-form .cf7-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #lead-form.lead-form .cf7-grid > p:nth-of-type(1),
  #lead-form.lead-form .cf7-grid > p:nth-of-type(2),
  #lead-form.lead-form .cf7-grid > p:nth-of-type(3),
  #lead-form.lead-form .cf7-grid > p:nth-of-type(4){
    grid-column:1/-1!important;
  }
  #lead-form.lead-form input[type="text"],
  #lead-form.lead-form input[type="tel"],
  #lead-form.lead-form input[type="email"]{
    height:46px!important;
  }
}

/* WOW: animated gradient text */
@keyframes grad-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero-h1 .acc{background:linear-gradient(135deg,var(--td) 0%,#1d9e7a 30%,#1d4ed8 60%,var(--td) 100%);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:grad-shift 5s ease infinite}

/* WOW: glass cards on hero panel */
.pc-d{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(255,255,255,0.82)!important;border:1px solid rgba(255,255,255,0.6)!important}

/* WOW: active page indicator in nav */
.desk-nav .nl{position:relative}
.desk-nav .nl::after{content:'';position:absolute;bottom:-4px;right:0;width:0;height:2px;background:var(--td);transition:width .25s ease;border-radius:2px}
.desk-nav .nl:hover::after{width:100%}

/* WOW: smooth page entry */
.av-page{to{opacity:1;transform:translateY(0)}}

/* WOW: hover glow on CTA buttons */
.btn-p{transition:box-shadow .25s,transform .2s,background .2s}
.btn-p:hover{box-shadow:0 0 28px rgba(11,79,74,0.45);transform:translateY(-2px)}

/* WOW: card shine sweep on hover */
.svc-card,.fa-card,.step,.fit-item,.mth-card{overflow:hidden;position:relative}
.svc-card::before,.fa-card::before,.mth-card::before{content:'';position:absolute;top:0;right:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);transition:right .4s ease;pointer-events:none;z-index:1}
.svc-card:hover::before,.fa-card:hover::before,.mth-card:hover::before{right:100%}

.pc-feat{background:var(--td)!important;color:#fff!important}

@media(max-width:1024px){

html,body{max-width:100%;overflow-x:hidden}
}

/* Hide reCAPTCHA badge on mobile (privacy policy in footer) */
/* ═══════════════════════════════════════
   LAYOUT: header + content + footer = 100vh
   ═══════════════════════════════════════ */
:root{
  --hh: 68px;   /* header height  */
  --fh: 60px;   /* footer height  */
}

/* Content fills exactly the space between header and footer */
#site-main{min-height:calc(90vh);box-sizing:border-box}
/* First section starts exactly where the fixed header ends, plus a small,
   even gap so the content is not glued to the header. Same on every page. */
#site-main>*:first-child{padding-top:calc(var(--hh) + clamp(28px,3vw,44px))!important}

/* Footer - fixed height, text always centered vertically */
.footer{
  min-height: var(--fh);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(16px, 5vw, 82px);
  gap: 12px;
}

/* Footer - strip Elementor container defaults */
.elementor-location-footer .elementor-section,
.elementor-location-footer .e-con,
.elementor-location-footer .elementor-widget-wrap{
  padding: 0 !important;
  margin: 0 !important;
}

/* Mobile footer: centered both directions */
/* 768-1024px: row layout, hide reCAPTCHA that overlaps footer */
@media(max-width: 1024px){
  .grecaptcha-badge{ visibility: hidden !important; }
}
/* Mobile: column centered footer */
@media(max-width: 767px){
  .footer{
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 12px 16px;
    gap: 4px;
  }
}

@media(min-width:768px) and (max-width:1024px){
  .footer{
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 6px;
    padding: 14px 24px;
  }
}

/* CTA STRIP - full-width green call-to-action band */
.cta-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:32px clamp(14px,6vw,82px);background:var(--td);color:#fff;width:100%;box-sizing:border-box}
.cta-strip p{font-size:1.15rem;font-weight:700;margin:0;color:#fff}
.cta-strip a,.cta-strip span[data-goto]{display:inline-flex;align-items:center;gap:6px;padding:12px 26px;border-radius:9px;background:var(--white);color:var(--td);font-weight:800;white-space:nowrap;cursor:pointer;text-decoration:none;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s}
.cta-strip a:hover,.cta-strip span[data-goto]:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 26px rgba(0,0,0,.2)}
.cta-strip.dk{background:var(--darker)}
.cta-strip.mid{background:var(--dark)}
@media(max-width:767px){
.cta-strip{flex-direction:column;gap:14px;text-align:center;padding:24px 16px}
.cta-strip p{font-size:1rem}
.cta-strip a,.cta-strip span[data-goto]{width:100%;justify-content:center}
}

/* Heroes: page wrapper already clears the fixed header, so trim hero top padding */
.pain-hero,.pg-hero,.mth-hero,.sp-hero{padding-top:32px!important}
.fit-layout,.contact-layout{padding-top:32px!important}
