@font-face {
    font-family: Albert;
    src: url('../fonts/AlbertSans-Variable.ttf') format('truetype');
    font-weight: 100 900;
    font-display: swap;
}
:root { --u: min(0.0520833333vw, 1px); --ink: #1e272d; --yellow: #e0e000; --beige: #e5dccb; --muted: #96bfd0; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; color: var(--ink); font-family: Albert, Arial, sans-serif; font-size: calc(26 * var(--u)); }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { line-height: 1.1; }
h1, h2 { font-weight: 500; }
p { line-height: 1.4; }
a { color: inherit; text-decoration: none; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible, textarea:focus-visible { outline: 3px solid #819600; outline-offset: 5px; }
button, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: calc(1544 * var(--u)); margin-inline: auto; }
.two-columns { display: grid; grid-template-columns: 1fr calc(720 * var(--u)); align-items: center; gap: calc(104 * var(--u)); }
.two-columns > *, .product-grid > *, .solutions-grid > * { min-width: 0; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: calc(12 * var(--u)); border: 0; border-radius: calc(12 * var(--u)); background: var(--yellow); color: #172125; min-height: calc(56 * var(--u)); padding: calc(12 * var(--u)) calc(36 * var(--u)); font-size: calc(18 * var(--u)); line-height: 1.2; font-weight: 700; text-align: center; transition: background .15s ease; }
.button:hover { background: #f2f23d; }
.button svg { width: calc(38 * var(--u)); height: calc(38 * var(--u)); }
.site-header { background: var(--ink); color: #fff; }
.header-inner { width: calc(1730 * var(--u)); height: calc(160 * var(--u)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: calc(40 * var(--u)); }
.brand { display: inline-flex; align-items: center; gap: calc(12 * var(--u)); font-size: calc(52 * var(--u)); letter-spacing: calc(-1.5 * var(--u)); white-space: nowrap; }
.brand svg { color: var(--yellow); width: calc(60 * var(--u)); height: calc(54 * var(--u)); }
.desktop-nav { display: flex; align-items: center; gap: calc(34 * var(--u)); font-size: calc(18 * var(--u)); font-weight: 600; }
.desktop-nav a { padding-block: 12px; }
.desktop-nav span { padding-left: calc(5 * var(--u)); }
.login { min-width: calc(198 * var(--u)); }
.mobile-nav { display: none; }
.hero { position: relative; isolation: isolate; overflow: hidden; background: var(--yellow); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: url('../images/valler/marca-dagua.svg') left center / calc(1310 * var(--u)) auto no-repeat; opacity: .13; filter: brightness(0); }
.hero > .container { min-height: calc(700 * var(--u)); padding-block: calc(100 * var(--u)); }
.hero-copy h1 { max-width: calc(700 * var(--u)); font-size: calc(62 * var(--u)); }
.hero-copy > p { margin-top: calc(38 * var(--u)); font-size: calc(26 * var(--u)); max-width: calc(710 * var(--u)); }
.product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(54 * var(--u)); }
.product-card { background: #fff; color: var(--ink); padding: calc(36 * var(--u)) calc(40 * var(--u)); border-radius: calc(28 * var(--u)); display: flex; flex-direction: column; align-items: flex-start; }
.product-icon { width: calc(132 * var(--u)); height: calc(132 * var(--u)); flex-shrink: 0; margin-left: calc(-12 * var(--u)); }
.compact-card { min-height: calc(432 * var(--u)); }
.compact-card h2 { font-size: calc(27 * var(--u)); line-height: 1.04; margin-top: calc(6 * var(--u)); }
.product-range, .product-rate { font-size: calc(20 * var(--u)); font-weight: 700; line-height: 1.15; margin-top: calc(14 * var(--u)); }
.product-card .button { margin-top: auto; width: 100%; padding-inline: calc(6 * var(--u)); }
.compact-card .button { margin-top: calc(28 * var(--u)); }
.comparison { background: #fff; }
.comparison > .container { min-height: calc(700 * var(--u)); padding-block: calc(100 * var(--u)); }
.rate-chart { width: 100%; }
.rate-chart svg { display: block; width: 100%; overflow: visible; }
.chart-guides { stroke: #476065; stroke-width: 3; stroke-dasharray: 10 10; fill: none; }
.chart-rates { font: 700 23px Albert, Arial, sans-serif; fill: #35514e; }
.chart-labels { font: 17px Albert, Arial, sans-serif; fill: #35514e; }
.bar-house { fill: var(--yellow); }.bar-car { fill: #b5cb00; }.bar-personal { fill: #2b353d; }.bar-card { fill: var(--ink); }
.comparison-copy { padding-left: calc(48 * var(--u)); }
.eyebrow { font-size: calc(24 * var(--u)); text-transform: uppercase; color: #3c5550; }
.eyebrow::after { content: ''; display: block; height: calc(3 * var(--u)); width: calc(200 * var(--u)); margin-top: calc(18 * var(--u)); margin-bottom: calc(40 * var(--u)); background: var(--yellow); }
.comparison h2 { font-size: calc(60 * var(--u)); max-width: calc(680 * var(--u)); }
.comparison-copy > p:not(.eyebrow) { margin-top: calc(20 * var(--u)); color: #35514e; }
.comparison .button { margin-top: calc(40 * var(--u)); min-width: calc(248 * var(--u)); }
.credit-options { background: var(--ink); color: #f4f4f0; }
.credit-options > .container { min-height: calc(1200 * var(--u)); padding-block: calc(174 * var(--u)); }
.options-copy h2 { font-size: calc(58 * var(--u)); max-width: calc(720 * var(--u)); }
.options-copy > p { margin-top: calc(42 * var(--u)); max-width: calc(650 * var(--u)); }
.featured-rates { margin-top: calc(74 * var(--u)); font-size: calc(60 * var(--u)); line-height: 1.05; letter-spacing: calc(-1 * var(--u)); }
.featured-rates p { line-height: 1.05; margin-top: calc(28 * var(--u)); }
mark { background: var(--yellow); color: var(--ink); border-radius: calc(10 * var(--u)); padding-inline: calc(8 * var(--u)); white-space: nowrap; }
.detail-card { min-height: calc(850 * var(--u)); padding-top: calc(68 * var(--u)); }
.detail-card h3 { font-size: calc(32 * var(--u)); font-weight: 500; line-height: 1.08; margin-top: calc(22 * var(--u)); }
.product-description { font-size: calc(22 * var(--u)); line-height: 1.3; margin-top: calc(8 * var(--u)); }
.product-features { list-style: none; padding: 0; margin: calc(28 * var(--u)) 0 calc(40 * var(--u)); width: 100%; display: grid; gap: calc(18 * var(--u)); }
.product-features li { display: flex; align-items: center; gap: calc(14 * var(--u)); font-size: calc(18 * var(--u)); line-height: 1.2; }
.product-features svg { width: calc(40 * var(--u)); height: calc(40 * var(--u)); color: #ced700; flex-shrink: 0; }
.how-it-works { background: var(--yellow); padding: calc(60 * var(--u)) 0 calc(120 * var(--u)); min-height: calc(700 * var(--u)); }
.steps-container { width: calc(1600 * var(--u)); margin-inline: auto; }
.how-it-works h2 { text-align: center; font-size: calc(60 * var(--u)); }
.process-flow { position: relative; margin-top: calc(162 * var(--u)); }
.process-outline { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; stroke: var(--ink); stroke-width: 10; }
.process-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; }
.process-steps li { position: relative; min-height: calc(286 * var(--u)); padding: calc(64 * var(--u)) calc(58 * var(--u)) calc(52 * var(--u)) calc(96 * var(--u)); }
.process-steps li > div { position: relative; }
.step-number { position: absolute; top: calc(-86 * var(--u)); left: 0; width: calc(94 * var(--u)); height: calc(94 * var(--u)); display: grid; place-items: center; background: var(--ink); color: #fff; font-size: calc(48 * var(--u)); font-weight: 700; }
.process-steps h3 { font-size: calc(34 * var(--u)); margin-bottom: calc(12 * var(--u)); }
.process-steps p { font-size: calc(25 * var(--u)); line-height: 1.35; }
.solutions { background: var(--beige); min-height: calc(970 * var(--u)); padding: calc(100 * var(--u)) 0; }
.solutions-container { width: calc(1710 * var(--u)); margin-inline: auto; }
.solutions h2 { font-size: calc(60 * var(--u)); text-align: center; }
.solutions-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(96 * var(--u)); margin-top: calc(50 * var(--u)); }
.solution { display: flex; flex-direction: column; align-items: center; text-align: center; }
.solution img { width: 100%; height: calc(324 * var(--u)); object-fit: cover; object-position: center top; }
.solution h3 { font-size: calc(36 * var(--u)); margin-top: calc(40 * var(--u)); line-height: 1.05; }
.solution p { font-size: calc(26 * var(--u)); margin-top: calc(12 * var(--u)); line-height: 1.45; margin-bottom: calc(28 * var(--u)); }
.solution .button { margin-top: auto; min-width: calc(250 * var(--u)); }
.button-dark { color: var(--yellow); background: var(--ink); }.button-dark:hover { background: #34424b; }
.contact { min-height: calc(870 * var(--u)); padding: calc(184 * var(--u)) 0; }
.contact h2 { font-size: calc(60 * var(--u)); font-weight: 700; }
.contact > .container > p { color: #35514e; margin-top: calc(8 * var(--u)); }
.contact textarea { width: 100%; display: block; margin-top: calc(48 * var(--u)); border: calc(5 * var(--u)) solid #39434a; border-radius: calc(50 * var(--u)); min-height: calc(252 * var(--u)); padding: calc(34 * var(--u)); resize: vertical; background: #fff; color: var(--ink); font-size: calc(24 * var(--u)); }
.contact textarea::placeholder { color: #4d6661; opacity: 1; }
.contact-button { display: flex; margin: calc(34 * var(--u)) auto 0; border-radius: 100px; }
.contact-button span { font-size: calc(38 * var(--u)); line-height: .8; }
.form-error { color: #a51e27; margin-top: 16px; }.form-error a { text-decoration: underline; }
.site-footer { background: var(--ink); color: var(--muted); padding: calc(70 * var(--u)) 0 calc(90 * var(--u)); }
.footer-container { width: calc(1574 * var(--u)); margin-inline: auto; }
.footer-nav { display: grid; grid-template-columns: 1fr 1.4fr 1.1fr .75fr; gap: calc(80 * var(--u)); }
.footer-nav h2 { color: #f3f3ed; font-weight: 700; font-size: calc(34 * var(--u)); line-height: 1.2; }
.footer-nav h3 { color: #f3f3ed; font-weight: 600; font-size: calc(24 * var(--u)); margin-top: calc(24 * var(--u)); }
.footer-nav h2:not(:first-child) { font-size: calc(26 * var(--u)); margin-top: calc(38 * var(--u)); }
.footer-nav ul { list-style: none; padding: 0; margin: calc(10 * var(--u)) 0 0; }
.footer-nav li { font-size: calc(24 * var(--u)); line-height: 1.75; }
.footer-nav a:hover, .footer-bottom a:hover { text-decoration: underline; }
.footer-signature { display: flex; align-items: center; gap: calc(40 * var(--u)); margin: calc(58 * var(--u)) 0 calc(50 * var(--u)); }
.footer-signature .brand { font-size: calc(28 * var(--u)); }.footer-signature .brand svg { width: calc(38 * var(--u)); }
.footer-signature p { font-size: calc(16 * var(--u)); }
.footer-information { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(70 * var(--u)); font-size: calc(18 * var(--u)); }
.footer-information p { margin-bottom: calc(24 * var(--u)); line-height: 1.45; }
.footer-bottom { display: flex; flex-wrap: wrap; gap: calc(24 * var(--u)); border-top: 2px solid #81a6ba; padding-top: calc(38 * var(--u)); margin-top: calc(44 * var(--u)); font-size: calc(16 * var(--u)); }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 10; top: 8px; left: 8px; background: #fff; padding: 12px 20px; }
@media (max-width: 800px) {
    :root { --u: 1px; }
    body { font-size: 16px; }
    .container, .header-inner, .steps-container, .solutions-container, .footer-container { width: min(100% - 40px, 600px); }
    .header-inner { min-height: 90px; height: auto; flex-wrap: wrap; padding-block: 20px; gap: 16px; }
    .brand { font-size: 28px; gap: 6px; letter-spacing: -.7px; }.brand svg { width: 34px; height: 32px; }
    .desktop-nav { display: none; }.login { min-width: 90px; min-height: 40px; padding: 8px 14px; }.login svg { width: 24px; height: 24px; }
    .mobile-nav { display: block; width: 100%; font-size: 15px; }.mobile-nav summary { cursor: pointer; padding: 8px 0; }.mobile-nav summary span { float: right; }.mobile-nav nav { display: grid; gap: 0; padding-top: 12px; }.mobile-nav nav a { padding-block: 12px; border-top: 1px solid #44535d; }
    .two-columns { grid-template-columns: 1fr; gap: 40px; }
    .hero > .container, .comparison > .container, .credit-options > .container { min-height: 0; padding-block: 56px; }
    .hero::before { background-size: 900px auto; }.hero-copy h1 { font-size: 38px; max-width: 540px; }.hero-copy > p { margin-top: 24px; font-size: 17px; }
    .product-grid { gap: 18px; }.product-card { border-radius: 22px; padding: 24px 18px; }.product-icon { width: 80px; height: 80px; margin-left: -4px; }
    .compact-card { min-height: 300px; }.compact-card h2 { font-size: 20px; }.product-range, .product-rate { font-size: 14px; margin-top: 12px; }
    .button { font-size: 14px; min-height: 44px; padding: 10px 22px; border-radius: 9px; }.compact-card .button { margin-top: auto; }.product-rate { margin-bottom: 20px; }
    .comparison-copy { padding-left: 0; }.eyebrow { font-size: 15px; }.eyebrow::after { width: 120px; height: 2px; margin-top: 12px; margin-bottom: 24px; }
    .comparison h2, .options-copy h2 { font-size: 34px; }.comparison-copy > p:not(.eyebrow) { margin-top: 16px; }.comparison .button { min-width: 160px; margin-top: 24px; }
    .options-copy > p { margin-top: 24px; }.featured-rates { margin-top: 32px; font-size: 30px; letter-spacing: -.5px; }.featured-rates p { margin-top: 18px; }mark { padding-inline: 5px; border-radius: 5px; }
    .detail-card { min-height: 560px; padding-top: 32px; }.detail-card h3 { font-size: 23px; margin-top: 12px; }.product-description { font-size: 15px; min-height: 80px; }.product-features { gap: 14px; margin: 20px 0 24px; }.product-features li { font-size: 13px; gap: 7px; }.product-features svg { width: 25px; height: 25px; }
    .how-it-works { padding: 50px 0; min-height: 0; }.how-it-works h2 { font-size: 30px; }.process-flow { margin-top: 70px; }.process-outline { display: none; }.process-steps { grid-template-columns: 1fr; gap: 58px; }
    .process-steps li { min-height: 0; padding: 36px 30px 30px; border: 3px solid var(--ink); }
    .step-number { width: 44px; height: 44px; top: -42px; left: -3px; font-size: 24px; }.process-steps h3 { font-size: 23px; margin-bottom: 10px; }.process-steps p { font-size: 16px; }
    .solutions { min-height: 0; padding: 50px 0; }.solutions h2 { font-size: 32px; }.solutions-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 24px; margin-top: 32px; }.solution img { height: auto; aspect-ratio: 1; }.solution h3 { font-size: 22px; margin-top: 22px; }.solution p { font-size: 15px; margin: 12px 0 20px; }.solution .button { min-width: 0; width: 100%; padding-inline: 10px; }
    .contact { min-height: 0; padding: 64px 0; }.contact h2 { font-size: 32px; }.contact > .container > p { margin-top: 12px; }.contact textarea { margin-top: 26px; min-height: 180px; padding: 20px; border-width: 2px; border-radius: 24px; font-size: 16px; }.contact-button { margin-top: 24px; border-radius: 100px; font-size: 13px; padding-inline: 18px; }.contact-button span { font-size: 26px; }
    .site-footer { padding: 48px 0; }.footer-nav { grid-template-columns: repeat(2, 1fr); gap: 36px 24px; }.footer-nav h2 { font-size: 24px; }.footer-nav h3 { font-size: 16px; margin-top: 18px; }.footer-nav h2:not(:first-child) { font-size: 19px; margin-top: 26px; }.footer-nav ul { margin-top: 10px; }.footer-nav li { font-size: 15px; line-height: 1.5; margin-bottom: 10px; }.footer-nav a { display: inline-block; padding-block: 3px; }
    .footer-signature { margin: 40px 0 30px; flex-wrap: wrap; gap: 16px; }.footer-signature p { font-size: 13px; }.footer-information { grid-template-columns: 1fr; gap: 0; font-size: 13px; }.footer-information p { margin-bottom: 18px; }.footer-bottom { gap: 16px; font-size: 13px; padding-top: 24px; margin-top: 24px; }
}
@media (max-width: 370px) {
    .product-grid, .solutions-grid { grid-template-columns: 1fr; }.compact-card { min-height: 310px; }.compact-card .button { margin-top: 24px; }.detail-card { min-height: 0; }.product-description { min-height: 0; }.detail-card .button { margin-top: 8px; }.product-icon { width: 100px; height: 100px; }.hero-copy h1 { font-size: 34px; }.solution img { max-height: 290px; }.footer-nav { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }.button { transition: none; }
}
