/*
Theme Name: 24V v4.8.0
Description: Astra child theme for 24V
Author: 24V
Version: 4.8.0
Template: astra
Text Domain: twentyfourv
*/
:root{--navy:#10263d;--ink:#172b40;--muted:#687789;--orange:#ed7b22;--pale:#f3f5f7;--line:#e0e5e9}
.v4-wrap{width:min(1180px,calc(100% - 40px));margin:auto}.v4-section{padding:76px 0}.v4-pale{background:var(--pale)}
.v4-kicker{color:var(--orange);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.v4-title{font-size:clamp(32px,5vw,58px);line-height:1.08;color:var(--navy);letter-spacing:-.03em}
.v4-lead{font-size:clamp(18px,2vw,23px);line-height:1.6;color:var(--muted);max-width:820px}
.v4-btn{display:inline-flex;background:var(--orange);color:#fff!important;padding:16px 26px;border-radius:99px;font-weight:800;text-decoration:none!important}
.v4-hero{min-height:620px;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;color:#fff}
.v4-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08192ae8,#08192a70)}
.v4-hero__inner{position:relative;padding:80px 0;max-width:900px}.v4-hero h1,.v4-hero h2{color:#fff!important;font-size:clamp(38px,6vw,70px);line-height:1.05}.v4-hero p{color:#f3f6f8;font-size:clamp(18px,2vw,24px);line-height:1.6}
.v4-dots{display:flex;gap:10px;margin-top:24px}.v4-dots button{border:0;border-radius:50%;width:11px;height:11px;background:#ffffff88}.v4-dots button[aria-current=true]{background:var(--orange)}
.v4-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.v4-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.v4-card img{width:100%;height:205px;object-fit:cover}.v4-body{padding:23px;display:flex;flex-direction:column;flex:1}.v4-card h3{font-size:25px;color:var(--navy);margin:8px 0}.v4-card p{color:var(--muted);line-height:1.55}.v4-count{background:#fff1e6;color:#98501c;border-radius:99px;padding:7px 12px;align-self:start;font-weight:800;font-size:13px}.v4-links{padding-left:18px;color:var(--muted);line-height:1.8}.v4-more{color:var(--orange);font-weight:800;text-decoration:none;margin-top:auto}
.v4-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.v4-step{padding:22px;border:1px solid var(--line);border-radius:18px}.v4-step b{font-size:30px;color:var(--orange)}.v4-step p{color:var(--muted)}
.v4-faq{max-width:900px}.v4-faq details{padding:20px 0;border-bottom:1px solid var(--line)}.v4-faq summary{font-weight:800;font-size:18px;cursor:pointer}.v4-faq details p{color:var(--muted);line-height:1.7}
.v4-form{padding:30px;border:1px solid var(--line);border-radius:22px;max-width:850px}.v4-form label{display:block;font-weight:800;margin:0 0 8px}.v4-form input,.v4-form select,.v4-form textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.v4-form textarea{min-height:110px}.v4-formrow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v4-contact{background:var(--navy);color:#fff;border-radius:26px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:24px}.v4-contact h2{color:#fff}.v4-contact p{color:#e1e8ef}
.v4-footer{background:#0b1e31;color:#fff;padding:58px 0 28px}.v4-footgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.v4-footer h2,.v4-footer h3{color:#fff}.v4-footer a,.v4-footer p{color:#d8e1e9}.v4-footer ul{list-style:none;padding:0;display:grid;gap:9px}.v4-footbottom{border-top:1px solid #ffffff30;margin-top:30px;padding-top:20px}
.v4-float{position:fixed;right:16px;bottom:16px;width:56px;height:56px;border-radius:50%;background:#20c866;color:white!important;display:grid;place-items:center;text-decoration:none;font-size:25px;z-index:999;box-shadow:0 6px 20px #0003}
.v4-service{background:var(--pale);padding:65px 0}.v4-content{max-width:900px;margin:auto}.v4-content p,.v4-content li{font-size:17px;line-height:1.8;color:#536274}.v4-note{padding:16px;background:#fff4e9;border-left:4px solid var(--orange)}
@media(max-width:900px){.v4-grid{grid-template-columns:repeat(2,1fr)}.v4-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.v4-wrap{width:calc(100% - 36px)}.v4-section{padding:55px 0}.v4-hero{min-height:560px}.v4-hero h1,.v4-hero h2{font-size:clamp(36px,10vw,49px)}.v4-grid,.v4-steps,.v4-footgrid,.v4-formrow{grid-template-columns:1fr}.v4-card img{height:185px}.v4-contact{display:block;padding:28px 22px}.v4-contact .v4-btn{margin-top:20px}.v4-float{width:52px;height:52px;right:12px;bottom:14px}}


/* V4.3: prevent section labels and form text from being clipped on mobile */
.v4-kicker{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow:visible;
  overflow-wrap:anywhere;
  line-height:1.5;
  font-size:clamp(12px, 2.8vw, 14px);
}
.v4-form,
.v4-form label,
.v4-form select,
.v4-form input,
.v4-form textarea,
#consulta .v4-title,
#consulta .v4-lead{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
#consulta .v4-form{
  overflow:visible;
}
@media(max-width:640px){
  #consulta .v4-kicker{
    letter-spacing:.08em;
    line-height:1.55;
  }
  #consulta .v4-title{
    overflow-wrap:break-word;
    line-height:1.15;
  }
}


/* V4.4 — responsive header, language links, form controls and footer */
:root{--v44-cyan:#20b9f4;--v44-deep:#061629}
html,body{max-width:100%;overflow-x:hidden}
.ast-primary-header-bar .site-logo-img img,
.ast-mobile-header-wrap .site-logo-img img{max-height:48px;width:auto;max-width:min(210px,42vw);object-fit:contain}
.ast-builder-menu-1 .menu-item>.menu-link{padding-inline:12px}
.ast-mobile-popup-content .main-header-menu .menu-item>.menu-link{padding:12px 18px;line-height:1.35}
.v44-lang-menu{display:flex!important;align-items:center;gap:7px;padding:8px 12px!important}
.v44-lang-menu .v44-lang-label{font-size:12px;font-weight:700;opacity:.7;margin-right:3px}
.v44-lang-menu a{display:inline-flex!important;padding:5px 7px!important;border-radius:6px;font-weight:700}
.v44-lang-menu a[aria-current="page"]{background:rgba(32,185,244,.14);color:var(--v44-cyan)!important}
.v4-form select{height:auto;min-height:54px;line-height:1.4;padding:14px 42px 14px 14px!important;white-space:normal;overflow:visible;text-overflow:clip;box-sizing:border-box}
.v4-form option{white-space:normal}
.v4-form label{line-height:1.45}
.v4-card h3,.v4-card h2,.v4-card p,.v4-links li,.v4-links a{overflow-wrap:anywhere;word-break:normal}
.v4-footer{
 position:relative;isolation:isolate;overflow:hidden;
 background-color:#061629;
 background-image:linear-gradient(180deg,rgba(3,15,30,.82),rgba(3,15,30,.94)),url("assets/24v-footer-circuit-background.jpg");
 background-position:center;background-size:cover;background-repeat:no-repeat;
 color:#f4f8fc;padding:58px 0 26px
}
.v4-footer:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,15,30,.45),rgba(3,15,30,.16),rgba(3,15,30,.5));z-index:-1}
.v4-footgrid{display:grid;grid-template-columns:1.15fr 1fr .85fr 1.05fr;gap:28px;align-items:start}
.v4-footer h2,.v4-footer h3{color:#fff;margin:0 0 18px;line-height:1.25}
.v4-footer h3{font-size:20px}
.v4-footer p,.v4-footer li,.v4-footer a{color:#e4edf6;line-height:1.65}
.v4-footer a{text-decoration:none}
.v4-footer a:hover{color:#45c5ff}
.v4-footer .v44-brand{font-size:38px;font-weight:900;letter-spacing:-2px;color:#fff;margin-bottom:4px}
.v4-footer .v44-brand span{color:#27bafa}
.v4-footer .v44-tagline{font-size:14px;font-weight:700;color:#bfeaff;margin:0 0 16px}
.v4-footer .v44-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.v4-footer .v44-social a{width:38px;height:38px;border:1px solid #2caee9;border-radius:50%;display:grid;place-items:center;font-weight:800}
.v4-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.v4-footer .v44-contact-list li{overflow-wrap:anywhere}
.v4-footer .v44-languages{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.v4-footer .v44-languages a{border:1px solid #35bdf6;border-radius:30px;padding:7px 12px}
.v4-footer .v44-languages .current-lang a{background:#087bb5;color:#fff}
.v4-footer .v4-footbottom{border-top:1px solid rgba(53,189,246,.65);margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media(max-width:900px){
 .v4-footgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}
@media(max-width:640px){
 .ast-primary-header-bar .site-logo-img img,.ast-mobile-header-wrap .site-logo-img img{max-height:38px;max-width:150px}
 .v4-footgrid{grid-template-columns:minmax(0,1fr);gap:24px}
 .v4-footer{padding:38px 0 22px;background-position:center;background-image:linear-gradient(180deg,rgba(3,15,30,.9),rgba(3,15,30,.96)),url("assets/24v-footer-circuit-background.jpg")}
 .v4-footer h3{font-size:18px;margin-bottom:10px}
 .v4-footer ul{gap:6px}
 .v4-footer .v44-brand{font-size:32px}
 .v4-footer .v4-footbottom{display:block;margin-top:24px}
 .v4-footer .v4-footbottom>*{display:block;margin:8px 0}
 .v4-form{padding:20px 16px}
 .v4-formrow{grid-template-columns:minmax(0,1fr);gap:0}
 .v4-form select{width:100%;min-height:56px;font-size:16px}
 .v4-form label{font-size:15px}
}


/* V4.4.1 — Astra mobile drawer and compact Polylang rows */
@media(max-width:921px){
 .ast-mobile-popup-drawer .ast-mobile-popup-inner,
 .ast-mobile-popup-drawer .ast-mobile-popup-content{
   background:#071a2d!important;
   color:#f4f8fc!important;
 }
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu ul{
   background:transparent!important;
 }
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li:not(.lang-item){
   display:block!important;
   border-bottom:1px solid rgba(65,184,239,.22)!important;
   margin:0!important;
 }
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li:not(.lang-item) > a{
   color:#f4f8fc!important;
   display:flex!important;
   align-items:center;
   min-height:48px!important;
   padding:11px 22px!important;
   line-height:1.3!important;
   font-size:16px!important;
 }
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li:not(.lang-item) > a:hover,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.current-menu-item > a{
   color:#35bdf6!important;
   background:rgba(32,185,244,.09)!important;
 }
 /* Polylang often outputs each language as its own menu item with a flag only. */
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.lang-item,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.menu-item-language,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.v44-lang-menu{
   display:inline-flex!important;
   vertical-align:middle!important;
   width:auto!important;
   border:0!important;
   margin:12px 4px 8px 0!important;
   padding:0!important;
 }
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.lang-item a,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.menu-item-language a,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.v44-lang-menu a{
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   min-height:38px!important;
   min-width:48px!important;
   padding:7px 11px!important;
   border:1px solid rgba(53,189,246,.75)!important;
   border-radius:22px!important;
   color:#f4f8fc!important;
   background:rgba(10,44,72,.75)!important;
   font-size:14px!important;
   line-height:1.2!important;
 }
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.lang-item a img,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.menu-item-language a img{
   width:18px!important;height:auto!important;margin-right:6px!important;
 }
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.lang-item.current-lang a,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.current-lang a,
 .ast-mobile-popup-drawer .ast-mobile-popup-content .main-header-menu > li.v44-lang-menu a[aria-current="page"]{
   background:#087bb5!important;border-color:#35bdf6!important;color:#fff!important;
 }
}
@media(max-width:640px){
 .v4-footer{
   background-image:
    linear-gradient(180deg,rgba(3,15,30,.68),rgba(3,15,30,.78)),
    url("assets/24v-footer-circuit-background.jpg")!important;
   background-position:center 42%!important;
 }
 .v4-footer:before{background:rgba(3,15,30,.08)!important}
 .v4-footgrid{gap:20px!important}
 .v4-footer .v44-footer-brand{padding-bottom:6px}
 .v4-footer h3{margin-bottom:8px!important}
 .v4-footer .v4-footbottom{padding-bottom:4px}
}


/* V4.4.2 — shorter footer and more visible circuit photo */
.v4-footer{
 background-image:
  linear-gradient(180deg,rgba(3,15,30,.34),rgba(3,15,30,.48)),
  url("assets/24v-footer-circuit-background.jpg")!important;
 background-position:center 46%!important;
}
.v4-footer:before{background:rgba(3,15,30,.04)!important}
.v44-service-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:5px!important}
.v44-service-list li{font-size:14px;line-height:1.35!important}
.v4-footer .v4-footgrid{grid-template-columns:1.1fr 1.1fr .85fr 1fr;gap:20px}
@media(max-width:900px){
 .v4-footer .v4-footgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .v4-footer .v44-footer-brand,.v4-footer .v44-contact-col{grid-column:span 2}
}
@media(max-width:640px){
 .v4-footer{padding:30px 0 18px!important;background-image:linear-gradient(180deg,rgba(3,15,30,.32),rgba(3,15,30,.48)),url("assets/24v-footer-circuit-background.jpg")!important}
 .v4-footer .v4-footgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 14px!important}
 .v4-footer .v44-footer-brand,.v4-footer .v44-contact-col{grid-column:1/-1}
 .v4-footer .v44-brand{font-size:30px!important}
 .v4-footer p{margin:6px 0;font-size:14px;line-height:1.45}
 .v4-footer h3{font-size:16px!important;margin-bottom:8px!important}
 .v4-footer li,.v4-footer a{font-size:13px;line-height:1.4!important}
 .v4-footer .v44-service-list{grid-template-columns:1fr!important;gap:4px!important}
 .v4-footer .v44-languages{margin-top:10px}
 .v4-footer .v4-footbottom{margin-top:18px;padding-top:12px}
 /* Keep Astra's hamburger, but make its purpose visible beside the icon. */
 .ast-mobile-menu-trigger-minimal .ast-mobile-menu-trigger,
 .ast-mobile-menu-trigger-fill .ast-mobile-menu-trigger,
 .ast-mobile-menu-trigger-outline .ast-mobile-menu-trigger{
   display:flex!important;align-items:center;justify-content:center;gap:7px;
 }
 .ast-mobile-menu-trigger .ast-mobile-menu-trigger-minimal,
 .ast-mobile-menu-trigger .ast-mobile-menu-trigger-fill{min-width:64px}
 .ast-mobile-menu-trigger .mobile-menu-toggle-icon:after{
   content:"MENÚ";font-size:11px;font-weight:800;letter-spacing:.04em;line-height:1;
 }
}
/* Astra popup variants: apply to the actual drawer and its menu regardless of theme preset. */
@media(max-width:921px){
 #ast-mobile-popup,
 #ast-mobile-popup .ast-mobile-popup-inner,
 #ast-mobile-popup .ast-mobile-popup-content,
 .ast-mobile-popup-drawer,
 .ast-mobile-popup-drawer .ast-mobile-popup-inner,
 .ast-mobile-popup-drawer .ast-mobile-popup-content{
   background:#071a2d!important;color:#f4f8fc!important;
 }
 #ast-mobile-popup .main-header-menu,
 .ast-mobile-popup-drawer .main-header-menu{background:transparent!important}
 #ast-mobile-popup .main-header-menu>li,
 .ast-mobile-popup-drawer .main-header-menu>li{
   border-bottom:1px solid rgba(53,189,246,.25)!important;
 }
 #ast-mobile-popup .main-header-menu>li>a,
 .ast-mobile-popup-drawer .main-header-menu>li>a{
   color:#f4f8fc!important;background:transparent!important;
   padding:11px 20px!important;min-height:46px!important;
   line-height:1.3!important;font-size:16px!important;
 }
 #ast-mobile-popup .main-header-menu>li>a:hover,
 .ast-mobile-popup-drawer .main-header-menu>li>a:hover,
 #ast-mobile-popup .main-header-menu>li.current-menu-item>a{
   color:#35bdf6!important;background:rgba(32,185,244,.1)!important;
 }
 #ast-mobile-popup .main-header-menu>li.lang-item,
 .ast-mobile-popup-drawer .main-header-menu>li.lang-item{
   display:inline-flex!important;width:auto!important;border:0!important;margin:10px 4px!important;
 }
 #ast-mobile-popup .main-header-menu>li.lang-item>a,
 .ast-mobile-popup-drawer .main-header-menu>li.lang-item>a{
   display:inline-flex!important;align-items:center!important;justify-content:center!important;
   min-height:36px!important;padding:6px 12px!important;border:1px solid #35bdf6!important;
   border-radius:24px!important;background:rgba(8,123,181,.22)!important;color:#fff!important;
 }
}


/* V4.4.3 — simplified footer: brand + contact only */
.v4-footer .v443-footer-grid{
 display:grid!important;
 grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important;
 gap:36px!important;
 align-items:start!important;
}
.v4-footer .v44-languages ul,
.v4-footer .v44-languages .polylang_langswitcher{
 display:flex!important;
 flex-direction:row!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:8px!important;
 list-style:none!important;
 padding:0!important;
 margin:12px 0 0!important;
}
.v4-footer .v44-languages li{
 display:block!important;
 flex:0 0 auto!important;
 margin:0!important;
 padding:0!important;
 list-style:none!important;
}
.v4-footer .v44-languages a{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 white-space:nowrap!important;
 min-height:36px!important;
 padding:6px 12px!important;
}
.v4-footer .v44-languages li:before,
.v4-footer .v44-languages li:after{display:none!important;content:none!important}
@media(max-width:640px){
 .v4-footer .v443-footer-grid{
  grid-template-columns:minmax(0,1fr)!important;
  gap:20px!important;
 }
 .v4-footer .v44-languages ul,
 .v4-footer .v44-languages .polylang_langswitcher{
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
 }
 .v4-footer .v44-languages a{
  min-width:0!important;
  padding:6px 10px!important;
  font-size:13px!important;
 }
}


/* V4.4.4 — desktop horizontal navigation and mobile hamburger drawer */
@media(min-width:922px){
 .ast-builder-menu-1 .main-header-menu,
 .ast-builder-menu-1 .main-header-menu .sub-menu{
   display:flex!important;align-items:center!important;flex-wrap:nowrap!important;
 }
 .ast-builder-menu-1 .main-header-menu>.menu-item>.menu-link{
   display:flex!important;align-items:center!important;
   padding:12px 10px!important;white-space:nowrap!important;
   font-size:14px!important;font-weight:700!important;
 }
 .ast-builder-menu-1 .v444-fallback-menu{gap:2px}
 .ast-builder-menu-1 .v444-menu-languages{display:flex;gap:5px}
 .ast-builder-menu-1 .v444-menu-languages a{
   padding:7px 8px!important;border:1px solid rgba(32,185,244,.45);
   border-radius:18px;color:inherit
 }
}
@media(max-width:921px){
 .ast-builder-menu-1 .main-header-menu{display:none!important}
 .ast-mobile-menu-trigger{display:flex!important}
 .ast-mobile-popup-drawer .v444-fallback-menu,
 #ast-mobile-popup .v444-fallback-menu{display:block!important}
}


/* V4.6.4 — desktop header: remove duplicate language row and keep one compact line. */
@media(min-width:922px){
  .v44-lang-menu{display:none!important}
  #ast-desktop-header .ast-primary-header-bar,
  #ast-desktop-header .ast-primary-header-bar .ast-builder-grid-row{
    min-height:92px!important;
    height:auto!important;
    align-items:center!important;
  }
  #ast-desktop-header .ast-primary-header-bar .ast-builder-grid-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:space-between!important;
    gap:18px!important;
  }
  #ast-desktop-header .site-branding,
  #ast-desktop-header .ast-site-identity{
    margin:0!important;
    padding:0!important;
    flex:0 1 auto!important;
  }
  #ast-desktop-header .ast-builder-menu-1{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  #ast-desktop-header .ast-builder-menu-1 .main-header-menu{
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:0!important;
  }
  #ast-desktop-header .ast-builder-menu-1 .menu-item>.menu-link{
    white-space:nowrap!important;
    padding:10px 8px!important;
    line-height:1.2!important;
  }
}

/* 24V v4.6.6 — shared inner-page system. Existing WordPress content is rendered unchanged. */
.v46-inner-page{background:#fff;min-height:45vh}
.v46-page-hero{position:relative;isolation:isolate;overflow:hidden;padding:76px 0 68px;background:linear-gradient(135deg,#eef2f5 0%,#f8fafb 100%);border-bottom:1px solid #e1e7ec}
.v46-page-hero.has-image{background:#10263d}
.v46-page-hero.has-image:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,rgba(7,24,41,.94),rgba(7,24,41,.68) 58%,rgba(7,24,41,.38)),var(--v46-page-image);background-size:cover;background-position:center;opacity:1}
.v46-page-hero.has-image .v4-title,.v46-page-hero.has-image .v4-lead{color:#fff!important}
.v46-page-hero-inner{position:relative;z-index:1;max-width:1180px}
.v46-page-hero .v4-title{margin:10px 0 0;max-width:1000px;overflow-wrap:anywhere}
.v46-page-hero .v4-lead{margin-top:18px}
.v46-page-hero .v4-lead p{margin:0}
.v46-page-content{max-width:1000px;color:#34475a;font-size:17px;line-height:1.8;overflow-wrap:anywhere}
.v46-page-content>*:first-child{margin-top:0}
.v46-page-content h2,.v46-page-content h3,.v46-page-content h4{color:#10263d;line-height:1.25;margin-top:1.8em;margin-bottom:.65em}
.v46-page-content h2{font-size:clamp(25px,3vw,36px)}
.v46-page-content h3{font-size:clamp(21px,2.5vw,28px)}
.v46-page-content p,.v46-page-content li{line-height:1.8}
.v46-page-content a{color:#c96318;text-decoration:underline;text-underline-offset:3px}
.v46-page-content img,.v46-page-content video,.v46-page-content iframe{max-width:100%;height:auto;border-radius:12px}
.v46-page-content figure{max-width:100%}
.v46-page-content blockquote{margin:28px 0;padding:18px 24px;border-left:4px solid #ed7b22;background:#f3f5f7;border-radius:0 14px 14px 0}
.v46-page-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.v46-page-content th,.v46-page-content td{padding:12px;border:1px solid #dfe5ea;text-align:left}
.v46-page-content .wp-block-button__link{background:#ed7b22;color:#fff;border-radius:99px;text-decoration:none;padding:13px 22px}
.v46-featured-image{margin:0 0 34px}.v46-featured-image img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:22px}
.v46-post-grid{align-items:stretch}.v46-post-card h2{font-size:23px;line-height:1.3}.v46-post-card h2 a{color:#10263d;text-decoration:none}.v46-post-card h2 a:hover{color:#ed7b22}.v46-card-image{display:block;overflow:hidden}.v46-card-image img{display:block;width:100%;height:220px;object-fit:cover}.v46-card-excerpt{color:#687789}.v46-not-found{text-align:center;padding-top:30px;padding-bottom:30px}.v46-not-found .v4-title{font-size:clamp(64px,12vw,120px)}
.v46-inner-page .navigation.pagination{margin-top:35px}.v46-inner-page .nav-links{display:flex;gap:9px;flex-wrap:wrap}.v46-inner-page .page-numbers{display:inline-flex;padding:9px 14px;border:1px solid #dfe5ea;border-radius:9px;color:#10263d;text-decoration:none}.v46-inner-page .page-numbers.current{background:#10263d;color:#fff}
@media(max-width:768px){.v46-page-hero{padding:48px 0 42px}.v46-page-content-section{padding:42px 0}.v46-page-content{font-size:16px}.v46-page-content .wp-block-columns{display:block}.v46-page-content .wp-block-column{margin-left:0!important;margin-right:0!important}.v46-post-grid{grid-template-columns:1fr}.v46-page-content pre{max-width:100%;overflow-x:auto}.v46-page-content table{font-size:14px}}


/* 24V v4.6.7 — consistent visual system for existing page content */
.v46-page-content-section{background:#f4f6f8}
.v46-page-content{max-width:1120px;background:#fff;border:1px solid #e3e9ee;border-radius:22px;padding:clamp(22px,4vw,54px);box-shadow:0 12px 34px rgba(16,38,61,.055)}
.v46-page-content>*{max-width:100%}
.v46-page-content>h2{padding-bottom:13px;border-bottom:2px solid #e8edf1;position:relative}
.v46-page-content>h2:after{content:"";position:absolute;left:0;bottom:-2px;width:64px;height:3px;background:#ed7b22}
.v46-page-content h3{padding-left:14px;border-left:3px solid #20b9f4}
.v46-page-content p{margin-bottom:1.25em}
.v46-page-content ul,.v46-page-content ol{padding-left:1.45em;margin:0 0 1.5em}
.v46-page-content li{padding-left:.2em;margin:.35em 0}
.v46-page-content li::marker{color:#ed7b22}
.v46-page-content hr{border:0;border-top:1px solid #e1e7ec;margin:36px 0}
.v46-page-content .wp-block-group,.v46-page-content .wp-block-media-text,.v46-page-content .wp-block-columns{margin:30px 0;padding:clamp(18px,3vw,30px);background:#f5f7f9;border:1px solid #e4e9ed;border-radius:18px;gap:24px}
.v46-page-content .wp-block-column{min-width:0}
.v46-page-content .wp-block-image{margin:28px 0}
.v46-page-content .wp-block-image img,.v46-page-content>img{display:block;border-radius:18px;box-shadow:0 8px 24px rgba(16,38,61,.10)}
.v46-page-content .wp-block-image figcaption{font-size:14px;color:#718092;text-align:center;margin-top:10px}
.v46-page-content .wp-block-cover{border-radius:20px;overflow:hidden;margin:30px 0;min-height:280px}
.v46-page-content .wp-block-cover__inner-container{padding:24px}
.v46-page-content .wp-block-button{margin:20px 0}
.v46-page-content .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;font-weight:800;box-shadow:0 6px 16px rgba(237,123,34,.18)}
.v46-page-content .wp-block-buttons{gap:12px;margin:24px 0}
.v46-page-content .wp-block-table{margin:28px 0;border:1px solid #e0e6eb;border-radius:14px;overflow:hidden}
.v46-page-content .wp-block-table table{margin:0;border:0}
.v46-page-content .wp-block-table thead{background:#10263d;color:#fff}
.v46-page-content .wp-block-table th{color:#fff;border-color:#385069}
.v46-page-content .wp-block-table tr:nth-child(even) td{background:#f5f7f9}
.v46-page-content .wp-block-quote{border-left:4px solid #ed7b22;background:#f4f6f8;padding:22px 26px;border-radius:0 16px 16px 0}
.v46-page-content .wp-block-separator{border-top:1px solid #e1e7ec;margin:34px auto}
.v46-page-content .wp-block-embed,.v46-page-content .wp-block-video{margin:28px 0}
.v46-page-content .wp-block-file a{font-weight:700;color:#c96318}
.v46-page-content .wp-block-details{padding:17px 20px;margin:12px 0;border:1px solid #e1e7ec;border-radius:12px;background:#f8fafb}
.v46-page-content .wp-block-details summary{font-weight:800;color:#10263d;cursor:pointer}
.v46-page-content .wp-block-gallery{gap:14px;margin:28px 0}
.v46-page-content .wp-block-gallery img{border-radius:14px}
.v46-page-content .wp-block-media-text{padding:0;overflow:hidden}
.v46-page-content .wp-block-media-text__content{padding:clamp(18px,3vw,34px)}
.v46-page-content .wp-block-media-text__media img{height:auto!important;max-height:none;object-fit:contain!important}
.v46-page-content .alignwide{max-width:100%;margin-left:auto;margin-right:auto}
.v46-page-content .alignfull{max-width:none;width:100%;margin-left:0;margin-right:0}
@media(max-width:768px){
 .v46-page-content{padding:22px 18px;border-radius:16px}
 .v46-page-content .wp-block-group,.v46-page-content .wp-block-columns,.v46-page-content .wp-block-media-text{padding:18px;margin:22px 0;border-radius:14px}
 .v46-page-content .wp-block-media-text{display:flex;flex-direction:column}
 .v46-page-content .wp-block-media-text__media{width:100%}
 .v46-page-content .wp-block-media-text__content{padding:20px 0}
 .v46-page-content .wp-block-cover{min-height:220px}
 .v46-page-content .wp-block-buttons{display:flex;flex-wrap:wrap}
 .v46-page-content .wp-block-button__link{width:auto;max-width:100%;white-space:normal;text-align:center}
}


/* 24V v4.6.8 — native Spectra block support for existing inner pages.
   The source pages use wp-block-spectra-* blocks; preserve their content and
   design attributes while making the layout responsive and images proportional. */
.v46-page-content,
.v46-page-content *{box-sizing:border-box;min-width:0}
.v46-page-content .wp-block-spectra-container{
  max-width:100%;min-width:0;overflow-wrap:anywhere;
}
.v46-page-content .wp-block-spectra-container img,
.v46-page-content .wp-block-spectra-content img,
.v46-page-content .wp-block-image img,
.v46-page-content figure img,
.v46-page-content img{
  max-width:100%!important;height:auto!important;max-height:none;object-fit:contain!important;
}
.v46-page-content .wp-block-spectra-container a,
.v46-page-content .wp-block-spectra-content a{overflow-wrap:anywhere}
.v46-page-content .wp-block-spectra-content{line-height:1.65;overflow-wrap:anywhere}
.v46-page-content .wp-block-spectra-content h1,
.v46-page-content .wp-block-spectra-content h2,
.v46-page-content .wp-block-spectra-content h3,
.v46-page-content .wp-block-spectra-content h4{
  color:#10263d;line-height:1.22;overflow-wrap:anywhere;
}
.v46-page-content .wp-block-spectra-content h2{font-size:clamp(25px,3vw,36px)}
.v46-page-content .wp-block-spectra-content h3{font-size:clamp(21px,2.5vw,28px)}
.v46-page-content .wp-block-spectra-button,
.v46-page-content .wp-block-spectra-button.wp-block-button__link{
  max-width:100%;white-space:normal;overflow-wrap:anywhere;
}
.v46-page-content .wp-block-spectra-buttons{display:flex;flex-wrap:wrap;gap:12px;max-width:100%}
.v46-page-content .wp-block-spectra-accordion{max-width:100%;margin:24px 0}
.v46-page-content .wp-block-spectra-accordion-child-item{
  max-width:100%;margin:10px 0;border:1px solid #dfe6ec;border-radius:12px;overflow:hidden;background:#fff;
}
.v46-page-content .wp-block-spectra-accordion-child-header{
  color:#10263d;font-weight:750;padding:15px 18px;cursor:pointer;
}
.v46-page-content .wp-block-spectra-accordion-child-details{padding:0 18px 16px;color:#42566a}
.v46-page-content .wp-block-spectra-icon svg,
.v46-page-content .wp-block-spectra-icons svg{max-width:100%;height:auto}
.v46-page-content .wp-block-spectra-google-map,
.v46-page-content .wp-block-spectra-google-map iframe{max-width:100%;width:100%}
.v46-page-content .wp-block-spectra-container .wp-block-spectra-container{
  border-radius:inherit;
}
@media(max-width:782px){
  .v46-page-content .wp-block-spectra-container{
    max-width:100%!important;min-width:0!important;flex-wrap:wrap!important;
  }
  .v46-page-content .wp-block-spectra-container > *{
    min-width:0!important;max-width:100%!important;
  }
  .v46-page-content .wp-block-spectra-container[style*="width"],
  .v46-page-content .wp-block-spectra-container [style*="width"]{
    max-width:100%!important;
  }
  .v46-page-content .wp-block-spectra-buttons{align-items:stretch}
  .v46-page-content .wp-block-spectra-button{max-width:100%;text-align:center}
  .v46-page-content .wp-block-spectra-google-map iframe{min-height:260px}
  .v46-page-content .wp-block-spectra-container img,
  .v46-page-content .wp-block-spectra-content img,
  .v46-page-content .wp-block-image img,
  .v46-page-content img{height:auto!important;max-height:none!important;object-fit:contain!important}
}
@media(max-width:480px){
  .v46-page-content{padding:18px 14px!important;border-radius:14px}
  .v46-page-content .wp-block-spectra-container{gap:14px!important}
  .v46-page-content .wp-block-spectra-accordion-child-header{padding:13px 14px}
  .v46-page-content .wp-block-spectra-accordion-child-details{padding:0 14px 14px}
}


/* 24V v4.6.9 — direct typography and mobile layout fixes for native Spectra blocks.
   Spectra content blocks render the selected HTML tag themselves (for example h1),
   so descendant-only selectors do not reach their typography. */
.v46-page-content h1,
.v46-page-content h2,
.v46-page-content h3,
.v46-page-content h4{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  letter-spacing:-.025em;
}
.v46-page-content h1{font-size:clamp(32px,4.4vw,48px)!important;line-height:1.12!important;color:#10263d!important}
.v46-page-content h2{font-size:clamp(28px,3.5vw,40px)!important;line-height:1.16!important;color:#10263d!important}
.v46-page-content h3{font-size:clamp(22px,2.8vw,30px)!important;line-height:1.22!important;color:#10263d!important}
.v46-page-content .wp-block-spectra-content{
  display:block;max-width:100%;min-width:0;overflow-wrap:anywhere;
}
.v46-page-content .wp-block-spectra-content:is(h1,h2,h3,h4){font-family:inherit;font-weight:800}
.v46-page-content .wp-block-spectra-content:is(p,span){line-height:1.65}
.v46-page-content .wp-block-spectra-container{min-width:0;max-width:100%;}
.v46-page-content .wp-block-spectra-container img{display:block;max-width:100%!important;height:auto!important;}
@media(max-width:782px){
  .v46-page-content h1{font-size:clamp(29px,7.2vw,36px)!important;line-height:1.12!important}
  .v46-page-content h2{font-size:clamp(25px,6vw,31px)!important;line-height:1.16!important}
  .v46-page-content h3{font-size:clamp(21px,5vw,26px)!important;line-height:1.2!important}
  .v46-page-content .wp-block-spectra-container[style*="-160px"]{
    margin-top:-64px!important;
    padding:24px 22px!important;
    border-radius:16px!important;
    box-shadow:0 12px 30px rgba(16,38,61,.10);
  }
  .v46-page-content .wp-block-spectra-container[style*="-160px"] > *{
    max-width:100%!important;min-width:0!important;
  }
  .v46-page-content .wp-block-spectra-container[style*="-160px"] .wp-block-spectra-content{
    margin-left:0!important;margin-right:0!important;
  }
  .v46-page-content .wp-block-spectra-container{overflow-wrap:anywhere}
}
@media(max-width:480px){
  .v46-page-content{padding:16px 12px!important}
  .v46-page-content .wp-block-spectra-container[style*="-160px"]{padding:20px 18px!important;margin-top:-48px!important}
  .v46-page-content p,.v46-page-content li{font-size:16px;line-height:1.65}
}


/* 24V v4.7.0 — full inner-page redesign layer.
   The site's original pages are Spectra blocks (wp:spectra/*), rendered by
   Spectra with UAGB frontend classes. Target the real frontend classes. */
.v46-page-content{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;color:#34475a;
}
.v46-page-content > *{max-width:100%;}
.v46-page-content > .wp-block-uagb-container,
.v46-page-content .wp-block-uagb-container{
  box-sizing:border-box;min-width:0;max-width:100%;
}
.v46-page-content .wp-block-uagb-container .uagb-container-inner-blocks-wrap{
  box-sizing:border-box;max-width:1200px;margin-left:auto;margin-right:auto;
}
.v46-page-content .wp-block-uagb-container p,
.v46-page-content .wp-block-uagb-container li{
  line-height:1.7;overflow-wrap:anywhere;
}
.v46-page-content .wp-block-uagb-container h1,
.v46-page-content .wp-block-uagb-container h2,
.v46-page-content .wp-block-uagb-container h3,
.v46-page-content .wp-block-uagb-container h4{
  color:#10263d;line-height:1.14;letter-spacing:-.035em;
  max-width:100%;overflow-wrap:break-word;word-break:normal;
}
.v46-page-content .wp-block-uagb-container h1{font-size:clamp(30px,4.2vw,54px)!important}
.v46-page-content .wp-block-uagb-container h2{font-size:clamp(26px,3.3vw,40px)!important}
.v46-page-content .wp-block-uagb-container h3{font-size:clamp(21px,2.5vw,30px)!important}
.v46-page-content .wp-block-uagb-container a{overflow-wrap:anywhere}
.v46-page-content .wp-block-uagb-container img,
.v46-page-content .wp-block-uagb-image img,
.v46-page-content .wp-block-uagb-image__figure img{
  max-width:100%!important;height:auto!important;object-fit:contain!important;
}
.v46-page-content .wp-block-uagb-container .wp-block-uagb-image{
  max-width:100%;min-width:0;
}
.v46-page-content .wp-block-uagb-buttons,
.v46-page-content .uagb-buttons__wrap{display:flex;flex-wrap:wrap;gap:12px;}
.v46-page-content .uagb-forms-main-submit-button,
.v46-page-content .uagb-button__link,
.v46-page-content .uagb-buttons-repeater{
  max-width:100%;white-space:normal;overflow-wrap:anywhere;
}
.v46-page-content .wp-block-uagb-faq,
.v46-page-content .uagb-faq__wrap{max-width:100%;}
.v46-page-content .uagb-faq-child__outer-wrap{
  margin:10px 0;border:1px solid #dfe6ec;border-radius:12px;background:#fff;overflow:hidden;
}
.v46-page-content .uagb-faq-questions{color:#10263d;font-weight:750;}
.v46-page-content .wp-block-uagb-container .wp-block-uagb-container{
  min-width:0;
}
/* Featured service card: the exact Spectra block ID from the original service page.
   Keep the photo visible and let the white text panel overlap it deliberately. */
.v46-page-content .uagb-block-b35dae13{
  position:relative;z-index:2;width:min(100% - 48px,920px)!important;
  max-width:920px!important;margin:-150px auto 0!important;
  padding:clamp(28px,4vw,58px)!important;
  background:#fff!important;border:1px solid #e7ebef;border-radius:4px!important;
  box-shadow:0 18px 44px rgba(16,38,61,.12);
}
.v46-page-content .uagb-block-b35dae13 h1{
  font-size:clamp(32px,4.2vw,52px)!important;line-height:1.12!important;
  letter-spacing:-.04em!important;margin:0 0 18px!important;
}
.v46-page-content .uagb-block-b35dae13 p{max-width:760px;}
@media(max-width:782px){
  .v46-page-content .wp-block-uagb-container{max-width:100%!important;min-width:0!important;}
  .v46-page-content .wp-block-uagb-container .uagb-container-inner-blocks-wrap{max-width:100%;}
  .v46-page-content .wp-block-uagb-container h1{font-size:clamp(29px,7.2vw,38px)!important;line-height:1.13!important;}
  .v46-page-content .wp-block-uagb-container h2{font-size:clamp(25px,6vw,32px)!important;line-height:1.16!important;}
  .v46-page-content .uagb-block-b35dae13{
    width:calc(100% - 44px)!important;max-width:620px!important;
    margin:-104px auto 0!important;padding:28px 24px 30px!important;
    border-radius:3px!important;
  }
  .v46-page-content .uagb-block-b35dae13 h1{
    font-size:clamp(30px,7.4vw,38px)!important;line-height:1.12!important;
  }
  .v46-page-content .wp-block-uagb-container img,
  .v46-page-content .wp-block-uagb-image img{height:auto!important;object-fit:contain!important;}
}
@media(max-width:480px){
  .v46-page-content .uagb-block-b35dae13{
    width:calc(100% - 32px)!important;margin:-78px auto 0!important;
    padding:24px 20px 26px!important;
  }
  .v46-page-content .uagb-block-b35dae13 h1{font-size:30px!important;}
}

/* v4.8.0 — unified inner service catalogue and detail templates */
.v48-inner-hero{position:relative;isolation:isolate;padding:76px 0;background:linear-gradient(135deg,#edf1f5,#f8fafb)}
.v48-inner-hero.has-image{background-image:linear-gradient(90deg,rgba(7,24,42,.88),rgba(7,24,42,.58)),var(--v48-service-image);background-position:center;background-size:cover;color:#fff}
.v48-inner-hero.has-image .v4-title,.v48-inner-hero.has-image .v4-lead{color:#fff}
.v48-area-section:nth-of-type(even){background:#f3f5f7}
.v48-area-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}
.v48-area-title{font-size:clamp(27px,4vw,38px);line-height:1.15;color:#10263d;margin:0}
.v48-area-count{display:inline-grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:#10263d;color:#fff;font-weight:800}
.v48-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.v48-service-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #e0e5e9;border-radius:18px;display:flex;flex-direction:column}
.v48-service-image{display:block;aspect-ratio:16/9;overflow:hidden}.v48-service-image img{width:100%;height:100%;object-fit:cover}
.v48-service-card-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}.v48-service-card h3{font-size:21px;line-height:1.25;margin:0}.v48-service-card h3 a{color:#10263d;text-decoration:none}.v48-service-card p{color:#687789;line-height:1.6;margin:0 0 8px}
.v48-service-content{max-width:1000px}.v48-detail-image{margin:0 auto 34px;max-width:100%;}.v48-detail-image img{width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:20px}.v48-related{margin-top:42px;padding:24px;border-top:1px solid #e0e5e9}.v48-related h2{color:#10263d}
.v4-form-details{min-width:0}.v4-form-details textarea{display:block;max-width:100%;box-sizing:border-box}
@media(max-width:900px){.v48-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.v48-inner-hero{padding:52px 0}.v48-service-grid{grid-template-columns:minmax(0,1fr)}.v48-area-heading{align-items:center}.v48-service-card-body{padding:18px}}
