/* Desktop dimensions measured from the seven 1920px Photoshop canvases.
   Below 1201px, home.css and site.css provide the responsive rearrangement. */
@font-face { font-family: Montserrat; src: url('../fonts/Montserrat-Bold.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
.button, .audience-switch, .utility-note, .hero-headline, .closing h2,
.enterprise-hero :is(h1,.display-title), .referral-hero h1, .contact-hero :is(h1,.display-title), .contact-channels h2,
.page-blog .page-hero :is(h1,.display-title), .latest-posts > h2, .all-posts > h2, .post-card h2, .post-row h2,
.post-filters button, .post-picture .eyebrow, .article-shell > h1, .blog-article-meta .blog-card-cat {
    font-family: Montserrat, Arial, sans-serif; font-weight: 700; letter-spacing: 0;
}
.page-nosotros .section-block .section-heading h2 { text-transform: none; }
.referral-hero { background: linear-gradient(25deg, #5fc8e3, #297eff); }
.referral-requirement { display: flex; align-items: center; gap: 12px; max-width: 364px; min-height: 66px; padding: 10px 16px; }
.referral-requirement > img { width: 35px; height: 35px; flex-shrink: 0; }
.referral-requirement strong { text-transform: uppercase; }
.step-label { color: var(--blue); }
.social-links a { overflow: hidden; }
.social-links img { width: 100%; height: 100%; }
.benefit-icon { overflow: hidden; }
.benefit-icon img { width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 1201px) {
    :root { --du: min(1px, .052083333vw); }
    .utility-inner { min-height: calc(79 * var(--du)); }
    .utility-note, .audience-switch { font-size: calc(16.4 * var(--du)); }
    .utility-note { margin-left: auto; margin-right: calc(150 * var(--du)); }
    .utility-actions .button { font-size: calc(16.6 * var(--du)); min-height: calc(46 * var(--du)); }
    .navigation-inner { min-height: calc(76 * var(--du)); }
    .button { min-height: calc(47 * var(--du)); font-size: max(13px, calc(16.8 * var(--du))); }
    .eyebrow { font-size: calc(22.4 * var(--du)); padding: calc(4 * var(--du)) calc(16 * var(--du)); }
    .section-heading { max-width: calc(1200 * var(--du)); margin-bottom: calc(54 * var(--du)); }
    .section-heading h2 { font-size: calc(62.4 * var(--du)); line-height: 1.05; margin-top: calc(16 * var(--du)); letter-spacing: -1px; }
    .section-heading > p { font-size: calc(20.2 * var(--du)); max-width: calc(900 * var(--du)); }
    .section-block { padding-top: calc(232 * var(--du)); }
    .section-spacer { height: calc(210 * var(--du)); }

    .hero { padding-top: calc(47 * var(--du)); }
    .hero .eyebrow { font-size: calc(22.4 * var(--du)); padding: calc(4 * var(--du)) calc(16 * var(--du)); }
    .hero-headline { font-size: calc(72 * var(--du)); max-width: calc(1230 * var(--du)); line-height: 1.12; margin-top: calc(84 * var(--du)); margin-bottom: calc(18 * var(--du)); }
    .hero-subtitle { font-size: calc(20.2 * var(--du)); }
    .hero .button-row { margin-top: calc(34 * var(--du)); }
    .hero-art { width: calc(725 * var(--du)); margin-top: calc(23 * var(--du)); }
    .trust { padding-top: calc(12 * var(--du)); width: calc(1392 * var(--du)); }
    .trust h2 { font-size: calc(29.6 * var(--du)); }
    .trust p { font-size: calc(20.2 * var(--du)); margin-top: calc(20 * var(--du)); }
    .brand-grid { max-width: none; margin-top: calc(30 * var(--du)); gap: calc(60 * var(--du)); }
    .brand-grid img { max-height: calc(69 * var(--du)); opacity: 1; }
    .pricing.container { width: calc(1322 * var(--du)); padding-top: calc(142 * var(--du)); }
    .pricing .section-heading { max-width: calc(930 * var(--du)); }
    .plan-grid { gap: calc(38 * var(--du)); }
    .plan-card { min-height: calc(936 * var(--du)); border-radius: calc(28 * var(--du)); }
    .featured-plan { min-height: calc(992 * var(--du)); }
    .plan-content { padding: calc(44 * var(--du)) calc(64 * var(--du)) calc(34 * var(--du)); }
    .plan-content h3 { font-size: calc(23.1 * var(--du)); }
    .plan-price strong { font-size: calc(69 * var(--du)); }
    .plan-price span { font-size: calc(23 * var(--du)); }
    .plan-caption { font-size: calc(23.1 * var(--du)); line-height: 1.2; max-width: calc(230 * var(--du)); margin: calc(13 * var(--du)) 0 calc(36 * var(--du)); min-height: calc(55 * var(--du)); }
    .plan-ribbon { font-size: calc(19.7 * var(--du)); padding-block: calc(13 * var(--du)); }
    .plan-features { margin-top: calc(55 * var(--du)); padding-top: calc(30 * var(--du)); }
    .plan-features li { font-size: calc(21.7 * var(--du)); line-height: 1.35; gap: calc(14 * var(--du)); margin-top: calc(13 * var(--du)); }
    .plan-features li::before { width: calc(20 * var(--du)); height: calc(20 * var(--du)); font-size: calc(14 * var(--du)); }
    .plan-content .plan-features { margin-left: calc(-32 * var(--du)); margin-right: calc(-26 * var(--du)); }
    .services { padding-top: calc(226 * var(--du)); }
    .services .section-heading { margin-bottom: calc(97 * var(--du)); }
    .service-grid { max-width: calc(1174 * var(--du)); gap: calc(68 * var(--du)); }
    .service-caption { margin: calc(24 * var(--du)) calc(25 * var(--du)) 0; }
    .service-caption h3 { font-size: calc(24 * var(--du)); max-width: calc(210 * var(--du)); }
    .benefits { padding-top: calc(147 * var(--du)); }
    .benefits .section-heading { margin-bottom: calc(55 * var(--du)); }
    .benefit-grid { width: calc(1068 * var(--du)); gap: calc(16 * var(--du)); }
    .benefit-card { min-height: calc(308 * var(--du)); padding: calc(15 * var(--du)) calc(26 * var(--du)) calc(20 * var(--du)); border-radius: calc(17 * var(--du)); }
    .benefit-icon { width: calc(82 * var(--du)); height: calc(82 * var(--du)); margin: 0 0 calc(25 * var(--du)) calc(5 * var(--du)); }
    .benefit-card h3 { font-size: calc(38 * var(--du)); line-height: 1.05; max-width: none; letter-spacing: -.5px; }
    .benefit-card:nth-child(3n) h3 { font-size: calc(35 * var(--du)); }
    .benefit-card p { font-size: calc(18 * var(--du)); line-height: 1.25; margin-top: calc(18 * var(--du)); }
    .advice { width: calc(1132 * var(--du)); margin-top: calc(184 * var(--du)); }
    .advice-copy h2 { font-size: calc(58 * var(--du)); max-width: calc(496 * var(--du)); }
    .advice-copy .button { font-size: calc(16.8 * var(--du)); }
    .advice-copy { padding: calc(48 * var(--du)) calc(24 * var(--du)) calc(48 * var(--du)) calc(4 * var(--du)); }
    .advice-copy .button-row { gap: calc(18 * var(--du)); }
    .testimonials.container { width: calc(1392 * var(--du)); padding-top: calc(174 * var(--du)); }
    .testimonials-panel { min-height: calc(780 * var(--du)); padding: calc(100 * var(--du)) calc(38 * var(--du)) calc(100 * var(--du)) calc(60 * var(--du)); grid-template-columns: calc(420 * var(--du)) 1fr; gap: calc(44 * var(--du)); }
    .testimonials-heading { max-width: calc(408 * var(--du)); }
    .testimonials-heading h2 { font-size: calc(58 * var(--du)); line-height: 1.05; }
    .quote-card { padding: calc(27 * var(--du)) calc(26 * var(--du)); }
    .quote-card blockquote, .quote-date { font-size: calc(19.8 * var(--du)); line-height: 1.4; }
    .quote-card strong { font-size: calc(28.7 * var(--du)); }
    .faq { padding-top: calc(270 * var(--du)); }
    .faq .section-heading { margin-bottom: calc(94 * var(--du)); }
    .faq-list { max-width: calc(678 * var(--du)); }
    .faq details { margin: 0 0 calc(11 * var(--du)); border-radius: calc(24 * var(--du)); }
    .faq summary { padding: calc(11 * var(--du)) calc(20 * var(--du)); font-size: calc(19.5 * var(--du)); line-height: 1.2; }
    .faq summary::after { font-size: calc(24 * var(--du)); }
    .closing { padding: calc(255 * var(--du)) 24px calc(178 * var(--du)); }
    .closing h2 { max-width: calc(1200 * var(--du)); font-size: calc(72 * var(--du)); line-height: 1.05; }
    .closing > p { max-width: calc(790 * var(--du)); font-size: calc(20.2 * var(--du)); }

    .page-hero { padding-top: calc(95 * var(--du)); }
    .page-hero :is(h1,.display-title) { font-size: calc(75.5 * var(--du)); max-width: calc(1320 * var(--du)); }
    .page-hero > p { font-size: calc(20.2 * var(--du)); }
    .page-hero > .button { margin-top: calc(32 * var(--du)); }
    .about-hero-art { width: calc(1320 * var(--du)); margin-top: calc(67 * var(--du)); }
    .about-benefits { padding-top: calc(162 * var(--du)); }
    .page-nosotros main > .section-block:not(.about-benefits) { padding-top: calc(152 * var(--du)); width: calc(1238 * var(--du)); }
    .split-story { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: calc(32 * var(--du)); margin-top: calc(74 * var(--du)); }
    .split-story > div { padding-left: calc(27 * var(--du)); }
    .split-story h3 { font-size: calc(38.3 * var(--du)); }
    .split-story p { font-size: calc(20.2 * var(--du)); line-height: 1.4; }
    .split-story.reverse p { width: calc(716 * var(--du)); max-width: none; }
    .split-story .eyebrow { font-size: calc(18.2 * var(--du)); }
    .page-nosotros .faq { padding-bottom: calc(93 * var(--du)); }
    .download-section { padding: calc(196 * var(--du)) 24px calc(60 * var(--du)); }
    .download-section h2 { font-size: calc(76.6 * var(--du)); }
    .download-section > p { font-size: calc(22.4 * var(--du)); margin-top: calc(10 * var(--du)); }
    .download-qr { width: calc(152 * var(--du)); margin-top: calc(39 * var(--du)); }
    .download-section .store-links { margin-top: calc(16 * var(--du)); }

    .enterprise-hero { padding-top: calc(47 * var(--du)); }
    .enterprise-hero > .eyebrow { margin-bottom: calc(72 * var(--du)); }
    .enterprise-hero :is(h1,.display-title) { font-size: calc(72 * var(--du)); line-height: 1.12; max-width: calc(1180 * var(--du)); }
    .enterprise-hero > p { max-width: calc(700 * var(--du)); margin-top: calc(28 * var(--du)); }
    .enterprise-hero > .button-row { margin-top: calc(32 * var(--du)); }
    .corporate-hero-art { max-width: calc(940 * var(--du)); margin-top: calc(53 * var(--du)); }
    .stat-grid { max-width: calc(874 * var(--du)); gap: calc(18 * var(--du)); margin-top: calc(44 * var(--du)); }
    .stat { padding: calc(15 * var(--du)) calc(12 * var(--du)); }
    .stat strong { font-size: calc(38 * var(--du)); }
    .stat span { font-size: calc(14 * var(--du)); margin-top: calc(8 * var(--du)); }
    .deployment-grid { max-width: calc(874 * var(--du)); gap: calc(40 * var(--du)); }
    .deployment-card { padding: calc(44 * var(--du)) calc(30 * var(--du)) calc(34 * var(--du)) calc(64 * var(--du)); }
    .deployment-card h3 { font-size: calc(23.1 * var(--du)); }
    .deployment-card > p { font-size: calc(23.1 * var(--du)); line-height: 1.2; }
    .deployment-card .plan-features { margin-left: calc(-16 * var(--du)); margin-right: 0; }
    .deployment-card .plan-features li { margin-top: calc(13 * var(--du)); }
    .page-corporativo main > .section-block { width: calc(1500 * var(--du)); }
    .page-corporativo .section-block:has(.benefit-grid) .section-heading { max-width: calc(1100 * var(--du)); }
    .page-corporativo .section-block:has(.deployment-grid) .section-heading { max-width: calc(930 * var(--du)); }
    .page-corporativo .section-block:has(.infrastructure-grid) .section-heading { max-width: calc(1500 * var(--du)); }
    .infrastructure-grid { max-width: calc(1068 * var(--du)); gap: calc(16 * var(--du)); }
    .infrastructure-image > img { aspect-ratio: 346/340; }
    .infrastructure-image .eyebrow { font-size: calc(18.3 * var(--du)); width: calc(168 * var(--du)); text-align: center; top: calc(17 * var(--du)); left: calc(20 * var(--du)); }
    .infrastructure-grid h3 { max-width: calc(270 * var(--du)); font-size: calc(24 * var(--du)); margin: calc(24 * var(--du)) calc(25 * var(--du)) 0; }
    .infrastructure-grid p { font-size: calc(19.2 * var(--du)); margin: calc(14 * var(--du)) calc(25 * var(--du)) 0; }
    .page-corporativo .architecture.container { width: calc(1400 * var(--du)); }
    .architecture-grid { grid-template-columns: calc(927 * var(--du)) 1fr; gap: calc(28 * var(--du)); }
    .architecture-grid > div { padding: calc(30 * var(--du)); }
    .architecture-grid h3 { font-size: calc(24 * var(--du)); }
    .architecture-grid h4 { font-size: calc(19.2 * var(--du)); }
    .architecture-grid p { font-size: calc(15 * var(--du)); }
    .architecture-grid article { padding-top: calc(30 * var(--du)); }
    .page-corporativo .trust { margin-top: calc(215 * var(--du)); }
    .page-corporativo .closing { padding-top: calc(190 * var(--du)); }

    .referral-hero { padding-top: calc(47 * var(--du)); padding-bottom: calc(80 * var(--du)); }
    .referral-hero > .eyebrow { margin-bottom: calc(83 * var(--du)); }
    .referral-hero h1 { font-size: calc(72 * var(--du)); line-height: 1.12; max-width: calc(1320 * var(--du)); }
    .referral-hero > p { max-width: calc(680 * var(--du)); }
    .referral-hero > .button-row { margin-top: calc(20 * var(--du)); }
    .referral-requirement { margin-top: calc(60 * var(--du)); }
    .referral-overview { padding-top: calc(34 * var(--du)); }
    .referral-overview .section-heading { margin-bottom: 0; }
    .referral-overview .stat-grid { margin-top: calc(95 * var(--du)); }
    .page-referidos .section-block:not(.referral-overview) { padding-top: calc(215 * var(--du)); }
    .page-referidos .section-block > .section-heading { max-width: calc(1380 * var(--du)); }
    .page-referidos main > .container.section-block { width: calc(1400 * var(--du)); }
    .page-referidos .section-block:has(.service-grid) > .section-heading, .page-referidos #acceso > .section-heading { margin-bottom: calc(95 * var(--du)); }
    .referral-steps { max-width: calc(1174 * var(--du)); gap: calc(36 * var(--du)); }
    .referral-steps > li { grid-template-columns: calc(66 * var(--du)) calc(257 * var(--du)) 1fr; gap: calc(22 * var(--du)); padding: calc(20 * var(--du)) calc(7 * var(--du)); }
    .step-number { width: calc(66 * var(--du)); height: calc(66 * var(--du)); border: 1px solid #c8ccd2; font-size: calc(22 * var(--du)); }
    .referral-steps h3 { font-size: calc(33.6 * var(--du)); }
    .referral-steps p { font-size: calc(23.8 * var(--du)); line-height: 1.2; margin-top: calc(20 * var(--du)); }
    .referral-banner { width: calc(1132 * var(--du)); margin-top: calc(104 * var(--du)); }
    .referral-banner img { width: calc(408 * var(--du)); }
    .referral-banner > div:last-child { padding: 0 calc(35 * var(--du)) 0 0; }
    .referral-banner h2 { font-size: calc(58 * var(--du)); max-width: calc(410 * var(--du)); }
    .referral-banner p { font-size: calc(23.8 * var(--du)); line-height: 1.2; }
    .referral-banner .button { font-size: calc(16.8 * var(--du)); }
    .commissions.wide { width: calc(1776 * var(--du)); }
    .commission-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: calc(38 * var(--du)); }
    .commission-grid .deployment-card { padding: calc(44 * var(--du)) calc(26 * var(--du)) calc(34 * var(--du)) calc(64 * var(--du)); min-height: calc(575 * var(--du)); }
    .commission-price { margin-top: 0 !important; flex-wrap: nowrap; gap: calc(7 * var(--du)); white-space: nowrap; }
    .commission-price strong { font-size: calc(69 * var(--du)); }
    .commission-price span { font-size: calc(20 * var(--du)); }
    .commission-grid .plan-features li { font-size: calc(21.7 * var(--du)); }
    .commission-grid .plan-features { margin-right: calc(-16 * var(--du)); }
    .page-referidos .benefit-card:not(:has(p)) { min-height: calc(244 * var(--du)); }
    .page-referidos .faq { padding-top: calc(228 * var(--du)); }

    .contact-hero { padding-top: calc(58 * var(--du)); }
    .contact-hero :is(h1,.display-title) { font-size: calc(111 * var(--du)); }
    .contact-channels { max-width: calc(990 * var(--du)); gap: calc(52 * var(--du)); margin-top: calc(87 * var(--du)); }
    .contact-channels > * { padding: calc(24 * var(--du)) calc(18 * var(--du)); }
    .contact-channels h2 { font-size: calc(37.2 * var(--du)); }
    .contact-channels p { font-size: calc(20.2 * var(--du)); }
    .contact-hero > .contact-intro { max-width: calc(714 * var(--du)); margin-top: calc(60 * var(--du)); }
    .contact-form-wrap { width: calc(712 * var(--du)); margin: calc(225 * var(--du)) auto; }
    .contact-form { gap: calc(47 * var(--du)); }
    .contact-form label { font-size: calc(20.2 * var(--du)); }
    .contact-form input, .contact-form textarea { font-size: calc(28.2 * var(--du)); padding: calc(8 * var(--du)) 2px; line-height: 1.15; }
    .contact-form input, .contact-form textarea { border-bottom-color: #101116; }
    .contact-form textarea { min-height: calc(50 * var(--du)); height: calc(50 * var(--du)); }
    .faq-band { padding: calc(71 * var(--du)) 24px calc(90 * var(--du)); }
    .contact-assistance { width: calc(776 * var(--du)); margin: calc(243 * var(--du)) auto calc(156 * var(--du)); padding: calc(28 * var(--du)); }
    .assistance-icon { width: calc(82 * var(--du)); height: calc(82 * var(--du)); font-size: calc(60 * var(--du)); }
    .contact-assistance h2 { font-size: calc(47 * var(--du)); line-height: 1.05; max-width: calc(650 * var(--du)); }
    .contact-assistance .button { font-size: calc(19.4 * var(--du)); }
    .contact-assistance .button { border-radius: calc(10 * var(--du)); }

    .page-blog .page-hero { padding-top: calc(80 * var(--du)); }
    .page-blog .page-hero :is(h1,.display-title) { font-size: calc(72 * var(--du)); }
    .latest-posts { padding-top: calc(175 * var(--du)); }
    .latest-posts > h2, .all-posts > h2 { font-size: calc(61.2 * var(--du)); }
    .post-grid { max-width: calc(1206 * var(--du)); grid-template-columns: repeat(3, 1fr); gap: calc(56 * var(--du)); margin-top: calc(62 * var(--du)); }
    .post-card h2, .post-row h2 { font-size: calc(26.4 * var(--du)); }
    .post-card p, .post-row p { font-size: calc(20.2 * var(--du)); line-height: 1.4; }
    .post-list { max-width: calc(864 * var(--du)); gap: calc(45 * var(--du)); }
    .post-row { grid-template-columns: calc(346 * var(--du)) 1fr; gap: calc(22 * var(--du)); }
    .post-row img { aspect-ratio: 346/220; object-fit: cover; }
    .all-posts { padding-top: calc(210 * var(--du)); }
    .post-filters > span { font-size: calc(20.2 * var(--du)); }
    .post-filters button { font-size: calc(16.8 * var(--du)); }
    .article-shell { width: calc(1020 * var(--du)); margin-top: calc(95 * var(--du)); }
    .article-shell > img { aspect-ratio: 1020/600; object-fit: cover; }
    .article-meta { margin: calc(28 * var(--du)) calc(74 * var(--du)) calc(15 * var(--du)); }
    .blog-article-meta { font-size: calc(19 * var(--du)); }
    .article-shell > h1 { margin-inline: calc(74 * var(--du)); font-size: calc(61.2 * var(--du)); }
    .article-body { margin-inline: calc(74 * var(--du)); font-size: calc(20.2 * var(--du)); line-height: 1.5; }
    .article-body h2 { font-size: calc(36 * var(--du)); }
    .article-shell .closing { width: calc(800 * var(--du)); margin: calc(75 * var(--du)) auto 0; padding: calc(40 * var(--du)); }
    .article-shell .closing h2 { max-width: calc(540 * var(--du)); font-size: calc(53.7 * var(--du)); }

    .site-footer { padding: calc(158 * var(--du)) 0 calc(103 * var(--du)); }
    .site-footer > .container { width: calc(1520 * var(--du)); }
    .footer-grid { grid-template-columns: 1fr calc(285 * var(--du)); gap: calc(70 * var(--du)); }
    .footer-about > img { width: calc(512 * var(--du)); margin-top: calc(32 * var(--du)); }
    .footer-about > p { max-width: calc(557 * var(--du)); font-size: calc(27.6 * var(--du)); line-height: 1.24; margin-top: calc(54 * var(--du)); }
    .footer-about address { font-size: calc(21 * var(--du)); line-height: 1.25; margin-top: calc(39 * var(--du)); }
    .footer-links a { font-size: calc(35.7 * var(--du)); line-height: 1.2; }
    .footer-links li { margin-bottom: 0; }
    .footer-legal { margin-top: calc(42 * var(--du)); }
    .footer-legal a, .footer-legal button { font-size: calc(21 * var(--du)); line-height: 1.3; }
    .footer-legal li { margin-bottom: 0; }
    .footer-company { width: calc(320 * var(--du)); font-size: calc(21 * var(--du)); line-height: 1.2; margin-top: calc(46 * var(--du)); }
    .social-links { margin-top: calc(74 * var(--du)); gap: calc(26 * var(--du)); }
    .social-links a { width: calc(75 * var(--du)); height: calc(76 * var(--du)); border-radius: calc(24 * var(--du)); }
    .social-links .icon { width: calc(42 * var(--du)); height: calc(42 * var(--du)); }
    .copyright { font-size: calc(24.2 * var(--du)); margin-top: calc(42 * var(--du)); }
}
@media (max-width: 640px) { html { scroll-padding-top: 94px; } }
@media (max-width: 640px) { .enterprise-hero :is(h1,.display-title) { font-size: clamp(26px, 8.5vw, 36px); } }
@media print { .main-header { position: static; } .chat-whatsapp-float { display: none; } }
