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

*{box-sizing:border-box}
html{scroll-behavior:smooth}
:root{--th-text-soft:var(--th-text);--th-text-muted:var(--th-text);--th-border:rgba(15,23,42,.08);--th-nav-text:var(--th-text)}
body.th-sitekit{margin:0;background:var(--th-bg)}
.th-sitekit-root{color:var(--th-text);font-family:var(--th-font, 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);line-height:1.55;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.th-container{width:min(var(--th-container-width,1120px),calc(100% - var(--th-mobile-margin,40px)));margin-inline:auto}
.th-header{top:0;z-index:20;background:color-mix(in srgb,var(--th-header-bg) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--th-border)}
.th-has-sticky-header .th-header{position:sticky}
.th-header__inner{min-height:78px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.th-header-centered .th-header__inner{justify-content:center;flex-wrap:wrap}
.th-header-compact .th-header__inner{min-height:62px}
.th-brand{font-weight:900;text-decoration:none;letter-spacing:-.045em;font-size:22px;color:var(--th-primary)}
.th-brand img{max-height:48px;width:auto}
.th-nav ul,.th-footer ul,.th-fallback-menu,.th-social-links{display:flex;gap:20px;margin:0;padding:0;list-style:none}
.th-nav a,.th-footer a{text-decoration:none;color:var(--th-text-soft);font-weight:700;font-size:14px}
.th-nav a:hover,.th-footer a:hover{color:var(--th-secondary)}
.th-header-cta,.th-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--th-primary);color:#fff;text-decoration:none;font-weight:800;padding:12px 18px;box-shadow:0 12px 30px rgba(15,23,42,.16);border:1px solid transparent;transition:.2s ease}
.th-header-cta{font-size:14px;padding:10px 16px;white-space:nowrap}
.th-button:hover,.th-header-cta:hover{transform:translateY(-1px)}
.th-button--ghost{background:#fff;color:var(--th-primary);border-color:var(--th-border);box-shadow:none}
.th-actions{display:flex;gap:12px;flex-wrap:wrap}
.th-menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.th-menu-toggle span{display:block;width:24px;height:2px;background:var(--th-primary);margin:5px 0;border-radius:10px}
.th-mobile-nav{display:none;border-top:1px solid var(--th-border);padding:14px 0;background:var(--th-header-bg)}
.th-mobile-nav.is-open{display:block}
.th-mobile-nav ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.th-mobile-nav a{text-decoration:none;font-weight:800}
.th-hero{padding:92px 0 72px;overflow:hidden}
.th-hero__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}
.th-hero-centered .th-hero__grid{display:block;text-align:center;max-width:890px}
.th-hero-centered .th-hero__content{margin-inline:auto}
.th-hero-centered .th-actions{justify-content:center}
.th-kicker{display:inline-flex;margin:0 0 14px;color:var(--th-secondary);font-weight:900;font-size:13px;letter-spacing:.045em;text-transform:uppercase}
.th-hero h1{font-size:clamp(40px,6vw,72px);line-height:.97;letter-spacing:-.07em;margin:0 0 24px;color:var(--th-primary);font-weight:900}
.th-hero p{font-size:20px;color:var(--th-text-soft);max-width:660px;margin:0 0 30px}
.th-hero-centered .th-hero p{margin-inline:auto}
.th-hero__visual{min-height:420px;border-radius:var(--th-radius);overflow:hidden;background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(16,24,40,.08));border:1px solid var(--th-border);box-shadow:0 24px 70px var(--th-border)}
.th-hero__visual img{width:100%;height:100%;object-fit:cover;min-height:420px}
.th-hero-placeholder{height:420px;display:grid;place-items:center;text-align:center}
.th-hero-placeholder span{display:block;font-size:48px;font-weight:900;letter-spacing:-.06em;color:var(--th-primary)}
.th-hero-placeholder small{display:block;color:var(--th-text-muted);font-weight:800}
.th-section{padding:var(--th-section-padding,76px) 0}
.th-section--soft{background:#fff;border-block:1px solid var(--th-border)}
.th-section-head{max-width:720px;margin-bottom:30px}
.th-section h2,.th-cta-box h2{font-size:clamp(30px,4vw,48px);line-height:1.03;letter-spacing:-.055em;margin:0 0 14px;color:var(--th-primary);font-weight:900}
.th-section-head p,.th-split p,.th-contact p,.th-cta-box p{font-size:18px;color:var(--th-text-soft);margin:0}
.th-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.th-card{background:#fff;border:1px solid var(--th-border);border-radius:var(--th-radius);padding:26px;box-shadow:0 18px 50px var(--th-border)}
.th-card-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:14px;background:rgba(37,99,235,.1);color:var(--th-secondary);font-weight:900;margin-bottom:22px}
.th-card h3,.th-feature h3{margin:0 0 10px;font-size:22px;letter-spacing:-.035em;color:var(--th-primary);font-weight:900}
.th-card p,.th-feature p{margin:0;color:var(--th-text-muted)}
.th-split,.th-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}
.th-checklist{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.th-checklist li{background:#fff;border:1px solid var(--th-border);border-radius:16px;padding:16px 18px;font-weight:800;color:var(--th-primary)}
.th-feature-list{display:grid;gap:14px}
.th-feature{display:grid;grid-template-columns:.35fr 1fr;gap:24px;align-items:start;background:#fff;border:1px solid var(--th-border);border-radius:var(--th-radius);padding:24px}
.th-cta-section{padding:42px 0}
.th-cta-box{display:flex;justify-content:space-between;align-items:center;gap:28px;background:var(--th-cta-bg);color:var(--th-cta-text);border-radius:calc(var(--th-radius) + 8px);padding:38px;box-shadow:0 24px 70px rgba(15,23,42,.18)}
.th-cta-box h2{color:var(--th-cta-text)}
.th-cta-box p{color:color-mix(in srgb,var(--th-cta-text) 78%,transparent)}
.th-cta-box .th-kicker{color:color-mix(in srgb,var(--th-cta-text) 82%,transparent)}
.th-cta-box .th-button{background:var(--th-cta-button-bg);color:var(--th-cta-button-text)}
.th-contact-box{background:#fff;border:1px solid var(--th-border);border-radius:var(--th-radius);padding:26px;display:grid;gap:12px}
.th-contact-box a,.th-contact-box span{font-weight:800;text-decoration:none;color:var(--th-primary)}
.th-inline-socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.th-inline-socials a{color:var(--th-secondary)}
.th-footer{padding:36px 0;background:var(--th-primary);color:#fff}
.th-footer__inner{display:flex;justify-content:space-between;gap:24px;align-items:center}
.th-footer p{margin:0 0 4px;color:rgba(255,255,255,.86);font-weight:700}
.th-footer small{color:rgba(255,255,255,.58)}
.th-footer a{color:rgba(255,255,255,.76)}
.th-whatsapp{position:fixed;right:20px;bottom:20px;z-index:30;background:#22c55e;color:#fff;text-decoration:none;font-weight:900;border-radius:999px;padding:13px 18px;box-shadow:0 16px 36px rgba(34,197,94,.28)}
.th-content{padding:70px 0}
.th-entry{max-width:780px}
.th-entry h2,.th-entry h3{letter-spacing:-.035em;color:var(--th-primary)}
.th-entry p{color:var(--th-text-soft)}
.th-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.th-post-card{background:#fff;border:1px solid var(--th-border);border-radius:var(--th-radius);padding:22px;box-shadow:0 16px 44px var(--th-border)}
.th-post-card h1{font-size:22px;line-height:1.15;margin:14px 0 8px}
.th-post-card h1 a,.th-read-more{text-decoration:none;color:var(--th-primary);font-weight:900}
.th-post-thumb img,.th-single-thumb img{border-radius:calc(var(--th-radius) - 4px);width:100%}
.th-single h1{font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:-.06em;color:var(--th-primary)}
.th-single-thumb{margin:24px 0}
.th-error-page{text-align:center;min-height:52vh}
@media(max-width:920px){
  .th-nav,.th-header-cta{display:none}
  .th-menu-toggle{display:block}
  .th-hero{padding:54px 0}
  .th-hero__grid,.th-split,.th-contact{grid-template-columns:1fr;gap:28px}
  .th-card-grid,.th-post-grid{grid-template-columns:1fr}
  .th-feature{grid-template-columns:1fr}
  .th-cta-box{display:grid}
  .th-footer__inner{display:grid}
}


/* v0.2.3 - Text color consistency */
.th-sitekit-root p,
.th-sitekit-root li,
.th-sitekit-root span,
.th-sitekit-root small,
.th-sitekit-root .th-entry,
.th-sitekit-root .th-entry p{
  color: inherit;
}

.th-hero p,
.th-section-head p,
.th-split p,
.th-contact p,
.th-cta-box p,
.th-card p,
.th-feature p,
.th-entry p{
  color: var(--th-text-soft);
}

.th-nav a,
.th-mobile-nav a{
  color: var(--th-text-soft);
}

.th-card,
.th-contact-box,
.th-feature,
.th-checklist li,
.th-post-card{
  border-color: var(--th-border);
}

.th-section--soft{
  border-color: var(--th-border);
}

.th-card h3,
.th-feature h3,
.th-checklist li,
.th-contact-box a,
.th-contact-box span,
.th-read-more,
.th-post-card h1 a{
  color: var(--th-primary);
}


/* v0.2.4 - Navigation text color */
.th-header .th-brand,
.th-header .th-nav a,
.th-header .th-mobile-nav a,
.th-header .th-fallback-menu a,
.th-menu-toggle span{
  color: var(--th-nav-text);
}

.th-menu-toggle span{
  background: var(--th-nav-text);
}

.th-header .th-nav a:hover,
.th-header .th-mobile-nav a:hover,
.th-header .th-fallback-menu a:hover{
  color: var(--th-secondary);
}


/* v0.3.2 - Contextual CTA colors and safer accents */
:root{
  --th-cta-bg:var(--th-primary);
  --th-cta-text:#ffffff;
  --th-cta-button-bg:#ffffff;
  --th-cta-button-text:var(--th-primary);
}

.th-card-icon,
.th-preview-cards b{
  background:color-mix(in srgb,var(--th-secondary) 16%, transparent);
}

.th-card-icon{
  color:var(--th-primary);
}

.th-kicker{
  color:var(--th-secondary);
}

.th-cta-box .th-kicker{
  color:color-mix(in srgb,var(--th-cta-text) 82%, transparent);
}


/* v0.3.3 - CTA contrast fix */
.th-sitekit-root .th-cta-box{
  background:var(--th-cta-bg)!important;
  color:var(--th-cta-text)!important;
}

.th-sitekit-root .th-cta-box h2,
.th-sitekit-root .th-cta-box p,
.th-sitekit-root .th-cta-box .th-cta-kicker{
  color:var(--th-cta-text)!important;
}

.th-sitekit-root .th-cta-box .th-button{
  background:var(--th-cta-button-bg)!important;
  color:var(--th-cta-button-text)!important;
}

.th-sitekit-root .th-cta-box .th-button:hover{
  color:var(--th-cta-button-text)!important;
}

.th-sitekit-root .th-cta-box .th-cta-kicker{
  opacity:.82;
}


/* v0.4.0 - Section-scoped color system */
.th-header{background:color-mix(in srgb,var(--th-header-bg) 88%,transparent)}
.th-header-cta{background:var(--th-header-cta-bg);color:var(--th-header-cta-text)}
.th-header-cta:hover{color:var(--th-header-cta-text)}

.th-hero{background:var(--th-hero-bg)}
.th-hero .th-kicker{color:var(--th-hero-kicker)}
.th-hero h1{color:var(--th-hero-title)}
.th-hero p{color:var(--th-hero-text)}
.th-hero .th-button:not(.th-button--ghost){background:var(--th-hero-button-bg);color:var(--th-hero-button-text)}
.th-hero .th-button--ghost{background:var(--th-hero-second-button-bg);color:var(--th-hero-second-button-text)}

#servicios{background:var(--th-services-bg)}
#servicios .th-kicker{color:var(--th-services-text)}
#servicios h2{color:var(--th-services-title)}
#servicios .th-section-head p{color:var(--th-services-text)}
#servicios .th-card{background:var(--th-services-card-bg)}
#servicios .th-card h3{color:var(--th-services-card-title)}
#servicios .th-card p{color:var(--th-services-card-text)}
#servicios .th-card-icon{background:var(--th-services-number-bg);color:var(--th-services-number-text)}

.th-section--soft{background:var(--th-about-bg)}
.th-section--soft .th-kicker{color:var(--th-about-kicker)}
.th-section--soft h2{color:var(--th-about-title)}
.th-section--soft p{color:var(--th-about-text)}
.th-section--soft .th-checklist li{background:var(--th-about-bullet-bg);color:var(--th-about-bullet-text)}

.th-feature-list{color:var(--th-features-text)}
.th-feature{background:var(--th-features-card-bg)}
.th-feature h3{color:var(--th-features-card-title)}
.th-feature p{color:var(--th-features-card-text)}

.th-section:has(.th-feature-list){background:var(--th-features-bg)}
.th-section:has(.th-feature-list) .th-kicker{color:var(--th-features-kicker)}
.th-section:has(.th-feature-list) h2{color:var(--th-features-title)}
.th-section:has(.th-feature-list) .th-section-head p{color:var(--th-features-text)}

#contacto{background:var(--th-contact-bg)}
#contacto .th-kicker{color:var(--th-contact-kicker)}
#contacto h2{color:var(--th-contact-title)}
#contacto p{color:var(--th-contact-text)}
#contacto .th-contact-box{background:var(--th-contact-box-bg)}
#contacto .th-contact-box a,
#contacto .th-contact-box span{color:var(--th-contact-box-text)}

.th-footer{background:var(--th-footer-bg);color:var(--th-footer-text)}
.th-footer p,.th-footer small{color:var(--th-footer-text)}
.th-footer a{color:var(--th-footer-link)}




/* v0.4.3 - Services kicker restored */
#servicios .th-services-kicker,
#servicios .th-kicker{
  color:var(--th-services-kicker)!important;
}


/* v0.4.4 - CTA section background */
.th-cta-section{
  background:var(--th-cta-section-bg);
}


/* v0.4.5 - Benefits scoped colors fix */
.th-features-section{
  background:var(--th-features-bg)!important;
}

.th-features-section .th-features-kicker,
.th-features-section .th-kicker{
  color:var(--th-features-kicker)!important;
}

.th-features-section h2{
  color:var(--th-features-title)!important;
}

.th-features-section .th-section-head p{
  color:var(--th-features-text)!important;
}

.th-features-section .th-feature{
  background:var(--th-features-card-bg)!important;
}

.th-features-section .th-feature h3{
  color:var(--th-features-card-title)!important;
}

.th-features-section .th-feature p{
  color:var(--th-features-card-text)!important;
}


/* v0.5.0 - Strong section color scope */
#servicios .th-services-kicker,
#servicios .th-kicker{
  color:var(--th-services-kicker)!important;
}

.th-features-section .th-features-kicker,
.th-features-section .th-kicker{
  color:var(--th-features-kicker)!important;
}


/* v0.5.2 - Header/Footer logos */
.th-brand img{
  width:auto;
  object-fit:contain;
}

.th-footer-brand{
  display:grid;
  gap:8px;
}

.th-footer-brand img{
  width:auto;
  object-fit:contain;
  margin-bottom:4px;
}


/* v0.5.3 - Global layout controls */
.th-hero{
  padding:calc(var(--th-section-padding,76px) + 16px) 0 var(--th-section-padding,76px);
}

.th-card,
.th-contact-box,
.th-feature,
.th-post-card{
  box-shadow:0 var(--th-card-shadow,18px) 50px rgba(15,23,42,.08);
}


/* v0.5.4 - Contact and social icons */
.th-contact-box{
  gap:14px;
}

.th-contact-item{
  display:flex;
  align-items:center;
  gap:10px;
  line-height:1.25;
}

.th-contact-item .th-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:color-mix(in srgb,var(--th-contact-box-text) 10%, transparent);
  color:var(--th-contact-box-text);
}

.th-contact-item .th-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.th-contact-item .th-icon-facebook svg,
.th-contact-item .th-icon-linkedin svg{
  fill:currentColor;
  stroke:none;
}

.th-contact-item .th-icon-youtube svg path:first-child{
  fill:currentColor;
  stroke:none;
}

.th-contact-item .th-icon-youtube svg path:last-child{
  fill:var(--th-contact-box-bg);
  stroke:none;
}

.th-inline-socials{
  display:grid;
  gap:12px;
  margin-top:4px;
}

.th-inline-socials .th-contact-item{
  color:var(--th-contact-box-text);
}


/* v0.6.0 - Hero v2 modes */
.th-hero{
  position:relative;
  min-height:var(--th-hero-min-height,620px);
  display:flex;
  align-items:center;
  background-color:var(--th-hero-bg);
  background-image:var(--th-hero-bg-image);
  background-size:cover;
  background-position:var(--th-hero-bg-position, center center);
}

.th-hero-overlay{
  display:none;
  position:absolute;
  inset:0;
  background:var(--th-hero-overlay,#000);
  opacity:var(--th-hero-overlay-opacity,.35);
  pointer-events:none;
}

.th-hero > .th-container{
  position:relative;
  z-index:1;
}

.th-hero-mode-background,
.th-hero-mode-background-card{
  background-image:var(--th-hero-bg-image);
  color:var(--th-hero-text);
}

.th-hero-mode-background .th-hero-overlay,
.th-hero-mode-background-card .th-hero-overlay{
  display:block;
}

.th-hero-mode-background .th-hero__grid{
  display:block;
  max-width:900px;
}

.th-hero-mode-background .th-hero__content{
  max-width:760px;
}

.th-hero-mode-background.th-hero-centered .th-hero__grid,
.th-hero-mode-background-card.th-hero-centered .th-hero__grid{
  text-align:center;
  margin-inline:auto;
}

.th-hero-mode-background.th-hero-centered .th-actions,
.th-hero-mode-background-card.th-hero-centered .th-actions{
  justify-content:center;
}

.th-hero-mode-background-card .th-hero__visual{
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
}

.th-hero-hide-inline .th-hero__grid{
  display:block;
  max-width:900px;
}

.th-hero-hide-inline .th-hero__visual{
  display:none!important;
}

@media(max-width:860px){
  .th-hero{
    min-height:auto;
  }
}


/* v0.6.1 - Header mounted over Hero */
.th-header-over-hero .th-header{
  margin-bottom:-78px;
}

.th-header-over-hero.th-header-compact .th-header{
  margin-bottom:-62px;
}

.th-header-over-hero.th-header-centered .th-header{
  margin-bottom:-96px;
}

.th-header-over-hero .th-hero{
  padding-top:calc(var(--th-section-padding,76px) + 78px);
}

.th-header-over-hero.th-header-compact .th-hero{
  padding-top:calc(var(--th-section-padding,76px) + 62px);
}

.th-header-over-hero.th-header-centered .th-hero{
  padding-top:calc(var(--th-section-padding,76px) + 96px);
}

/* Logged-in WordPress admin bar compatibility */
.admin-bar.th-header-over-hero .th-header{
  top:32px;
}

@media(max-width:782px){
  .admin-bar.th-header-over-hero .th-header{
    top:46px;
  }
}

@media(max-width:860px){
  .th-header-over-hero .th-header,
  .th-header-over-hero.th-header-compact .th-header,
  .th-header-over-hero.th-header-centered .th-header{
    margin-bottom:-70px;
  }

  .th-header-over-hero .th-hero,
  .th-header-over-hero.th-header-compact .th-hero,
  .th-header-over-hero.th-header-centered .th-hero{
    padding-top:calc(var(--th-section-padding,76px) + 70px);
  }
}


/* v0.6.2 - Mobile menu overlay */
.th-header{
  position:relative;
}

.th-has-sticky-header .th-header{
  position:sticky;
}

.th-mobile-nav{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:40;
  background:var(--th-header-bg);
  border-top:1px solid color-mix(in srgb,var(--th-nav-text) 12%, transparent);
  border-bottom:1px solid color-mix(in srgb,var(--th-nav-text) 12%, transparent);
  box-shadow:0 22px 60px rgba(15,23,42,.22);
  padding:16px 0;
}

.th-mobile-nav.is-open{
  display:block;
}

.th-mobile-nav ul{
  gap:0;
}

.th-mobile-nav li{
  display:block;
}

.th-mobile-nav a{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:6px 0;
  color:var(--th-nav-text);
}

.th-header-over-hero .th-mobile-nav{
  background:var(--th-header-bg);
}

/* Prevent mobile menu from pushing the Hero/content */
.th-header .th-mobile-nav{
  transform:translateZ(0);
}

@media(min-width:921px){
  .th-mobile-nav{
    display:none!important;
  }
}


/* v0.6.12 - Hero split mode must ignore background image */
.th-hero-mode-split{
  background-image:none!important;
  background-color:var(--th-hero-bg)!important;
}

.th-hero-mode-split .th-hero-overlay{
  display:none!important;
}


/* v0.6.13 - Hero centered split spacing */
.th-hero-mode-split.th-hero-centered .th-hero__grid{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.th-hero-mode-split.th-hero-centered .th-hero__content{
  max-width:860px;
  margin-inline:auto;
}

.th-hero-mode-split.th-hero-centered .th-actions{
  justify-content:center;
  margin-top:24px;
  margin-bottom:52px;
}

.th-hero-mode-split.th-hero-centered .th-hero__visual{
  width:min(760px, 100%);
  margin-inline:auto;
}

.th-hero-mode-split.th-hero-centered .th-hero__visual img,
.th-hero-mode-split.th-hero-centered .th-hero-placeholder{
  width:100%;
}

@media(max-width:860px){
  .th-hero-mode-split.th-hero-centered .th-actions{
    margin-bottom:34px;
  }
}


/* v0.6.15 - Extra spacing above inline image in centered split hero */
.th-hero-mode-split.th-hero-centered .th-hero__visual{
  width:min(760px, 100%);
  margin-inline:auto;
  margin-top:50px;
}

@media(max-width:860px){
  .th-hero-mode-split.th-hero-centered .th-hero__visual{
    margin-top:34px;
  }
}


/* v0.6.16 - Real Hero centered split spacing fix */
.th-hero.th-hero-mode-split.th-hero-centered .th-hero__grid{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}

.th-hero.th-hero-mode-split.th-hero-centered .th-hero__content{
  max-width:900px!important;
  margin-inline:auto!important;
}

.th-hero.th-hero-mode-split.th-hero-centered .th-actions{
  justify-content:center!important;
  margin-top:24px!important;
}

.th-hero.th-hero-mode-split.th-hero-centered .th-hero__visual{
  width:min(760px,100%)!important;
  margin:50px auto 0!important;
}

.th-hero.th-hero-mode-split.th-hero-centered .th-hero__visual img,
.th-hero.th-hero-mode-split.th-hero-centered .th-hero-placeholder{
  width:100%!important;
}

@media(max-width:860px){
  .th-hero.th-hero-mode-split.th-hero-centered .th-hero__visual{
    margin-top:34px!important;
  }
}


/* v0.6.17 - Background + image centered spacing */
.th-hero.th-hero-mode-background-card.th-hero-centered .th-hero__grid{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}

.th-hero.th-hero-mode-background-card.th-hero-centered .th-hero__content{
  max-width:900px!important;
  margin-inline:auto!important;
}

.th-hero.th-hero-mode-background-card.th-hero-centered .th-actions{
  justify-content:center!important;
  margin-top:24px!important;
}

.th-hero.th-hero-mode-background-card.th-hero-centered .th-hero__visual{
  width:min(760px,100%)!important;
  margin:50px auto 0!important;
}

.th-hero.th-hero-mode-background-card.th-hero-centered .th-hero__visual img,
.th-hero.th-hero-mode-background-card.th-hero-centered .th-hero-placeholder{
  width:100%!important;
}

@media(max-width:860px){
  .th-hero.th-hero-mode-background-card.th-hero-centered .th-hero__visual{
    margin-top:34px!important;
  }
}


/* v0.6.18 - Footer mobile safe area for floating widgets */
@media(max-width:860px){
  .th-footer{
    padding-bottom:120px!important;
  }

  .th-footer__inner{
    gap:26px!important;
  }

  .th-footer nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px!important;
    align-items:start!important;
  }

  .th-footer nav a{
    display:inline-flex!important;
    line-height:1.25!important;
    word-break:break-word!important;
  }

  .th-whatsapp-float,
  .th-floating-whatsapp,
  .th-whatsapp-button{
    bottom:22px!important;
    right:18px!important;
    z-index:80!important;
  }
}

@media(max-width:480px){
  .th-footer{
    padding-bottom:136px!important;
  }

  .th-footer__inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    text-align:left!important;
  }

  .th-footer nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v0.6.19 - Footer mobile links stacked vertically */
@media(max-width:860px){
  .th-footer nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    max-width:100%!important;
  }

  .th-footer nav a{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    line-height:1.25!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
}

@media(max-width:480px){
  .th-footer nav{
    grid-template-columns:1fr!important;
  }
}


/* v0.6.20 - Footer structure and safe area */
.th-footer{
  padding-top:64px;
  padding-bottom:64px;
}

.th-footer__inner{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:34px 56px;
  align-items:start;
}

.th-footer-brand{
  min-width:0;
}

.th-footer-copy{
  grid-column:1 / -1;
  display:block;
  color:var(--th-footer-text);
  opacity:.9;
}

.th-footer nav{
  align-self:start;
}

@media(min-width:861px){
  .th-footer{
    padding-bottom:104px!important;
  }

  .th-footer__inner{
    padding-bottom:18px;
  }

  .th-footer nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:14px 24px;
    max-width:520px;
  }
}

@media(max-width:860px){
  .th-footer{
    padding-top:56px!important;
    padding-bottom:142px!important;
  }

  .th-footer__inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
    text-align:left!important;
  }

  .th-footer-brand{
    display:grid!important;
    gap:10px!important;
  }

  .th-footer-brand::after,
  .th-footer nav::after{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin-top:8px;
    background:color-mix(in srgb,var(--th-footer-text) 16%, transparent);
  }

  .th-footer nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    max-width:100%!important;
  }

  .th-footer nav a{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    line-height:1.25!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  .th-footer-copy{
    grid-column:auto!important;
    line-height:1.45!important;
  }
}

@media(max-width:480px){
  .th-footer{
    padding-bottom:156px!important;
  }
}


/* v0.6.21 - Force footer links stacked on mobile */
@media(max-width:860px){
  .th-footer .th-footer-nav{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
  }

  .th-footer .th-footer-nav a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-height:1.35!important;
  }

  .th-footer .th-footer-nav::after{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin-top:10px;
    background:color-mix(in srgb,var(--th-footer-text) 16%, transparent);
  }
}

/* Keep desktop footer nav horizontal */
@media(min-width:861px){
  .th-footer .th-footer-nav{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    gap:14px 24px!important;
  }

  .th-footer .th-footer-nav a{
    width:auto!important;
  }
}


/* v0.6.22 - Footer menu stack: target WP menu ul/li too */
@media(max-width:860px){
  .th-footer .th-footer-nav,
  .th-footer .th-footer-nav ul,
  .th-footer .th-footer-nav .menu,
  .th-footer .th-footer-nav .menu-footer-container,
  .th-footer .th-footer-nav div{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  .th-footer .th-footer-nav li,
  .th-footer .th-footer-nav .menu-item{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .th-footer .th-footer-nav a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-height:1.35!important;
    text-align:left!important;
  }
}

@media(min-width:861px){
  .th-footer .th-footer-nav ul,
  .th-footer .th-footer-nav .menu{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    gap:14px 24px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
}


/* v0.8.2 - Header nav hover/active color */
.th-nav a:hover,
.th-nav a:focus,
.th-nav .current-menu-item > a,
.th-nav .current_page_item > a,
.th-mobile-nav a:hover,
.th-mobile-nav a:focus,
.th-mobile-nav .current-menu-item > a,
.th-mobile-nav .current_page_item > a{
  color:var(--th-nav-hover)!important;
}


/* v0.8.15 - Header navigation hover/current states */
.th-header .th-nav a,
.th-site-header .th-nav a,
.th-mobile-nav a{
  color:var(--th-nav,#ffffff);
}

.th-header .th-nav a:hover,
.th-header .th-nav a:focus-visible,
.th-site-header .th-nav a:hover,
.th-site-header .th-nav a:focus-visible,
.th-mobile-nav a:hover,
.th-mobile-nav a:focus-visible,
.th-nav li:hover > a,
.th-nav li:focus-within > a{
  color:var(--th-nav-hover,var(--th-nav,#ffffff))!important;
}

.th-header .th-nav .current-menu-item > a,
.th-header .th-nav .current_page_item > a,
.th-header .th-nav .current-menu-ancestor > a,
.th-header .th-nav .current_page_ancestor > a,
.th-header .th-nav .current-menu-parent > a,
.th-header .th-nav .current_page_parent > a,
.th-site-header .th-nav .current-menu-item > a,
.th-site-header .th-nav .current_page_item > a,
.th-site-header .th-nav .current-menu-ancestor > a,
.th-site-header .th-nav .current_page_ancestor > a,
.th-site-header .th-nav .current-menu-parent > a,
.th-site-header .th-nav .current_page_parent > a,
.th-mobile-nav .current-menu-item > a,
.th-mobile-nav .current_page_item > a,
.th-mobile-nav .current-menu-ancestor > a,
.th-mobile-nav .current_page_ancestor > a,
.th-mobile-nav .current-menu-parent > a,
.th-mobile-nav .current_page_parent > a{
  color:var(--th-nav-hover,var(--th-nav,#ffffff))!important;
}

/* WordPress often adds aria-current on current menu links */
.th-nav a[aria-current="page"],
.th-mobile-nav a[aria-current="page"]{
  color:var(--th-nav-hover,var(--th-nav,#ffffff))!important;
}

/* Mark section hash targets while the link is manually focused/clicked */
.th-nav a[href*="#"]:hover,
.th-nav a[href*="#"]:focus-visible,
.th-mobile-nav a[href*="#"]:hover,
.th-mobile-nav a[href*="#"]:focus-visible{
  color:var(--th-nav-hover,var(--th-nav,#ffffff))!important;
}


/* v0.8.17 - Definitive header nav hover/current color */
.th-header a:not(.th-header-cta):hover,
.th-header a:not(.th-header-cta):focus-visible,
.th-site-header a:not(.th-header-cta):hover,
.th-site-header a:not(.th-header-cta):focus-visible,
.th-nav a:hover,
.th-nav a:focus-visible,
.th-nav li:hover > a,
.th-nav li:focus-within > a,
.th-mobile-nav a:hover,
.th-mobile-nav a:focus-visible{
  color:var(--th-nav-hover,var(--th-nav-active,var(--th-nav,#ffffff)))!important;
}

.th-header .current-menu-item > a,
.th-header .current_page_item > a,
.th-header .current-menu-parent > a,
.th-header .current_page_parent > a,
.th-header .current-menu-ancestor > a,
.th-header .current_page_ancestor > a,
.th-site-header .current-menu-item > a,
.th-site-header .current_page_item > a,
.th-site-header .current-menu-parent > a,
.th-site-header .current_page_parent > a,
.th-site-header .current-menu-ancestor > a,
.th-site-header .current_page_ancestor > a,
.th-nav .current-menu-item > a,
.th-nav .current_page_item > a,
.th-nav .current-menu-parent > a,
.th-nav .current_page_parent > a,
.th-nav .current-menu-ancestor > a,
.th-nav .current_page_ancestor > a,
.th-nav a[aria-current="page"],
.th-mobile-nav a[aria-current="page"]{
  color:var(--th-nav-hover,var(--th-nav-active,var(--th-nav,#ffffff)))!important;
}

/* Do not apply nav hover color to header CTA */
.th-header .th-header-cta,
.th-site-header .th-header-cta,
.th-header .th-header-cta:hover,
.th-site-header .th-header-cta:hover{
  color:var(--th-header-cta-text,#ffffff)!important;
}


/* v0.8.18 - Definitive active/current navigation color */
body .th-header .th-nav .current-menu-item > a,
body .th-header .th-nav .current_page_item > a,
body .th-header .th-nav .current-menu-parent > a,
body .th-header .th-nav .current_page_parent > a,
body .th-header .th-nav .current-menu-ancestor > a,
body .th-header .th-nav .current_page_ancestor > a,
body .th-site-header .th-nav .current-menu-item > a,
body .th-site-header .th-nav .current_page_item > a,
body .th-site-header .th-nav .current-menu-parent > a,
body .th-site-header .th-nav .current_page_parent > a,
body .th-site-header .th-nav .current-menu-ancestor > a,
body .th-site-header .th-nav .current_page_ancestor > a,
body .th-nav .current-menu-item > a,
body .th-nav .current_page_item > a,
body .th-nav .current-menu-parent > a,
body .th-nav .current_page_parent > a,
body .th-nav .current-menu-ancestor > a,
body .th-nav .current_page_ancestor > a,
body .th-nav .menu-item.current-menu-item > a,
body .th-nav .page_item.current_page_item > a,
body .th-nav a[aria-current="page"],
body .th-mobile-nav .current-menu-item > a,
body .th-mobile-nav .current_page_item > a,
body .th-mobile-nav a[aria-current="page"]{
  color:var(--th-nav-hover,var(--th-nav-active,var(--th-header-nav-active,var(--th-nav,#ffffff))))!important;
  opacity:1!important;
}

/* Force normal links to stay in the configured nav color unless active/hover */
body .th-header .th-nav a:not(:hover):not(:focus-visible):not([aria-current="page"]),
body .th-site-header .th-nav a:not(:hover):not(:focus-visible):not([aria-current="page"]),
body .th-mobile-nav a:not(:hover):not(:focus-visible):not([aria-current="page"]){
  color:var(--th-nav,#ffffff);
}

/* Hover must use same active color */
body .th-header .th-nav a:hover,
body .th-header .th-nav a:focus-visible,
body .th-site-header .th-nav a:hover,
body .th-site-header .th-nav a:focus-visible,
body .th-mobile-nav a:hover,
body .th-mobile-nav a:focus-visible{
  color:var(--th-nav-hover,var(--th-nav-active,var(--th-header-nav-active,var(--th-nav,#ffffff))))!important;
  opacity:1!important;
}

/* Header CTA remains independent */
body .th-header .th-header-cta,
body .th-site-header .th-header-cta,
body .th-header .th-header-cta:hover,
body .th-site-header .th-header-cta:hover,
body .th-header .th-header-cta:focus-visible,
body .th-site-header .th-header-cta:focus-visible{
  color:var(--th-header-cta-text,#ffffff)!important;
}


/* v0.8.18 - JS hash active class */
body .th-nav a.th-nav-link-active,
body .th-mobile-nav a.th-nav-link-active{
  color:var(--th-nav-hover,var(--th-nav-active,var(--th-nav,#ffffff)))!important;
  opacity:1!important;
}


/* v0.8.19 - OnePage section-based nav active state */
/* WordPress marks the current page, but in a OnePage menu that creates false active states.
   Active state is now controlled by JS with .th-nav-link-active. */
body .th-header .th-nav .current-menu-item > a:not(.th-nav-link-active),
body .th-header .th-nav .current_page_item > a:not(.th-nav-link-active),
body .th-header .th-nav .current-menu-parent > a:not(.th-nav-link-active),
body .th-header .th-nav .current_page_parent > a:not(.th-nav-link-active),
body .th-header .th-nav .current-menu-ancestor > a:not(.th-nav-link-active),
body .th-header .th-nav .current_page_ancestor > a:not(.th-nav-link-active),
body .th-site-header .th-nav .current-menu-item > a:not(.th-nav-link-active),
body .th-site-header .th-nav .current_page_item > a:not(.th-nav-link-active),
body .th-site-header .th-nav .current-menu-parent > a:not(.th-nav-link-active),
body .th-site-header .th-nav .current_page_parent > a:not(.th-nav-link-active),
body .th-site-header .th-nav .current-menu-ancestor > a:not(.th-nav-link-active),
body .th-site-header .th-nav .current_page_ancestor > a:not(.th-nav-link-active),
body .th-nav .menu-item.current-menu-item > a:not(.th-nav-link-active),
body .th-nav .page_item.current_page_item > a:not(.th-nav-link-active),
body .th-nav a[aria-current="page"]:not(.th-nav-link-active),
body .th-mobile-nav .current-menu-item > a:not(.th-nav-link-active),
body .th-mobile-nav .current_page_item > a:not(.th-nav-link-active),
body .th-mobile-nav a[aria-current="page"]:not(.th-nav-link-active){
  color:var(--th-nav,#ffffff)!important;
  opacity:1!important;
}

body .th-nav a.th-nav-link-active,
body .th-mobile-nav a.th-nav-link-active,
body .th-header .th-nav a.th-nav-link-active,
body .th-site-header .th-nav a.th-nav-link-active{
  color:var(--th-nav-hover,var(--th-nav-active,var(--th-nav,#ffffff)))!important;
  opacity:1!important;
}

body .th-nav a:hover,
body .th-nav a:focus-visible,
body .th-mobile-nav a:hover,
body .th-mobile-nav a:focus-visible{
  color:var(--th-nav-hover,var(--th-nav-active,var(--th-nav,#ffffff)))!important;
}


/* v0.8.20 - Final OnePage navigation active color */
body .th-header .th-nav a,
body .th-site-header .th-nav a,
body .th-mobile-nav a{
  color:var(--th-nav,#ffffff)!important;
}

body .th-header .th-nav a:hover,
body .th-header .th-nav a:focus-visible,
body .th-site-header .th-nav a:hover,
body .th-site-header .th-nav a:focus-visible,
body .th-mobile-nav a:hover,
body .th-mobile-nav a:focus-visible{
  color:var(--th-menu-active,var(--th-nav-hover,#77ff8c))!important;
  opacity:1!important;
}

/* Neutralize WordPress page-current in OnePage menus */
body .th-nav .current-menu-item > a:not(.th-nav-link-active),
body .th-nav .current_page_item > a:not(.th-nav-link-active),
body .th-nav a[aria-current="page"]:not(.th-nav-link-active),
body .th-mobile-nav .current-menu-item > a:not(.th-nav-link-active),
body .th-mobile-nav .current_page_item > a:not(.th-nav-link-active),
body .th-mobile-nav a[aria-current="page"]:not(.th-nav-link-active){
  color:var(--th-nav,#ffffff)!important;
}

/* Only this class is the OnePage active state */
body .th-header .th-nav a.th-nav-link-active,
body .th-site-header .th-nav a.th-nav-link-active,
body .th-nav a.th-nav-link-active,
body .th-mobile-nav a.th-nav-link-active{
  color:var(--th-menu-active,var(--th-nav-hover,#77ff8c))!important;
  opacity:1!important;
}

body .th-header .th-header-cta,
body .th-site-header .th-header-cta,
body .th-header .th-header-cta:hover,
body .th-site-header .th-header-cta:hover{
  color:var(--th-header-cta-text,#052e16)!important;
}


/* v0.8.21 - Final cache-safe OnePage nav color rules */
html body .th-header .th-nav a,
html body .th-site-header .th-nav a,
html body .th-mobile-nav a{
  color:var(--th-nav,#ffffff)!important;
}

html body .th-header .th-nav a:hover,
html body .th-header .th-nav a:focus-visible,
html body .th-site-header .th-nav a:hover,
html body .th-site-header .th-nav a:focus-visible,
html body .th-mobile-nav a:hover,
html body .th-mobile-nav a:focus-visible{
  color:var(--th-menu-active,var(--th-nav-hover,var(--th-secondary,#77ff8c)))!important;
  opacity:1!important;
}

/* Disable WordPress page-current as visual active in OnePage mode */
html body .th-nav .current-menu-item > a:not(.th-nav-link-active),
html body .th-nav .current_page_item > a:not(.th-nav-link-active),
html body .th-nav .current-menu-parent > a:not(.th-nav-link-active),
html body .th-nav .current_page_parent > a:not(.th-nav-link-active),
html body .th-nav .current-menu-ancestor > a:not(.th-nav-link-active),
html body .th-nav .current_page_ancestor > a:not(.th-nav-link-active),
html body .th-nav a[aria-current="page"]:not(.th-nav-link-active),
html body .th-mobile-nav .current-menu-item > a:not(.th-nav-link-active),
html body .th-mobile-nav .current_page_item > a:not(.th-nav-link-active),
html body .th-mobile-nav a[aria-current="page"]:not(.th-nav-link-active){
  color:var(--th-nav,#ffffff)!important;
  opacity:1!important;
}

html body .th-header .th-nav a.th-nav-link-active,
html body .th-site-header .th-nav a.th-nav-link-active,
html body .th-nav a.th-nav-link-active,
html body .th-mobile-nav a.th-nav-link-active{
  color:var(--th-menu-active,var(--th-nav-hover,var(--th-secondary,#77ff8c)))!important;
  opacity:1!important;
}

html body .th-header .th-header-cta,
html body .th-site-header .th-header-cta,
html body .th-header .th-header-cta:hover,
html body .th-site-header .th-header-cta:hover{
  color:var(--th-header-cta-text,#052e16)!important;
}


/* v0.8.22 - Final nav active color: no cyan secondary fallback */
html body .th-header .th-nav a,
html body .th-site-header .th-nav a,
html body .th-mobile-nav a{
  color:var(--th-nav,#ffffff)!important;
}

html body .th-header .th-nav a:hover,
html body .th-header .th-nav a:focus-visible,
html body .th-site-header .th-nav a:hover,
html body .th-site-header .th-nav a:focus-visible,
html body .th-mobile-nav a:hover,
html body .th-mobile-nav a:focus-visible,
html body .th-header .th-nav a.th-nav-link-active,
html body .th-site-header .th-nav a.th-nav-link-active,
html body .th-nav a.th-nav-link-active,
html body .th-mobile-nav a.th-nav-link-active{
  color:var(--th-menu-active,#77ff8c)!important;
  opacity:1!important;
}

html body .th-nav .current-menu-item > a:not(.th-nav-link-active),
html body .th-nav .current_page_item > a:not(.th-nav-link-active),
html body .th-nav .current-menu-parent > a:not(.th-nav-link-active),
html body .th-nav .current_page_parent > a:not(.th-nav-link-active),
html body .th-nav a[aria-current="page"]:not(.th-nav-link-active),
html body .th-mobile-nav .current-menu-item > a:not(.th-nav-link-active),
html body .th-mobile-nav .current_page_item > a:not(.th-nav-link-active),
html body .th-mobile-nav a[aria-current="page"]:not(.th-nav-link-active){
  color:var(--th-nav,#ffffff)!important;
  opacity:1!important;
}

html body .th-header .th-header-cta,
html body .th-site-header .th-header-cta,
html body .th-header .th-header-cta:hover,
html body .th-site-header .th-header-cta:hover{
  color:var(--th-header-cta-text,#052e16)!important;
}


/* v0.8.23 - Static safety net: never use secondary for nav active */
html body .th-header .th-nav a.th-nav-link-active,
html body .th-site-header .th-nav a.th-nav-link-active,
html body .th-nav a.th-nav-link-active,
html body .th-mobile-nav a.th-nav-link-active,
html body .th-header .th-nav a:hover,
html body .th-site-header .th-nav a:hover,
html body .th-mobile-nav a:hover{
  color:var(--th-menu-active,#77ff8c)!important;
}


/* v0.8.27 - Nav active is preset-based, not a manual field */
html body .th-header .th-nav a.th-nav-link-active,
html body .th-site-header .th-nav a.th-nav-link-active,
html body .th-nav a.th-nav-link-active,
html body .th-mobile-nav a.th-nav-link-active,
html body .th-header .th-nav a:hover,
html body .th-site-header .th-nav a:hover,
html body .th-mobile-nav a:hover{
  color:var(--th-menu-active,#54c6ff)!important;
}


/* v0.8.33 - Scoped typography weights.
   No global body/button/.button/p/h1 rules, to avoid affecting plugins like Dialogen. */
body.th-sitekit{
  font-weight:var(--th-font-weight-body,400);
}

.th-sitekit-root h1,
.th-sitekit-root .th-hero h1,
.th-sitekit-root .th-hero-title{
  font-weight:var(--th-font-weight-h1,800)!important;
}

.th-sitekit-root h2,
.th-sitekit-root .th-section-title,
.th-sitekit-root .th-services h2,
.th-sitekit-root .th-about h2,
.th-sitekit-root .th-features h2,
.th-sitekit-root .th-contact h2,
.th-sitekit-root .th-cta h2{
  font-weight:var(--th-font-weight-h2,700)!important;
}

.th-sitekit-root h3,
.th-sitekit-root .th-card h3,
.th-sitekit-root .th-service-card h3,
.th-sitekit-root .th-feature-card h3,
.th-sitekit-root .th-contact-card h3{
  font-weight:var(--th-font-weight-h3,700)!important;
}

body.th-sitekit-root p,
.th-sitekit-root .th-section-text,
.th-sitekit-root .th-hero p,
.th-sitekit-root .th-card p,
.th-sitekit-root .th-service-card p,
.th-sitekit-root .th-feature-card p,
.th-sitekit-root .th-contact p{
  font-weight:var(--th-font-weight-body,400)!important;
}

.th-sitekit-root .th-button,
.th-sitekit-root .th-btn,
.th-sitekit-root .th-actions a,
.th-sitekit-root .th-header-cta,
.th-sitekit-root .th-whatsapp-float,
.th-sitekit-root .th-floating-whatsapp{
  font-weight:var(--th-font-weight-buttons,700)!important;
}

.th-sitekit-root .th-nav a,
.th-sitekit-root .th-mobile-nav a,
.th-sitekit-root .th-footer nav a,
.th-sitekit-root .th-footer-nav a{
  font-weight:var(--th-font-weight-nav,600)!important;
}



/* v0.8.34 - SiteKit isolation.
   Theme styles live inside .th-sitekit-root. External plugins appended outside
   wp_footer, like Dialogen, must not inherit SiteKit typography/color rules. */
.th-sitekit-root{
  color:var(--th-text);
  font-family:var(--th-font, 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

.th-sitekit-root *{
  box-sizing:border-box;
}


/* v0.8.43 clean install defaults */
.th-site-logo img,
.th-header-logo img,
.th-brand img{
  max-height:48px;
  width:auto;
  object-fit:contain;
}

.th-hero-visual img,
.th-hero-image img{
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.th-hero-visual,
.th-hero-image{
  display:flex;
  align-items:center;
  justify-content:center;
}


/* v0.9.16 empty SiteKit state */
.th-empty-sitekit-state{
  min-height:52vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:96px 24px;
  background:var(--th-background,#f8fafc);
  color:var(--th-text,#111827);
  text-align:center;
}

.th-empty-sitekit-state .th-container{
  max-width:720px;
}

.th-empty-sitekit-state h1{
  margin:0 0 12px;
  font-size:clamp(34px,5vw,58px);
  line-height:.95;
  font-weight:800;
  letter-spacing:-.055em;
}

.th-empty-sitekit-state p{
  margin:0 auto;
  max-width:560px;
  font-size:18px;
  line-height:1.6;
  color:var(--th-muted,#475569);
}


/* v0.9.19 empty shell cleanup */
body.th-nav-disabled .th-nav,
body.th-nav-disabled .site-nav,
body.th-nav-disabled .main-navigation{
  display:none !important;
}

body.th-header-cta-disabled .th-header-button,
body.th-header-cta-disabled .th-header-cta,
body.th-header-cta-disabled .th-site-header .th-btn,
body.th-header-cta-disabled .th-site-header .button{
  display:none !important;
}

body.th-footer-empty .th-footer,
body.th-footer-empty .site-footer{
  display:none !important;
}


/* v0.9.23 WP primary menu support */
.th-primary-menu,
.th-nav .menu{
  display:flex;
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
  align-items:center;
}

.th-primary-menu li,
.th-nav .menu li{
  margin:0;
  padding:0;
}

.th-primary-menu a,
.th-nav .menu a{
  text-decoration:none;
  color:var(--th-text-soft);
  font-weight:700;
  font-size:14px;
}

.th-primary-menu a:hover,
.th-nav .menu a:hover{
  color:var(--th-secondary);
}


/* v0.9.25 empty kicker cleanup */
.th-section-kicker:empty,
.th-kicker:empty,
.th-eyebrow:empty,
.th-section-label:empty,
.th-overline:empty{
  display:none !important;
}


/* v0.9.27 contact kicker contrast fallback */
.th-section#contacto .th-kicker,
.th-section[data-section="contacto"] .th-kicker{
  color:var(--th-contact-kicker-color, var(--th-secondary, #54c6ff));
}


/* v0.9.43.56 clean inner pages */
body.th-sitekit-inner-page.th-header-over-hero .th-header,
body.th-sitekit-inner-page.th-header-over-hero.th-header-compact .th-header,
body.th-sitekit-inner-page.th-header-over-hero.th-header-centered .th-header{
  margin-bottom:0 !important;
}

.th-page-main{
  width:100%;
  padding:48px 0 76px;
  background:var(--th-bg);
}

.th-page-main .th-page-container{
  width:min(var(--th-container-width,1280px),calc(100% - var(--th-mobile-margin,40px)));
  max-width:none;
}

.th-page,
.th-page-entry{
  width:100%;
  max-width:none;
}

.th-page-main .th-entry{
  max-width:none;
  width:100%;
}

.th-page-header{
  max-width:920px;
  margin:0 auto 34px;
  text-align:center;
}

.th-page-header h1{
  margin:0;
  color:var(--th-primary);
  font-size:clamp(34px,5vw,58px);
  line-height:1;
  letter-spacing:-.06em;
  font-weight:900;
}

.th-page--shortcode .th-page-entry,
.th-page--fullwidth .th-page-entry{
  max-width:none;
}

.th-page-main .th-page-entry > .turbohost-datasync,
.th-page-main .th-page-entry > [class*="datasync"],
.th-page-main .th-page-entry > [id*="datasync"],
.th-page-main .th-page-entry .turbohost-datasync,
.th-page-main .th-page-entry [class*="datasync"],
.th-page-main .th-page-entry [id*="datasync"]{
  width:100%;
  max-width:100%;
}

.th-page-main .th-page-entry > :first-child{
  margin-top:0;
}

.th-page-main .th-page-entry > :last-child{
  margin-bottom:0;
}

@media(max-width:860px){
  .th-page-main{
    padding:30px 0 56px;
  }

  .th-page-header{
    text-align:left;
    margin-bottom:24px;
  }
}




/* v0.9.43.59 front header z-index without breaking sticky */
.th-header,
body .th-header,
body.th-sitekit-front-page .th-header,
body.th-sitekit-inner-page .th-header{
  z-index:99999 !important;
}

.th-header.is-sticky,
.th-header.is-fixed,
.th-header.is-over-hero,
body.th-header-over-hero .th-header{
  z-index:99999 !important;
}

/* Preserve sticky/fixed behavior instead of overriding it with position:relative */
body.th-header-sticky .th-header,
.th-header.is-sticky{
  position:sticky !important;
  top:0;
}

body.th-header-fixed .th-header,
.th-header.is-fixed{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
}
