:root {
    --vt-green: #0abf7d;
    --vt-green-deep: #087c52;
    --vt-green-ink: #07563d;
    --vt-yellow: #f2cb05;
    --vt-yellow-soft: #fff5bd;
    --vt-ink: #101713;
    --vt-muted: #58625c;
    --vt-line: #dfe7e1;
    --vt-soft: #f5f8f5;
    --vt-white: #fff;
    --vt-gradient: linear-gradient(94deg, var(--vt-green) 0%, var(--vt-yellow) 97%);
    --vt-radius: 25px;
    --vt-shadow: 0 24px 60px -34px rgba(7, 86, 61, .42);
}

@keyframes vt-drawer {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: none; }
}

html { scroll-behavior: smooth; }
body { font-family: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif; }
:where(a, button, input, select, summary):focus-visible {
    outline: 3px solid #101713;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px #fff;
}

.vt-logo { display: block; width: 112px; height: auto; }
.vt-logo--footer { width: 122px; }
.vt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 23px;
    border: 0;
    border-radius: var(--vt-radius);
    background: var(--vt-yellow);
    color: var(--vt-ink);
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.vt-button:hover { color: var(--vt-ink); transform: translateY(-1px); box-shadow: 0 12px 25px -18px #000; }
.vt-button--green { background: var(--vt-green-deep); color: #fff; }
.vt-button--dark { background: var(--vt-ink); color: #fff; }
.vt-button--light { background: #fff; color: var(--vt-green-deep); }

/* Chrome compartido --------------------------------------------------- */
.vt-site-header,
.seo-nav,
.site-header {
    position: relative;
    top: auto;
    z-index: 40;
    border: 0;
    background: linear-gradient(rgba(0, 0, 0, .34), rgba(0, 0, 0, .34)), var(--vt-gradient);
    box-shadow: 0 8px 24px rgba(7, 86, 61, .12);
}
.vt-nav-shell,
.seo-nav__row,
.site-nav {
    width: min(1180px, calc(100% - 32px));
    min-height: 64px;
    margin: 0 auto;
    padding: 9px 14px 9px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: rgba(255, 255, 255, .15);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: var(--vt-radius);
    backdrop-filter: blur(12px);
}
.vt-site-header { position: relative; padding: 8px 0; }
.vt-home .vt-site-header { position: relative; padding: 14px max(44px, calc((100% - 1180px) / 2)); }
.vt-home .vt-nav-shell { width: 100%; max-width: 1180px; min-height: 0; padding: 10px 14px 10px 22px; background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .34); }
.vt-home .vt-nav-shell > a { display: flex; align-items: center; gap: 10px; }
.vt-home .vt-logo { width: 105px; height: 24px; }
.vt-home .vt-logo--footer { width: 113px; height: 26px; }
.vt-nav-links,
.seo-nav__links,
.site-nav nav { display: flex; align-items: center; gap: 24px; color: #fff; font-size: 14px; font-weight: 800; }
.vt-home .vt-nav-links { gap: 22px; white-space: nowrap; }
.vt-nav-links a,
.seo-nav__links a,
.site-nav nav a { color: inherit; }
.vt-nav-links a:hover,
.seo-nav__links a:hover,
.site-nav nav a:hover { color: var(--vt-yellow); }
.vt-site-header a { text-decoration: none; }
.vt-nav-links .ge-nav__link.is-current,
.vt-nav-links .ge-menu__trigger.is-current,
.seo-nav__links .ge-nav__link.is-current,
.seo-nav__links .ge-menu__trigger.is-current,
.site-nav nav .ge-nav__link.is-current,
.site-nav nav .ge-menu__trigger.is-current { color: var(--vt-yellow); }
.vt-nav-actions { display: flex; align-items: center; gap: 14px; }
.vt-phone,
.seo-nav__phone { color: #fff; font-size: 15px; font-weight: 750; white-space: nowrap; }
.vt-home .vt-phone { font-weight: 700; }
.vt-phone:not(.vt-phone--mobile) { display: inline-flex; align-items: center; gap: 7px; }
.vt-phone:not(.vt-phone--mobile) > svg { width: 15px; height: 15px; flex: none; margin: 0; }
.vt-home .vt-phone > svg { color: var(--vt-yellow); }
.vt-phone svg { vertical-align: middle; }
.vt-nav-actions > .vt-phone--mobile { display: none; }
.vt-home .vt-nav-actions > .vt-button { min-height: 0; padding: 12px 24px; font-size: 15px; font-weight: 700; }
.vt-nav-actions > .vt-phone--mobile {
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: var(--vt-radius);
    background: rgba(255, 255, 255, .14);
    color: #fff;
}
.vt-nav-actions > .vt-phone--mobile svg { width: 18px; height: 18px; margin: 0; color: #fff; }
.vt-mobile-nav { display: none; position: relative; }
.vt-mobile-nav summary { list-style: none; cursor: pointer; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--vt-yellow); }
.vt-mobile-nav summary::-webkit-details-marker { display: none; }
.vt-menu-icon--close { display: none; }
.vt-mobile-nav[open] .vt-menu-icon--open { display: none; }
.vt-mobile-nav[open] .vt-menu-icon--close { display: block; }
.vt-mobile-drawer {
    position: absolute;
    top: calc(100% + 26px);
    right: -30px;
    left: auto;
    width: min(520px, calc(100vw - 24px));
    max-height: calc(100dvh - 120px);
    overflow: auto;
    padding: 14px 22px 20px;
    border-radius: var(--vt-radius);
    border: 1px solid rgba(255, 255, 255, .34);
    background: linear-gradient(rgba(7, 86, 61, .68), rgba(7, 86, 61, .68)), var(--vt-gradient);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
    animation: vt-drawer .22s ease both;
}
.vt-mobile-drawer,
.vt-mobile-drawer nav { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
.vt-mobile-drawer a,
.vt-mobile-drawer summary { display: block; width: auto; height: auto; padding: 11px 0; background: none; color: #fff; font-size: 17px; font-weight: 600; }
.vt-mobile-drawer .ge-submenu__lista { padding-left: 10px; }
.vt-mobile-drawer .ge-company-link__text small { color: #b8c2bc; }
.vt-mobile-drawer .ge-submenu { border-bottom: 0; }
.vt-mobile-drawer .ge-submenu > summary { padding: 14px 0 8px; color: var(--vt-yellow); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vt-mobile-drawer .ge-submenu > summary::after { color: var(--vt-yellow); }
.vt-mobile-drawer .ge-submenu__link { padding: 11px 0 11px 16px; border-left: 2px solid rgba(255, 255, 255, .28); margin-left: 4px; color: #fff; font-size: 17px; font-weight: 600; }
.vt-mobile-drawer .ge-submenu__link--all { color: #fff; }
.vt-mobile-drawer > a[href="/quienes-somos/"] { border-top: 1px solid rgba(255, 255, 255, .28); margin-top: 10px; padding-top: 21px; }
.vt-mobile-drawer .vt-button { margin-top: 12px; color: var(--vt-ink); background: var(--vt-yellow); font-size: 17px; font-weight: 700; text-align: center; }
.vt-mobile-drawer > a:last-child { padding: 12px 0; text-align: center; color: #fff; font-size: 16px; font-weight: 700; }
.vt-nav-links .ge-menu__panel,
.seo-nav__links .ge-menu__panel,
.site-nav nav .ge-menu__panel { color: var(--vt-ink); }
.vt-nav-links .ge-menu__panel a,
.seo-nav__links .ge-menu__panel a,
.site-nav nav .ge-menu__panel a { color: var(--vt-ink); }
.vt-nav-links .ge-menu__panel a:hover,
.seo-nav__links .ge-menu__panel a:hover,
.site-nav nav .ge-menu__panel a:hover { color: var(--vt-green-deep); background: #edf9f3; }

.seo-brand__mark,
.brand-mark { display: none; }
.seo-brand__name { font-size: 0; }
.seo-brand__name::after { content: ''; display: block; width: 112px; height: 28px; }
.seo-cta,
.header-cta { border-radius: var(--vt-radius); background: var(--vt-yellow); color: var(--vt-ink); }
.seo-cta:hover,
.header-cta:hover { color: var(--vt-ink); background: #ffe14a; }

/* Home estática Vatify ----------------------------------------------- */
.vt-home {
    margin: 0;
    background: #fff;
    color: var(--vt-ink);
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    -webkit-text-size-adjust: 100%;
}
.vt-home * { box-sizing: border-box; }
.vt-home a {
    color: inherit;
    text-decoration: none;
}
.vt-home .vt-phone,
.vt-home .vt-phone:hover,
.vt-home .vt-phone:visited {
    color: #fff;
}
.vt-home a.vt-button { color: var(--vt-ink); }
.vt-home a.vt-button--green,
.vt-home a.vt-button--dark { color: #fff; }
.vt-home a.vt-button--light { color: var(--vt-green-deep); }
.vt-mobile-drawer a,
.vt-mobile-drawer .ge-drawer__link { color: #fff; }
.vt-mobile-drawer .ge-drawer__link { border-bottom: 0; }
.vt-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(rgba(0, 0, 0, .34), rgba(0, 0, 0, .34)), var(--vt-gradient);
    color: #fff;
}
.vt-hero::before { content: ''; position: absolute; left: -40px; top: -30px; width: 255px; height: 520px; background: var(--vt-ray) center / 100% 100% no-repeat; opacity: .18; pointer-events: none; }
.vt-hero__inner { position: relative; width: min(1180px, calc(100% - 88px)); margin: 0 auto; padding: 70px 0 66px; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 48px; align-items: start; }
.vt-hero__copy { display: flex; flex-direction: column; gap: 22px; }
.vt-pill { align-self: flex-start; display: inline-flex; padding: 8px 16px; border-radius: var(--vt-radius); background: rgba(255, 255, 255, .92); color: #078959; font-size: 13px; font-weight: 600; line-height: 1.3; }
.vt-hero h1 { margin: 0; max-width: none; color: #fff; font-size: 40px; line-height: 1.14; letter-spacing: normal; font-weight: 900; text-wrap: balance; }
.vt-hero h1 span { display: inline-block; padding: 0 14px; border-radius: var(--vt-radius); background: #fff; color: var(--vt-green); }
.vt-hero__lead { margin: 0; font-size: 21px; line-height: 1.3; font-weight: 700; }
.vt-hero__body { margin: 0; max-width: 480px; font-size: 16px; line-height: 1.6; text-wrap: pretty; }
.vt-checks { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; font-size: 16px; line-height: 1.4; font-weight: 600; }
.vt-checks li { display: flex; gap: 10px; align-items: flex-start; color: #fff; }
.vt-checks li::before { display: none; }
.vt-checks svg { flex: none; margin-top: 2px; color: #fff; }
.vt-proof-pill { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; max-width: 100%; padding: 11px 20px; border-radius: var(--vt-radius); background: rgba(255, 255, 255, .92); color: #078959; font-size: 14px; line-height: 1.4; font-weight: 700; }
.vt-upload-card { padding: 30px; border-radius: var(--vt-radius); background: #fff; color: var(--vt-ink); box-shadow: var(--vt-shadow); display: flex; flex-direction: column; gap: 18px; }
.vt-upload-card__head { display: flex; flex-direction: column; gap: 4px; text-align: center; }
.vt-upload-card__head h2 { margin: 0; color: var(--vt-green); font-size: 23px; line-height: 1.2; font-weight: 900; }
.vt-upload-card__head p { margin: 0; color: #717171; font-size: 15px; line-height: 1.5; }
.vt-mode-tabs { display: flex; gap: 6px; padding: 5px; border-radius: var(--vt-radius); background: #f3f3f3; }
.vt-mode-tab { flex: 1; min-height: 46px; border: 0; border-radius: var(--vt-radius); background: transparent; color: #717171; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 8px; }
.vt-mode-tab svg { flex: none; }
.vt-mode-tab.comparator-mode-active { background: #fff; color: var(--vt-green) !important; box-shadow: 0 2px 6px rgba(0, 0, 0, .12) !important; border-radius: var(--vt-radius) !important; }
.vt-mode-tab.comparator-mode-inactive { background: transparent !important; color: #717171 !important; box-shadow: none !important; }
.vt-upload-zone { padding: 38px 24px; border: 1.5px dashed #b7e9d5; border-radius: var(--vt-radius); display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; background: #f3f3f3; cursor: pointer; }
.vt-upload-zone:hover { border-color: var(--vt-green); background: #eafbf3; }
.vt-upload-icon { width: 52px; height: 52px; border-radius: var(--vt-radius); background: var(--vt-green); color: #fff; display: grid; place-items: center; }
.vt-upload-icon svg { width: 22px; height: 22px; }
.vt-upload-zone strong { font-size: 20px; font-weight: 800; }
.vt-upload-zone p { margin: 0; color: #717171; font-size: 15px; line-height: 1.5; }
.vt-upload-zone small { color: #9b9b9b; font-size: 13px; line-height: 1.5; padding-top: 2px; }
.vt-home .vt-upload-zone .vt-button--green { min-height: 0; margin-top: 6px; padding: 14px 26px; border-radius: var(--vt-radius); background: var(--vt-green); color: #fff; font-size: 16px; font-weight: 700; }
.vt-home .vt-upload-zone .vt-button--green:hover { background: #078959; color: #fff; }
.vt-manual-link { display: block; width: 100%; margin-top: 16px; border: 0; background: none; color: var(--vt-green); text-align: center; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; padding: 6px; }
.vt-privacy-note { display: flex; align-items: center; justify-content: center; gap: 8px; padding-top: 14px; border-top: 1px solid #f3f3f3; color: #717171; font-size: 13px; line-height: 1.5; text-align: center; }
.vt-privacy-icon { flex: none; color: #717171; }
.vt-company-context { background: #eafbf4; border: 1px solid #a8e7cf; color: var(--vt-green-ink); border-radius: 18px; padding: 13px 14px; font-size: 14px; line-height: 1.5; }
.vt-trust { border-bottom: 1px solid var(--vt-line); background: #fff; }
.vt-trust__inner { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 22px 0; display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; font-size: 15px; font-weight: 600; }
.vt-trust span { display: flex; align-items: center; gap: 10px; }
.vt-trust span::before { content: ''; width: 8px; height: 8px; border-radius: 25px; background: var(--vt-yellow); }
.vt-section { padding: 60px max(24px, calc((100% - 1180px) / 2)); }
.vt-section--soft { background: #f3f3f3; }
.vt-section--dark { background: var(--vt-ink); color: #fff; }
.vt-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(34px, 6vw, 76px); align-items: center; }
.vt-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vt-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vt-kicker { color: var(--vt-green); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; font-weight: 700; }
.vt-section h2 { margin: 0; color: #000; font-size: 30px; line-height: 1.15; letter-spacing: normal; font-weight: 900; }
.vt-section p { color: #717171; font-size: 17px; line-height: 1.7; }
.vt-section--dark p { color: #bfc8c2; }
.vt-steps { display: grid; gap: 12px; margin: 0; padding-top: 4px; }
.vt-step { display: flex; gap: 12px; color: #717171; font-size: 16px; line-height: 1.55; }
.vt-step b:first-child { flex: none; width: 24px; height: 24px; border-radius: 25px; display: grid; place-items: center; background: var(--vt-yellow); color: #000; font-size: 12px; }
.vt-demo-panel { padding: 22px; border-radius: var(--vt-radius); background: var(--vt-gradient); color: var(--vt-ink); box-shadow: var(--vt-shadow); }
.vt-demo-row { padding: 20px; border-radius: var(--vt-radius); background: rgba(255, 255, 255, .94); margin-top: 0; }
.vt-demo-row > strong { display: block; color: #078959; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.vt-demo-data { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; color: #717171; font-size: 14px; }
.vt-demo-data > div { min-width: 0; display: flex; justify-content: space-between; gap: 6px; padding: 11px 16px; border-radius: var(--vt-radius); background: #f3f3f3; }
.vt-demo-data > div > span { min-width: 0; }
.vt-demo-data b { flex: none; color: #000; font-weight: 700; white-space: nowrap; }
.vt-demo-chart { margin-top: 14px; padding: 20px; border-radius: var(--vt-radius); background: rgba(255, 255, 255, .94); }
.vt-demo-chart__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.vt-demo-chart__head strong { color: #078959; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.vt-demo-chart__head span { color: #717171; font-size: 13px; white-space: nowrap; }
.vt-demo-chart__bars { display: flex; align-items: end; gap: 5px; height: 88px; }
.vt-demo-chart__bars i { flex: 1; height: 96%; border-radius: 6px 6px 0 0; background: #e4e4e4; }
.vt-demo-chart__bars i:nth-child(2) { height: 88%; }
.vt-demo-chart__bars i:nth-child(3) { height: 79%; }
.vt-demo-chart__bars i:nth-child(4) { height: 71%; }
.vt-demo-chart__bars i:nth-child(5) { height: 64%; }
.vt-demo-chart__bars i:nth-child(6) { height: 58%; background: #fff7cf; }
.vt-demo-chart__bars i:nth-child(7) { height: 52%; background: var(--vt-yellow); }
.vt-demo-chart__bars i:nth-child(8) { height: 46%; background: var(--vt-yellow); }
.vt-demo-chart__bars i:nth-child(9) { height: 41%; background: var(--vt-green); }
.vt-demo-chart__bars i:nth-child(10) { height: 36%; background: var(--vt-green); }
.vt-demo-chart__labels { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; color: #717171; font-size: 13px; }
.vt-demo-result { margin-top: 14px; padding: 18px 20px; border-radius: var(--vt-radius); background: #fff; color: #000; display: flex; justify-content: space-between; gap: 14px; font-size: 15px; font-weight: 600; }
.vt-demo-result span:last-child { color: var(--vt-green); font-size: 28px; font-weight: 900; white-space: nowrap; }
.vt-card { min-width: 0; padding: 26px; border: 1px solid var(--vt-line); border-radius: var(--vt-radius); background: #fff; box-shadow: 0 14px 34px -30px rgba(7, 86, 61, .5); }
.vt-card--dark { background: var(--vt-ink); color: #fff; border-color: var(--vt-ink); }
.vt-card h3 { margin: 8px 0; font-size: 21px; line-height: 1.25; }
.vt-card p { margin: 0; font-size: 15px; }
.vt-card a { display: inline-block; margin-top: 18px; color: var(--vt-green-deep); font-weight: 800; }
.vt-card--dark p { color: #bfc8c2; }
.vt-card--dark .vt-kicker { color: var(--vt-yellow); }
.vt-stat { font-size: 34px; font-weight: 900; letter-spacing: -.04em; }
.vt-stat + p { margin: 5px 0 0; }
.vt-stats { margin-top: 18px; }
.vt-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vt-tile { padding: 22px; border-radius: var(--vt-radius); background: #fff; border: 1px solid var(--vt-line); }
.vt-tile strong { display: block; font-size: 25px; margin-bottom: 5px; }
.vt-agent-card { padding: 32px; border-radius: var(--vt-radius); background: var(--vt-gradient); color: var(--vt-ink); display: flex; flex-direction: column; }
.vt-agent-card h3 { margin: 0 0 8px; font-size: 25px; }
.vt-agent-card p { color: var(--vt-ink); }
.vt-agent-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vt-agent-fields label { display: flex; flex-direction: column; gap: 7px; font-size: 14px; font-weight: 700; }
.vt-agent-fields input { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid var(--vt-line); border-radius: 14px; background: #fff; color: var(--vt-ink); font-family: inherit; font-size: 16px; }
.vt-agent-profile { margin: 18px 0; font-size: 14px; font-weight: 700; }
.vt-agent-profile > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; }
.vt-agent-profile button { border: 1px solid rgba(16, 23, 19, .25); border-radius: 25px; background: rgba(255, 255, 255, .65); color: var(--vt-ink); padding: 11px 17px; font: inherit; cursor: pointer; }
.vt-agent-profile button.is-selected { background: #fff; border-color: var(--vt-ink); }
.vt-agent-card > .vt-button { display: flex; margin-top: 18px; }
.vt-agent-card .vt-agent-note { font-size: 13px; line-height: 1.5; }
.vt-faq { display: grid; gap: 0; }
.vt-faq details { padding: 18px 0; border-bottom: 1px solid var(--vt-line); }
.vt-faq summary { cursor: pointer; font-size: 18px; font-weight: 800; }
.vt-faq p { margin: 10px 0 0; }
.vt-close { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.vt-close h2 { margin: 0; }
.vt-close p { margin-bottom: 0; }

/* Ajustes de la composicion larga de la home. Los valores siguen la misma
   escala que la maqueta Vatify, sin cambiar los literales ni los datos del
   comparador. */
.vt-home #motor.vt-grid-2 { grid-template-columns: .95fr 1.05fr; gap: 48px; }
.vt-home #motor > div:first-child { display: flex; flex-direction: column; gap: 18px; }
.vt-home #motor h2,
.vt-home #luzgas h2,
.vt-home #pymes h2,
.vt-home #agente h2,
.vt-home #faq h2 { color: #000; font-size: 30px; line-height: 1.15; font-weight: 900; letter-spacing: normal; }
.vt-home #motor p,
.vt-home #pymes p,
.vt-home #agente p { margin: 0; max-width: 470px; color: #717171; font-size: 17px; line-height: 1.7; }
.vt-home #motor p { max-width: 430px; }
.vt-home #motor .vt-step strong { color: #000; }
.vt-home #motor > div:first-child > .vt-button { align-self: flex-start; margin-top: 4px; padding: 16px 28px; border-radius: var(--vt-radius); background: var(--vt-green); color: #fff; font-size: 16px; font-weight: 700; }
.vt-home #motor > div:first-child > .vt-button:hover { background: #078959; color: #fff; }

.vt-home .vt-capabilities { display: flex; flex-direction: column; gap: 48px; background: #fff; }
.vt-home .vt-capabilities .vt-grid-4,
.vt-home #luzgas .vt-grid-3 { gap: 18px; }
.vt-home .vt-capability-card { display: flex; flex-direction: column; gap: 10px; padding: 28px; border: 0; border-radius: var(--vt-radius); background: #f3f3f3; box-shadow: none; }
.vt-home .vt-capability-icon { width: 44px; height: 44px; border-radius: var(--vt-radius); background: var(--vt-green); color: #fff; display: grid; place-items: center; }
.vt-home .vt-capability-card .vt-kicker { margin-top: 0; }
.vt-home .vt-capability-card h3 { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 800; }
.vt-home .vt-capability-card p { margin: 0; color: #717171; font-size: 15px; line-height: 1.6; }
.vt-home .vt-capability-card.vt-card--dark { background: var(--vt-gradient); color: #fff; border-color: transparent; }
.vt-home .vt-capability-card.vt-card--dark .vt-capability-icon { background: #fff; color: var(--vt-green); }
.vt-home .vt-capability-card.vt-card--dark .vt-kicker { color: #000; }
.vt-home .vt-capability-card.vt-card--dark p { color: #fff; opacity: .95; }
.vt-home .vt-stats { margin-top: 0; gap: 18px; }
.vt-home .vt-stat-card { display: flex; flex-direction: column; gap: 6px; padding: 28px; border: 0; border-radius: var(--vt-radius); background: #fff7cf; box-shadow: none; }
.vt-home .vt-stat { color: var(--vt-green); font-size: 38px; line-height: 1.15; font-weight: 900; letter-spacing: normal; }
.vt-home .vt-stat-card p { margin: 0; color: #717171; font-size: 15px; line-height: 1.5; }

.vt-home #luzgas { display: flex; flex-direction: column; gap: 28px; background: #f3f3f3; }
.vt-home #luzgas h2 { max-width: 640px; }
.vt-home #luzgas .vt-card { display: flex; flex-direction: column; gap: 12px; padding: 30px; border: 0; border-radius: var(--vt-radius); background: #fff; box-shadow: none; }
.vt-home #luzgas .vt-card h3 { margin: 0; font-size: 22px; line-height: 1.25; font-weight: 800; }
.vt-home #luzgas .vt-card p { margin: 0; max-width: none; color: #717171; font-size: 15px; line-height: 1.65; }
.vt-home #luzgas .vt-card a { margin-top: auto; padding-top: 8px; color: #078959; font-size: 15px; font-weight: 700; }

.vt-home #pymes > div:first-child,
.vt-home #agente > div:first-child { display: flex; flex-direction: column; gap: 18px; }
.vt-home #pymes { gap: 48px; }
.vt-home #pymes h2 { color: #000; font-size: 30px; line-height: 1.15; }
.vt-home #pymes > div:first-child > p:last-child { display: flex; gap: 12px; flex-wrap: wrap; }
.vt-home #pymes .vt-tiles { grid-template-columns: 1fr 1fr; gap: 14px; }
.vt-home #pymes .vt-tile { padding: 26px; border: 0; border-radius: var(--vt-radius); background: #f3f3f3; }
.vt-home #pymes .vt-tile strong { display: block; margin-bottom: 5px; color: var(--vt-green); font-size: 26px; line-height: 1.2; font-weight: 900; }
.vt-home #pymes .vt-tile span { color: #717171; font-size: 14px; line-height: 1.45; }
.vt-home #pymes .vt-button--green { padding: 16px 28px; background: var(--vt-green); color: #fff; font-size: 16px; line-height: 1.2; font-weight: 700; }
.vt-home #pymes .vt-button--light { padding: 16px 26px; background: var(--vt-yellow); color: #000; font-size: 16px; line-height: 1.2; font-weight: 700; }
.vt-home #pymes .vt-button--green:hover { background: #078959; color: #fff; }

.vt-home #agente .vt-steps { gap: 10px; padding-top: 0; }
.vt-home #agente .vt-step { gap: 10px; color: #717171; font-size: 16px; line-height: 1.5; }
.vt-home #agente .vt-step b:first-child { width: 8px; height: 8px; margin-top: 8px; border-radius: 25px; background: var(--vt-yellow); color: transparent; font-size: 0; }
.vt-home #agente { gap: 48px; }
.vt-home #agente .vt-agent-card { gap: 16px; padding: 30px; border-radius: var(--vt-radius); background: #fff; color: var(--vt-ink); box-shadow: 0 22px 48px -36px rgba(0, 0, 0, .4); }
.vt-home #agente .vt-agent-card__head { display: flex; flex-direction: column; gap: 4px; }
.vt-home #agente .vt-agent-card h3 { margin: 0; color: var(--vt-green); font-size: 20px; line-height: 1.2; font-weight: 900; }
.vt-home #agente .vt-agent-card p { max-width: none; color: #717171; font-size: 15px; line-height: 1.5; }
.vt-home #agente .vt-agent-form { position: relative; display: flex; flex-direction: column; gap: 12px; }
.vt-home #agente .vt-agent-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vt-home #agente .vt-agent-fields label { display: flex; flex-direction: column; gap: 6px; color: #000; font-size: 14px; font-weight: 600; }
.vt-home #agente .vt-agent-fields input { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid #e4e4e4; border-radius: 14px; background: #fafaf9; color: #000; font-family: inherit; font-size: 16px; font-weight: 400; }
.vt-home #agente .vt-agent-fields input:focus { outline: 2px solid var(--vt-green); outline-offset: 1px; border-color: var(--vt-green); }
.vt-home #agente .vt-agent-profile { margin: 0; padding: 0; border: 0; }
.vt-home #agente .vt-agent-profile legend { margin-bottom: 6px; color: #000; font-size: 14px; font-weight: 600; }
.vt-home #agente .vt-agent-profile > div { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; }
.vt-home #agente .vt-agent-profile label { position: relative; padding: 12px 22px; border: 1px solid #e4e4e4; border-radius: var(--vt-radius); background: #f3f3f3; color: #000; font-size: 15px; font-weight: 600; cursor: pointer; }
.vt-home #agente .vt-agent-profile label.is-selected { border-color: var(--vt-green); background: var(--vt-green); color: #fff; }
.vt-home #agente .vt-agent-profile input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.vt-home #agente .vt-agent-profile label:focus-within { outline: 3px solid #101713; outline-offset: 3px; }
.vt-home #agente .vt-agent-consent { display: flex; gap: 9px; align-items: flex-start; color: #717171; font-size: 12px; line-height: 1.5; cursor: pointer; }
.vt-home #agente .vt-agent-consent input { flex: none; width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--vt-green); }
.vt-home #agente .vt-agent-consent a { color: #078959; text-decoration: underline; text-underline-offset: 2px; }
.vt-home #agente .vt-agent-submit { width: 100%; padding: 17px; border: 0; border-radius: var(--vt-radius); background: var(--vt-green); color: #fff; font-family: inherit; font-size: 17px; line-height: 1.2; font-weight: 700; cursor: pointer; }
.vt-home #agente .vt-agent-submit:hover { background: #078959; }
.vt-home #agente .vt-agent-submit:disabled { cursor: wait; opacity: .7; }
.vt-home #agente .vt-agent-note { color: #9b9b9b; font-size: 13px; line-height: 1.6; }
.vt-home #agente .vt-agent-status { padding: 10px 12px; border-radius: 14px; background: #fff4f2; color: #8b2418; font-size: 13px; line-height: 1.45; }
.vt-home #agente .vt-agent-status[data-state="success"] { background: #eafbf3; color: #07563d; }
.vt-home #agente .vt-agent-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.vt-home #faq { grid-template-columns: .8fr 1.2fr; gap: 48px; background: #fff; }
.vt-home #faq .vt-faq { display: flex; flex-direction: column; gap: 14px; }
.vt-home #faq .vt-faq details { padding: 22px 26px; border: 0; border-radius: var(--vt-radius); background: #f3f3f3; }
.vt-home #faq .vt-faq summary { cursor: pointer; font-size: 18px; line-height: 1.4; font-weight: 700; }
.vt-home #faq .vt-faq p { margin: 6px 0 0; color: #717171; font-size: 16px; line-height: 1.65; }

.vt-home .vt-section--dark { position: relative; overflow: hidden; background: linear-gradient(rgba(0, 0, 0, .34), rgba(0, 0, 0, .34)), linear-gradient(89deg, #f2cb05 0%, #0abf7d 100%); color: #fff; }
.vt-home .vt-section--dark::before { content: ''; position: absolute; right: -30px; bottom: -60px; width: 167px; height: 340px; background: var(--vt-ray) center / 100% 100% no-repeat; opacity: .2; pointer-events: none; }
.vt-home .vt-section--dark .vt-close { position: relative; z-index: 1; }
.vt-home .vt-section--dark .vt-close h2 { color: #fff; line-height: 1.12; }
.vt-home .vt-section--dark .vt-close p { color: #fff; font-size: 17px; line-height: 1.5; opacity: .95; }
.vt-home .vt-section--dark .vt-close .vt-button { padding: 19px 34px; border-radius: var(--vt-radius); background: #fff; color: var(--vt-green); font-size: 17px; font-weight: 800; }
.vt-home .vt-section--dark .vt-close .vt-button:hover { color: #078959; }

.vt-home .vt-trust__inner { gap: 22px; }

/* Interiores y resultados: misma identidad, misma estructura ---------- */
.vt-content { --seo-bg: #f5f8f5; --seo-ink: #101713; --seo-muted: #58625c; --seo-line: #dfe7e1; --seo-mint: #f2cb05; --seo-green: #087c52; --seo-green-bg: #eafbf4; --seo-green-line: #a8e7cf; }
.vt-content .seo-hero,
.vt-content .pl-header,
.vt-content .seo-header { background: linear-gradient(105deg, rgba(10, 191, 125, .1), rgba(242, 203, 5, .1)); border-radius: var(--vt-radius); padding: clamp(24px, 4vw, 48px); }
.vt-content .seo-hero h1,
.vt-content .seo-header h1,
.vt-content .pl-header h1 { color: var(--vt-ink); letter-spacing: -.045em; }

/* Los encabezados editoriales son una banda de contenido, no una tarjeta.
   Salen del shell interior para que su ancho coincida con el eje exterior de
   la cabecera Vatify; el texto vuelve a entrar 24 px y conserva la alineación
   del resto del documento. Las landings de precio afinan este mismo contrato
   desde `assets/precio-luz.css`. */
.vt-content .pl-page > .pl-header,
.vt-content .seo-shell > .seo-header {
    width: calc(100% + 48px);
    margin-left: -24px;
    padding: 16px 24px 20px;
    background: transparent;
    border-radius: 0;
}

/* Estado 404 de compañía: el elemento es shell y header a la vez, por lo que
   no necesita la compensación de un hijo del shell. */
.vt-content .seo-shell.seo-header {
    width: 100%;
    margin-left: auto;
    padding: 16px 24px 20px;
    background: transparent;
    border-radius: 0;
}

.vt-content .seo-section h2,
.vt-content .seo-section h3 { letter-spacing: -.035em; }
.vt-content .seo-drawer { border-top: 0; background: var(--vt-ink); color: #fff; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); }
.vt-content .seo-drawer__inner > a,
.vt-content .seo-drawer__inner .ge-submenu > summary { color: #fff; border-color: rgba(255, 255, 255, .16); }
.vt-content .seo-drawer__inner .ge-submenu__link { color: #dce3df; border-color: rgba(255, 255, 255, .12); }
.vt-content .seo-drawer__cta { background: var(--vt-yellow); color: var(--vt-ink); border: 0; }
.vt-content .seo-drawer[hidden] { display: none !important; }
.seo-kicker,
.eyebrow { color: var(--vt-green-deep); }
.vt-content .seo-hero em,
.vt-content .seo-section h2 em { color: var(--vt-green-deep); }
.seo-card,
.seo-answer,
.seo-cta-box,
.summary-card,
.offer-card,
.detail-box,
.edit-panel,
.email-panel,
.call-panel { border-radius: var(--vt-radius); }
.seo-cta-box { background: var(--vt-gradient); color: var(--vt-ink); border: 0; }
.seo-cta-box p { color: var(--vt-ink); }

.vt-results {
    --ink: #101713;
    --muted: #717171;
    --line: #dfe7e1;
    --mint: #f2cb05;
    --mint-dark: #087c52;
    --soft: #f5f8f5;
    background: var(--vt-soft);
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.vt-results .outline-button,
.vt-results .company-filter,
.vt-results .offer-email-open,
.vt-results .offer-callback,
.vt-results .email-send,
.vt-results .field input,
.vt-results .field select,
.vt-results .other-row input,
.vt-results .call-form input[type="text"],
.vt-results .call-form input[type="tel"],
.vt-results .call-cancel,
.vt-results .call-submit,
.vt-results .call-done,
.vt-results .email-done,
.vt-results .email-call,
.vt-results .save-button { font-family: inherit; }
.vt-results .back-link { font-weight: 600; color: #717171; }
.vt-results .eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; color: var(--vt-green); }
.vt-results .results-hero h1 { font-size: 38px; font-weight: 900; line-height: 1.12; letter-spacing: normal; }
.vt-results .results-hero p { font-size: 16px; color: #717171; line-height: 1.55; }
.vt-results .summary-top h2 { font-weight: 900; line-height: 1.2; }
.vt-results .summary-top p,
.vt-results .offers-head p { color: #717171; line-height: 1.5; }
.vt-results .summary-item span { font-size: 13px; }
.vt-results .summary-item strong { font-size: 17px; font-weight: 800; }
.vt-results .offers-head h2 { font-weight: 900; line-height: 1.15; }
.vt-results .offer-name { font-size: 21px; font-weight: 800; }
.vt-results .offer-plan { font-size: 14px; }
.vt-results .badge { font-size: 12px; border: 1px solid #e4e4e4; border-radius: 8px; padding: 5px 10px; white-space: nowrap; font-weight: 600; background: #fff; color: #717171; letter-spacing: .02em; }
.vt-results .offer-figures .offer-saving strong { font-size: 32px; }
.vt-results .offer-figures .offer-price strong { font-size: 26px; }
.vt-results .offer-figures .offer-saving { border-radius: 14px; padding: 12px 18px; }
.vt-results .offer-figures .offer-price { padding: 12px 0; }
.vt-results .price-row { font-size: 14px; }
.vt-results .detail-box h3 { font-weight: 800; }
.results-hero h1 { color: var(--vt-ink); }
.comparison-id,
.badge.best { background: var(--vt-yellow-soft); color: var(--vt-green-ink); border-color: #ead985; }
.vt-results .badge.is-solar { background: var(--vt-yellow-soft); border-color: #ead985; color: var(--vt-green-ink); box-shadow: none; }
.vt-results .badge.is-solar svg { color: #c99a12; }
.offer-card.is-best { border-color: var(--vt-green); box-shadow: 0 18px 42px -22px rgba(10, 191, 125, .58); }
.best-ribbon { background: var(--vt-green-deep); color: #fff; padding: 11px 14px; }
.offer-logo { border-radius: 50%; background: var(--vt-green); color: #fff; }
.offer-figures .offer-saving { background: #eafbf4; color: var(--vt-green-deep); }
.offer-actions .offer-callback,
.save-button,
.email-send,
.call-done,
.email-call,
.call-submit { border-radius: var(--vt-radius); background: var(--vt-green-deep); border-color: var(--vt-green-deep); color: #fff; }
.email-done { border-radius: var(--vt-radius); background: #fff; border-color: #d9ddd8; color: #717171; }
.email-done:hover { background: #f4f6f3; border-color: #c9cfc8; color: #111413; }
.vt-results .offer-card { position: relative; }
.vt-results .offer-email-mobile { display: none; }
.vt-results .offer-email-open,
.vt-results .offer-call {
    border-width: 1.5px;
    border-radius: var(--vt-radius);
    padding: 13px 22px;
    color: #717171;
    font-size: 15px;
}
.vt-results .offer-call { background: transparent; }
.vt-results .offer-call:hover { border-color: var(--vt-green); background: #eafbf4; color: var(--vt-green-deep); }
.vt-results .call-cancel {
    border-width: 1.5px;
    border-radius: var(--vt-radius);
    padding: 13px 20px;
}

/* Todas las cabeceras quedan en el flujo normal. Las maquetas Vatify declaran
   `position: relative`; no se reserva un desplazamiento artificial para un
   header fijo y el contenido comienza después de su altura natural. */
.vt-results { 
    --vt-results-page-gap: 34px;
}
.vt-content .seo-nav { position: relative; inset: auto; z-index: 50; }
.vt-content > main { padding-top: 0; }
.vt-results .results-page { padding-top: var(--vt-results-page-gap); }

/* El resultado comparte el mismo chrome que la home. Solo cambia el literal
   de la acción principal («Nueva comparativa»), que sigue siendo funcional. */
.vt-results .vt-site-header {
    position: relative;
    inset: auto;
    padding: 14px max(44px, calc((100% - 1180px) / 2));
}
.vt-results .vt-nav-shell {
    width: 100%;
    max-width: 1180px;
    min-height: 0;
    padding: 10px 14px 10px 22px;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.vt-results .vt-logo { width: 105px; height: 24px; }
.vt-results .vt-nav-links { gap: 22px; white-space: nowrap; }
.vt-results .vt-phone {
    color: #fff;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}
.vt-results .vt-phone > svg { color: var(--vt-yellow); }
.vt-results .vt-nav-actions > .vt-button {
    min-height: 0;
    padding: 12px 24px;
    border-radius: var(--vt-radius);
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}
.vt-results .vt-mobile-nav { display: none; }

@media (max-width: 760px) {
    .vt-results .results-page { padding-top: var(--vt-results-page-gap); }
}

@media (max-width: 1079px) {
    .vt-results {
        --vt-results-page-gap: 26px;
    }
    .vt-results .vt-site-header { padding: 12px 16px; }
    .vt-results .vt-nav-links,
    .vt-results .vt-nav-actions > .vt-phone:not(.vt-phone--mobile),
    .vt-results .vt-nav-actions > .vt-button { display: none; }
    .vt-results .vt-nav-actions > .vt-phone--mobile { display: grid; place-items: center; width: 42px; height: 42px; }
    .vt-results .vt-mobile-nav { display: block; }
}

@media (max-width: 619px) {
    .vt-results {
        --vt-results-page-gap: 20px;
    }
    .vt-results .vt-site-header { padding: 10px 12px; }
    .vt-results .vt-nav-shell { width: 100%; padding: 10px 14px 10px 22px; }
    .vt-results .results-hero h1 { font-size: 27px; }
    .vt-results .results-hero p { font-size: 15px; }
    .vt-results .offer-name { font-size: 18px; }
    .vt-results .offer-figures .offer-saving strong { font-size: 26px; }
    .vt-results .offer-figures .offer-price strong { font-size: 22px; }
}

@media (max-width: 680px) {
    .vt-results .vt-site-header { padding: 10px 12px; }
    .vt-results .vt-nav-shell { width: 100%; padding: 10px 14px 10px 22px; }
}

/* La cabecera de resultados sigue la variante de la maqueta: solo conserva
   logo, teléfono de escritorio y «Nueva comparativa», sin distraer con el
   menú editorial ni con un cajón móvil. */
.vt-results .vt-site-header--compact .vt-nav-links,
.vt-results .vt-site-header--compact .vt-mobile-nav,
.vt-results .vt-site-header--compact .vt-phone--mobile { display: none; }
@media (max-width: 1079px) {
    .vt-results .vt-site-header--compact .vt-nav-actions > .vt-button { display: inline-flex; }
}
@media (max-width: 619px) {
    .vt-results .vt-site-header--compact .vt-nav-actions > .vt-button { padding: 11px 16px; font-size: 13px; }
}

/* En móvil la fila de la oferta se apila como en la referencia: la compañía
   ocupa su propia línea y las cifras ya no pueden invadir el logo o el plan. */
@media (max-width: 760px) {
    .vt-results .offer-toggle,
    .vt-results .offer-toggle.is-static {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 14px;
    }
    .vt-results .offer-company { flex: 1 1 100%; width: 100%; }
    .vt-results .offer-figures {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        justify-content: flex-start;
        gap: 14px;
        flex-wrap: wrap;
    }
    /* Sin ahorro solo queda el precio: con flex-start se iba a la izquierda y
       rompia la columna que forman los precios del resto de tarjetas. */
    .vt-results .offer-figures.only-price { justify-content: flex-end; }
}
@media (max-width: 560px) {
    .vt-results .offer-company { padding-right: 50px; }
    .vt-results .offer-email-open { display: none; }
    .vt-results .offer-email-mobile {
        display: grid;
        place-items: center;
        position: absolute;
        top: 14px;
        right: 20px;
        width: 38px;
        height: 38px;
        padding: 0;
        border: 1px solid #e4e4e4;
        border-radius: 12px;
        background: #fff;
        color: #717171;
        cursor: pointer;
    }
    .vt-results .offer-card.is-best .offer-email-mobile { top: 50px; }
    .vt-results .offer-email-mobile:hover { border-color: var(--vt-green); color: var(--vt-green-deep); background: #eafbf4; }
    .vt-results .offer-email-mobile svg { width: 17px; height: 17px; }
}
@media (min-width: 761px) {
    .vt-results .offer-figures { flex-wrap: nowrap; }
}

/* La espera imita el documento escaneado de Vatify, sin progreso inventado. */
.comparator-loading-wrap { width: min(700px, 100%); }
.comparator-loading-brand { width: max-content; padding: 13px 24px; border-radius: var(--vt-radius); margin: 0 auto 20px; background: var(--vt-green-ink); }
.comparator-loading-brand img { display: block; }
.comparator-loading-card { max-width: none; border-radius: var(--vt-radius); padding: 32px; box-shadow: var(--vt-shadow); }
.comparator-loading-heading { display: flex; gap: 14px; align-items: center; }
.comparator-loading-badge { margin: 0; flex: none; }
.comparator-loading-title { margin: 0 0 6px; text-align: left; }
.comparator-loading-sub { text-align: left; color: var(--vt-muted); }
.comparator-loading-body { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; align-items: center; margin: 28px 0; }
.comparator-loading-document { position: relative; overflow: hidden; width: 150px; height: 196px; padding: 18px; border: 1px solid var(--vt-line); border-radius: 15px; background: #fafbf9; display: flex; flex-direction: column; gap: 10px; }
.comparator-loading-document > span { height: 7px; border-radius: 10px; background: #dce4de; }
.comparator-loading-document > span:first-child { width: 60%; height: 10px; }
.comparator-loading-document > span:nth-child(3) { width: 72%; }
.comparator-loading-document::after { content: ''; position: absolute; top: -20%; left: 0; right: 0; height: 22%; background: linear-gradient(transparent, rgba(10, 191, 125, .45)); animation: vt-scan 2.4s ease-in-out infinite; }
.comparator-loading-bars { display: flex; gap: 6px; align-items: end; height: 52px; margin-top: auto; }
.comparator-loading-bars i { flex: 1; height: 65%; background: rgba(10, 191, 125, .3); border-radius: 4px 4px 0 0; }
.comparator-loading-bars i:nth-child(2) { height: 42%; }
.comparator-loading-bars i:nth-child(3) { height: 90%; background: var(--vt-yellow); }
.comparator-loading-bars i:nth-child(4) { height: 50%; }
.comparator-loading-progress { height: 8px; overflow: hidden; background: #edf2ee; border-radius: 20px; }
.comparator-loading-progress span { display: block; width: 35%; height: 100%; border-radius: inherit; background: var(--vt-gradient); animation: vt-progress 2s ease-in-out infinite alternate; }
.comparator-loading-note { color: var(--vt-muted); }
.comparator-step-label { color: #66716a; }
.comparator-step.is-active .comparator-step-label,
.comparator-step.is-done .comparator-step-label { color: var(--vt-ink); }
.comparator-step { opacity: 1; }
.vt-home .comparator-manual-submit { background: var(--vt-green-deep); }

/* Los controles dinámicos forman parte de la misma home Vatify: heredan
   Poppins al igual que el HTML estático, pero las páginas de resultados y
   contenido siguen usando su tipografía propia. */
.vt-home .comparator-rate-picker,
.vt-home .comparator-status,
.vt-home .comparator-results,
.vt-home .comparator-manual-form,
.vt-home .comparator-loading-overlay { font-family: inherit; }

@media (max-width: 1239px) {
    .vt-home .vt-nav-links { gap: 16px; }
    .vt-home .vt-nav-actions > .vt-phone { display: none; }
    .vt-home .vt-nav-actions > .vt-button { padding: 12px 18px; font-size: 14px; }
}

@keyframes vt-scan { to { top: 105%; } }
@keyframes vt-progress { from { transform: translateX(-10%); } to { transform: translateX(200%); } }

@media (max-width: 1079px) {
    .vt-home .vt-site-header { padding: 12px 16px; }
    .vt-home .vt-section { padding: 44px 20px; }
    .vt-home .vt-grid-2,
    .vt-home .vt-grid-3 { grid-template-columns: 1fr; }
    .vt-home #motor.vt-grid-2,
    .vt-home #faq { grid-template-columns: 1fr; }
    .vt-home #motor.vt-grid-2,
    .vt-home #agente,
    .vt-home #faq { gap: 28px; }
    .vt-home .vt-capabilities { gap: 28px; }
    .vt-home #pymes { padding: 44px 20px; gap: 28px; }
    .vt-home #pymes h2 { font-size: 30px; }
    .vt-nav-links,
    .vt-nav-actions > .vt-phone,
    .seo-nav__links,
    .site-nav > nav { display: none; }
    .vt-mobile-nav { display: block; }
    .vt-home .vt-nav-actions > .vt-phone--mobile { display: grid; place-items: center; width: 42px; height: 42px; }
    .vt-hero__inner { width: calc(100% - 40px); padding: 40px 0 52px; grid-template-columns: 1fr; gap: 28px; }
    .vt-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .seo-nav__mobile { display: flex; }
    .vt-content .seo-drawer:not([hidden]) { display: block; }
}

@media (max-width: 680px) {
    .vt-nav-shell,
    .seo-nav__row,
    .site-nav { width: calc(100% - 20px); min-height: 60px; padding: 8px 10px 8px 14px; }
    .vt-logo { width: 103px; }
    .vt-home .vt-nav-shell { width: 100%; min-height: 0; padding: 10px 14px 10px 22px; }
    .vt-home .vt-logo { width: 105px; height: 24px; }
    .vt-home .vt-nav-actions > .vt-button,
    .seo-nav__row > .seo-cta,
    .site-nav .header-cta { display: none; }
    .vt-hero__inner { width: calc(100% - 40px); padding: 40px 0 52px; }
    .vt-upload-card { padding: 30px; }
    .vt-trust__inner { width: calc(100% - 36px); display: grid; }
    .vt-grid-2,
    .vt-grid-3,
    .vt-grid-4 { grid-template-columns: 1fr; }
    .vt-tiles { grid-template-columns: 1fr; }
    .vt-agent-fields { grid-template-columns: 1fr; }
    .vt-section { padding: 44px 20px; }
    .comparator-loading-card { padding: 24px 20px; }
    .comparator-loading-body { grid-template-columns: 1fr; gap: 18px; }
    .comparator-loading-document { margin: 0 auto; width: 130px; height: 150px; }
    .comparator-loading-title { font-size: 22px; }
    .vt-home .vt-trust__inner { width: calc(100% - 40px); padding: 20px 0; }
}

@media (max-width: 999px) {
    .vt-hero h1 { font-size: 34px; }
}

@media (max-width: 639px) {
    .vt-hero h1 { font-size: 28px; }
    .vt-hero__lead { font-size: 18px; }
    .vt-hero__body { font-size: 15px; }
    .vt-home .vt-section { padding: 36px 16px; }
    .vt-home .vt-section h2 { font-size: 23px; }
    .vt-home #motor h2,
    .vt-home #luzgas h2,
    .vt-home #pymes h2,
    .vt-home #agente h2,
    .vt-home #faq h2 { font-size: 23px; }
    .vt-home .vt-capability-card h3 { font-size: 18px; }
    .vt-upload-card__head h2 { font-size: 20px; }
    .vt-home .vt-demo-result span:last-child { font-size: 24px; }
    .vt-home #agente .vt-agent-fields { grid-template-columns: 1fr; }
    .vt-home #agente .vt-agent-card,
    .vt-upload-card { padding: 20px; }
    .vt-home .vt-demo-panel { padding: 16px; }
    .vt-home .vt-demo-row { padding: 14px; }
    .vt-home .vt-demo-data { gap: 8px; font-size: clamp(11px, 3.2vw, 13px); }
    .vt-home .vt-demo-data > div { gap: 3px; padding: 10px; }
    .vt-home .vt-demo-data > div > span { line-height: 1.2; overflow-wrap: anywhere; }
    .vt-home .vt-demo-result { gap: 8px; padding: 16px; font-size: 14px; }
    .vt-home .vt-demo-result span:last-child { font-size: clamp(20px, 5.8vw, 24px); }
}

@media (max-width: 339px) {
    .vt-home .vt-demo-data { grid-template-columns: 1fr; }
    .vt-home .vt-demo-result { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 559px) {
    .vt-home .vt-site-header { padding: 10px 12px; }
    .vt-home .vt-section { padding: 36px 16px; }
    .vt-home #pymes { padding: 36px 16px; }
    .vt-home #pymes h2 { font-size: 23px; }
    .vt-hero__inner { width: calc(100% - 32px); padding: 32px 0 44px; }
    .vt-hero__copy { gap: 18px; }
    .vt-upload-card { padding: 20px; }
    .vt-upload-zone { padding: 28px 16px; }
    .vt-home .vt-demo-panel { padding: 16px; }
    .vt-home .vt-trust__inner { width: calc(100% - 32px); padding: 18px 0; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Ficha de compañía ---------------------------------------------------
   La maqueta Vatify de Endesa es una referencia de presentación, no una
   fuente de contenido: este bloque solo traduce su escala, paleta y radios a
   las clases que ya emite `compania.php`. */
body.vt-company {
    background: #fff;
    color: #101713;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body.vt-company > main { padding-top: 0; background: #fff; }

body.vt-company .seo-breadcrumb-bar {
    background: #fff;
    border: 0;
}

body.vt-company .seo-breadcrumb-bar .seo-shell {
    max-width: 1180px;
    padding: 22px 24px 0;
}

body.vt-company .seo-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    font-size: 13px;
    color: #9b9b9b;
}

body.vt-company .seo-breadcrumb a,
body.vt-company .seo-breadcrumb a:hover { color: #9b9b9b; text-decoration: none; }
body.vt-company .seo-breadcrumb span { color: #717171; font-weight: 600; }

body.vt-company .seo-hero {
    background: #fff;
    border: 0;
    border-radius: 0;
    padding: 34px 0 56px;
}

body.vt-company .seo-hero__grid {
    max-width: 1180px;
    /* El shell ya aporta el eje común; no añadimos un segundo margen
       horizontal que desplace el hero respecto a las filas inferiores. */
    padding: 0;
    grid-template-columns: 1.15fr .85fr;
    gap: 48px;
}

body.vt-company .seo-hero__grid > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.vt-company .seo-kicker {
    align-self: flex-start;
    margin: 0;
    padding: 6px 12px;
    border: 1px solid #b7e9d5;
    border-radius: 8px;
    background: #eafbf3;
    color: #078959;
    font-size: 12px;
    font-weight: 700;
}

body.vt-company .seo-hero h1 {
    margin: 0;
    color: #101713;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: normal;
    text-wrap: balance;
}

body.vt-company .seo-hero .seo-lead {
    max-width: 520px;
    margin: 0;
    color: #717171;
    font-size: 16px;
    line-height: 1.7;
}

body.vt-company .seo-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
}

body.vt-company .seo-hero__actions .seo-cta {
    padding: 16px 26px;
    border-radius: 25px;
    background: #0abf7d;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 12px 26px -14px rgba(10, 191, 125, .85);
}

body.vt-company .seo-hero__actions .seo-cta:hover {
    background: #078959;
    color: #fff;
}

body.vt-company .seo-hero__actions .seo-cta-ghost {
    padding: 15px 24px;
    border: 1.5px solid #0abf7d;
    border-radius: 25px;
    background: #fff;
    color: #078959;
    font-size: 16px;
    font-weight: 700;
}

body.vt-company .seo-hero__actions .seo-cta-ghost:hover {
    border-color: #0abf7d;
    background: #eafbf3;
    color: #078959;
}

body.vt-company .seo-hero .seo-cta-microcopy {
    max-width: 62ch;
    margin: 0;
    color: #9b9b9b;
    font-size: 13px;
    line-height: 1.6;
}

body.vt-company .seo-profile {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 26px;
    border: 1px solid #eff1ee;
    border-radius: 25px;
    background: #fafaf9;
}

body.vt-company .seo-profile__logo {
    min-height: 86px;
    margin: 0;
    padding: 22px;
    border: 1px solid #eff1ee;
    border-radius: 14px;
    background: #fff;
}

body.vt-company .seo-profile__head { gap: 11px; }
body.vt-company .seo-profile__name { font-size: 17px; font-weight: 900; letter-spacing: normal; }
body.vt-company .seo-profile__legal { margin-top: 0; color: #717171; font-size: 14px; }
body.vt-company .seo-profile__list { margin: 0; }
body.vt-company .seo-profile__list > div {
    padding: 11px 0;
    border-top: 1px solid #eff1ee;
    border-bottom: 0;
}
body.vt-company .seo-profile__list dt { color: #717171; font-size: 14px; }
body.vt-company .seo-profile__list dd { font-size: 14px; font-weight: 700; }

body.vt-company .seo-company-content {
    max-width: none;
    padding: 0 0 60px;
    display: flex;
    flex-direction: column;
    gap: 56px;
}

body.vt-company .seo-company-content > .seo-section {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0;
    border: 0;
}

body.vt-company .seo-company-content > .seo-section.seo-section--soft {
    gap: 16px;
    padding: 32px 34px;
    border: 1px solid #eff1ee;
    border-radius: 25px;
    background: #fafaf9;
}

body.vt-company .seo-company-content .seo-section__head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 72ch;
}

body.vt-company .seo-company-content .seo-eyebrow {
    margin: 0;
    color: #0abf7d;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

body.vt-company .seo-company-content .seo-section h2 {
    margin: 0;
    color: #101713;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: normal;
}

body.vt-company .seo-company-content .seo-section h3 {
    font-size: 25px;
    font-weight: 900;
    line-height: 1.2;
}

body.vt-company .seo-company-content .seo-section__head p,
body.vt-company .seo-company-content .seo-section > p:not(.seo-footnote) {
    margin: 0;
    color: #717171;
    font-size: 16px;
    line-height: 1.7;
}

body.vt-company .seo-company-content #tarifas {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding: 60px max(24px, calc((100% - 1180px) / 2));
    background: #f3f3f3;
    gap: 20px;
}

body.vt-company .seo-company-content #tarifas > * {
    width: 100%;
    max-width: 1180px;
    margin-right: auto;
    margin-left: auto;
}

body.vt-company .seo-company-content #tarifas .seo-tablewrap--tarifas {
    margin-top: 0;
    padding: 20px;
    border-radius: 25px;
    background: #fff;
    overflow-x: auto;
}

body.vt-company #tarifas .seo-tablewrap--tarifas .seo-table {
    min-width: 920px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.vt-company #tarifas .seo-table thead th {
    padding: 0 4px 12px;
    border-bottom: 1px solid #eff1ee;
    background: transparent;
    color: #9b9b9b;
    font-size: 12px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.vt-company #tarifas .seo-table tbody tr:nth-child(even) { background: #fafaf9; }
body.vt-company #tarifas .seo-table tbody th,
body.vt-company #tarifas .seo-table tbody td {
    padding: 16px 8px;
    border-bottom: 1px solid #eff1ee;
    font-size: 14px;
    line-height: 1.5;
}
body.vt-company #tarifas .seo-table tbody th { color: #101713; font-size: 15px; font-weight: 800; line-height: 1.3; }
body.vt-company #tarifas .seo-table tbody td { color: #4a4a4a; }
body.vt-company #tarifas .seo-table tbody tr:last-child th,
body.vt-company #tarifas .seo-table tbody tr:last-child td { border-bottom: 0; }
body.vt-company #tarifas .seo-pill {
    padding: 5px 10px;
    border: 1px solid #b7e9d5;
    border-radius: 8px;
    background: #eafbf3;
    color: #078959;
}

body.vt-company .seo-company-content .seo-footnote,
body.vt-company .seo-company-content .seo-table-common {
    margin: 0;
    color: #9b9b9b;
    font-size: 13px;
    line-height: 1.7;
}

body.vt-company .seo-company-content .seo-answer {
    max-width: 820px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px 22px;
    border: 1px solid #b7e9d5;
    border-radius: 14px;
    background: #eafbf3;
}
body.vt-company .seo-company-content .seo-answer__label {
    color: #078959;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
}
body.vt-company .seo-company-content .seo-answer p {
    margin: 0;
    color: #4a4a4a;
    font-size: 16px;
    line-height: 1.7;
}

body.vt-company .seo-company-content .seo-cta-box {
    padding: 34px 36px;
    border-radius: 25px;
    background: linear-gradient(rgba(0, 0, 0, .34), rgba(0, 0, 0, .34)), var(--vt-gradient);
    color: #fff;
    gap: 22px;
}
body.vt-company .seo-company-content .seo-cta-box h2,
body.vt-company .seo-company-content .seo-cta-box h3 { color: #fff; }
body.vt-company .seo-company-content .seo-cta-box p { margin: 0; color: #fff; opacity: .95; font-size: 15px; line-height: 1.6; }
body.vt-company .seo-company-content .seo-cta-box .seo-cta--soft {
    padding: 17px 28px;
    border-radius: 25px;
    background: #fff;
    color: #078959;
    font-size: 16px;
    font-weight: 800;
}
body.vt-company .seo-company-content .seo-cta-box .seo-cta--soft:hover { background: #fff; color: #0abf7d; }

body.vt-company .seo-company-content .seo-list--check li::before {
    top: 9px;
    width: 8px;
    height: 8px;
    background: #f2cb05;
}

body.vt-company .seo-company-content .seo-profile-card {
    padding: 24px;
    border: 1px solid #eff1ee;
    border-radius: 25px;
    background: #fafaf9;
}
body.vt-company .seo-company-content .seo-profile-card__icon {
    width: 38px;
    height: 38px;
    margin-bottom: 0;
    border-radius: 12px;
    background: #eafbf3;
    color: #078959;
}
body.vt-company .seo-company-content .seo-profile-card h3 { font-size: 16px; font-weight: 800; }
body.vt-company .seo-company-content .seo-profile-card p { margin: 0; color: #717171; font-size: 14px; line-height: 1.65; }

body.vt-company .seo-company-content .seo-faq { gap: 12px; margin: 0; }
body.vt-company .seo-company-content .seo-faq details {
    padding: 0;
    border: 1px solid #eff1ee;
    border-radius: 25px;
    background: #fafaf9;
    overflow: hidden;
}
body.vt-company .seo-company-content .seo-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    color: #101713;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.4;
}
body.vt-company .seo-company-content .seo-faq summary::after { float: none; color: #078959; font-size: 18px; }
body.vt-company .seo-company-content .seo-faq p { margin: 0; padding: 0 22px 22px; color: #717171; font-size: 15px; line-height: 1.7; }

/* El mismo chrome que la portada para cualquier página editorial. El listado
   de enlaces sigue saliendo de `src/Nav.php`; solo cambia el contenedor que lo
   viste, que ahora replica `.vt-site-header`/`.vt-nav-shell` de la home. */
body.vt-content .vt-site-header {
    position: relative;
    inset: auto;
    padding: 14px max(44px, calc((100% - 1180px) / 2));
}
body.vt-content .vt-nav-shell {
    width: 100%;
    max-width: 1180px;
    min-height: 0;
    padding: 10px 14px 10px 22px;
    background: rgba(255, 255, 255, .16);
    border-color: rgba(255, 255, 255, .34);
}
body.vt-content .vt-logo { width: 105px; height: 24px; }
body.vt-content .vt-nav-shell > a { display: flex; align-items: center; gap: 10px; }
body.vt-content .vt-nav-links { gap: 22px; white-space: nowrap; font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif; }
body.vt-content .vt-nav-actions > .vt-button {
    min-height: 0;
    padding: 12px 24px;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-size: 15px;
    font-weight: 700;
}
body.vt-content .vt-phone {
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-weight: 700;
}
body.vt-content .vt-phone > svg { color: var(--vt-yellow); }

@media (max-width: 999px) {
    body.vt-content .vt-site-header { padding: 12px 16px; }
    body.vt-content .vt-nav-actions > .vt-button { display: none; }
    body.vt-content .vt-nav-links { display: none; }
    body.vt-content .vt-mobile-nav { display: block; }
    body.vt-content .vt-nav-actions > .vt-phone { display: none; }
    body.vt-content .vt-nav-actions > .vt-phone--mobile {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
    }
    body.vt-company .seo-hero__grid { grid-template-columns: 1fr; gap: 26px; }
    body.vt-company .seo-hero__grid { padding: 0 20px; }
    body.vt-company .seo-company-content #tarifas { padding-right: 20px; padding-left: 20px; }
}

@media (max-width: 680px) {
    body.vt-content .vt-site-header { padding: 10px 12px; }
    body.vt-content .vt-nav-shell { width: 100%; padding: 10px 14px 10px 22px; }
    body.vt-company .seo-breadcrumb-bar .seo-shell { padding: 16px 16px 0; }
    body.vt-company .seo-hero { padding: 20px 0 34px; }
    body.vt-company .seo-hero__grid { padding: 0 16px; }
    body.vt-company .seo-hero h1 { font-size: 28px; }
    body.vt-company .seo-hero .seo-lead { font-size: 15px; }
    body.vt-company .seo-hero__actions { align-items: stretch; }
    body.vt-company .seo-hero__actions a { max-width: 100%; text-align: center; white-space: normal; }
    body.vt-company .seo-company-content { padding: 0 0 36px; gap: 36px; }
    body.vt-company .seo-company-content > .seo-section { width: calc(100% - 32px); }
    body.vt-company .seo-company-content > .seo-section.seo-section--soft { padding: 26px 20px; border-radius: 25px; }
    body.vt-company .seo-company-content .seo-section h2 { font-size: 23px; }
    body.vt-company .seo-company-content .seo-section h3 { font-size: 20px; }
    body.vt-company .seo-company-content #tarifas { margin-right: 0; margin-left: 0; padding: 36px 16px; }
    body.vt-company .seo-company-content #tarifas .seo-tablewrap--tarifas { padding: 12px; border-radius: 25px; }
    body.vt-company #tarifas .seo-tablewrap--tarifas .seo-table { min-width: 0; width: 100%; }
    body.vt-company .seo-company-content .seo-cta-box { padding: 26px 20px; }
    body.vt-company .seo-company-content .seo-cta-box .seo-cta--soft { white-space: normal; }
}

@media (max-width: 1079px) {
    .vt-nav-actions > .vt-phone--mobile svg,
    body.vt-content .vt-nav-actions > .vt-phone--mobile svg { color: #fff; }
}

/* Pie Vatify comun ----------------------------------------------------
   La misma composicion se sirve en la home, resultados y paginas editoriales.
   Las reglas quedan al final para que el pie nuevo gane a cualquier selector
   historico que permanezca en las hojas especificas de contenido/resultados. */
.vt-footer {
    margin-top: 0;
    border-top: 1px solid #e4e4e4;
    background: #fff;
    color: #717171;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.vt-footer__main {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 44px 0 34px;
    display: grid;
    grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(120px, 1fr));
    gap: 40px;
}
.vt-footer__about {
    max-width: 360px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.vt-footer__logo {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 12px 18px;
    border: 1px solid #eff1ee;
    border-radius: 14px;
    background: #fafaf9;
    text-decoration: none;
}
.vt-footer__logo-image {
    display: block;
    width: 113px;
    height: 26px;
}
.vt-footer__about p {
    margin: 0;
    color: #717171;
    font-size: 14px;
    line-height: 1.65;
}
.vt-footer__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding-top: 4px;
}
.vt-footer__contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    border-radius: 25px;
    background: #fff;
    font-size: 14px;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.vt-footer__contact-link svg { flex: none; }
a.vt-footer__contact-link--phone {
    border: 1.5px solid #0abf7d;
    color: #078959;
    font-weight: 700;
}
a.vt-footer__contact-link--email {
    border: 1px solid #e4e4e4;
    color: #717171;
    font-weight: 600;
}
a.vt-footer__contact-link--phone:hover,
a.vt-footer__contact-link--email:hover {
    border-color: #0abf7d;
    background: #eafbf3;
    color: #078959;
}
.vt-footer__links {
    grid-column: 2 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
}
.vt-footer__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.vt-footer__column strong {
    color: #101713;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}
.vt-footer__column a {
    color: #717171;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
}
.vt-footer__column a:hover { color: #078959; }
.vt-footer__privacy-settings {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #717171;
    font: inherit;
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}
.vt-footer__privacy-settings:hover {
    color: #078959;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.vt-footer__accent {
    height: 5px;
    background: linear-gradient(94deg, #0abf7d 0%, #f2cb05 97%);
}
.vt-footer__bottom { background: #fafaf9; }
.vt-footer__bottom-inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 16px 0;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    color: #9b9b9b;
    font-size: 13px;
    line-height: 1.4;
}

/* Consentimiento opcional de analitica ---------------------------------- */
.comparator-privacy-banner {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1000;
    width: min(560px, calc(100% - 32px));
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 18px;
    background: #101713;
    color: #fff;
    box-shadow: 0 20px 60px rgba(16, 23, 19, .28);
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.comparator-privacy-banner[hidden] { display: none; }
.comparator-privacy-banner__inner { padding: 20px 22px 22px; }
.comparator-privacy-banner__title {
    margin: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
}
.comparator-privacy-banner__text {
    margin: 8px 0 0;
    color: #d8e1dc;
    font-size: 13px;
    line-height: 1.55;
}
.comparator-privacy-banner__link {
    display: inline-block;
    margin-top: 9px;
    color: #7cf5c4;
    font-size: 12.5px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.comparator-privacy-banner__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 17px;
}
.comparator-privacy-banner__button {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 22px;
    font: 700 13px 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    cursor: pointer;
}
.comparator-privacy-banner__button--secondary {
    border: 1px solid rgba(255, 255, 255, .45);
    background: transparent;
    color: #fff;
}
.comparator-privacy-banner__button--secondary:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, .08);
}
.comparator-privacy-banner__button--primary {
    border: 1px solid #7cf5c4;
    background: #7cf5c4;
    color: #101713;
}
.comparator-privacy-banner__button--primary:hover { background: #a1fbd6; }

@media (max-width: 1079px) {
    .vt-footer__main { grid-template-columns: 1fr 1fr; gap: 32px; }
    .vt-footer__about { max-width: 520px; }
    .vt-footer__links { display: contents; }
}

@media (max-width: 559px) {
    .vt-footer__main,
    .vt-footer__bottom-inner { width: calc(100% - 32px); }
    .vt-footer__main { grid-template-columns: 1fr; padding: 32px 0 26px; gap: 26px; }
    .vt-footer__links { display: contents; }
    .vt-footer__column { gap: 9px; }
    .vt-footer__bottom-inner { padding: 14px 0; flex-direction: column; gap: 5px; }
    .comparator-privacy-banner { right: 8px; bottom: 8px; width: calc(100% - 16px); }
    .comparator-privacy-banner__inner { padding: 18px; }
    .comparator-privacy-banner__actions { flex-direction: column; }
    .comparator-privacy-banner__button { width: 100%; }
}

/* Quiénes somos: superficie editorial de la maqueta Vatify --------------
   La maqueta organiza cada bloque a sangre y centra únicamente su contenido
   en 1180 px. Esta piel conserva el HTML/copy editorial de producción, pero
   aplica la misma escala tipográfica, ritmo, fondos alternos y CTA de cierre. */
body.vt-about {
    --about-lat: 24px;
    background: #fff;
    color: #000;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body.vt-about main { background: #fff; }
body.vt-about .seo-breadcrumb-bar {
    background: #fff;
    border: 0;
}
body.vt-about .seo-breadcrumb-bar .seo-shell {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    padding: 22px 0 0;
}
body.vt-about .seo-breadcrumb {
    padding: 0;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.5;
}
body.vt-about .seo-breadcrumb a { color: #9b9b9b; text-decoration: none; }
body.vt-about .seo-breadcrumb a:hover { color: #078959; }
body.vt-about .seo-breadcrumb span { color: #717171; font-weight: 600; }

body.vt-about .seo-shell.pl-page.vt-about-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.vt-about .vt-about-hero {
    width: 100%;
    padding: 34px var(--about-lat) 56px;
    background: #fff;
}
body.vt-about .vt-about-hero__inner {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
}
body.vt-about .vt-about-hero .pl-header {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
}
body.vt-about .vt-about-hero .seo-kicker {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid #b7e9d5;
    border-radius: 8px;
    background: #eafbf3;
    color: #078959;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    white-space: nowrap;
}
body.vt-about .vt-about-hero h1 {
    max-width: 820px;
    margin: 14px 0 0;
    color: #000;
    font-family: inherit;
    font-size: 40px;
    line-height: 1.12;
    letter-spacing: -.035em;
    font-weight: 900;
    text-wrap: balance;
}
body.vt-about .vt-about-hero .seo-lead {
    max-width: 640px;
    margin: 14px 0 0;
    color: #717171;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.7;
}

body.vt-about .vt-about-section {
    width: 100%;
    margin: 0;
    padding: 60px var(--about-lat);
    border: 0;
    border-radius: 0;
    background: #fff;
}
body.vt-about .vt-about-section--how,
body.vt-about .vt-about-section--origin { background: #f3f3f3; }
body.vt-about .vt-about-section--independence,
body.vt-about .vt-about-section--invoice,
body.vt-about .vt-about-section--company,
body.vt-about .vt-about-section--cta { background: #fff; }
body.vt-about .vt-about-section.seo-section--soft {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
}
body.vt-about .vt-about-section__inner {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
}
body.vt-about .vt-about-section__left,
body.vt-about .vt-about-section__right {
    min-width: 0;
}
body.vt-about .vt-about-section__left,
body.vt-about .vt-about-section__right {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
body.vt-about .vt-about-section__head {
    max-width: 560px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
body.vt-about .vt-about-section__head .seo-eyebrow {
    margin: 0;
    color: #0abf7d;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: .08em;
    font-weight: 700;
}
body.vt-about .vt-about-section h2 {
    margin: 0;
    color: #000;
    font-family: inherit;
    font-size: 30px;
    line-height: 1.15;
    letter-spacing: -.035em;
    font-weight: 900;
    text-wrap: balance;
}
body.vt-about .vt-about-section__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
body.vt-about .vt-about-section__copy p {
    max-width: 640px;
    margin: 0;
    color: #717171;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.75;
}
body.vt-about .vt-about-section__copy strong { color: #000; }
body.vt-about .vt-about-section__copy a,
body.vt-about .vt-about-section__company-copy a { color: #078959; }

body.vt-about .vt-about-section__inner--company {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
body.vt-about .vt-about-section__company-copy {
    width: 100%;
    max-width: 1180px;
}
body.vt-about .vt-about-section__company-copy .seo-answer {
    margin: 0;
    padding: 28px 30px;
    border: 1px solid #eff1ee;
    border-left: 5px solid #f2cb05;
    border-radius: 14px;
    background: #fafaf9;
}
body.vt-about .vt-about-section__company-copy .seo-answer p {
    max-width: 760px;
    color: #717171;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.7;
}
body.vt-about .vt-about-section__company-copy .seo-answer p:first-of-type { color: #000; }
body.vt-about .vt-about-section__company-copy .seo-answer__label {
    color: #717171;
    font-family: inherit;
    font-size: 12px;
    letter-spacing: .06em;
    font-weight: 700;
}
body.vt-about .vt-about-section__company-copy > .seo-footnote {
    margin: 14px 0 0;
    color: #9b9b9b;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.55;
}

body.vt-about .vt-about-section--cta {
    padding-top: 0;
    padding-bottom: 72px;
}
body.vt-about .vt-about-section--cta .seo-cta-box {
    position: relative;
    width: min(1180px, 100%);
    max-width: 1180px;
    min-height: 0;
    margin: 0 auto;
    padding: 32px 36px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 0;
    border-radius: 25px;
    background: linear-gradient(rgba(0, 0, 0, .34), rgba(0, 0, 0, .34)), var(--vt-gradient);
    color: #fff;
}
body.vt-about .vt-about-cta__ray {
    position: absolute;
    right: -30px;
    bottom: -80px;
    height: 280px;
    width: auto;
    opacity: .2;
    pointer-events: none;
}
body.vt-about .vt-about-cta__copy {
    position: relative;
    z-index: 1;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.vt-about .vt-about-cta__copy h2 {
    margin: 0;
    color: #fff;
    font-family: inherit;
    font-size: 25px;
    line-height: 1.2;
    letter-spacing: -.02em;
    font-weight: 900;
}
body.vt-about .vt-about-cta__copy p {
    max-width: 600px;
    margin: 0;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.65;
    opacity: .95;
}
body.vt-about .vt-about-section--cta .seo-cta--soft {
    position: relative;
    z-index: 1;
    flex: none;
    padding: 17px 28px;
    border-radius: 25px;
    background: #fff;
    color: #078959;
    font-family: inherit;
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
}
body.vt-about .vt-about-section--cta .seo-cta--soft:hover { background: #fff; color: #0abf7d; }

@media (max-width: 999px) {
    body.vt-about { --about-lat: 20px; }
    body.vt-about .seo-breadcrumb-bar .seo-shell { width: calc(100% - 40px); }
    body.vt-about .vt-about-hero { padding-top: 26px; padding-bottom: 40px; }
    body.vt-about .vt-about-hero h1 { font-size: 34px; }
    body.vt-about .vt-about-section { padding-top: 44px; padding-bottom: 44px; }
    body.vt-about .vt-about-section__inner { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 639px) {
    body.vt-about { --about-lat: 16px; }
    body.vt-about .seo-breadcrumb-bar .seo-shell {
        width: 100%;
        padding: 16px 16px 0;
    }
    body.vt-about .vt-about-hero { padding-top: 20px; padding-bottom: 34px; }
    body.vt-about .vt-about-hero h1 { font-size: 28px; }
    body.vt-about .vt-about-hero .seo-lead { font-size: 15px; }
    body.vt-about .vt-about-section { padding-top: 36px; padding-bottom: 36px; }
    body.vt-about .vt-about-section__inner { gap: 28px; }
    body.vt-about .vt-about-section__head { gap: 14px; }
    body.vt-about .vt-about-section h2 { font-size: 23px; }
    body.vt-about .vt-about-section__copy p { font-size: 15px; }
    body.vt-about .vt-about-section__company-copy .seo-answer { padding: 20px 18px; }
    body.vt-about .vt-about-section--cta { padding-top: 0; padding-bottom: 44px; }
    body.vt-about .vt-about-section--cta .seo-cta-box {
        align-items: stretch;
        padding: 24px 20px;
        border-radius: 25px;
    }
    body.vt-about .vt-about-cta__ray { right: -34px; bottom: -72px; height: 210px; }
    body.vt-about .vt-about-cta__copy h2 { font-size: 20px; }
    body.vt-about .vt-about-section--cta .seo-cta--soft {
        width: 100%;
        white-space: normal;
        text-align: center;
    }
}

/* Componentes de apoyo de la maqueta de «Quiénes somos». */
body.vt-about .vt-about-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 48px;
    align-items: start;
}
body.vt-about .vt-about-hero__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
body.vt-about .vt-about-fact {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 20px;
    border: 1px solid #eff1ee;
    border-radius: 14px;
    background: #fafaf9;
}
body.vt-about .vt-about-fact strong {
    color: #0abf7d;
    font-family: inherit;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.03em;
}
body.vt-about .vt-about-fact span {
    color: #717171;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
}

body.vt-about .vt-about-papers {
    width: 100%;
    padding: 0 var(--about-lat) 18px;
    background: #fff;
}
body.vt-about .vt-about-papers__inner {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
body.vt-about .vt-about-paper {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding: 28px 30px;
    border: 1px solid #eff1ee;
    border-radius: 25px;
    background: #fafaf9;
}
body.vt-about .vt-about-paper__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #eafbf3;
    color: #078959;
}
body.vt-about .vt-about-paper__icon--yellow { background: #fff7cf; color: #7a6600; }
body.vt-about .vt-about-breadcrumb-sep {
    color: #c7c9c6;
    margin: 0 2px;
}

body.vt-about .vt-about-paper h2,
body.vt-about .vt-about-paper h3 {
    margin: 0;
    color: #000;
    font-family: inherit;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: -.02em;
    font-weight: 900;
}
body.vt-about .vt-about-paper p {
    max-width: none;
    margin: 0;
    color: #717171;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.7;
}

body.vt-about .vt-about-process {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px 30px;
    border-radius: 25px;
    background: #fff;
}
body.vt-about .vt-about-process__eyebrow,
body.vt-about .vt-about-callout__eyebrow,
body.vt-about .vt-about-publications__eyebrow {
    color: #0abf7d;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
}
body.vt-about .vt-about-process__step {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
body.vt-about .vt-about-process__step > span {
    width: 26px;
    height: 26px;
    flex: none;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eafbf3;
    color: #078959;
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
}
body.vt-about .vt-about-process__step > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
body.vt-about .vt-about-process__step strong {
    color: #000;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}
body.vt-about .vt-about-process__step p {
    max-width: none;
    margin: 0;
    color: #717171;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.6;
}

body.vt-about .vt-about-callout {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px 30px;
    border: 1px solid #b7e9d5;
    border-radius: 25px;
    background: #eafbf3;
}
body.vt-about .vt-about-callout p {
    max-width: none;
    margin: 0;
    color: #0a5c3d;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;
}

body.vt-about .vt-about-never {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px 30px;
    border: 1px solid #b7e9d5;
    border-radius: 25px;
    background: #eafbf3;
}
body.vt-about .vt-about-never__eyebrow {
    color: #078959;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
}
body.vt-about .vt-about-never__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.vt-about .vt-about-never__list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    color: #0a5c3d;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;
}
body.vt-about .vt-about-never__icon {
    width: 19px;
    height: 19px;
    flex: none;
    display: grid;
    place-items: center;
    margin-top: 2px;
    color: #078959;
}

body.vt-about .vt-about-fact-cards {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
body.vt-about .vt-about-fact-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px;
    border: 1px solid #eff1ee;
    border-radius: 14px;
    background: #fafaf9;
}
body.vt-about .vt-about-fact-card__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eafbf3;
    color: #078959;
    font-size: 18px;
    font-weight: 800;
}
body.vt-about .vt-about-fact-card__icon--red { background: #fdecea; color: #b4342a; }
body.vt-about .vt-about-fact-card__icon--yellow { background: #fff7cf; color: #7a6600; font-size: 16px; }
body.vt-about .vt-about-fact-card strong {
    color: #000;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
}
body.vt-about .vt-about-fact-card > span:last-child {
    color: #717171;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.6;
}

body.vt-about .vt-about-publications {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
body.vt-about .vt-about-publication {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    border-radius: 25px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}
body.vt-about .vt-about-publication:hover { background: #eafbf3; }
body.vt-about .vt-about-publication > span:first-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
body.vt-about .vt-about-publication strong {
    color: #000;
    font-family: inherit;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 800;
}
body.vt-about .vt-about-publication small {
    color: #717171;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.6;
}
body.vt-about .vt-about-publication > span:last-child {
    flex: none;
    color: #0abf7d;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
}

body.vt-about .vt-about-company-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
body.vt-about .vt-about-company-card {
    min-width: 0;
    padding: 0;
    border-radius: 14px;
    background: #fafaf9;
}
body.vt-about .vt-about-company-card--titular {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 28px 30px;
    border: 1px solid #eff1ee;
    border-left: 5px solid #f2cb05;
    border-radius: 14px;
    background: #fafaf9;
}
body.vt-about .vt-about-titular-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
body.vt-about .vt-about-titular-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 15px;
    line-height: 1.6;
}
body.vt-about .vt-about-titular-row span {
    color: #717171;
    min-width: 130px;
}
body.vt-about .vt-about-titular-row strong {
    font-weight: 700;
    color: #000;
}
body.vt-about .vt-about-contact-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
body.vt-about .vt-about-company-card .seo-answer {
    height: 100%;
    border: 0;
    border-left: 5px solid #f2cb05;
    border-radius: 14px;
    background: transparent;
}
body.vt-about .vt-about-company-card--contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 28px 30px;
    border: 1px solid #eff1ee;
}
body.vt-about .vt-about-company-card__label {
    color: #717171;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 700;
}
body.vt-about .vt-about-contact-links > a,
body.vt-about .vt-about-company-card--contact > a {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #078959;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
    text-decoration: none;
}
body.vt-about .vt-about-contact-links > a:hover,
body.vt-about .vt-about-company-card--contact > a:hover { color: #0abf7d; }
body.vt-about .vt-about-company-card--contact > p {
    margin: 4px 0 0;
    color: #717171;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 999px) {
    body.vt-about .vt-about-hero__grid,
    body.vt-about .vt-about-company-grid { grid-template-columns: 1fr; gap: 34px; }
    body.vt-about .vt-about-papers__inner { grid-template-columns: 1fr; }
    body.vt-about .vt-about-fact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
    body.vt-about .vt-about-papers { padding-bottom: 0; }
    body.vt-about .vt-about-hero__grid { gap: 28px; }
    body.vt-about .vt-about-hero__facts,
    body.vt-about .vt-about-fact-cards { grid-template-columns: 1fr; }
    body.vt-about .vt-about-paper,
    body.vt-about .vt-about-process,
    body.vt-about .vt-about-callout,
    body.vt-about .vt-about-never,
    body.vt-about .vt-about-company-card--titular,
    body.vt-about .vt-about-company-card--contact { padding: 20px 18px; }
    body.vt-about .vt-about-titular-row span { min-width: 0; }
    body.vt-about .vt-about-fact { padding: 18px; }
    body.vt-about .vt-about-fact strong { font-size: 26px; }
    body.vt-about .vt-about-publication { padding: 18px; }
    body.vt-about .vt-about-publication strong { font-size: 18px; }
}

/* Contacto: superficie editorial de la maqueta Vatify ------------------- */
body.vt-contact {
    --contact-lat: 24px;
    background: #fff;
    color: #000;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body.vt-contact main { background: #fff; }
body.vt-contact .seo-breadcrumb-bar {
    background: #fff;
    border: 0;
}
body.vt-contact .seo-breadcrumb-bar .seo-shell {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    padding: 22px 0 0;
}
body.vt-contact .seo-breadcrumb {
    padding: 0;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.5;
}
body.vt-contact .seo-breadcrumb a { color: #9b9b9b; text-decoration: none; }
body.vt-contact .seo-breadcrumb a:hover { color: #078959; }
body.vt-contact .seo-breadcrumb span { color: #717171; font-weight: 600; }
body.vt-contact .vt-contact-breadcrumb-sep { color: #c7c9c6; margin: 0 2px; }

body.vt-contact .seo-shell.pl-page.vt-contact-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.vt-contact .vt-contact-hero {
    width: 100%;
    padding: 34px var(--contact-lat) 30px;
    background: #fff;
}
body.vt-contact .vt-contact-hero__inner {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
}
body.vt-contact .vt-contact-hero .pl-header {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
body.vt-contact .vt-contact-hero .seo-kicker {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 6px 12px;
    border: 1px solid #b7e9d5;
    border-radius: 8px;
    background: #eafbf3;
    color: #078959;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    white-space: nowrap;
}
body.vt-contact .vt-contact-hero h1 {
    max-width: 820px;
    margin: 0;
    color: #000;
    font-family: inherit;
    font-size: 40px;
    line-height: 1.12;
    letter-spacing: -.035em;
    font-weight: 900;
    text-wrap: balance;
}
body.vt-contact .vt-contact-hero .seo-lead {
    max-width: 680px;
    margin: 0;
    color: #717171;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.7;
}
body.vt-contact .vt-contact-hero .seo-lead a { color: #078959; text-decoration: underline; }
body.vt-contact .vt-contact-hero .seo-lead a:hover { color: #0abf7d; }

body.vt-contact .vt-contact-channels-sec {
    width: 100%;
    padding: 0 var(--contact-lat) 60px;
    background: #fff;
}
body.vt-contact .vt-contact-channels__inner {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
body.vt-contact .vt-contact-channel {
    min-width: 0;
    padding: 26px 28px;
    border: 1px solid #eff1ee;
    border-radius: 25px;
    background: #fafaf9;
    display: flex;
    flex-direction: column;
    gap: 9px;
    text-decoration: none;
    color: inherit;
    transition: background .18s ease, border-color .18s ease;
}
body.vt-contact a.vt-contact-channel:hover {
    border-color: #b7e9d5;
    background: #eafbf3;
}
body.vt-contact .vt-contact-channel__icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eafbf3;
    display: grid;
    place-items: center;
    color: #078959;
}
body.vt-contact .vt-contact-channel__icon--yellow {
    background: #fff7cf;
    color: #7a6600;
}
body.vt-contact .vt-contact-channel__label {
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 700;
    color: #717171;
}
body.vt-contact .vt-contact-channel__value {
    color: #000;
    font-weight: 900;
}
body.vt-contact .vt-contact-channel__value--phone {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.02em;
}
body.vt-contact .vt-contact-channel__value--email {
    font-size: 22px;
    line-height: 1.25;
    word-break: break-word;
}
body.vt-contact .vt-contact-channel__value--address {
    font-size: 20px;
    line-height: 1.35;
}
body.vt-contact .vt-contact-channel__desc {
    font-size: 14px;
    color: #717171;
    line-height: 1.6;
}

body.vt-contact .vt-contact-section {
    width: 100%;
    margin: 0;
    padding: 60px var(--contact-lat);
    border: 0;
    border-radius: 0;
}
body.vt-contact .vt-contact-section--main {
    background: #f3f3f3;
}
body.vt-contact .vt-contact-section--faq {
    background: #fff;
}
body.vt-contact .vt-contact-main-grid {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 24px;
    align-items: start;
}

body.vt-contact .vt-contact-form-card {
    background: #fff;
    border-radius: 25px;
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    box-shadow: 0 22px 54px -46px rgba(0,0,0,.4);
}
body.vt-contact .vt-contact-form__head {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.vt-contact .vt-contact-form__head h2 {
    margin: 0;
    color: #000;
    font-family: inherit;
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.035em;
    font-weight: 900;
}
body.vt-contact .vt-contact-form__head .seo-eyebrow,
body.vt-contact .vt-contact-card .seo-eyebrow,
body.vt-contact .vt-contact-faq__inner .seo-eyebrow {
    margin: 0;
    color: #0abf7d;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
}
body.vt-contact .vt-contact-form__sub {
    margin: 0;
    font-size: 15px;
    color: #717171;
    line-height: 1.6;
}
body.vt-contact .vt-contact-required-note {
    margin: -8px 0 0;
    color: #717171;
    font-size: 13px;
    line-height: 1.5;
}
body.vt-contact .vt-contact-required,
body.vt-contact .vt-contact-required-note span {
    color: #078959;
    font-weight: 800;
}
body.vt-contact .vt-contact-honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
body.vt-contact .vt-contact-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
body.vt-contact .vt-contact-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.vt-contact .vt-contact-label {
    font-size: 14px;
    font-weight: 600;
    color: #000;
}
body.vt-contact .vt-contact-label--opt {
    color: #9b9b9b;
    font-weight: 500;
}
body.vt-contact .vt-contact-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
body.vt-contact .vt-contact-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    border: 1px solid #e4e4e4;
    background: #fafaf9;
    color: #000;
    border-radius: 25px;
    padding: 12px 22px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    transition: all .15s ease;
}
body.vt-contact .vt-contact-pill input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
body.vt-contact .vt-contact-pill.is-selected {
    border-color: #0abf7d;
    background: #0abf7d;
    color: #fff;
}
body.vt-contact .vt-contact-fields-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
body.vt-contact .vt-contact-input,
body.vt-contact .vt-contact-select,
body.vt-contact .vt-contact-textarea {
    border: 1px solid #e4e4e4;
    border-radius: 14px;
    padding: 13px 14px;
    background: #fafaf9;
    width: 100%;
    font-family: inherit;
    font-size: 16px;
    color: #000;
    box-sizing: border-box;
    transition: border-color .15s ease, background .15s ease;
}
body.vt-contact .vt-contact-input::placeholder,
body.vt-contact .vt-contact-textarea::placeholder {
    color: #9b9b9b;
}
body.vt-contact .vt-contact-input:focus,
body.vt-contact .vt-contact-select:focus,
body.vt-contact .vt-contact-textarea:focus {
    outline: none;
    border-color: #0abf7d;
    background: #fff;
}
body.vt-contact .vt-contact-input[aria-invalid="true"],
body.vt-contact .vt-contact-select[aria-invalid="true"],
body.vt-contact .vt-contact-textarea[aria-invalid="true"] {
    border-color: #b4342a;
    background: #fff8f7;
}
body.vt-contact .vt-contact-checkbox input[aria-invalid="true"] + .vt-contact-checkbox__box {
    border-color: #b4342a;
    box-shadow: 0 0 0 2px rgba(180,52,42,.14);
}
body.vt-contact .vt-contact-textarea {
    resize: vertical;
    line-height: 1.6;
}
body.vt-contact .vt-contact-consent {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    cursor: pointer;
}
body.vt-contact .vt-contact-checkbox {
    position: relative;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    cursor: pointer;
}
body.vt-contact .vt-contact-checkbox input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
body.vt-contact .vt-contact-checkbox__box {
    width: 22px;
    height: 22px;
    flex: none;
    margin-top: 1px;
    border-radius: 8px;
    border: 1.5px solid #e4e4e4;
    background: #fff;
    display: grid;
    place-items: center;
    transition: all .15s ease;
}
body.vt-contact .vt-contact-checkbox input:checked + .vt-contact-checkbox__box {
    border-color: #0abf7d;
    background: #0abf7d;
}
body.vt-contact .vt-contact-checkbox__box svg {
    display: none;
}
body.vt-contact .vt-contact-checkbox input:checked + .vt-contact-checkbox__box svg {
    display: block;
}
body.vt-contact .vt-contact-checkbox__text {
    font-size: 14px;
    color: #717171;
    line-height: 1.65;
}
body.vt-contact .vt-contact-checkbox__text a {
    color: #078959;
    text-decoration: underline;
}
body.vt-contact .vt-contact-checkbox__text a:hover {
    color: #0abf7d;
}
body.vt-contact .vt-contact-submit {
    width: 100%;
    border: 0;
    background: #0abf7d;
    color: #fff;
    text-align: center;
    font-family: inherit;
    font-weight: 700;
    font-size: 17px;
    padding: 17px;
    border-radius: 25px;
    cursor: pointer;
    box-shadow: 0 12px 26px -14px rgba(10,191,125,.85);
    transition: background .18s ease;
}
body.vt-contact .vt-contact-submit:hover {
    background: #078959;
}
body.vt-contact .vt-contact-submit:disabled {
    cursor: wait;
    opacity: .72;
}
body.vt-contact .vt-contact-form-status {
    margin: -2px 0 0;
    padding: 12px 14px;
    border: 1px solid #efc4bf;
    border-radius: 14px;
    background: #fff8f7;
    color: #8f2a22;
    font-size: 14px;
    line-height: 1.5;
}
body.vt-contact .vt-contact-form-status[data-state="success"] {
    border-color: #b7e9d5;
    background: #eafbf3;
    color: #0a5c3d;
}
body.vt-contact .vt-contact-form__note {
    font-size: 13px;
    color: #9b9b9b;
    line-height: 1.65;
    text-align: center;
    display: block;
}

body.vt-contact .vt-contact-side {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
body.vt-contact .vt-contact-card {
    background: #fff;
    border-radius: 25px;
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
body.vt-contact .vt-contact-card--green {
    background: #eafbf3;
    border: 1px solid #b7e9d5;
    gap: 12px;
}
body.vt-contact .vt-contact-card__eyebrow--green {
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
    color: #078959;
}
body.vt-contact .vt-contact-steps {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
body.vt-contact .vt-contact-step {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
body.vt-contact .vt-contact-step__num {
    width: 26px;
    height: 26px;
    flex: none;
    border-radius: 50%;
    background: #eafbf3;
    color: #078959;
    font-size: 13px;
    font-weight: 800;
    display: grid;
    place-items: center;
}
body.vt-contact .vt-contact-step > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
body.vt-contact .vt-contact-step strong {
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    color: #000;
}
body.vt-contact .vt-contact-step p {
    margin: 0;
    font-size: 14px;
    color: #717171;
    line-height: 1.6;
}
body.vt-contact .vt-contact-commitments {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.vt-contact .vt-contact-commitments li {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    font-size: 15px;
    color: #0a5c3d;
    line-height: 1.6;
}
body.vt-contact .vt-contact-commitments li svg {
    flex: none;
    margin-top: 2px;
}
body.vt-contact .vt-contact-card__copy {
    margin: 0;
    font-size: 15px;
    color: #717171;
    line-height: 1.7;
}
body.vt-contact .vt-contact-ghost-btn {
    background: #fff;
    border: 1.5px solid #0abf7d;
    color: #078959;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 22px;
    border-radius: 25px;
    text-align: center;
    text-decoration: none;
    transition: all .18s ease;
}
body.vt-contact .vt-contact-ghost-btn:hover {
    background: #eafbf3;
    color: #078959;
}

body.vt-contact .vt-contact-faq__inner {
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
body.vt-contact .vt-contact-faq__inner h2 {
    margin: 0;
    color: #000;
    font-family: inherit;
    font-size: 30px;
    line-height: 1.15;
    letter-spacing: -.035em;
    font-weight: 900;
}
body.vt-contact .vt-contact-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
body.vt-contact .vt-contact-faq__item {
    background: #fafaf9;
    border: 1px solid #eff1ee;
    border-radius: 25px;
    overflow: hidden;
    transition: border-color .2s ease;
}
body.vt-contact .vt-contact-faq__item[open] {
    border-color: #b7e9d5;
}
body.vt-contact .vt-contact-faq__item summary {
    padding: 22px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.4;
    color: #000;
}
body.vt-contact .vt-contact-faq__item summary::-webkit-details-marker {
    display: none;
}
body.vt-contact .vt-contact-faq__icon::after {
    content: '+';
    font-size: 18px;
    color: #078959;
    font-weight: 700;
}
body.vt-contact .vt-contact-faq__item[open] .vt-contact-faq__icon::after {
    content: '−';
}
body.vt-contact .vt-contact-faq__item p {
    margin: 0;
    padding: 0 26px 26px;
    font-size: 15px;
    color: #717171;
    line-height: 1.75;
}

body.vt-contact .vt-contact-band {
    position: relative;
    overflow: hidden;
    border-radius: 25px;
    padding: 32px 36px;
    background: linear-gradient(rgba(0,0,0,.34),rgba(0,0,0,.34)), linear-gradient(89deg,#F2CB05 0%,#0ABF7D 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 24px;
    border: 0;
    color: #fff;
}
body.vt-contact .vt-contact-band__ray {
    position: absolute;
    right: -30px;
    bottom: -80px;
    height: 280px;
    opacity: .2;
    pointer-events: none;
}
body.vt-contact .vt-contact-band__copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 600px;
}
body.vt-contact .vt-contact-band__copy strong {
    font-size: 25px;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
}
body.vt-contact .vt-contact-band__copy span {
    font-size: 15px;
    color: #fff;
    opacity: .95;
    line-height: 1.65;
}
body.vt-contact .vt-contact-band__btn {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    color: #078959;
    font-weight: 800;
    font-size: 16px;
    padding: 17px 28px;
    border-radius: 25px;
    white-space: nowrap;
    text-decoration: none;
    transition: color .18s ease;
}
body.vt-contact .vt-contact-band__btn:hover {
    color: #0abf7d;
    background: #fff;
}

@media (max-width: 999px) {
    body.vt-contact { --contact-lat: 20px; }
    body.vt-contact .seo-breadcrumb-bar .seo-shell { width: calc(100% - 40px); }
    body.vt-contact .vt-contact-hero { padding-top: 26px; padding-bottom: 24px; }
    body.vt-contact .vt-contact-hero h1 { font-size: 34px; }
    body.vt-contact .vt-contact-channels-sec { padding-bottom: 44px; }
    body.vt-contact .vt-contact-channels__inner { grid-template-columns: 1fr 1fr; }
    body.vt-contact .vt-contact-section { padding-top: 44px; padding-bottom: 44px; }
    body.vt-contact .vt-contact-main-grid { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 639px) {
    body.vt-contact { --contact-lat: 16px; }
    body.vt-contact .seo-breadcrumb-bar .seo-shell { width: 100%; padding: 16px 16px 0; }
    body.vt-contact .vt-contact-hero { padding-top: 20px; padding-bottom: 22px; }
    body.vt-contact .vt-contact-hero h1 { font-size: 28px; }
    body.vt-contact .vt-contact-hero .seo-lead { font-size: 15px; }
    body.vt-contact .vt-contact-channels-sec { padding-bottom: 36px; }
    body.vt-contact .vt-contact-channels__inner { grid-template-columns: 1fr; }
    body.vt-contact .vt-contact-channel { padding: 20px 18px; }
    body.vt-contact .vt-contact-channel__value--phone { font-size: 26px; }
    body.vt-contact .vt-contact-channel__value--email { font-size: 19px; }
    body.vt-contact .vt-contact-channel__value--address { font-size: 18px; }
    body.vt-contact .vt-contact-section { padding-top: 36px; padding-bottom: 36px; }
    body.vt-contact .vt-contact-form-card { padding: 20px 18px; }
    body.vt-contact .vt-contact-form__head h2 { font-size: 23px; }
    body.vt-contact .vt-contact-fields-grid { grid-template-columns: 1fr; }
    body.vt-contact .vt-contact-card { padding: 20px 18px; }
    body.vt-contact .vt-contact-faq__inner h2 { font-size: 23px; }
    body.vt-contact .vt-contact-faq__item summary { padding: 18px; font-size: 15px; }
    body.vt-contact .vt-contact-faq__item p { padding: 0 18px 18px; }
    body.vt-contact .vt-contact-band { padding: 24px 20px; margin-top: 14px; }
    body.vt-contact .vt-contact-band__copy strong { font-size: 20px; }
    body.vt-contact .vt-contact-band__btn { width: 100%; justify-content: center; }
}

/* Página de colaboradores basada en la plantilla y montada sobre el chrome
   compartido del frontal. */
body.vt-collaborators {
    --collab-lat: 24px;
    color: #000;
    background: #fff;
    font-family: 'Poppins', 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
body.vt-collaborators .vt-collab-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
body.vt-collaborators .seo-breadcrumb-bar .seo-shell {
    width: calc(100% - (var(--collab-lat) * 2));
    max-width: 1180px;
}
body.vt-collaborators .seo-breadcrumb {
    color: #717171;
}
body.vt-collaborators .seo-breadcrumb a {
    color: #717171;
}
body.vt-collaborators .vt-collab-hero,
body.vt-collaborators .vt-collab-section {
    width: 100%;
    padding: 64px var(--collab-lat);
}
body.vt-collaborators .vt-collab-hero {
    padding-top: 36px;
    padding-bottom: 68px;
    background: #fff;
}
body.vt-collaborators .vt-collab-hero__inner,
body.vt-collaborators .vt-collab-section__inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}
body.vt-collaborators .vt-collab-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    align-items: center;
    gap: 52px;
}
body.vt-collaborators .vt-collab-hero__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
body.vt-collaborators .vt-collab-badge,
body.vt-collaborators .vt-collab-eyebrow,
body.vt-collaborators .vt-collab-aside__eyebrow {
    color: #07945f;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}
body.vt-collaborators .vt-collab-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 13px;
    border: 1px solid #bdebd8;
    border-radius: 999px;
    background: #f0fcf7;
    letter-spacing: .08em;
}
body.vt-collaborators .vt-collab-hero h1 {
    max-width: 680px;
    margin: 16px 0 15px;
    color: #000;
    font-size: clamp(34px, 4.5vw, 56px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.04;
}
body.vt-collaborators .vt-collab-lead {
    max-width: 650px;
    margin: 0;
    color: #717171;
    font-size: 16px;
    line-height: 1.72;
}
body.vt-collaborators .vt-collab-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}
body.vt-collaborators .vt-collab-button,
body.vt-collaborators .vt-collab-submit {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 21px;
    border: 1px solid transparent;
    border-radius: 999px;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
body.vt-collaborators .vt-collab-button:hover,
body.vt-collaborators .vt-collab-submit:hover {
    transform: translateY(-1px);
}
body.vt-collaborators .vt-collab-button--green,
body.vt-collaborators .vt-collab-submit {
    color: #fff;
    background: #0abf7d;
}
body.vt-collaborators .vt-collab-button--green:hover,
body.vt-collaborators .vt-collab-submit:hover {
    background: #07945f;
}
body.vt-collaborators .vt-collab-button--outline {
    color: #07945f;
    border-color: #bdebd8;
    background: #fff;
}
body.vt-collaborators .vt-collab-button--outline:hover {
    border-color: #0abf7d;
    background: #f0fcf7;
}
body.vt-collaborators .vt-collab-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
body.vt-collaborators .vt-collab-fact {
    min-height: 142px;
    padding: 23px 21px;
    border: 1px solid #e5e5e5;
    border-radius: 22px;
    background: #fafaf9;
}
body.vt-collaborators .vt-collab-fact strong {
    display: block;
    margin-bottom: 9px;
    color: #0abf7d;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.1;
}
body.vt-collaborators .vt-collab-fact span {
    display: block;
    color: #717171;
    font-size: 13px;
    line-height: 1.55;
}
body.vt-collaborators .vt-collab-section--soft {
    background: #f3f3f3;
}
body.vt-collaborators .vt-collab-section__head {
    max-width: 800px;
    margin-bottom: 28px;
}
body.vt-collaborators .vt-collab-section__head h2,
body.vt-collaborators .vt-collab-section__copy h2,
body.vt-collaborators .vt-collab-faq > h2 {
    max-width: 800px;
    margin: 9px 0 10px;
    color: #000;
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.08;
}
body.vt-collaborators .vt-collab-section__head p,
body.vt-collaborators .vt-collab-section__copy > p {
    max-width: 720px;
    margin: 0;
    color: #717171;
    font-size: 15px;
    line-height: 1.7;
}
body.vt-collaborators .vt-collab-profile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
body.vt-collaborators .vt-collab-profile-card {
    min-height: 160px;
    padding: 24px 25px;
    border-radius: 23px;
    background: #fff;
}
body.vt-collaborators .vt-collab-profile-card h3,
body.vt-collaborators .vt-collab-offer-card h3,
body.vt-collaborators .vt-collab-step-card h3 {
    margin: 0 0 8px;
    color: #000;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.25;
}
body.vt-collaborators .vt-collab-profile-card p,
body.vt-collaborators .vt-collab-offer-card p,
body.vt-collaborators .vt-collab-step-card p {
    margin: 0;
    color: #717171;
    font-size: 14px;
    line-height: 1.65;
}
body.vt-collaborators .vt-collab-two-columns {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 54px;
}
body.vt-collaborators .vt-collab-two-columns--center {
    align-items: center;
}
body.vt-collaborators .vt-collab-section__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
body.vt-collaborators .vt-collab-offer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
body.vt-collaborators .vt-collab-offer-card {
    min-height: 142px;
    padding: 20px 21px;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    background: #fafaf9;
}
body.vt-collaborators .vt-collab-check-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 21px 0 0;
    padding: 0;
    list-style: none;
}
body.vt-collaborators .vt-collab-check-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #717171;
    font-size: 14px;
    line-height: 1.55;
}
body.vt-collaborators .vt-collab-check-list li > span:first-child {
    flex: 0 0 21px;
    color: #0abf7d;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.25;
}
body.vt-collaborators .vt-collab-work-panel {
    padding: 26px 27px;
    border: 1px solid #e6e6e6;
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .05);
}
body.vt-collaborators .vt-collab-work-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 17px;
    color: #000;
    font-size: 14px;
    font-weight: 800;
}
body.vt-collaborators .vt-collab-work-panel__head > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
body.vt-collaborators .vt-collab-work-panel__head i {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #0abf7d;
    box-shadow: 0 0 0 4px #e1f8ee;
}
body.vt-collaborators .vt-collab-panel-tag {
    padding: 5px 9px;
    border-radius: 7px;
    color: #078959;
    background: #e9fbf3;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
body.vt-collaborators .vt-collab-work-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 0;
    border-top: 1px solid #eeeeee;
}
body.vt-collaborators .vt-collab-work-row > span:first-child {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}
body.vt-collaborators .vt-collab-work-row > span:first-child > strong {
    display: inline-flex;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #078959;
    background: #e9fbf3;
    font-size: 13px;
}
body.vt-collaborators .vt-collab-work-row > span:first-child > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
body.vt-collaborators .vt-collab-work-row b {
    color: #000;
    font-size: 14px;
    font-weight: 800;
}
body.vt-collaborators .vt-collab-work-row small {
    overflow: hidden;
    color: #9b9b9b;
    font-size: 11px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.vt-collaborators .vt-collab-work-row em {
    flex: 0 0 auto;
    color: #07945f;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}
body.vt-collaborators .vt-collab-work-panel__note {
    margin: 16px 0 0;
    color: #9b9b9b;
    font-size: 12px;
    line-height: 1.5;
}
body.vt-collaborators .vt-collab-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
body.vt-collaborators .vt-collab-step-card {
    min-height: 190px;
    padding: 22px 21px;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
    background: #fafaf9;
}
body.vt-collaborators .vt-collab-step-card__number {
    display: inline-flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    margin-bottom: 21px;
    border-radius: 50%;
    color: #fff;
    background: #0abf7d;
    font-size: 13px;
    font-weight: 800;
}
body.vt-collaborators .vt-collab-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(270px, .88fr);
    align-items: start;
    gap: 24px;
}
body.vt-collaborators .vt-collab-form-card,
body.vt-collaborators .vt-collab-aside-card {
    border: 1px solid #e6e6e6;
    border-radius: 25px;
    background: #fff;
}
body.vt-collaborators .vt-collab-form-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 28px 30px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .04);
}
body.vt-collaborators .vt-collab-form__head {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.vt-collaborators .vt-collab-form__head .vt-collab-eyebrow {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.3;
}
body.vt-collaborators .vt-collab-form__head h2 {
    margin: 0;
    color: #000;
    font-family: inherit;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.2;
}
body.vt-collaborators .vt-collab-form__head p {
    max-width: 600px;
    margin: 0;
    color: #717171;
    font-size: 15px;
    line-height: 1.6;
}
body.vt-collaborators .vt-collab-required-note {
    margin: -8px 0 0;
    color: #717171;
    font-size: 13px;
    line-height: 1.5;
}
body.vt-collaborators .vt-collab-required,
body.vt-collaborators .vt-collab-required-note span {
    color: #078959;
    font-weight: 800;
}
body.vt-collaborators .vt-collab-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 0;
}
body.vt-collaborators .vt-collab-field {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
body.vt-collaborators .vt-collab-label {
    display: block;
    margin-bottom: 7px;
    color: #000;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}
body.vt-collaborators .vt-collab-label--opt {
    color: #9b9b9b;
    font-weight: 500;
}
body.vt-collaborators .vt-collab-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
body.vt-collaborators .vt-collab-pill {
    position: relative;
    cursor: pointer;
}
body.vt-collaborators .vt-collab-pill input,
body.vt-collaborators .vt-collab-interest input,
body.vt-collaborators .vt-collab-consent input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
body.vt-collaborators .vt-collab-pill span {
    display: inline-flex;
    align-items: center;
    padding: 12px 22px;
    border: 1px solid #e4e4e4;
    border-radius: 25px;
    color: #000;
    background: #fafaf9;
    font-size: 15px;
    font-weight: 600;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
body.vt-collaborators .vt-collab-pill.is-selected span,
body.vt-collaborators .vt-collab-pill input:checked + span {
    border-color: #0abf7d;
    color: #fff;
    background: #0abf7d;
}
body.vt-collaborators .vt-collab-pill input:focus-visible + span,
body.vt-collaborators .vt-collab-interest input:focus-visible + .vt-collab-interest__box,
body.vt-collaborators .vt-collab-consent input:focus-visible + .vt-collab-consent__box {
    outline: 3px solid rgba(10, 191, 125, .25);
    outline-offset: 2px;
}
body.vt-collaborators .vt-collab-fields-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
body.vt-collaborators .vt-collab-input,
body.vt-collaborators .vt-collab-select,
body.vt-collaborators .vt-collab-textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e4e4e4;
    border-radius: 14px;
    color: #000;
    background: #fafaf9;
    font: inherit;
    font-size: 16px;
    transition: border-color .15s ease, background .15s ease;
}
body.vt-collaborators .vt-collab-input,
body.vt-collaborators .vt-collab-select {
    height: auto;
    padding: 13px 14px;
}
body.vt-collaborators .vt-collab-textarea {
    padding: 13px 14px;
    line-height: 1.6;
    resize: vertical;
}
body.vt-collaborators .vt-collab-input::placeholder,
body.vt-collaborators .vt-collab-textarea::placeholder {
    color: #9b9b9b;
}
body.vt-collaborators .vt-collab-input:focus,
body.vt-collaborators .vt-collab-select:focus,
body.vt-collaborators .vt-collab-textarea:focus {
    border-color: #0abf7d;
    outline: none;
    background: #fff;
}
body.vt-collaborators .vt-collab-input.is-invalid,
body.vt-collaborators .vt-collab-select.is-invalid,
body.vt-collaborators .vt-collab-textarea.is-invalid,
body.vt-collaborators .vt-collab-input[aria-invalid="true"],
body.vt-collaborators .vt-collab-select[aria-invalid="true"],
body.vt-collaborators .vt-collab-textarea[aria-invalid="true"] {
    border-color: #e24b55;
}
body.vt-collaborators .vt-collab-interests {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
body.vt-collaborators .vt-collab-interest,
body.vt-collaborators .vt-collab-consent {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}
body.vt-collaborators .vt-collab-interest__box,
body.vt-collaborators .vt-collab-consent__box {
    display: inline-flex;
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    border: 1.5px solid #e4e4e4;
    border-radius: 8px;
    background: #fff;
}
body.vt-collaborators .vt-collab-interest input:checked + .vt-collab-interest__box,
body.vt-collaborators .vt-collab-consent input:checked + .vt-collab-consent__box {
    border-color: #0abf7d;
    background: #0abf7d;
}
body.vt-collaborators .vt-collab-interest > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
body.vt-collaborators .vt-collab-interest strong {
    color: #000;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
}
body.vt-collaborators .vt-collab-interest small {
    color: #9b9b9b;
    font-size: 13px;
    line-height: 1.55;
}
body.vt-collaborators .vt-collab-consent {
    color: #717171;
    gap: 12px;
    font-size: 14px;
    line-height: 1.65;
}
body.vt-collaborators .vt-collab-consent__box {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
}
body.vt-collaborators .vt-collab-consent a {
    color: #078959;
    font-weight: 700;
}
body.vt-collaborators .vt-collab-submit {
    width: 100%;
    border: 0;
    border-radius: 25px;
    box-shadow: 0 12px 26px -14px rgba(10, 191, 125, .85);
    font-size: 17px;
    padding: 17px;
}
body.vt-collaborators .vt-collab-form__note {
    display: block;
    margin-top: -8px;
    color: #9b9b9b;
    font-size: 13px;
    line-height: 1.65;
    text-align: center;
}
body.vt-collaborators .vt-collab-form-status:not([hidden]) {
    margin: -2px 0 0;
    display: block;
    padding: 12px 14px;
    border: 1px solid #efc4bf;
    border-radius: 14px;
    color: #8f2a22;
    background: #fff8f7;
    font-size: 14px;
    line-height: 1.5;
}
body.vt-collaborators .vt-collab-form-status.is-error {
    border-color: #efc4bf;
    color: #a9303a;
    background: #fff0f1;
}
body.vt-collaborators .vt-collab-form-status[data-state="success"] {
    border-color: #b7e9d5;
    color: #0a5c3d;
    background: #eafbf3;
}
body.vt-collaborators .vt-collab-honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}
body.vt-collaborators .vt-collab-aside {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
body.vt-collaborators .vt-collab-aside-card {
    padding: 26px 25px;
}
body.vt-collaborators .vt-collab-aside-card--green {
    border-color: #bdebd8;
    background: #e9fbf3;
}
body.vt-collaborators .vt-collab-aside-card .vt-collab-check-list {
    margin-top: 18px;
}
body.vt-collaborators .vt-collab-aside-card .vt-collab-check-list li {
    color: #3e6f5b;
}
body.vt-collaborators .vt-collab-aside-card p {
    margin: 10px 0 17px;
    color: #717171;
    font-size: 14px;
    line-height: 1.65;
}
body.vt-collaborators .vt-collab-aside-card .vt-collab-button {
    width: 100%;
}
body.vt-collaborators .vt-collab-phone {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #000;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.03em;
    text-decoration: none;
}
body.vt-collaborators .vt-collab-phone:hover {
    color: #078959;
}
body.vt-collaborators .vt-collab-faq {
    width: min(1180px, 100%);
    max-width: 1180px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
body.vt-collaborators .vt-collab-faq > h2 {
    margin: 0;
    color: #000;
    font-family: inherit;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.15;
}
body.vt-collaborators .vt-collab-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
body.vt-collaborators .vt-collab-faq__item {
    overflow: hidden;
    border: 1px solid #e5e5e5;
    border-radius: 25px;
    background: #fafaf9;
}
body.vt-collaborators .vt-collab-faq__item[open] {
    border-color: #b7e9d5;
}
body.vt-collaborators .vt-collab-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px;
    color: #000;
    font-size: 17px;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
}
body.vt-collaborators .vt-collab-faq__item summary::-webkit-details-marker {
    display: none;
}
body.vt-collaborators .vt-collab-faq__item summary > span {
    position: relative;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}
body.vt-collaborators .vt-collab-faq__item summary > span::before,
body.vt-collaborators .vt-collab-faq__item summary > span::after {
    position: absolute;
    top: 8px;
    left: 2px;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: #0abf7d;
    content: '';
}
body.vt-collaborators .vt-collab-faq__item summary > span::after {
    transform: rotate(90deg);
    transition: transform .18s ease;
}
body.vt-collaborators .vt-collab-faq__item[open] summary > span::after {
    transform: rotate(0);
}
body.vt-collaborators .vt-collab-faq__item p {
    max-width: 760px;
    margin: 0;
    padding: 0 26px 26px;
    color: #717171;
    font-size: 15px;
    line-height: 1.75;
}
body.vt-collaborators .vt-collab-band {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 24px;
    padding: 32px 36px;
    border-radius: 25px;
    color: #fff;
    background: linear-gradient(rgba(0, 0, 0, .34), rgba(0, 0, 0, .34)), linear-gradient(89deg, #f2cb05 0%, #0abf7d 100%);
}
body.vt-collaborators .vt-collab-band img {
    position: absolute;
    right: -30px;
    bottom: -80px;
    width: auto;
    height: 280px;
    opacity: .2;
    pointer-events: none;
}
body.vt-collaborators .vt-collab-band > div {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 5px;
}
body.vt-collaborators .vt-collab-band strong {
    font-size: 25px;
    font-weight: 900;
    line-height: 1.2;
}
body.vt-collaborators .vt-collab-band > div span {
    color: #fff;
    font-size: 15px;
    line-height: 1.65;
    opacity: .95;
}
body.vt-collaborators .vt-collab-button--light {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    color: #000;
    background: #fff;
    font-size: 16px;
    font-weight: 800;
    padding: 17px 28px;
    border-radius: 25px;
    white-space: nowrap;
}
body.vt-collaborators .vt-collab-button--light:hover {
    color: #078959;
    background: #e9fbf3;
}

@media (max-width: 999px) {
    body.vt-collaborators { --collab-lat: 20px; }
    body.vt-collaborators .seo-breadcrumb-bar .seo-shell { width: calc(100% - 40px); }
    body.vt-collaborators .vt-collab-hero { padding-top: 28px; padding-bottom: 48px; }
    body.vt-collaborators .vt-collab-hero__grid,
    body.vt-collaborators .vt-collab-two-columns,
    body.vt-collaborators .vt-collab-form-grid { grid-template-columns: 1fr; gap: 28px; }
    body.vt-collaborators .vt-collab-hero h1 { font-size: 40px; }
    body.vt-collaborators .vt-collab-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.vt-collaborators .vt-collab-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.vt-collaborators .vt-collab-section { padding-top: 48px; padding-bottom: 48px; }
}

@media (max-width: 639px) {
    body.vt-collaborators { --collab-lat: 16px; }
    body.vt-collaborators .seo-breadcrumb-bar .seo-shell { width: 100%; padding: 16px 16px 0; }
    body.vt-collaborators .vt-collab-hero { padding-top: 21px; padding-bottom: 36px; }
    body.vt-collaborators .vt-collab-hero h1 { margin-top: 14px; font-size: 29px; }
    body.vt-collaborators .vt-collab-lead { font-size: 15px; }
    body.vt-collaborators .vt-collab-actions { width: 100%; align-items: stretch; }
    body.vt-collaborators .vt-collab-actions .vt-collab-button { width: 100%; }
    body.vt-collaborators .vt-collab-facts,
    body.vt-collaborators .vt-collab-profile-grid,
    body.vt-collaborators .vt-collab-offer-grid,
    body.vt-collaborators .vt-collab-step-grid,
    body.vt-collaborators .vt-collab-fields-grid { grid-template-columns: 1fr; }
    body.vt-collaborators .vt-collab-fact { min-height: 0; padding: 19px 18px; }
    body.vt-collaborators .vt-collab-fact strong { font-size: 22px; }
    body.vt-collaborators .vt-collab-section { padding-top: 36px; padding-bottom: 36px; }
    body.vt-collaborators .vt-collab-section__head h2,
    body.vt-collaborators .vt-collab-section__copy h2 { font-size: 25px; }
    body.vt-collaborators .vt-collab-profile-card,
    body.vt-collaborators .vt-collab-offer-card,
    body.vt-collaborators .vt-collab-step-card { min-height: 0; padding: 20px 19px; }
    body.vt-collaborators .vt-collab-work-panel { padding: 21px 18px; }
    body.vt-collaborators .vt-collab-work-panel__head { align-items: flex-start; }
    body.vt-collaborators .vt-collab-work-row { align-items: flex-start; }
    body.vt-collaborators .vt-collab-work-row em { display: none; }
    body.vt-collaborators .vt-collab-work-row small { white-space: normal; }
    body.vt-collaborators .vt-collab-form-card,
    body.vt-collaborators .vt-collab-aside-card { padding: 20px 18px; }
    body.vt-collaborators .vt-collab-form__head h2,
    body.vt-collaborators .vt-collab-faq > h2 { font-size: 23px; }
    body.vt-collaborators .vt-collab-faq__item summary { padding: 18px; font-size: 15px; }
    body.vt-collaborators .vt-collab-faq__item p { margin: 0; padding: 0 18px 18px; font-size: 15px; }
    body.vt-collaborators .vt-collab-band { align-items: flex-start; flex-wrap: wrap; gap: 15px; margin-top: 14px; padding: 24px 20px; }
    body.vt-collaborators .vt-collab-band img { right: -54px; bottom: -64px; height: 220px; }
    body.vt-collaborators .vt-collab-band > div { width: 100%; flex-basis: auto; }
    body.vt-collaborators .vt-collab-band strong { font-size: 20px; }
    body.vt-collaborators .vt-collab-band .vt-collab-button { width: 100%; }
}

/* Colaboradores: ajuste fiel a la plantilla manteniendo el chrome compartido. */
body.vt-collaborators .vt-site-header { padding: 14px 24px; }
body.vt-collaborators .vt-nav-shell { width: 100%; min-height: 0; padding: 10px 14px 10px 22px; }
body.vt-collaborators .vt-nav-links { gap: 22px; white-space: nowrap; }
body.vt-collaborators .vt-nav-actions { gap: 10px; }
body.vt-collaborators .vt-header-secondary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 43px;
    padding: 10px 18px;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 25px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}
body.vt-collaborators .vt-header-secondary:hover { color: #f2cb05; }
body.vt-collaborators .vt-nav-actions > .vt-button { min-height: 43px; padding: 11px 22px; font-size: 15px; font-weight: 700; }
body.vt-collaborators .vt-collab-hero,
body.vt-collaborators .vt-collab-section { padding-top: 60px; padding-bottom: 60px; }
body.vt-collaborators .vt-collab-hero { padding-top: 34px; padding-bottom: 56px; }
body.vt-collaborators .vt-collab-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: start; gap: 48px; }
body.vt-collaborators .vt-collab-hero h1 { margin: 14px 0; font-size: 40px; font-weight: 900; letter-spacing: -.035em; line-height: 1.12; }
body.vt-collaborators .vt-collab-section__head h2,
body.vt-collaborators .vt-collab-section__copy h2 { font-size: 30px; font-weight: 900; line-height: 1.15; }
body.vt-collaborators .vt-collab-section__head p,
body.vt-collaborators .vt-collab-section__copy > p { font-size: 16px; }
body.vt-collaborators .vt-collab-profile-card { border-radius: 25px; }
body.vt-collaborators .vt-collab-offer-card { border-color: #eff1ee; border-radius: 14px; }
body.vt-collaborators .vt-collab-panel-access { margin-top: 18px; }
body.vt-collaborators .vt-collab-work-panel { display: flex; flex-direction: column; gap: 14px; }
body.vt-collaborators .vt-collab-work-panel__head { margin: 0; }
body.vt-collaborators .vt-collab-panel-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body.vt-collaborators .vt-collab-panel-metrics > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
    padding: 14px 16px;
    border: 1px solid #eff1ee;
    border-radius: 14px;
    background: #fafaf9;
}
body.vt-collaborators .vt-collab-panel-metrics span,
body.vt-collaborators .vt-collab-panel-list-title { color: #9b9b9b; font-size: 11px; font-weight: 700; letter-spacing: .05em; line-height: 1.35; text-transform: uppercase; }
body.vt-collaborators .vt-collab-panel-metrics strong { font-size: 26px; font-weight: 900; line-height: 1.15; }
body.vt-collaborators .vt-collab-panel-metrics strong.is-green { color: #0abf7d; }
body.vt-collaborators .vt-collab-panel-list-title { color: #717171; font-size: 13px; }
body.vt-collaborators .vt-collab-panel-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 15px;
    border: 1px solid #eff1ee;
    border-radius: 14px;
    background: #fafaf9;
}
body.vt-collaborators .vt-collab-panel-row > span { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
body.vt-collaborators .vt-collab-panel-row > span:last-child { flex: none; align-items: flex-end; flex-direction: row; gap: 10px; }
body.vt-collaborators .vt-collab-panel-row b { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
body.vt-collaborators .vt-collab-panel-row small { color: #9b9b9b; font-size: 12px; }
body.vt-collaborators .vt-collab-panel-row strong { color: #078959; font-size: 14px; white-space: nowrap; }
body.vt-collaborators .vt-collab-panel-row em { padding: 4px 9px; border: 1px solid #e4e4e4; border-radius: 8px; color: #717171; background: #f3f3f3; font-size: 11px; font-style: normal; font-weight: 700; white-space: nowrap; }
body.vt-collaborators .vt-collab-panel-row em.is-active { border-color: #b7e9d5; color: #078959; background: #eafbf3; }
body.vt-collaborators .vt-collab-panel-row em.is-review { border-color: #f0de8a; color: #7a6600; background: #fff7cf; }
body.vt-collaborators .vt-collab-step-card { border-radius: 25px; }

body.vt-modal-open { overflow: hidden; }
body.vt-collaborators .vt-collab-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
body.vt-collaborators .vt-collab-modal[hidden] { display: none; }
body.vt-collaborators .vt-collab-modal__backdrop { position: absolute; inset: 0; background: rgba(10, 18, 14, .64); backdrop-filter: blur(5px); }
body.vt-collaborators .vt-collab-modal__panel { position: relative; z-index: 1; width: min(460px, 100%); padding: 30px; border-radius: 25px; background: #fff; box-shadow: 0 30px 90px rgba(0, 0, 0, .3); }
body.vt-collaborators .vt-collab-modal__close { position: absolute; top: 14px; right: 14px; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; color: #000; background: #f3f3f3; font: inherit; font-size: 25px; line-height: 1; cursor: pointer; }
body.vt-collaborators .vt-collab-modal h2 { margin: 9px 42px 7px 0; font-size: 26px; font-weight: 900; line-height: 1.18; }
body.vt-collaborators .vt-collab-modal__panel > p { margin: 0 0 20px; color: #717171; font-size: 15px; }
body.vt-collaborators .vt-collab-login-form { display: flex; flex-direction: column; gap: 8px; }
body.vt-collaborators .vt-collab-login-form label { margin-top: 5px; font-size: 14px; font-weight: 700; }
body.vt-collaborators .vt-collab-login-form input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #e4e4e4; border-radius: 14px; background: #fafaf9; font: inherit; font-size: 16px; }
body.vt-collaborators .vt-collab-login-form .vt-collab-submit { margin-top: 10px; }
body.vt-collaborators .vt-collab-login-status { margin: 2px 0 0; color: #8f2a22; font-size: 13px; text-align: center; }
body.vt-collaborators .vt-collab-modal__links { display: flex; justify-content: space-between; gap: 16px; margin-top: 18px; }
body.vt-collaborators .vt-collab-modal__links button { padding: 0; border: 0; color: #078959; background: transparent; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
body.vt-collaborators .vt-collab-modal__links button[aria-disabled="true"] { color: #9b9b9b; cursor: default; }

@media (max-width: 999px) {
    body.vt-collaborators .vt-site-header { padding: 12px 20px; }
    body.vt-collaborators .vt-header-secondary { display: none; }
    body.vt-collaborators .vt-collab-hero,
    body.vt-collaborators .vt-collab-section { padding-top: 44px; padding-bottom: 44px; }
    body.vt-collaborators .vt-collab-hero { padding-top: 26px; padding-bottom: 40px; }
    body.vt-collaborators .vt-collab-hero__grid { grid-template-columns: 1fr; gap: 26px; }
    body.vt-collaborators .vt-collab-hero h1 { font-size: 34px; }
    body.vt-collaborators .vt-mobile-drawer > a[data-collab-login-open] { border-top: 1px solid rgba(255,255,255,.28); margin-top: 10px; padding-top: 21px; }
    body.vt-collaborators .vt-mobile-drawer > .vt-button:last-child { padding: 17px; color: #000; }
}

@media (max-width: 639px) {
    body.vt-collaborators .vt-site-header { padding: 10px 16px; }
    body.vt-collaborators .vt-nav-shell { padding-left: 16px; }
    body.vt-collaborators .vt-nav-actions > .vt-button { min-height: 44px; padding: 11px 16px; font-size: 13px; }
    body.vt-collaborators .vt-collab-hero,
    body.vt-collaborators .vt-collab-section { padding-top: 36px; padding-bottom: 36px; }
    body.vt-collaborators .vt-collab-hero { padding-top: 20px; padding-bottom: 34px; }
    body.vt-collaborators .vt-collab-hero h1 { font-size: 28px; }
    body.vt-collaborators .vt-collab-section__head h2,
    body.vt-collaborators .vt-collab-section__copy h2 { font-size: 23px; }
    body.vt-collaborators .vt-collab-panel-metrics { grid-template-columns: 1fr; }
    body.vt-collaborators .vt-collab-panel-metrics strong { font-size: 22px; }
    body.vt-collaborators .vt-collab-panel-row { align-items: flex-start; flex-direction: column; }
    body.vt-collaborators .vt-collab-panel-row > span:last-child { width: 100%; justify-content: space-between; align-items: center; }
    body.vt-collaborators .vt-collab-modal { padding: 12px; }
    body.vt-collaborators .vt-collab-modal__panel { padding: 25px 20px 22px; }
    body.vt-collaborators .vt-collab-modal h2 { font-size: 22px; }
    body.vt-collaborators .vt-collab-modal__links { align-items: flex-start; flex-direction: column; }
}

/* El borde de la oferta, mas marcado que las lineas de dentro (--line), para
   que se vea de un vistazo donde empieza y acaba cada tarjeta. */
.vt-results .offer-card:not(.is-best) { border-color: #b3c4ba; }

/* En movil "Recibir por email" se mueve al icono de la cabecera, asi que la
   fila de acciones puede quedarse vacia. Su separador quedaba entonces como
   una linea suelta sobre el detalle. */
@media (max-width: 560px) {
    .vt-results .offer-details > .offer-actions:first-child:not(:has(.offer-call, .offer-contract, .offer-callback)) {
        display: none;
    }
}
.email-tel { border-radius: var(--vt-radius); }
