@font-face { font-family: "Gotham Light"; src: url("../assets/fonts/gotham-light/gotham-light.otf"); font-weight: 400; font-style: normal; }
@font-face { font-family: "Gotham Light"; src: url("../assets/fonts/gotham-light/gotham-medium.otf"); font-weight: 700; font-style: normal; }
@font-face { font-family: "Gotham Light"; src: url("../assets/fonts/gotham-light/gotham-light-italic.otf"); font-weight: 400; font-style: italic; }
@font-face { font-family: "Gotham Light"; src: url("../assets/fonts/gotham-light/gotham-medium-italic.otf"); font-weight: 700; font-style: italic; }

:root{
    --color-primary: #6fbd43;
    --color-primary-dark: #58a52b;
    --color-primary-light: rgba(111, 189, 67, .25);
    --color-info: #4b646f;
    --color-link: #528dcb;
    --color-text: #444444;
    --color-text-lighter: #6D6F71;
    --color-text-light: #FFF;
    --color-info-light: #4b646f99;
    --color-secondary: #222d32;
    --color-tertiary: #3c8dbc;
    --color-bg-input: #eff0f1;
    --color-bg-input-disabled: #DDD;
    --color-default: #DDDDDD;
    --color-highlight: #d3c54a;
    --color-border: #cad1ca;
    --color-background: #ecf0f5;
    --color-background-transparent: #ecf0f544;
    --color-background-transparent-2: #ecf0f533;
    --color-background-light: #FFF;
    --color-background-dark: #0d1112;
    --color-background-dark-transparent: #0d111244;
    --color-success: #00a65a;
    --color-warning: #f39c12;
    --color-warning-alt: #fecf58;
    --color-danger: #dd4b39;
    --muted: #687174;
    --line: #dfe5df;
    --radius: 22px;
    --shadow: 0 18px 55px rgba(11, 14, 15, .11);
    --container: 1180px;
    --font-family-body: 'Gotham Light', Arial;
    --font-family-titles: "Comfortaa", serif;

    /* Variables de Bootstrap */
    --bs-primary: var(--color-primary);
    --bs-primary-rgb: 111,189,67;
    --bs-link-color-rgb: #528dcb;
    --bs-body-font-size: 14px;

    /* Variables de Swiper */
    --swiper-navigation-sides-offset: -45px;
    --swiper-navigation-color: var(--color-primary);
}

/* ### General Styles ### */

*{box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:95px}
body {margin:0; color:var(--color-text); background: var(--color-background); font-family: var(--font-family-body); font-size:14px; font-weight:400; line-height:1.55; -webkit-font-smoothing:antialiased; min-width: 300px;}
img {display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}

#contenido {overflow:hidden;}
.container {width:min(calc(100% - 40px),var(--container));margin-inline:auto}

.section { padding: 60px 0 105px; min-height:100vh; }
.section-compact {padding-top:70px}
.section-light {background:var(--color-background-light); }
.section-dark { background:var(--color-background-dark); color: var(--color-text-light); }
.section-glow {position:relative; overflow:hidden;}
.section-glow:before {content:""; position:absolute; width:520px; height:520px; right:-180px; top:-210px; border-radius:50%; background:rgba(120,196,66,.12); filter:blur(2px);}

.section-heading { max-width: 850px; margin-bottom: 52px }
.section-heading.centered { text-align: center; margin-inline: auto }
.section-heading h2 { font-size: clamp(32px, 3vw, 50px); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 18px; font-family: var(--font-family-titles);}
.section-heading p:not(.eyebrow) { font-size: 18px; color: var(--color-text); margin: 0}
.section-dark .section-heading p:not(.eyebrow) { color: var(--color-text-light);}

.split-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 55px }
.split-copy h3 { font-size: 34px; line-height: 1.12; margin: 0 0 22px }
.split-copy p { color: #c6cdce }
.split-media img { border-radius: 28px; max-height: 570px; width: 100%; object-fit: cover; box-shadow: 0 25px 70px rgba(0, 0, 0, .3) }

.feature-band { background: #0c0f10; color: #fff }
.feature-band .section-heading p { color: #aeb6b8 }

.text-link { display: inline-flex; gap: 10px; color: var(--color-primary); font-weight: 800; margin-top: 10px }
.skip-link {position:fixed;top:-80px;left:20px;z-index:9999;background:#000;color:#fff;padding:12px 18px;border-radius:8px}
.skip-link:focus {top:20px}

.eyebrow { margin: 0 0 18px; color: var(--color-primary-dark); text-transform:uppercase; font-size: 13px; font-weight: 900; letter-spacing: .17em}

.btn-container {display:flex; gap:1em; margin-top:2em;}

.btn { display: inline-flex; justify-content: center; gap:0.5em; align-items: center; min-height: 50px; padding: 12px 23px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; transition: transform .2s, box-shadow .2s, background .2s; font-size:14px; text-wrap:nowrap;}
.btn:hover, .btn:focus { transform: translateY(-2px) }
.btn:active, .btn:focus {box-shadow: 0 0 0 .25em var(--color-primary-light);}
.btn.btn-primary {
    background: var(--color-primary); box-shadow: 0 10px 25px rgba(120, 196, 66, .28);
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-primary-dark);
    --bs-btn-hover-border-color: var(--color-primary-dark);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-primary-dark);
    --bs-btn-active-border-color: var(--color-primary-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-primary-light);
    --bs-btn-disabled-border-color: var(--color-primary-light);
}
.btn.btn-primary:hover, .btn.btn-primary:focus { background: var(--color-primary-dark); }
.btn.btn-primary:active, .btn.btn-primary:focus {box-shadow: 0 0 0 .25em var(--color-primary-light);}
.btn.btn-outline { border-color: #bec8bd; background: transparent; color:var(--color-text);}
.btn.btn-outline:hover { border-color: var(--color-primary); color: var(--color-primary-dark)}

.btn:disabled .when-enabled {display:none;}
.btn:disabled .when-disabled {display:inline-block;}
.btn:not(:disabled) .when-enabled {display:inline-block;}
.btn:not(:disabled) .when-disabled {display:none;}

.section-dark .btn.btn-outline {color: var(--color-background-light);}

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease }
.reveal.is-visible { opacity: 1; transform: none }

.bounce-hover { transition: .25s }
.bounce-hover:hover { transform: translateY(-7px); box-shadow: var(--shadow) }
.bounce-hover.no-shadow:hover {box-shadow:none;}

.check-list { display: grid; gap: 10px; margin-top: 30px; font-size:18px; list-style:none;}

.grecaptcha-badge { visibility: hidden; }

.swiper {overflow: visible;}
.swiper-slide.reveal.is-visible {opacity:0.4;}
.swiper-slide.reveal:not(.is-visible) {opacity:0;}
.swiper-slide.swiper-slide-visible.reveal.is-visible {opacity:1;}

/* ### Icons ### */

.icon {display:block; width:2em; height:2em; mask-position:center; mask-repeat:no-repeat; mask-size:contain; background-color: var(--color-primary);}
.icon.camera {mask-image: url(../assets/icons/camera.svg);}
.icon.pc {mask-image: url(../assets/icons/pc.svg);}
.icon.location {mask-image: url(../assets/icons/location.svg);}
.icon.facebook {mask-image: url(../assets/icons/facebook.svg);}
.icon.email {mask-image: url(../assets/icons/email.svg);}
.icon.twitter {mask-image: url(../assets/icons/twitter.svg); }
.icon.instagram {mask-image: url(../assets/icons/instagram.svg); }
.icon.tiktok {mask-image: url(../assets/icons/tiktok.svg); }
.icon.download {mask-image: url(../assets/icons/download.svg); }
.icon.linkedin {mask-image: url(../assets/icons/linkedin.svg); }
.icon.dashboard {mask-image: url(../assets/icons/dashboard.svg); }
.icon.people {mask-image: url(../assets/icons/people.svg); }
.icon.touch {mask-image: url(../assets/icons/touch.svg); }
.icon.share {mask-image: url(../assets/icons/share.svg); }
.icon.alert {mask-image: url(../assets/icons/alert.svg); }

/* ### Redes ### */

.redes { display: flex; flex-flow: row wrap; gap: 1.5em; justify-content:center; align-items: center; }
.redes .link {cursor:pointer; display: block; text-indent: -9999px; overflow:hidden; padding:0.75em; box-sizing: border-box; background-color: var(--color-primary); border-radius:10em; transition: transform .2s, box-shadow .2s, background .2s; box-shadow: 0 10px 25px rgba(120, 196, 66, .28);}
.redes .link:hover, .hero .redes .link:focus { transform: translateY(-2px); background: var(--color-primary-dark); }
.redes .link:active, .hero .redes .link:focus {box-shadow: 0 0 0 .25em var(--color-primary-light);}
.redes .link .icon {width:2.5em; height: 2.5em; background-color:#FFF;}

/* ### Dropdown ### */
.dropdown-item:focus, .dropdown-item:hover {
    --bs-dropdown-link-active-bg: var(--color-primary-light);
    --bs-dropdown-link-active-color: var(--color-text);
    outline:none;
}


/* ### Navbar & Header ### */

.site-header {position:sticky;top:0;z-index:100;background:rgba(255,255,255,.91);backdrop-filter:blur(15px);border-bottom:1px solid rgba(0,0,0,.06)}
.header-inner {min-height: 82px; gap: 28px; font-size:14px;}

.navbar { min-height: 82px }
.navbar-brand {display:flex; align-items:center; justify-content:flex-start; gap:0.5em;}
.navbar-brand h1 {text-indent:-9999px; overflow:hidden; margin:0; height:1px;}
.navbar-brand h2 {text-transform:uppercase; font-weight:100; font-size:0.7em; color: var(--color-text-lighter); text-wrap:wrap;}
.navbar-brand .logo {width:100px; height: auto;}

.main-nav { display: flex; align-items: center; gap: 28px; font-weight: 700;}
.main-nav a:not(.btn) { position: relative}
.main-nav a:not(.btn)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--color-primary); transition: .25s}
.main-nav a:hover::after { right: 0}

.main-nav a {text-wrap:nowrap;}

.menu-toggle { display: none; background: none; border: 0; padding: 8px}
.menu-toggle span { display: block; width: 26px; height: 2px; background: #111; margin: 6px 0 }

/* ### Footer ### */

.site-footer { padding: 28px 0; background: var(--color-background-dark); color: #FFF; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; font-size: 13px }
.footer-inner img { width: 175px; filter: brightness(0) invert(1); }
.footer-inner a { color: #fff }

.footer-inner .up {display:inline-block; box-sizing: content-box; height:35px; width:35px; border-radius:999px; background: var(--color-background-transparent); padding:0.5em; transition: transform .2s, box-shadow .2s, background .2s;}
.footer-inner .up .material-symbols-rounded {font-size:35px;}

.footer-inner .up:hover, .footer-inner .up:focus {background: var(--color-background-transparent-2); transform: translateY(-2px)}
.footer-inner .up:active, .footer-inner .up:focus {box-shadow: 0 0 0 .25em var(--color-background-transparent);}

.site-footer .redes {margin:0 0 1.5em;}
.site-footer .redes .link .icon {width:2em; height: 2em; background-color: var(--color-background);}

.footer-inner .dropdown-menu a {color: var(--color-text);}

/* ### Hero Section ### */
.hero { overflow: hidden}

.hero-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; align-items: center; gap: 35px; }

.hero-lead {font-size: clamp(20px, 2vw, 28px); font-family: var(--font-family-titles); line-height: 1.3; color: var(--color-primary-dark); font-weight: 700; max-width: 590px; margin: 26px 0; }
.hero-heading {min-width:0;}
.hero-media { position: relative; min-width: 0; }
.hero-media:before { content: ""; position: absolute; width: 540px; height: 540px; right: -10%; top: 4%; border-radius: 50%; background: linear-gradient(145deg, #edf8e7, #fff); z-index: -1; }
.hero-media img { width: 120%; max-width: none; margin-left: -4%; filter: drop-shadow(0 28px 24px rgba(0, 0, 0, .13)) }
.hero-media:before{ display:none; }

.hero-tags { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 4em; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em}
.hero-tags i { font-weight:100; font-style: normal; color: var(--color-primary); font-size: 30px}
.hero-tags .icon {margin:0 auto 0.5em; width:4em; height:4em;}

.hero .redes {margin:4em 0 0;}

.tooltip {--bs-tooltip-max-width:auto;}

/* ### Vision Section ### */

.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px }
.process-card { background: var(--color-primary); color: #fff; width:100%; padding: 30px 26px; border-radius: var(--radius); min-height: 285px;}
.process-card h3 { font-size: 25px; margin: 22px 0 10px }
.process-card p { margin: 0; color: rgba(255, 255, 255, .92); font-size: 15px }
.process-icon { display: inline-block; padding:0.5em; border-radius: 15px; background: rgba(255, 255, 255, .2); }
.process-icon .icon {background-color:#FFF; width:2.5em; height:2.5em;}

/* ### Modulos Section ### */

.modules-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px }
.module-card { position: relative; border: 1px solid #aeb7ad; border-radius: 19px; padding: 31px 75px 31px 31px; min-height: 190px; overflow: hidden }
.module-card h3 { font-size: 25px; margin: 0 0 10px; font-family: var(--font-family-titles); }
.module-card p { margin: 0; color: #596164 }
.module-icon { box-sizing: content-box; display:block; position: absolute; right: 20px; top: 15px; height:32px; border-radius:999px; padding:0.25em; line-height:1; background-color:var(--color-primary); color:var(--color-background-dark); }
.module-icon .material-symbols-rounded {font-size:32px;}

.module-card.type-1 { background: var(--color-default); }
.module-card.type-1 p, .module-card.type-1 h3 { color: var(--color-background-dark); }
.module-card.type-1 .module-icon {background-color:var(--color-primary);}

.module-card.type-2 { background: var(--color-primary-light); }
.module-card.type-2 p, .module-card.type-2 h3 { color: var(--color-background-dark); }
.module-card.type-2 .module-icon {background-color:var(--color-primary);}

.module-card.type-3 { background: var(--color-background-light); }
.module-card.type-3 p, .module-card.type-3 h3 { color: var(--color-background-dark); }
.module-card.type-3 .module-icon {background-color:var(--color-background);}

.module-card.type-4 { background: var(--color-primary); border-color: var(--color-primary) }
.module-card.type-4 h3 { color: var(--color-background-light); }
.module-card.type-4 p, .module-card.type-4 h3 { color: var(--color-background-light); }
.module-card.type-4 .module-icon {background-color:var(--color-background);}

/* ### Beneficios Section: Equipos, Tareas, Casos ### */

.benefits-grid {display:grid; grid-template-columns:0.8fr 1.2fr; gap:30px; }
.benefits-grid.inverted {grid-template-columns:1.2fr 0.8fr;}
.benefits-grid.equal {grid-template-columns:1fr 1fr;}
.benefits-grid.background {background-color:var(--color-background); border-radius: 28px;}
.benefits-grid.background p {color: var(--color-text);}
.benefits-media { height:100%; border-radius: 28px; box-shadow: var(--shadow); max-height: 700px; background-repeat: no-repeat; background-position: center; background-size:cover;}
.benefits-media.laptop {background-image: url(../assets/images/laptop.png);}
.benefits-media.tablet {background-image: url(../assets/images/tablet.png);}
.benefits-list { display: grid; gap: 12px }
.benefits-list.horizontal {grid-template-columns: 1fr 1fr 1fr 1fr 1fr;}
.benefit-box { padding: 30px; }
.benefit-box p {font-size:18px; font-weight: bold;}
.benefit-box p.highlight {color:var(--color-primary); font-weight:bold;}
.benefits-box-img {position:relative;}
.benefits-box-img img {width:80%; margin:0 auto; z-index:10; position:relative;}
.benefits-box-img::after {content: " "; position:absolute; bottom:0; left:0; width:100%; height:50%; background-color:var(--color-primary); border-radius:14px; z-index:1;}
.benefit { display: grid; grid-template-columns: 50px 1fr; gap: 18px; background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 20px }
.benefit.no-icon {display:block;}
.benefit.with-background {background-color: #FFFFFFDF; min-height:300px; background-size:cover; background-repeat:no-repeat; background-position:center; background-blend-mode: lighten;}
.benefit.gestion-publica {background-image: url(../assets/images/gestion-publica.jpg);}
.benefit.salud {background-image: url(../assets/images/salud.jpg); }
.benefit.clubes {background-image: url(../assets/images/clubes.jpg); }
.benefit.sindicatos {background-image: url(../assets/images/sindicatos.jpg); }
.benefit.limpieza-industrial {background-image: url(../assets/images/limpieza-industrial.jpg);}

.benefit>span { font-size: 15px; color: var(--color-primary-dark); font-weight: 900 }
.benefit h3 { margin: 0 0 4px; font-size: 21px; font-family: var(--font-family-titles); }
.benefit p { margin: 0; color: var(--color-text); font-size: 15px }
.benefit .icon {width:3em; height:3em; margin:0 auto;}
.benefit.with-background p {text-shadow: 0 0 1px var(--color-background-dark);}

/* ### Planes Section ### */

.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch }
.price-card { position: relative; border: 1px solid #b8c4b5; border-radius: 22px; padding: 32px; display: flex; flex-direction: column; background: #fff }
.price-card.featured { border: 2px solid var(--color-primary); box-shadow: var(--shadow); transform: translateY(-12px) }
.price-card h3 { font-size: 28px; margin: 0 0 7px }
.price-description { color: var(--muted); min-height: 48px }
.price-card ul { padding: 0; margin: 23px 0 25px; list-style: none; flex: 1 }
.price-card li { padding: 9px 0 9px 25px; border-bottom: 1px solid var(--line); font-size: 14px }
.price-card li:before { content: "✓"; color: var(--color-primary-dark); font-weight: 900; margin-left: -25px; margin-right: 10px }
.popular { position: absolute; right: 22px; top: 20px; border-radius: 999px; background: #eaf7e1; color: var(--color-primary-dark); font-size: 10px; font-weight: 900; padding: 7px 10px; letter-spacing: .08em }
.price { display:none;  /*display: flex;*/ flex-direction: column; margin-bottom: 22px }
.price small,
.price span { color: var(--muted); font-size: 12px }
.price strong { font-size: 32px; line-height: 1.2; margin: 5px 0 }

/* ### Contacto Section ### */

.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start }
.contact-copy h2 { font-size: clamp(38px, 4vw, 60px); line-height: 1.03; margin: 0 0 24px }
.contact-copy>p:not(.eyebrow) { font-size: 18px; color: #bdc5c7 }
.contact-form { display:block; background: #fff; color: var(--color-text); padding: 35px; border-radius: 24px }
.contact-form .form-label {font-weight:bold;}
.contact-form input,
.contact-form textarea,
.contact-form select,
.contact-form .choices__inner { width: 100%; font-size: 1rem; font-weight:400; line-height:1; border: 1px solid var(--color-border); border-radius: 10px; padding: 13px 14px; background: #fff; outline: none }
.contact-form .choices__list--single {padding:0 16px 0 0;}
.contact-form .choices[data-type*=select-one]::after {border:none; content: "keyboard_arrow_down"; font-family: 'Material Symbols Rounded'; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; width:24px; height:24px; right:8px; top:50%; margin-top:-12px; transition: transform .2s; }



.choices[data-type*=select-one].is-open::after {transform: rotate(-180deg);}
.choices[data-type*=select-one] .choices__list--dropdown {border-color:var(--color-border);}
.choices[data-type*=select-one].is-open .choices__list--dropdown {border-color:var(--color-primary);}
.choices[data-type*=select-one].is-open:not(.is-flipped) .choices__inner {border-bottom:none; border-radius: 10px 10px 0 0;}
.choices[data-type*=select-one].is-open.is-flipped .choices__inner {border-top:none; border-radius: 0 0 10px 10px;}
.choices[data-type*=select-one].is-open:not(.is-flipped) .choices__list--dropdown {border-top:none; border-radius: 0 0 10px 10px; }
.choices[data-type*=select-one].is-open.is-flipped .choices__list--dropdown {border-bottom:none; border-radius: 10px 10px 0 0; }

.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(120, 196, 66, .13) }
.contact-form .choices[data-type*=select-one].is-open .choices__inner { border-color: var(--color-primary); }

.contact-form .choices__list--dropdown .choices__item.choices__item--selectable.is-highlighted {background-color: var(--color-primary-light);}

.contact-form .btn-container {margin-top:1em;}

.form-status { min-height: 24px; margin: 13px 0 0; color: var(--color-primary-dark); font-weight: 700 }


/* ### Gobierno Section ### */
.government-grid{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.government-grid p:not(.eyebrow) { font-size: 1.2em;}

.government-visual { position:relative; display:grid; grid-template-columns: 1fr 1fr; gap:20px; align-items:center; justify-content:center; }
.government-image-wrap { position:relative; width:100%; height:auto;}
.government-image-wrap img { width:100%; height:auto; border-radius:30px; box-shadow:0 30px 80px rgba(0,0,0,.28);}
.government-image-wrap label { display:inline-block; position:absolute; margin:0; bottom:0.75em; right:1.5em; color:#FFF; font-size: 16px; font-family: var(--font-family-titles); background: var(--color-background-dark-transparent); border-radius:30px; padding:0.5em 0.75em; }

/* ### Responsive Styles ### */

.gslide-media.gslide-video {margin: 0 auto;} /* Arregla issue en Glightbox, que muestra el video descentrado en algunas resoluciones */

@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
}

@media (min-width:993px) {
    .hero-heading {z-index:10;}
    .hero-media {z-index:5;}
    .menu-toggle {display:none;} 
}

@media (min-width:993px) and (max-width:1200px) {
    .header-inner.container {max-width:none;}
}

@media (max-width:1200px) {
    .government-image-wrap label {font-size:14px;}
}

@media(max-width:992px) {
    .menu-toggle {display:block;}
    .main-nav {display:none;}
    .main-nav.open{display:flex}

    .main-nav { position: absolute; gap:0; left: 20px; right: 20px; top: 72px; display: none; flex-direction: column; align-items: stretch; background: #fff; padding: 22px; border-radius: 17px; box-shadow: var(--shadow);}

    .main-nav a:not(.btn) {text-align:center; padding:0.5em 1em; border-radius:999px;}
    .main-nav a:not(.btn):hover, .main-nav a:not(.btn):active, .main-nav a:not(.btn):focus {background:var(--color-primary-light);}
    .main-nav a.btn {margin-top:0.5em;}

    .main-nav a::after {display:none;}

    .hero-grid,.split-layout,.geo-showcase,.benefits-grid,.benefits-grid.equal,.benefits-grid.inverted,.contact-grid {grid-template-columns:1fr}
    .hero-grid {min-height:auto}
    
    .hero-heading{width:100%; text-align:center; margin-bottom:20px; }
    .hero-heading h1,.hero-lead{margin-inline:auto}
    
    .hero-media{width:100%; max-width:760px;margin:auto}
    .hero-media img {width:80%; margin:0 auto;}

    .hero-tags{justify-content:center}
    .process-grid{grid-template-columns:repeat(2,1fr)}
    .pricing-grid{grid-template-columns:1fr}
    .price-card.featured{transform:none}
    .benefits-media { height:300px; max-width:550px; margin:0 auto; }
    .contact-grid{gap:45px}

    .module-card h3 {font-size:22px;}
    .module-icon {height:28px;}
    .module-icon .material-symbols-rounded {font-size:28px;}
    
    .navbar-collapse { padding: 15px 0 22px }
    .price-card.featured { transform: none }

    .government-grid {grid-template-columns:1fr; gap:42px; }
    .government-grid .section-heading {margin-bottom: 0;}
    .government-image-wide { margin:0 auto; }

    .government-image-wrap label {font-size:16px;}

    .btn-container {justify-content:center}

}

@media(max-width:768px){
    .process-grid,.modules-grid,.form-row {grid-template-columns:1fr}

    .module-card h3 {font-size:22px;}
    .module-icon {height:28px;}
    .module-icon .material-symbols-rounded {font-size:28px;}
}

@media(max-width:650px){

    :root {
        --swiper-navigation-sides-offset: 4px;
    }

    .container {width:min(calc(100% - 28px),var(--container))}
    .section {padding:75px 0}
    .hero {padding-top:25px}
    .hero h1 {font-size:40px}
    .hero-tags {display:grid; grid-template-columns: 1fr 0.25fr 1fr 0.25fr 1fr 0.25fr 1fr; font-size:calc(0.1rem + 2vw);}
    
    .process-card {min-height:0}
    .module-card {padding-right:55px}
    .geo-showcase {margin-top:65px;gap:25px}
    .contact-form {padding:24px 18px}
    .footer-inner {flex-direction:column;text-align:center}
    .section-heading {margin-bottom:35px}
    .section-heading.hero-heading {margin-bottom:20px;}
    .government-image-wrap img{ border-radius:22px; }
    .government-image-wrap label {font-size:14px;}
    .btn-container {flex-direction:column;}
    
}

@media(max-width:500px) {
    .header-inner.container {padding:0; flex-wrap:nowrap;}
    .navbar-brand {gap:0.5em; margin-right:0;}
    .navbar-brand h2 {font-size:0.7em;}
    .hero h1 { font-size: 40px }
    .government-visual {grid-template-columns: 1fr;}
    .government-image-wrap label {font-size:16px;}
}

@media(max-width:380px) {
    .navbar-brand h2 {font-size:0.55em;}

    .module-card h3 {font-size:18px;}
    .module-icon {height:24px;}
    .module-icon .material-symbols-rounded {font-size:24px;}

    .benefit .icon {width:2.5em; height:2.5em;}
}

@media (max-width:350px) {
    .redes {gap:1em; font-size:12px;}
}

@media(max-width:300px) {
    .module-card h3 {font-size:15px;}
    .module-icon {height:20px;}
    .module-icon .material-symbols-rounded {font-size:20px;}
}

