/* === SCROLL NATIVO — override JupiterX smooth === */
html,html *{scroll-behavior:auto!important}
html{overflow-x:hidden}
body{overflow-x:hidden}

/* ============================================
   HUELLAS SALUD ANIMAL — Global CSS
   Healthcare Premium / Veterinary
   BLUEPRINT v2.0 compliant
   ============================================ */

/* RESET + BASE */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);font-weight:300;color:var(--txt);background:var(--bg);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{border:none;background:none;cursor:pointer;font-family:inherit}

:root{
  --bg:#FAFAF8;--bg2:#F2F0EC;--bg3:#fff;--dark:#1A1F1E;--dark2:#242928;
  --txt:#1A1F1E;--txt2:#6B7370;--txt-m:#9BA3A0;--txt-l:#F2F0EC;
  --ac:#5FBFAF;--ac-h:#4DA89A;--ac-r:95,191,175;--ac2:#D96A8C;--ac2-r:217,106,140;
  --gl:rgba(95,191,175,.04);--gl-b:rgba(95,191,175,.10);
  --f-d:'Lora',Georgia,serif;--f-body:'Lato',system-ui,sans-serif;--f-m:'Space Mono',monospace;
  --mw:1200px;--r:12px;--r-s:8px;--ease:cubic-bezier(.4,0,.2,1);--t:.3s var(--ease);
}

h1,h2,h3,h4{font-family:var(--f-d);font-weight:400;line-height:1.1;color:var(--txt)}
h1{font-size:clamp(3rem,10vw,6.5rem);letter-spacing:-.03em}
h2{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.02em}
h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}
p{font-size:1rem;font-weight:300}
.lab{font-family:var(--f-body);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ac)}

.wrap{max-width:var(--mw);margin:0 auto;padding:0 clamp(1.25rem,5vw,2rem)}
.sec{padding:clamp(5rem,10vw,9rem) 0}
.sec--d{background:var(--dark);color:var(--txt-l)}
.sec--d h2,.sec--d h3,.sec--d p{color:var(--txt-l)}
.sec--d .lab{color:var(--ac)}
.sec--d .t2{color:rgba(242,240,236,.5)}
.sec--a{background:var(--bg2)}
.t2{color:var(--txt2)}
.sh{text-align:center;margin-bottom:clamp(3rem,6vw,4.5rem)}
.sh .lab{margin-bottom:.6rem;display:block}
.sh h2{margin-bottom:.5rem}
.sh p{color:var(--txt2);max-width:480px;margin:.75rem auto 0;font-weight:300;font-size:15px}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-body);font-weight:500;font-size:14px;padding:.8rem 1.8rem;border-radius:50px;border:1.5px solid var(--ac);color:var(--ac);background:transparent;transition:all var(--t);cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--ac);color:var(--bg);transform:translateY(-1px)}
.btn svg{width:16px;height:16px;flex-shrink:0}
.btn--gl{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.9);backdrop-filter:blur(8px);background:rgba(255,255,255,.05)}
.btn--gl:hover{background:var(--ac);border-color:var(--ac);color:var(--dark)}
.btn--ac{border-color:var(--ac);color:var(--ac);background:rgba(var(--ac-r),.06)}
.btn--ac:hover{background:var(--ac);color:var(--dark)}

.hd{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .5s var(--ease),background .4s,border-color .4s;background:transparent;border-bottom:1px solid transparent}
.hd.solid{background:rgba(250,250,248,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(26,31,30,.04)}
.hd.hide{transform:translateY(-100%)}
.hd__in{max-width:var(--mw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem clamp(1.25rem,5vw,2rem)}
.hd__logo img{height:40px!important;width:auto!important;max-width:none!important;transition:filter .3s}
.hd:not(.solid) .hd__logo img{filter:brightness(1.4) drop-shadow(0 1px 4px rgba(0,0,0,.2))}
.hd__nav{display:flex;gap:2rem}
.hd__nav a{font-family:var(--f-body);font-weight:400;font-size:14px;color:var(--txt2);transition:color var(--t)}
.hd__nav a:hover{color:var(--ac)}
.hd:not(.solid) .hd__nav a{color:rgba(255,255,255,.7)}
.hd:not(.solid) .hd__nav a:hover{color:#fff}
.hd__r{display:flex;align-items:center;gap:.75rem}
.hd__ph{font-family:var(--f-m);font-size:13px;color:var(--ac);display:flex;align-items:center;gap:.35rem}
.hd:not(.solid) .hd__ph{color:rgba(255,255,255,.85)}
.hd__ph svg{width:14px;height:14px}
.hd:not(.solid) .hd__btn{border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.9)}
.bur{display:none;flex-direction:column;gap:5px;padding:6px;cursor:pointer}
.bur span{width:22px;height:1.5px;background:var(--txt);transition:all var(--t);border-radius:1px}
.bur.on span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.bur.on span:nth-child(2){opacity:0}
.bur.on span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}
.hd:not(.solid) .bur span{background:#fff}
.mnav{position:fixed;inset:0;background:rgba(250,250,248,.97);backdrop-filter:blur(24px);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;opacity:0;visibility:hidden;transition:all .4s var(--ease)}
.mnav.on{opacity:1;visibility:visible}
.mnav a{font-family:var(--f-d);font-size:1.6rem;font-weight:400;color:var(--txt)}
@media(max-width:900px){.hd__nav,.hd__r{display:none}.bur{display:flex}}

.cur{position:fixed;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:.6;transition:opacity .3s}
.cur svg{width:24px;height:24px;color:var(--ac);transition:transform .3s}
.cur.hov svg{transform:scale(1.8)}
@media(pointer:coarse){.cur{display:none}}

.flt{position:fixed;bottom:1.25rem;right:1.25rem;z-index:998}
.flt__b{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ac);box-shadow:0 4px 20px rgba(var(--ac-r),.3);transition:all var(--t);border:none;text-decoration:none}
.flt__b:hover{transform:scale(1.08)}
.flt__b svg{width:24px;height:24px;color:#fff}

.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--dark)}
.hero__bg{position:absolute;inset:0;z-index:1}
.hero__bg img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 35%!important;position:absolute!important;inset:0!important;will-change:transform;display:block!important}
.hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,31,30,.1) 0%,rgba(26,31,30,.25) 35%,rgba(26,31,30,.8) 70%,rgba(26,31,30,.95) 100%)}
.hero__in{position:relative;z-index:2;max-width:var(--mw);width:100%;margin:0 auto;padding:0 clamp(1.25rem,5vw,2rem) clamp(3rem,6vw,5rem)}
.hero h1{color:#fff;margin-bottom:1rem;max-width:750px;text-shadow:0 4px 30px rgba(0,0,0,.15)}
.hero__sub{color:rgba(255,255,255,.7);font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.7;margin-bottom:2rem;max-width:520px}
.hero__pills{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}
.pill{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:50px;padding:.35rem .8rem}
.pill svg{width:13px;height:13px;flex-shrink:0}
.pill span{font-family:var(--f-m);font-size:11px;color:rgba(255,255,255,.85)}
.pill--g svg{color:#F59E0B}
.pill--a svg{color:var(--ac)}
.hero__ctas{display:flex;gap:.75rem;flex-wrap:wrap}
@media(max-width:768px){.hero h1{font-size:clamp(2.4rem,9vw,3.5rem)}}

.trust{background:var(--dark);padding:1.1rem 0}
.trust__in{max-width:var(--mw);margin:0 auto;padding:0 clamp(1.25rem,5vw,2rem);display:flex;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap}
.trust__i{display:flex;align-items:center;gap:.5rem;color:var(--txt-l)}
.trust__i svg{width:16px;height:16px;color:var(--ac);opacity:.7;flex-shrink:0}
.trust__v{font-family:var(--f-m);font-size:1rem}
.trust__l{font-size:12px;font-weight:300;opacity:.6}

.story{display:grid;grid-template-columns:1fr 1fr;min-height:50vh;overflow:hidden}
.story--rev{direction:rtl}
.story--rev>*{direction:ltr}
.story__img{position:relative;overflow:hidden;min-height:380px}
.story__img img{width:100%!important;height:100%!important;object-fit:cover!important;position:absolute!important;inset:0!important;will-change:transform;display:block!important}
.story__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3.5rem)}
.story__body .lab{margin-bottom:.75rem}
.story__body h2{margin-bottom:1rem;font-size:clamp(1.6rem,3vw,2.2rem)}
.story__body p{color:var(--txt2);line-height:1.8;margin-bottom:.75rem;font-size:15px}
.story__proof{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.story__badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:50px;border:1px solid var(--gl-b);font-size:11px;font-weight:500;color:var(--ac);letter-spacing:.02em}
.story__badge svg{width:13px;height:13px}
.story--d{background:var(--dark)}
.story--d .story__body h2{color:var(--txt-l)}
.story--d .story__body p{color:rgba(242,240,236,.55)}
.story--d .story__badge{border-color:rgba(var(--ac-r),.15);color:var(--ac)}
@media(max-width:768px){.story{grid-template-columns:1fr}.story--rev{direction:ltr}.story__img{min-height:45vw}}

.rev-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem}
.rev-track::-webkit-scrollbar{display:none}
.rev{flex:0 0 clamp(280px,38vw,360px);scroll-snap-align:start;padding:2rem;border:1px solid rgba(26,31,30,.06);border-radius:var(--r);background:var(--bg3)}
.rev__s{color:#F59E0B;font-size:13px;margin-bottom:.75rem;letter-spacing:2px}
.rev__t{font-family:var(--f-d);font-size:clamp(.95rem,1.5vw,1.05rem);font-weight:400;font-style:italic;line-height:1.8;margin-bottom:1rem}
.rev__a{font-family:var(--f-m);font-size:12px;color:var(--txt-m)}

.team-eq{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}
.team-eq__m{text-align:center}
.team-eq__ph{width:clamp(100px,12vw,140px);height:clamp(100px,12vw,140px);border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:2px solid var(--gl-b)}
.team-eq__ph img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.team-eq__m h3{font-size:1rem;margin-bottom:.25rem}
.team-eq__m .t2{font-size:12px;line-height:1.5;margin-bottom:.5rem}
@media(max-width:900px){.team-eq{grid-template-columns:repeat(3,1fr)}}
@media(max-width:550px){.team-eq{grid-template-columns:repeat(2,1fr)}}

.svc-all{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.svc-card{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--dark);display:block;border:1px solid rgba(var(--ac-r),.0);transition:border-color .6s var(--ease),box-shadow .6s var(--ease)}
.svc-card.is-visible{border-color:rgba(var(--ac-r),.12)}
.svc-card:hover{border-color:rgba(var(--ac-r),.3);box-shadow:0 0 30px rgba(var(--ac-r),.08),0 12px 40px rgba(0,0,0,.15)}
.svc-card img{width:100%!important;height:100%!important;object-fit:cover!important;position:absolute!important;inset:0!important;transition:transform 1.2s var(--ease),filter .6s;filter:brightness(.85);display:block!important}
.svc-card:hover img{transform:scale(1.06);filter:brightness(.7)}
.svc-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ac),rgba(var(--ac-r),.3));z-index:3;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.svc-card.is-visible::before{transform:scaleX(1)}
.svc-card:hover::before{background:linear-gradient(90deg,var(--ac),var(--ac2));transform:scaleX(1)}
.svc-card::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 25%,rgba(26,31,30,.9))}
.svc-card__txt{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1.25rem;z-index:2;transform:translateY(4px);transition:transform .5s var(--ease)}
.svc-card:hover .svc-card__txt{transform:translateY(0)}
.svc-card__txt h3{color:#fff;font-size:clamp(1.05rem,1.8vw,1.3rem);margin-bottom:.3rem;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.svc-card__txt p{color:rgba(255,255,255,.55);font-size:12px;font-weight:300;line-height:1.6;max-height:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s;opacity:0}
.svc-card:hover .svc-card__txt p{max-height:60px;opacity:1}
.svc-card--em{border-color:rgba(var(--ac2-r),.1)}
.svc-card--em::before{background:linear-gradient(90deg,var(--ac2),rgba(var(--ac2-r),.3))}
.svc-card--em:hover{border-color:rgba(var(--ac2-r),.3);box-shadow:0 0 30px rgba(var(--ac2-r),.08),0 12px 40px rgba(0,0,0,.15)}
@media(max-width:1024px){.svc-all{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.svc-all{grid-template-columns:1fr}.svc-card{aspect-ratio:16/10}}

.why-g{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.why-c{background:var(--dark2);border:1px solid rgba(242,240,236,.05);border-radius:var(--r);padding:2rem 1.5rem;transition:all var(--t);position:relative;overflow:hidden}
.why-c::after{content:'';position:absolute;inset:0;background:radial-gradient(400px circle at var(--cx,50%) var(--cy,50%),rgba(var(--ac-r),.08),transparent 40%);pointer-events:none;opacity:0;transition:opacity .4s}
.why-c:hover::after{opacity:1}
.why-c:hover{border-color:rgba(var(--ac-r),.15);transform:translateY(-2px)}
.why-c__ic{width:48px;height:48px;border-radius:50%;background:rgba(var(--ac-r),.08);border:1px solid rgba(var(--ac-r),.12);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;color:var(--ac)}
.why-c__ic svg{width:22px;height:22px}
.why-c h3{color:var(--txt-l);font-size:1.1rem;margin-bottom:.5rem}
.why-c p{font-size:13px;color:rgba(242,240,236,.45);line-height:1.7;font-weight:300}
@media(max-width:900px){.why-g{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.why-g{grid-template-columns:1fr}}

.cta{text-align:center}
.cta h2{color:var(--txt-l);margin-bottom:.75rem}
.cta p{color:rgba(242,240,236,.5);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto;font-weight:300}
.cta__btns{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}
.cta .map{border-radius:var(--r);overflow:hidden;margin-top:3rem;height:280px;border:1px solid rgba(242,240,236,.06)}
.cta .map iframe{width:100%;height:100%;border:0;filter:grayscale(.3)}

.ft{background:var(--dark);color:var(--txt-l);padding:clamp(3rem,6vw,5rem) 0 1.5rem;border-top:1px solid rgba(242,240,236,.04)}
.ft__g{max-width:var(--mw);margin:0 auto;padding:0 clamp(1.25rem,5vw,2rem);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
.ft h4{font-family:var(--f-body);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1rem;color:var(--ac)}
.ft p,.ft a{font-size:13px;line-height:1.9;color:rgba(242,240,236,.45);font-weight:300}
.ft a:hover{color:var(--ac)}
.ft__b{max-width:var(--mw);margin:2rem auto 0;padding:2rem clamp(1.25rem,5vw,2rem) 0;border-top:1px solid rgba(242,240,236,.05);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}
.ft__b p{font-size:11px;color:rgba(242,240,236,.25)}
.ft__soc{display:flex;gap:.6rem}
.ft__soc a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(242,240,236,.08);display:flex;align-items:center;justify-content:center;transition:all var(--t)}
.ft__soc a:hover{border-color:var(--ac);background:rgba(var(--ac-r),.08)}
.ft__soc svg{width:14px;height:14px;color:rgba(242,240,236,.35)}
.ft__soc a:hover svg{color:var(--ac)}
@media(max-width:768px){.ft__g{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ft__g{grid-template-columns:1fr}}

.gl{height:1px;max-width:120px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--ac),transparent);transform-origin:center}

.bread{padding-top:calc(70px + 1.5rem);padding-bottom:0}
.bread__list{display:flex;gap:.4rem;align-items:center;font-family:var(--f-body);font-size:13px;font-weight:300;color:var(--txt-m);flex-wrap:wrap}
.bread__list a{color:var(--txt2);transition:color var(--t)}
.bread__list a:hover{color:var(--ac)}
.bread__sep{color:var(--txt-m);font-size:11px}

.hero-s{padding:clamp(2rem,4vw,3rem) 0 clamp(3rem,6vw,5rem);border-bottom:1px solid rgba(26,31,30,.06)}
.hero-s h1{margin-bottom:1rem;max-width:700px;font-size:clamp(2.2rem,5vw,3.5rem)}
.hero-s__desc{color:var(--txt2);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.8;margin-bottom:2rem;max-width:600px}
.hero-s__ctas{display:flex;gap:.75rem;flex-wrap:wrap}

.pas__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}
.pas__item{padding:2rem;border:1px solid rgba(26,31,30,.06);border-radius:var(--r);background:#fff}
.pas__item h3{margin-bottom:.75rem;color:var(--ac)}
.pas__item p{color:var(--txt2);font-size:15px;line-height:1.8}
.pas__item--p h3{color:var(--ac2)}
.pas__item--a h3{color:#F59E0B}
@media(max-width:768px){.pas__grid{grid-template-columns:1fr}}

.ben-g{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.ben-c{background:var(--bg3);border:1px solid rgba(26,31,30,.06);border-radius:var(--r);padding:2rem;transition:all var(--t)}
.ben-c:hover{border-color:rgba(var(--ac-r),.2);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.04)}
.ben-c h3{margin-bottom:.5rem}
.ben-c p{color:var(--txt2);font-size:14px;line-height:1.8}
@media(max-width:600px){.ben-g{grid-template-columns:1fr}}

.trust-s{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.trust-s__item{display:flex;gap:1rem;align-items:flex-start}
.trust-s__ic{width:40px;height:40px;border-radius:50%;background:rgba(var(--ac-r),.08);border:1px solid rgba(var(--ac-r),.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ac)}
.trust-s__ic svg{width:18px;height:18px}
.trust-s__item h3{font-size:1rem;margin-bottom:.25rem}
.trust-s__item p{color:var(--txt2);font-size:13px;line-height:1.7}
@media(max-width:600px){.trust-s{grid-template-columns:1fr}}

.faq-item{border-bottom:1px solid rgba(26,31,30,.08)}
.faq-q,.faq-question{width:100%;text-align:left;padding:1.25rem 0;font-family:var(--f-d);font-size:clamp(1rem,1.5vw,1.15rem);font-weight:400;color:var(--txt);display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;background:none;border:none}
.faq-q svg,.faq-question svg{width:20px;height:20px;flex-shrink:0;color:var(--ac);transition:transform .3s var(--ease)}
.faq-q.on svg,.faq-question.is-open svg{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a__in{padding:0 0 1.25rem;color:var(--txt2);font-size:15px;line-height:1.8}

.rel-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.rel-c{display:block;border:1px solid rgba(26,31,30,.08);border-radius:var(--r);padding:1.5rem;transition:all var(--t);text-decoration:none}
.rel-c:hover{border-color:rgba(var(--ac-r),.2);transform:translateY(-2px)}
.rel-c h3{margin-bottom:.35rem;font-size:1.05rem}
.rel-c p{color:var(--txt2);font-size:13px;line-height:1.6}
@media(max-width:600px){.rel-g{grid-template-columns:1fr}}

:focus-visible{outline:2px solid var(--ac);outline-offset:3px;border-radius:4px}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ── Footer flex-row fix (ft_main_fix) ───────────────── */
.elementor-787 .elementor-element-ft_main.e-con{flex-direction:row!important;flex-wrap:wrap!important;align-items:flex-start!important;}
.elementor-787 .elementor-element-ft_col1,.elementor-787 .elementor-element-ft_col2,.elementor-787 .elementor-element-ft_col3,.elementor-787 .elementor-element-ft_col4{width:22%!important;min-width:150px;flex:0 0 22%!important;}
.elementor-787 .elementor-element-ft_col1{width:26%!important;flex:0 0 26%!important;}

/* ── Header nav compact ───────────────── */
.elementor-786 .elementor-element-hd_nav .elementor-nav-menu--main{gap:22px!important;}


/* ================================================================
   APP.HTML DESIGN MATCH — Section BG + text overrides
   ================================================================ */

/* 1. TRUST BAR — dark like app.html .trust */
.elementor-element-home_trust_sec {
  background-color: #1A1F1E !important;
}
.elementor-element-home_trust_sec .elementor-counter-number,
.elementor-element-home_trust_sec .elementor-counter-number-wrapper span {
  color: #5FBFAF !important;
  font-family: 'Space Mono', monospace !important;
  font-size: 1.1rem !important;
}
.elementor-element-home_trust_sec .elementor-counter-title {
  color: rgba(242,240,236,.5) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  text-transform: none !important;
}
.elementor-element-home_trust_sec .elementor-heading-title,
.elementor-element-home_trust_sec h2,
.elementor-element-home_trust_sec h3 {
  color: #F2F0EC !important;
}
.elementor-element-home_trust_sec p,
.elementor-element-home_trust_sec .elementor-text-editor {
  color: rgba(242,240,236,.7) !important;
}

/* 2. WHY US SECTIONS — dark like app.html .sec--d */
.elementor-element-home_whyus_intro_sec,
.elementor-element-home_whyus_grid_sec {
  background-color: #1A1F1E !important;
}
.elementor-element-home_whyus_intro_sec .elementor-heading-title,
.elementor-element-home_whyus_grid_sec .elementor-heading-title {
  color: #F2F0EC !important;
}
.elementor-element-home_whyus_intro_sec p,
.elementor-element-home_whyus_grid_sec p,
.elementor-element-home_whyus_intro_sec .elementor-text-editor,
.elementor-element-home_whyus_grid_sec .elementor-text-editor {
  color: rgba(242,240,236,.65) !important;
}
.elementor-element-home_whyus_grid_sec .elementor-column > .elementor-widget-wrap.elementor-element-populated {
  background: rgba(36,41,40,.95) !important;
  border: 1px solid rgba(242,240,236,.05) !important;
  border-radius: 12px !important;
  padding: 2rem 1.5rem !important;
  transition: border-color .3s, transform .3s !important;
}
.elementor-element-home_whyus_grid_sec .elementor-column > .elementor-widget-wrap.elementor-element-populated:hover {
  border-color: rgba(95,191,175,.15) !important;
  transform: translateY(-2px) !important;
}

/* 3. REVIEWS SECTIONS — beige like app.html .sec--a */
.elementor-element-home_reviews_intro_sec,
.elementor-element-home_reviews_grid_sec {
  background-color: #F2F0EC !important;
}
.elementor-element-home_reviews_grid_sec .elementor-column > .elementor-widget-wrap.elementor-element-populated {
  background: #fff !important;
  border: 1px solid rgba(26,31,30,.06) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  transition: box-shadow .3s, transform .3s !important;
}
.elementor-element-home_reviews_grid_sec .elementor-column > .elementor-widget-wrap.elementor-element-populated:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,.06) !important;
  transform: translateY(-2px) !important;
}

/* ================================================================
   LOGO — SVG inline text logo (teal, visible on light/dark)
   ================================================================ */
.elementor-element-hd_logo img {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155 38'%3E%3Ctext x='0' y='28' font-family='Georgia%2Cserif' font-size='22' font-weight='400' fill='%235FBFAF' letter-spacing='-0.02em'%3EHuellas%3C/text%3E%3C/svg%3E") !important;
  height: 34px !important;
  width: auto !important;
  max-width: 160px !important;
}
/* Footer logo: same style */
.elementor-location-footer img[src*="logo.svg"] {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155 38'%3E%3Ctext x='0' y='28' font-family='Georgia%2Cserif' font-size='22' font-weight='400' fill='%235FBFAF' letter-spacing='-0.02em'%3EHuellas%3C/text%3E%3C/svg%3E") !important;
  height: 28px !important;
  width: auto !important;
}

/* ================================================================
   BUTTON STYLES — Outline style matching app.html .btn
   ================================================================ */
.elementor-button,
a.elementor-button {
  background: transparent !important;
  border: 1.5px solid #5FBFAF !important;
  color: #5FBFAF !important;
  border-radius: 50px !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: .75rem 1.8rem !important;
  transition: background .3s, color .3s, transform .3s, box-shadow .3s !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.elementor-button:hover,
a.elementor-button:hover {
  background: #5FBFAF !important;
  color: #1A1F1E !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(95,191,175,.25) !important;
}
.elementor-button .elementor-button-text {
  color: inherit !important;
}
/* Hero — glass button on dark */
.elementor-element-home_hero_sec .elementor-button,
.elementor-element-home_hero_sec a.elementor-button {
  border-color: rgba(255,255,255,.25) !important;
  color: rgba(255,255,255,.9) !important;
  background: rgba(255,255,255,.06) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.elementor-element-home_hero_sec .elementor-button:hover,
.elementor-element-home_hero_sec a.elementor-button:hover {
  background: #5FBFAF !important;
  border-color: #5FBFAF !important;
  color: #1A1F1E !important;
}
/* Dark section buttons */
.elementor-element-home_cta_sec .elementor-button,
.elementor-element-home_cta_sec a.elementor-button,
.elementor-element-home_svc_intro_sec .elementor-button,
.elementor-element-home_svc_intro_sec a.elementor-button {
  border-color: rgba(255,255,255,.2) !important;
  color: rgba(255,255,255,.85) !important;
  background: rgba(255,255,255,.04) !important;
}
.elementor-element-home_cta_sec .elementor-button:hover,
.elementor-element-home_svc_intro_sec .elementor-button:hover {
  background: #5FBFAF !important;
  border-color: #5FBFAF !important;
  color: #1A1F1E !important;
}
/* Header CTA button */
.elementor-element-hd_cta_btn .elementor-button {
  border-color: #5FBFAF !important;
  background: rgba(95,191,175,.08) !important;
  color: #5FBFAF !important;
}
.elementor-element-hd_cta_btn .elementor-button:hover {
  background: #5FBFAF !important;
  color: #1A1F1E !important;
}


/* ===== TYPOGRAPHY FORCE: LORA HEADINGS ===== */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title {
  font-family: 'Lora', Georgia, serif !important;
  font-weight: 400 !important;
}

/* Hero h1 — large serif */
.elementor-element-home_hero_sec .elementor-heading-title {
  font-size: clamp(2.8rem, 7vw, 5.5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  font-weight: 400 !important;
}

/* Section intro headings (services, why-us, reviews) */
.elementor-element-home_svc_intro_sec .elementor-heading-title,
.elementor-element-home_whyus_intro_sec .elementor-heading-title,
.elementor-element-home_reviews_intro_sec .elementor-heading-title,
.elementor-element-home_story_sec .elementor-heading-title {
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  line-height: 1.15 !important;
}

/* Service card titles */
.elementor-element-home_svc_row1_sec .elementor-heading-title,
.elementor-element-home_svc_row2_sec .elementor-heading-title,
.elementor-element-home_svc_row3_sec .elementor-heading-title {
  font-size: clamp(1.1rem, 2vw, 1.4rem) !important;
  letter-spacing: -0.01em !important;
}

/* Why-us card titles */
.elementor-element-home_whyus_grid_sec .elementor-heading-title {
  font-size: 1.3rem !important;
}

/* ===== SERVICE CARDS: teal border on dark bg ===== */
.elementor-element-home_svc_row1_sec .elementor-column > .elementor-widget-wrap,
.elementor-element-home_svc_row2_sec .elementor-column > .elementor-widget-wrap,
.elementor-element-home_svc_row3_sec .elementor-column > .elementor-widget-wrap {
  border: 1px solid rgba(95,191,175,.15) !important;
  border-radius: 8px !important;
  padding: 1.5rem 1.2rem !important;
  transition: border-color .25s, background .25s !important;
}
.elementor-element-home_svc_row1_sec .elementor-column > .elementor-widget-wrap:hover,
.elementor-element-home_svc_row2_sec .elementor-column > .elementor-widget-wrap:hover,
.elementor-element-home_svc_row3_sec .elementor-column > .elementor-widget-wrap:hover {
  border-color: rgba(95,191,175,.5) !important;
  background: rgba(95,191,175,.04) !important;
}

/* Service section text colors (dark bg) */
.elementor-element-home_svc_intro_sec .elementor-heading-title,
.elementor-element-home_svc_row1_sec .elementor-heading-title,
.elementor-element-home_svc_row2_sec .elementor-heading-title,
.elementor-element-home_svc_row3_sec .elementor-heading-title {
  color: #F2F0EC !important;
}
.elementor-element-home_svc_intro_sec p,
.elementor-element-home_svc_row1_sec p,
.elementor-element-home_svc_row2_sec p,
.elementor-element-home_svc_row3_sec p {
  color: rgba(242,240,236,.65) !important;
}

/* Story section (light bg) */
.elementor-element-home_story_sec .elementor-heading-title {
  color: #1A1F1E !important;
}

/* Reviews section text (beige bg) */
.elementor-element-home_reviews_intro_sec .elementor-heading-title,
.elementor-element-home_reviews_grid_sec .elementor-heading-title {
  color: #1A1F1E !important;
}
.elementor-element-home_reviews_intro_sec p,
.elementor-element-home_reviews_grid_sec p {
  color: rgba(26,31,30,.7) !important;
}

/* CTA section (dark bg) */
.elementor-element-home_cta_sec .elementor-heading-title {
  color: #F2F0EC !important;
}
.elementor-element-home_cta_sec p {
  color: rgba(242,240,236,.7) !important;
}


/* ===== IMAGE-BOX WIDGETS: service card titles ===== */
/* Fix JupiterX default blue (#6EC1E4) → our teal (#5FBFAF) */
.elementor-element-home_svc_row1_sec .elementor-image-box-title,
.elementor-element-home_svc_row2_sec .elementor-image-box-title,
.elementor-element-home_svc_row3_sec .elementor-image-box-title {
  color: #5FBFAF !important;
  font-family: 'Lora', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 1.25rem !important;
  margin-bottom: .5rem !important;
}
.elementor-element-home_svc_row1_sec .elementor-image-box-description,
.elementor-element-home_svc_row2_sec .elementor-image-box-description,
.elementor-element-home_svc_row3_sec .elementor-image-box-description {
  color: rgba(242,240,236,.65) !important;
  font-size: .9375rem !important;
  line-height: 1.6 !important;
}
/* Image-box image sizing */
.elementor-element-home_svc_row1_sec .elementor-image-box-img,
.elementor-element-home_svc_row2_sec .elementor-image-box-img,
.elementor-element-home_svc_row3_sec .elementor-image-box-img {
  margin-bottom: 1rem !important;
}
.elementor-element-home_svc_row1_sec .elementor-image-box-img img,
.elementor-element-home_svc_row2_sec .elementor-image-box-img img,
.elementor-element-home_svc_row3_sec .elementor-image-box-img img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  opacity: .85 !important;
  transition: opacity .3s !important;
}
.elementor-element-home_svc_row1_sec .elementor-column:hover .elementor-image-box-img img,
.elementor-element-home_svc_row2_sec .elementor-column:hover .elementor-image-box-img img,
.elementor-element-home_svc_row3_sec .elementor-column:hover .elementor-image-box-img img {
  opacity: 1 !important;
}

/* ===== REVIEW CARDS styling ===== */
.elementor-element-home_reviews_grid_sec .elementor-column > .elementor-widget-wrap {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 1.75rem 1.5rem !important;
  border: 1px solid rgba(26,31,30,.06) !important;
  box-shadow: 0 2px 16px rgba(26,31,30,.06) !important;
}
/* Review text */
.elementor-element-home_reviews_grid_sec p {
  color: rgba(26,31,30,.8) !important;
  font-size: .9375rem !important;
  line-height: 1.65 !important;
  font-style: italic !important;
}
/* Reviewer name */
.elementor-element-home_reviews_grid_sec .elementor-heading-title {
  color: #1A1F1E !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

/* ===== STORY SECTION ===== */
.elementor-element-home_story_sec .elementor-image-box-title {
  color: #1A1F1E !important;
}
.elementor-element-home_story_sec .elementor-image-box-description {
  color: rgba(26,31,30,.7) !important;
}
/* Story stats row */
.elementor-element-home_story_stats_row .elementor-counter-number {
  font-family: 'Space Mono', monospace !important;
  color: #5FBFAF !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
}
.elementor-element-home_story_stats_row .elementor-counter-title {
  color: rgba(26,31,30,.6) !important;
  font-size: .75rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* ===== INTRO SECTION LABELS (eyebrow text) ===== */
.elementor-element-home_svc_intro_sec .elementor-text-editor,
.elementor-element-home_whyus_intro_sec .elementor-text-editor,
.elementor-element-home_reviews_intro_sec .elementor-text-editor,
.elementor-element-home_story_sec .elementor-text-editor {
  font-family: 'Space Mono', monospace !important;
  font-size: .7rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #5FBFAF !important;
}

/* ===== CTA SECTION IMPROVEMENTS ===== */
.elementor-element-home_cta_sec .elementor-heading-title {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  letter-spacing: -.02em !important;
}


/* ============================================
   PATCH #3 — Hero primary button + misc fixes
   ============================================ */

/* Hero PRIMARY button: solid teal */
.elementor-element-home_hero_btn_cita .elementor-button {
  background: #5FBFAF !important;
  color: #fff !important;
  border-color: #5FBFAF !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
}
.elementor-element-home_hero_btn_cita .elementor-button:hover {
  background: #4DA89A !important;
  border-color: #4DA89A !important;
}

/* Nav header CTA button: solid teal pill */
.hd .hd__cta {
  background: #5FBFAF !important;
  color: #fff !important;
  border: none !important;
}
.hd .hd__cta:hover {
  background: #4DA89A !important;
}

/* CTA section: service link buttons */
.elementor-element-home_cta_sec .elementor-button {
  background: #5FBFAF !important;
  color: #fff !important;
  border-color: #5FBFAF !important;
}
.elementor-element-home_cta_sec .elementor-button:hover {
  background: #4DA89A !important;
}

/* Story section counters: keep teal */
.elementor-element-home_story_stats_row .elementor-counter-number,
.elementor-element-home_story_stats_row .elementor-counter-number-wrapper span {
  color: #5FBFAF !important;
}

/* Review cards text: dark on white */
.elementor-element-home_reviews_grid_sec .elementor-heading-title {
  color: #222 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

/* Blog preview section */
.elementor-element-home_blog_sec {
  background-color: #F2F0EC !important;
}

/* Footer */
.elementor-location-footer,
.site-footer,
#footer {
  background-color: #1A1F1E !important;
}


/* =============================================
   WP/Elementor Targeted Patches v6
   ============================================= */

/* ── Overline badges (p.sh = teal uppercase label) ── */
p.sh,
.elementor-widget p.sh,
.sh > .elementor-widget-container > p,
.sh .elementor-text-editor p:first-child {
  color: #5FBFAF !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 0.5rem;
}

/* ── Service cards visual polish ── */
[data-id*="home_svc_row"] .elementor-image-box-wrapper {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(34,34,34,0.07);
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.3s cubic-bezier(0.22,1,0.36,1);
  display: flex;
  flex-direction: column;
  height: 100%;
}
[data-id*="home_svc_row"] .elementor-image-box-wrapper:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(34,34,34,0.13);
}
[data-id*="home_svc_row"] .elementor-image-box-img {
  margin: 0 !important;
  overflow: hidden;
}
[data-id*="home_svc_row"] .elementor-image-box-img img {
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
[data-id*="home_svc_row"] .elementor-image-box-wrapper:hover .elementor-image-box-img img {
  transform: scale(1.04);
}
[data-id*="home_svc_row"] .elementor-image-box-content {
  padding: 1.25rem 1.25rem 1.5rem;
  flex: 1;
}
[data-id*="home_svc_row"] .elementor-image-box-title {
  color: #5FBFAF !important;
  font-size: 1.05rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  margin-bottom: 0.5rem !important;
}
[data-id*="home_svc_row"] .elementor-image-box-title a {
  color: inherit !important;
  text-decoration: none;
}
[data-id*="home_svc_row"] .elementor-image-box-description {
  color: #888888 !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

/* ── Why Us cards ── */
[data-id="home_whyus_grid_sec"] .elementor-column {
  padding: 0 8px;
}
[data-id="home_whyus_grid_sec"] .elementor-widget-wrap {
  background: #ffffff;
  border-radius: 12px;
  padding: 2rem 1.5rem !important;
  box-shadow: 0 2px 12px rgba(34,34,34,0.06);
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
[data-id="home_whyus_grid_sec"] .elementor-widget-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(34,34,34,0.11);
}

/* ── Review cards ── */
[data-id="home_reviews_grid_sec"] .elementor-column > .elementor-widget-wrap {
  background: #ffffff !important;
  border-radius: 12px;
  padding: 1.75rem !important;
  box-shadow: 0 2px 12px rgba(34,34,34,0.06);
}

/* ── Story stats row ── */
[data-id="home_story_stats_row"] {
  background: #222222;
}
[data-id="home_story_stats_row"] .elementor-widget-wrap {
  padding: 2.5rem 1rem !important;
}
[data-id="home_story_stats_row"] .elementor-heading-title,
[data-id="home_story_stats_row"] .elementor-widget-text-editor p {
  color: #fafafa !important;
}

/* ── Teal divider lines (.gl) ── */
.gl, [data-id*="home_"] .gl {
  display: block;
  height: 2px;
  background: #5FBFAF;
  border: none;
  transform-origin: left center;
}

/* ── h-reveal base opacity override: Elementor has higher specificity ── */
/* Use !important only for the initial hidden state */
.elementor-image-box-wrapper.h-reveal:not(.h-revealed) {
  opacity: 0 !important;
  transform: translateY(32px) scale(0.97) !important;
}
p.h-reveal:not(.h-revealed),
.sh.h-reveal:not(.h-revealed) {
  opacity: 0 !important;
  transform: translateY(20px) !important;
}


/* =============================================
   CSS Fixes v7 — Why Us cards + Footer
   ============================================= */

/* ── Why Us: force white cards (override inline Elementor bg) ── */
[data-id="home_whyus_grid_sec"] .elementor-widget-wrap,
.elementor-element-home_whyus_grid_sec .elementor-widget-wrap {
  background-color: #ffffff !important;
  border-radius: 12px !important;
  padding: 2rem 1.5rem !important;
  box-shadow: 0 2px 16px rgba(34,34,34,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
[data-id="home_whyus_grid_sec"] .elementor-widget-wrap:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 32px rgba(34,34,34,0.14) !important;
}
/* Why Us text should be dark on white card */
[data-id="home_whyus_grid_sec"] .elementor-heading-title {
  color: #222222 !important;
}
[data-id="home_whyus_grid_sec"] .elementor-widget-text-editor p,
[data-id="home_whyus_grid_sec"] .elementor-text-editor p {
  color: #555555 !important;
}
/* Why Us icon teal */
[data-id="home_whyus_grid_sec"] .elementor-icon i,
[data-id="home_whyus_grid_sec"] .elementor-icon svg {
  color: #5FBFAF !important;
  fill: #5FBFAF !important;
}

/* ── Footer: dark background ── */
[data-id="home_footer_sec"],
.elementor-location-footer {
  background-color: #1A1F1E !important;
}
[data-id="ft_main"],
[data-id="ft_bar"],
.elementor-element-ft_main,
.elementor-element-ft_bar {
  background-color: transparent !important;
}
/* Footer text colors */
[data-id="home_footer_sec"] .elementor-heading-title,
[data-id="home_footer_sec"] .elementor-text-editor p,
[data-id="home_footer_sec"] p,
[data-id="home_footer_sec"] li,
[data-id="home_footer_sec"] a:not(.elementor-button) {
  color: rgba(250,250,248,0.8) !important;
}
[data-id="home_footer_sec"] h3,
[data-id="home_footer_sec"] h4,
[data-id="home_footer_sec"] .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > p:first-child {
  color: #ffffff !important;
  font-weight: 600;
}
[data-id="home_footer_sec"] a:hover {
  color: #5FBFAF !important;
}
/* Footer bar (copyright) */
[data-id="ft_bar"] {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
}

/* ── Story stats on dark bg ── */
[data-id="home_story_stats_row"] .elementor-counter-number-wrapper span,
[data-id="home_story_stats_row"] .elementor-counter-number {
  color: #5FBFAF !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}
[data-id="home_story_stats_row"] .elementor-counter-title {
  color: rgba(250,250,248,0.7) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
}


/* ── Why Us: FORCE white cards (exact selector override) ── */
.elementor-element-home_whyus_grid_sec .elementor-column > .elementor-widget-wrap.elementor-element-populated {
  background: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(34,34,34,0.10) !important;
  padding: 2rem 1.5rem !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-element-home_whyus_grid_sec .elementor-column > .elementor-widget-wrap.elementor-element-populated:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 32px rgba(34,34,34,0.15) !important;
}
/* Text dark on white card */
.elementor-element-home_whyus_grid_sec .elementor-heading-title {
  color: #222222 !important;
}
.elementor-element-home_whyus_grid_sec .elementor-widget-text-editor p {
  color: #666666 !important;
}
/* Icon stays teal */
.elementor-element-home_whyus_grid_sec .elementor-icon {
  color: #5FBFAF !important;
}


/* ===================================================
   CSS FIXES v8 — Why-Us Visibility + Cards Polish
   =================================================== */

/* --- WHY-US: Fix invisible titles (dark text on dark bg) --- */
[data-id="home_whyus_intro_sec"] h2,
[data-id="home_whyus_intro_sec"] .elementor-heading-title {
  color: #F2F0EC !important;
}
[data-id="home_whyus_intro_sec"] p {
  color: rgba(242,240,236,0.55) !important;
}
[data-id="home_whyus_grid_sec"] .elementor-icon-box-title,
[data-id="home_whyus_grid_sec"] .elementor-icon-box-title span {
  color: #F2F0EC !important;
  font-size: 1.05rem !important;
}
[data-id="home_whyus_grid_sec"] .elementor-icon-box-description {
  color: rgba(242,240,236,0.6) !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}

/* --- WHY-US: Card visual separation from dark bg --- */
[data-id="home_whyus_grid_sec"] .elementor-icon-box-wrapper {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 12px !important;
  padding: 2rem 1.5rem !important;
  transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease !important;
}
[data-id="home_whyus_grid_sec"] .elementor-icon-box-wrapper:hover {
  background: rgba(95,191,175,0.07) !important;
  border-color: rgba(95,191,175,0.18) !important;
  transform: translateY(-2px) !important;
}
[data-id="home_whyus_grid_sec"] .elementor-icon-box-icon .elementor-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: rgba(95,191,175,0.10) !important;
  border: 1px solid rgba(95,191,175,0.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 1.25rem !important;
}

/* --- SERVICE SECTIONS: Ensure white cards are styled correctly --- */
[data-id="home_svc_intro_sec"] h2,
[data-id="home_svc_intro_sec"] .elementor-heading-title {
  color: #F2F0EC !important;
}
[data-id^="home_svc_ib"] .elementor-image-box-wrapper {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 1.75rem 1.5rem !important;
  box-shadow: 0 2px 16px rgba(26,31,30,0.12), 0 1px 4px rgba(26,31,30,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  transition: box-shadow 0.35s ease, transform 0.35s ease !important;
  height: 100% !important;
}
[data-id^="home_svc_ib"] .elementor-image-box-wrapper:hover {
  box-shadow: 0 8px 32px rgba(26,31,30,0.18), 0 2px 8px rgba(26,31,30,0.10) !important;
  transform: translateY(-2px) !important;
}
[data-id^="home_svc_ib"] .elementor-image-box-title {
  color: #5FBFAF !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  font-family: 'Montserrat', sans-serif !important;
  margin-bottom: 0.4rem !important;
}
[data-id^="home_svc_ib"] .elementor-image-box-description {
  color: #6B7370 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}

/* --- STATS ROW: Ensure text visible on dark bg --- */
[data-id="home_story_stats_row"] h2,
[data-id="home_story_stats_row"] h3,
[data-id="home_story_stats_row"] .elementor-heading-title {
  color: #F2F0EC !important;
}
[data-id="home_story_stats_row"] p {
  color: rgba(242,240,236,0.55) !important;
}

/* --- FOOTER HEIGHT FIX: Ensure footer renders --- */
.elementor-location-footer {
  display: block !important;
  min-height: 100px !important;
}
[data-id="home_footer_sec"],
.elementor-location-footer > .elementor-section,
.elementor-location-footer > .e-con {
  background-color: #1A1F1E !important;
}

/* --- OVERLINE LABELS: Ensure visible on light & dark sections --- */
[data-id="home_svc_intro_sec"] p.sh,
[data-id="home_svc_intro_sec"] .elementor-widget-text-editor p {
  color: #5FBFAF !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important;
}


/* ===================================================
   CSS FIXES v9 — Footer Dark Background + Colors
   =================================================== */

/* Elementor footer template: apply dark background */
footer.elementor-787,
footer.elementor.elementor-787 {
  background-color: #1A1F1E !important;
  color: rgba(242,240,236,0.7) !important;
}

/* Footer headings: use brand teal */
footer.elementor-787 .elementor-heading-title,
footer.elementor-787 h1, footer.elementor-787 h2,
footer.elementor-787 h3, footer.elementor-787 h4 {
  color: #5FBFAF !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  margin-bottom: 0.75rem !important;
}

/* Footer text and links */
footer.elementor-787 p,
footer.elementor-787 .elementor-text-editor p,
footer.elementor-787 li {
  color: rgba(242,240,236,0.55) !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
}
footer.elementor-787 a {
  color: rgba(242,240,236,0.55) !important;
  transition: color 0.25s ease !important;
  text-decoration: none !important;
}
footer.elementor-787 a:hover {
  color: #5FBFAF !important;
}

/* Footer bar (copyright strip) */
[data-id="ft_bar"] {
  border-top: 1px solid rgba(242,240,236,0.05) !important;
  margin-top: 1.5rem !important;
  padding-top: 1.5rem !important;
}
[data-id="ft_copy"] p,
[data-id="ft_copy"] .elementor-text-editor p {
  color: rgba(242,240,236,0.25) !important;
  font-size: 11px !important;
}

/* Footer icon list (contact details) */
footer.elementor-787 .elementor-icon-list-text {
  color: rgba(242,240,236,0.55) !important;
}
footer.elementor-787 .elementor-icon-list-icon svg,
footer.elementor-787 .elementor-icon-list-icon i {
  color: #5FBFAF !important;
  fill: #5FBFAF !important;
}

/* Footer nav links */
footer.elementor-787 .elementor-nav-menu a {
  color: rgba(242,240,236,0.55) !important;
}
footer.elementor-787 .elementor-nav-menu a:hover {
  color: #5FBFAF !important;
}

/* Hide the empty .ft footer placeholder */
footer.ft {
  display: none !important;
}


/* ===================================================
   CSS POLISH v10 — Elementor Accordion + Final QA
   =================================================== */

/* --- Elementor Accordion: brand styling --- */
.elementor-accordion .elementor-accordion-item {
  border-bottom: 1px solid rgba(26,31,30,0.08) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
.elementor-accordion .elementor-accordion-title {
  font-family: 'Lora', Georgia, serif !important;
  font-size: clamp(1rem, 1.5vw, 1.1rem) !important;
  font-weight: 400 !important;
  color: #1A1F1E !important;
  padding: 1.25rem 0 !important;
  transition: color 0.25s ease !important;
}
.elementor-accordion .elementor-accordion-title:hover {
  color: #5FBFAF !important;
}
.elementor-accordion .elementor-accordion-icon {
  color: #5FBFAF !important;
}
.elementor-accordion .elementor-accordion-icon svg,
.elementor-accordion .elementor-accordion-icon i {
  color: #5FBFAF !important;
  fill: #5FBFAF !important;
  transition: transform 0.3s ease !important;
}
.elementor-accordion .elementor-tab-content {
  color: #6B7370 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  padding-bottom: 1.25rem !important;
}

/* --- Elementor Image Box: ensure no overflow on mobile --- */
.elementor-image-box-wrapper {
  overflow: hidden !important;
}

/* --- Smooth scroll padding for anchor links --- */
html { scroll-padding-top: 80px; }

/* --- Global link color consistency --- */
a:not([class]) {
  color: #5FBFAF;
  transition: color 0.25s ease;
}
a:not([class]):hover {
  color: #4DA89A;
}

/* --- Elementor Button: brand teal CTAs --- */
.elementor-button.elementor-button-link,
.elementor-widget-button .elementor-button {
  background-color: transparent !important;
  border: 1.5px solid #5FBFAF !important;
  color: #5FBFAF !important;
  border-radius: 50px !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 0.8rem 1.8rem !important;
  transition: all 0.3s ease !important;
  letter-spacing: 0.02em !important;
}
.elementor-button.elementor-button-link:hover,
.elementor-widget-button .elementor-button:hover {
  background-color: #5FBFAF !important;
  color: #1A1F1E !important;
  transform: translateY(-1px) !important;
}

/* Dark sections: CTA buttons should be glass style */
.elementor-section.elementor-section-boxed [style*="background-color: rgb(26, 31, 30)"] .elementor-button,
[data-id="home_cta_sec"] .elementor-button,
[data-id="sv_cta_sec"] .elementor-button,
[data-id="qs_cta_sec"] .elementor-button {
  border-color: rgba(255,255,255,0.25) !important;
  color: rgba(255,255,255,0.9) !important;
  background: rgba(255,255,255,0.05) !important;
  backdrop-filter: blur(8px) !important;
}
[data-id="home_cta_sec"] .elementor-button:hover,
[data-id="sv_cta_sec"] .elementor-button:hover,
[data-id="qs_cta_sec"] .elementor-button:hover {
  background: #5FBFAF !important;
  border-color: #5FBFAF !important;
  color: #1A1F1E !important;
}

/* --- Mobile: ensure floating buttons stack nicely --- */
@media (max-width: 768px) {
  .elementor-image-box-wrapper {
    text-align: left !important;
  }
  .elementor-image-box-img {
    margin-bottom: 0.75rem !important;
  }
}
