    /* ============================================================
       RESET & VARIABLES GLOBALES
    ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --color-primary:   #5897fb;
      --color-dark:      #333f48;
      --color-mid:       #999fa4;
      --color-cta:       #ff6b35;
      --color-white:     #ffffff;
      --color-off-white: #f7f8fa;
      --color-border:    #e2e6ea;
      --font-base: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
      --section-padding: 5rem 1.5rem;
      --container-max:   1140px;
      --nav-height: 68px;
      --radius-sm:  6px;
      --radius-md:  10px;
      --radius-lg:  16px;
      --shadow-sm:  0 2px 8px rgba(51,63,72,.08);
      --shadow-md:  0 6px 24px rgba(51,63,72,.13);
      --shadow-cta: 0 4px 20px rgba(255,107,53,.35);
    }

    html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; }
    body { font-family: var(--font-base); color: var(--color-dark); background-color: var(--color-white); line-height: 1.65; letter-spacing: -0.01em; -webkit-font-smoothing: antialiased; }
    h1,h2,h3,h4,h5,h6 { font-family: var(--font-base); color: var(--color-dark); line-height: 1.18; }
    h1 { font-weight: 800; letter-spacing: -0.03em; }
    h2 { font-weight: 700; letter-spacing: -0.025em; }
    h3 { font-weight: 700; letter-spacing: -0.02em; }
    p,li,label,input,select,textarea,button { font-family: var(--font-base); font-weight: 400; color: #4a5568; letter-spacing: -0.005em; }
    img { display: block; max-width: 100%; }
    a   { text-decoration: none; color: inherit; }

    .container { max-width: var(--container-max); margin-left: auto; margin-right: auto; padding-left: 1.5rem; padding-right: 1.5rem; }

    /* ============================================================  NAVBAR  ============================================================ */
    .navbar { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: var(--nav-height); background-color: var(--color-mid); box-shadow: var(--shadow-sm); transition: background-color .3s ease, box-shadow .3s ease; }
    .navbar.scrolled { background-color: #888d91; box-shadow: 0 2px 16px rgba(51,63,72,.18); }
    .navbar__inner { display: flex; align-items: center; justify-content: space-between; height: 100%; max-width: var(--container-max); margin-left: auto; margin-right: auto; padding-left: 1.5rem; padding-right: 1.5rem; }
    .navbar__logo { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; }
    .navbar__logo img { height: 38px; width: auto; }
    .navbar__logo-text { font-size: 1.35rem; font-weight: 700; letter-spacing: -.5px; color: var(--color-white); }
    .navbar__logo-text span { color: var(--color-primary); }
    .navbar__nav { display: flex; align-items: center; gap: 2rem; list-style: none; }
    .navbar__nav a { font-size: .9rem; font-weight: 500; color: var(--color-white); letter-spacing: .2px; transition: color .2s; white-space: nowrap; }
    .navbar__nav a:hover { color: var(--color-primary); }
    .btn-nav-cta { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem 1.1rem; background-color: var(--color-cta); color: var(--color-white) !important; font-size: .85rem; font-weight: 600; border-radius: var(--radius-sm); box-shadow: var(--shadow-cta); transition: transform .15s, box-shadow .15s; white-space: nowrap; }
    .btn-nav-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 26px rgba(255,107,53,.45); }
    .btn-nav-cta svg { width: 16px; height: 16px; flex-shrink: 0; }
    .navbar__hamburger { display: none; flex-direction: column; justify-content: center; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
    .navbar__hamburger span { display: block; width: 24px; height: 2px; background: var(--color-white); border-radius: 2px; transition: transform .25s, opacity .25s; }
    .navbar__menu { display: flex; align-items: center; gap: 2rem; }

    /* ============================================================  HERO  ============================================================ */
    .hero { padding-top: calc(var(--nav-height) + 4.5rem); padding-bottom: 5rem; padding-left: 1.5rem; padding-right: 1.5rem; background-color: var(--color-white); overflow: hidden; position: relative; }
    .hero::before { content: ""; position: absolute; top: -180px; right: -200px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(88,151,251,.08) 0%, transparent 70%); pointer-events: none; }
    .hero__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3.5rem; max-width: var(--container-max); margin-left: auto; margin-right: auto; }
    .hero__content { position: relative; z-index: 1; }
    .hero__badge { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .9rem; background-color: rgba(88,151,251,.1); color: var(--color-primary); font-size: .78rem; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; border-radius: 20px; border: 1px solid rgba(88,151,251,.25); margin-bottom: 1.4rem; }
    .hero__brand { text-align: center; margin-bottom: 2.2rem; }
    .hero__brand-logo { display: block; width: 100%; max-width: 520px; height: auto; margin: 0 auto 1rem; }
    .hero__brand .hero__badge { margin-bottom: 0; }
    .hero__badge svg { width: 14px; height: 14px; }
    .hero__h1 { font-size: clamp(1.9rem, 4vw, 2.9rem); font-weight: 800; line-height: 1.18; letter-spacing: -.8px; color: var(--color-dark); margin-bottom: 1.3rem; }
    .hero__h1 em { font-style: normal; color: var(--color-primary); }
    .hero__subtitle { font-size: 1.05rem; color: #5a6472; line-height: 1.72; max-width: 500px; margin-bottom: 2.2rem; }
    .btn-cta-hero { display: inline-flex; align-items: center; gap: .6rem; padding: 1rem 2rem; background-color: var(--color-cta); color: var(--color-white); font-size: 1.05rem; font-weight: 700; border-radius: var(--radius-md); box-shadow: var(--shadow-cta); border: none; cursor: pointer; transition: transform .18s, box-shadow .18s; letter-spacing: -.1px; }
    .btn-cta-hero:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(255,107,53,.45); }
    .btn-cta-hero:active { transform: translateY(0); }
    .btn-cta-hero svg { width: 20px; height: 20px; flex-shrink: 0; }
    .hero__trust { display: flex; align-items: center; gap: 1.5rem; margin-top: 1.5rem; flex-wrap: wrap; }
    .hero__trust-item { display: flex; align-items: center; gap: .4rem; font-size: .82rem; color: var(--color-mid); font-weight: 500; }
    .hero__trust-item svg { width: 15px; height: 15px; color: var(--color-primary); flex-shrink: 0; }
    .hero__image-wrap { position: relative; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); padding-bottom: 75%; height: 0; background-color: var(--color-off-white); }
    @supports (aspect-ratio: 4 / 3) { .hero__image-wrap { padding-bottom: 0; height: auto; aspect-ratio: 4 / 3; } }
    .hero__image-wrap img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-lg); transition: transform .4s ease; }
    @supports (aspect-ratio: 4 / 3) { .hero__image-wrap img { position: static; } }
    .hero__image-wrap:hover img { transform: scale(1.03); }
    .hero__badge-float { position: absolute; bottom: 1.2rem; left: 1.2rem; background: var(--color-white); border-radius: var(--radius-md); padding: .7rem 1rem; box-shadow: var(--shadow-md); display: flex; align-items: center; gap: .7rem; max-width: 240px; }
    .hero__badge-float-icon { width: 40px; height: 40px; border-radius: var(--radius-sm); background: rgba(88,151,251,.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .hero__badge-float-icon svg { width: 22px; height: 22px; color: var(--color-primary); }
    .hero__badge-float-text strong { display: block; font-size: .82rem; font-weight: 700; color: var(--color-dark); line-height: 1.2; }
    .hero__badge-float-text span { font-size: .74rem; color: var(--color-mid); }

    /* ============================================================  TRUST BAR  ============================================================ */
    .trust-bar { background-color: var(--color-dark); padding: 1.4rem 1.5rem; }
    .trust-bar__inner { display: flex; align-items: center; justify-content: center; gap: 3rem; max-width: var(--container-max); margin-left: auto; margin-right: auto; flex-wrap: wrap; }
    .trust-bar__item { display: flex; align-items: center; gap: .6rem; color: rgba(255,255,255,.85); font-size: .88rem; font-weight: 500; white-space: nowrap; }
    .trust-bar__item svg { width: 18px; height: 18px; color: var(--color-primary); flex-shrink: 0; }
    .trust-bar__divider { width: 1px; height: 24px; background: rgba(255,255,255,.18); }

    /* ============================================================  CÓMO FUNCIONA  ============================================================ */
    .how-it-works { padding: var(--section-padding); background-color: var(--color-off-white); }
    .section-header { text-align: center; max-width: 600px; margin-left: auto; margin-right: auto; margin-bottom: 3.5rem; }
    .section-eyebrow { font-size: .78rem; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--color-primary); margin-bottom: .6rem; }
    .section-title { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.5px; color: var(--color-dark); line-height: 1.22; margin-bottom: .9rem; }
    .section-desc { font-size: 1rem; color: #5a6472; line-height: 1.7; }

    .steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; max-width: var(--container-max); margin-left: auto; margin-right: auto; position: relative; }
    /* Línea conectora */
    .steps-grid::before { content: ""; position: absolute; top: 36px; left: calc(12.5% + 1.5rem); right: calc(12.5% + 1.5rem); height: 2px; background: linear-gradient(90deg, var(--color-primary) 0%, rgba(88,151,251,.3) 100%); z-index: 0; }
    .step-card { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 1.5rem 1.5rem; position: relative; z-index: 1; }
    .step-card__num { width: 72px; height: 72px; border-radius: 50%; background: var(--color-white); border: 2px solid var(--color-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 1.3rem; flex-shrink: 0; box-shadow: 0 0 0 6px var(--color-off-white); position: relative; }
    .step-card__num svg { width: 30px; height: 30px; color: var(--color-primary); }
    .step-card h3 { font-size: 1rem; font-weight: 700; color: var(--color-dark); margin-bottom: .5rem; }
    .step-card p { font-size: .875rem; color: #5a6472; line-height: 1.6; }
    .step-card--danger .step-card__num { border-color: #e23b3b; }
    .step-card--danger .step-card__num svg { color: #e23b3b; }
    .step-card--success .step-card__num { border-color: #2fa84f; }
    .step-card--success .step-card__num svg { color: #2fa84f; }
    .step-card__note { display: inline-block; margin-top: .6rem; font-size: .75rem; color: var(--color-mid); background: rgba(255,107,53,.08); border: 1px solid rgba(255,107,53,.2); border-radius: 20px; padding: .2rem .7rem; }

    /* ============================================================  FORMULARIO DE RECOGIDA  ============================================================ */
    .pickup-form { padding: var(--section-padding); background-color: var(--color-dark); position: relative; overflow: hidden; }
    .pickup-form::before { content: ""; position: absolute; bottom: -150px; left: -150px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(88,151,251,.12) 0%, transparent 65%); pointer-events: none; }
    .pickup-form .section-header { margin-bottom: 2.8rem; }
    .pickup-form .section-eyebrow { color: rgba(255,255,255,.55); }
    .pickup-form .section-title { color: var(--color-white); }
    .pickup-form .section-desc { color: rgba(255,255,255,.7); }
    .pickup-form__wrapper { max-width: 760px; margin-left: auto; margin-right: auto; position: relative; z-index: 1; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 1.1rem; gap: 1.1rem; }
    .form-grid .form-group--full { grid-column: 1 / -1; }
    .form-group { display: flex; flex-direction: column; gap: .45rem; }
    .form-group label { font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.65); letter-spacing: .4px; text-transform: uppercase; }
    .form-group input, .form-group select, .form-group textarea { width: 100%; min-width: 0; padding: .85rem 1rem; background: rgba(255,255,255,.07); border: 1.5px solid rgba(255,255,255,.15); border-radius: var(--radius-md); color: var(--color-white); font-family: var(--font-base); font-size: .95rem; font-weight: 400; letter-spacing: -0.01em; outline: none; transition: border-color .2s, background .2s; -webkit-appearance: none; -moz-appearance: none; appearance: none; -webkit-border-radius: var(--radius-md); }
    .form-group input::placeholder, .form-group textarea::placeholder { color: rgba(255,255,255,.3); }
    .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--color-primary); background: rgba(88,151,251,.08); }
    .form-group select { cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.5)' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }
    .form-group select option { background: var(--color-dark); color: var(--color-white); }
    .form-group textarea { resize: vertical; min-height: 120px; line-height: 1.6; }
    .btn-form-submit { display: flex; align-items: center; justify-content: center; gap: .6rem; width: 100%; margin-top: 1.6rem; padding: 1.1rem 2rem; background-color: var(--color-cta); color: var(--color-white); font-family: var(--font-base); font-size: 1.05rem; font-weight: 700; letter-spacing: -0.01em; border: none; border-radius: var(--radius-md); cursor: pointer; box-shadow: 0 4px 24px rgba(255,107,53,.4); transition: transform .18s, box-shadow .18s; }
    .btn-form-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(255,107,53,.5); }
    .btn-form-submit:active { transform: translateY(0); }
    .btn-form-submit svg { width: 20px; height: 20px; flex-shrink: 0; }
    .form-note { margin-top: 1rem; text-align: center; font-size: .76rem; color: rgba(255,255,255,.35); line-height: 1.5; }

    /* ============================================================  CATÁLOGO DE SERVICIOS  ============================================================ */
    .catalog { padding: var(--section-padding); background-color: var(--color-white); }
    .catalog__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 1.5rem; gap: 1.5rem; max-width: var(--container-max); margin-left: auto; margin-right: auto; }
    .catalog-card { background: var(--color-white); border-radius: var(--radius-lg); border: 1px solid var(--color-border); overflow: hidden; display: flex; flex-direction: column; transition: transform .22s ease, box-shadow .22s ease; }
    .catalog-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
    .catalog-card__img-wrap { position: relative; width: 100%; padding-bottom: 62.5%; height: 0; overflow: hidden; background: var(--color-off-white); }
    @supports (aspect-ratio: 16 / 10) { .catalog-card__img-wrap { padding-bottom: 0; height: auto; aspect-ratio: 16 / 10; } }
    .catalog-card__img-wrap img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
    @supports (aspect-ratio: 16 / 10) { .catalog-card__img-wrap img { position: static; } }
    .catalog-card:hover .catalog-card__img-wrap img { transform: scale(1.06); }
    .catalog-card__label { position: absolute; top: .75rem; left: .75rem; background: var(--color-primary); color: var(--color-white); font-size: .7rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; padding: .28rem .7rem; border-radius: 20px; }
    .catalog-card__body { padding: 1.4rem 1.4rem 1.6rem; flex: 1; display: flex; flex-direction: column; gap: .55rem; }
    .catalog-card__body h3 { font-size: 1rem; font-weight: 700; color: var(--color-dark); line-height: 1.25; }
    .catalog-card__body p { font-size: .875rem; color: #5a6472; line-height: 1.65; }
    .catalog-card__link { margin-top: auto; padding-top: .8rem; display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; font-weight: 600; color: var(--color-primary); letter-spacing: -.01em; transition: gap .18s; }
    .catalog-card__link:hover { gap: .6rem; }
    .catalog-card__link svg { width: 14px; height: 14px; flex-shrink: 0; transition: transform .18s; }
    .catalog-card:hover .catalog-card__link svg { transform: translateX(3px); }

    /* ============================================================  MATERIAL KAVO  ============================================================ */
    .material { padding: var(--section-padding); background-color: var(--color-off-white); }
    .material__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; max-width: var(--container-max); margin-left: auto; margin-right: auto; }
    .material-card { background: var(--color-white); border-radius: var(--radius-lg); border: 1px solid var(--color-border); padding: 1.8rem; display: flex; flex-direction: column; gap: .8rem; transition: transform .2s, box-shadow .2s; }
    .material-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
    .material-card__icon { width: 52px; height: 52px; border-radius: var(--radius-md); background: rgba(88,151,251,.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .material-card__icon svg { width: 28px; height: 28px; color: var(--color-primary); }
    .material-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--color-dark); }
    .material-card p { font-size: .875rem; color: #5a6472; line-height: 1.65; flex: 1; }
    .material-card__models { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .2rem; }
    .material-card__tag { font-size: .72rem; font-weight: 600; color: var(--color-primary); background: rgba(88,151,251,.1); border-radius: 20px; padding: .2rem .65rem; letter-spacing: .2px; }
    .material-card__cta { display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; font-weight: 600; color: var(--color-cta); margin-top: .4rem; transition: gap .18s; }
    .material-card__cta:hover { gap: .6rem; }
    .material-card__cta svg { width: 14px; height: 14px; }
    .material__bottom-note { text-align: center; margin-top: 2.5rem; font-size: .9rem; color: var(--color-mid); }
    .material__bottom-note a { color: var(--color-primary); font-weight: 600; }

    /* ============================================================  MANTENIMIENTO PREVENTIVO  ============================================================ */
    .maintenance { padding: var(--section-padding); background-color: var(--color-dark); position: relative; overflow: hidden; }
    .maintenance::before { content: ""; position: absolute; top: -160px; left: -160px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle, rgba(88,151,251,.12) 0%, transparent 70%); pointer-events: none; }
    .maintenance .container { position: relative; z-index: 1; }
    .maintenance__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3.5rem; align-items: start; max-width: var(--container-max); margin-left: auto; margin-right: auto; }
    .maintenance__content .section-header { text-align: left; margin-left: 0; margin-right: 0; margin-bottom: 1.8rem; }
    .maintenance__content .section-eyebrow { color: var(--color-primary); }
    .maintenance__content .section-title { color: var(--color-white); }
    .maintenance__content .section-desc { color: rgba(255,255,255,.65); margin-left: 0; }
    .maintenance__image { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 2rem; box-shadow: 0 8px 30px rgba(0,0,0,.25); }
    .maintenance__image img { width: 100%; height: auto; display: block; aspect-ratio: 16/10; object-fit: cover; }
    .maintenance__stat { display: flex; align-items: center; gap: 1.1rem; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-md); padding: 1.1rem 1.3rem; margin-bottom: 2rem; }
    .maintenance__stat-num { font-size: 2.1rem; font-weight: 800; color: var(--color-cta); line-height: 1; flex-shrink: 0; }
    .maintenance__stat p { font-size: .88rem; color: rgba(255,255,255,.7); line-height: 1.5; margin: 0; }
    .maintenance__list { display: flex; flex-direction: column; gap: 1.1rem; margin-bottom: 1.5rem; }
    .maintenance__list-item { display: flex; gap: .85rem; align-items: flex-start; }
    .maintenance__list-item svg { width: 19px; height: 19px; flex-shrink: 0; color: var(--color-primary); margin-top: .15rem; }
    .maintenance__list-item p { font-size: .92rem; color: rgba(255,255,255,.78); line-height: 1.55; margin: 0; }
    .maintenance__list-item strong { color: var(--color-white); }
    .maintenance__note { font-size: .82rem; color: rgba(255,255,255,.45); line-height: 1.6; margin-top: 1.2rem; }
    .maintenance__card { background: var(--color-white); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-md); }
    .maintenance__card h3 { font-size: 1.15rem; margin-bottom: .3rem; }
    .maintenance__card-sub { font-size: .85rem; color: var(--color-mid); margin-bottom: 1.5rem; }
    .maintenance__card .form-group { margin-bottom: 1rem; }
    .maintenance__card .form-group label { display: block; font-size: .8rem; font-weight: 600; color: var(--color-dark); margin-bottom: .4rem; }
    .maintenance__card .form-group input, .maintenance__card .form-group textarea { width: 100%; padding: .75rem .9rem; background: var(--color-off-white); border: 1.5px solid var(--color-border); border-radius: var(--radius-sm); font-family: var(--font-base); font-size: .9rem; color: var(--color-dark); outline: none; transition: border-color .2s; -webkit-appearance: none; appearance: none; }
    .maintenance__card .form-group input::placeholder, .maintenance__card .form-group textarea::placeholder { color: var(--color-mid); }
    .maintenance__card .form-group input:focus, .maintenance__card .form-group textarea:focus { border-color: var(--color-primary); }
    .maintenance__card .form-group textarea { resize: vertical; min-height: 80px; line-height: 1.5; }
    .btn-maintenance-submit { width: 100%; display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .9rem 1.4rem; background-color: var(--color-cta); color: var(--color-white); font-size: .92rem; font-weight: 700; border: none; border-radius: var(--radius-sm); box-shadow: var(--shadow-cta); cursor: pointer; transition: transform .15s, box-shadow .15s; margin-top: .4rem; }
    .btn-maintenance-submit:hover { transform: translateY(-1px); box-shadow: 0 6px 26px rgba(255,107,53,.45); }
    .btn-maintenance-submit svg { width: 17px; height: 17px; flex-shrink: 0; }
    .maintenance__card-note { font-size: .76rem; color: var(--color-mid); text-align: center; margin-top: .9rem; line-height: 1.5; }
    @media (max-width: 860px) {
      .maintenance__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    }

    /* ============================================================  POR QUÉ ROTREDEN  ============================================================ */
    .why { padding: var(--section-padding); background-color: var(--color-white); }
    .why__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; max-width: var(--container-max); margin-left: auto; margin-right: auto; }
    .why__content .section-header { text-align: left; margin-left: 0; margin-right: 0; margin-bottom: 2.5rem; }
    .why__list { display: flex; flex-direction: column; gap: 1.4rem; }
    .why__item { display: flex; gap: 1rem; }
    .why__item-icon { width: 44px; height: 44px; border-radius: var(--radius-md); background: rgba(88,151,251,.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: .1rem; }
    .why__item-icon svg { width: 22px; height: 22px; color: var(--color-primary); }
    .why__item-text h4 { font-size: 1rem; font-weight: 700; color: var(--color-dark); margin-bottom: .3rem; }
    .why__item-text p { font-size: .9rem; color: #5a6472; line-height: 1.65; }
    .why__cta-area { margin-top: 2.5rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
    .btn-cta-primary { display: inline-flex; align-items: center; gap: .6rem; padding: .9rem 1.8rem; background-color: var(--color-cta); color: var(--color-white); font-size: 1rem; font-weight: 700; border-radius: var(--radius-md); box-shadow: var(--shadow-cta); transition: transform .18s, box-shadow .18s; }
    .btn-cta-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(255,107,53,.45); }
    .btn-cta-primary svg { width: 18px; height: 18px; }
    .btn-cta-secondary { display: inline-flex; align-items: center; gap: .5rem; padding: .9rem 1.4rem; background: #25D366; border: 1.5px solid #25D366; color: var(--color-white); font-size: .9rem; font-weight: 600; border-radius: var(--radius-md); transition: background .2s, box-shadow .2s; box-shadow: 0 2px 10px rgba(37,211,102,.3); }
    .btn-cta-secondary:hover { background: #1ebc5a; border-color: #1ebc5a; box-shadow: 0 4px 16px rgba(37,211,102,.4); }
    .btn-cta-secondary svg { width: 16px; height: 16px; }
    .why__visual { position: relative; }
    .why__image { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 1.2rem; box-shadow: var(--shadow-md); }
    .why__image img { width: 100%; height: auto; display: block; aspect-ratio: 4/3; object-fit: cover; }
    .why__stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .why__stat-card { background: var(--color-off-white); border-radius: var(--radius-lg); padding: 1.8rem 1.5rem; text-align: center; border: 1px solid var(--color-border); }
    .why__stat-card strong { display: block; font-size: 2.4rem; font-weight: 800; color: var(--color-primary); line-height: 1; margin-bottom: .4rem; letter-spacing: -1px; }
    .why__stat-card span { font-size: .85rem; color: #5a6472; font-weight: 500; line-height: 1.4; }
    .why__stat-card--dark { background: var(--color-dark); border-color: var(--color-dark); }
    .why__stat-card--dark strong { color: var(--color-white); }
    .why__stat-card--dark span { color: rgba(255,255,255,.6); }

    /* ============================================================  TESTIMONIOS  ============================================================ */
    .testimonials { padding: var(--section-padding); background-color: var(--color-off-white); }
    .testimonials__banner { max-width: var(--container-max); margin-left: auto; margin-right: auto; margin-bottom: 2.5rem; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }
    .testimonials__banner img { width: 100%; height: auto; display: block; aspect-ratio: 21/8; object-fit: cover; }
    .testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: var(--container-max); margin-left: auto; margin-right: auto; margin-bottom: 2.5rem; }
    .testimonial-card { background: var(--color-white); border-radius: var(--radius-lg); padding: 1.8rem; border: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 1rem; transition: transform .2s, box-shadow .2s; }
    .testimonial-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
    .testimonial-card__stars { display: flex; gap: 2px; }
    .testimonial-card__stars svg { width: 16px; height: 16px; color: #f59e0b; fill: #f59e0b; }
    .testimonial-card blockquote { font-size: .95rem; color: #374151; line-height: 1.7; font-style: italic; flex: 1; }
    .testimonial-card blockquote::before { content: "\201C"; font-size: 1.2rem; color: var(--color-primary); font-style: normal; font-weight: 700; }
    .testimonial-card blockquote::after  { content: "\201D"; font-size: 1.2rem; color: var(--color-primary); font-style: normal; font-weight: 700; }
    .testimonial-card__author { display: flex; align-items: center; gap: .8rem; }
    .testimonial-card__avatar { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, var(--color-primary), #3a7bd5); display: flex; align-items: center; justify-content: center; font-size: .95rem; font-weight: 700; color: var(--color-white); flex-shrink: 0; }
    .testimonial-card__author-info strong { display: block; font-size: .88rem; font-weight: 700; color: var(--color-dark); }
    .testimonial-card__author-info span { font-size: .78rem; color: var(--color-mid); }
    .testimonials__gmaps-link { display: flex; align-items: center; justify-content: center; gap: .5rem; font-size: .88rem; color: var(--color-primary); font-weight: 600; transition: color .2s; }
    .testimonials__gmaps-link:hover { color: #3a7bd5; }
    .testimonials__gmaps-link svg { width: 18px; height: 18px; }

    /* ============================================================  CTA INTERMEDIO  ============================================================ */
    .cta-mid { padding: 4rem 1.5rem; background: linear-gradient(135deg, var(--color-primary) 0%, #3a7bd5 100%); text-align: center; }
    .cta-mid .section-eyebrow { color: rgba(255,255,255,.7); }
    .cta-mid .section-title { color: var(--color-white); margin-bottom: 1rem; }
    .cta-mid .section-desc { color: rgba(255,255,255,.85); margin-bottom: 2rem; }
    .cta-mid__buttons { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; }
    .btn-cta-white { display: inline-flex; align-items: center; gap: .6rem; padding: 1rem 2.2rem; background-color: var(--color-cta); color: var(--color-white); font-size: 1.05rem; font-weight: 700; border-radius: var(--radius-md); box-shadow: 0 4px 20px rgba(0,0,0,.2); transition: transform .18s, box-shadow .18s; }
    .btn-cta-white:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,.28); }
    .btn-cta-white svg { width: 20px; height: 20px; }
    .btn-cta-ghost { display: inline-flex; align-items: center; gap: .6rem; padding: 1rem 2rem; background: #25D366; color: var(--color-white); font-size: 1rem; font-weight: 600; border-radius: var(--radius-md); border: 1.5px solid #25D366; box-shadow: 0 2px 10px rgba(37,211,102,.3); transition: background .2s, box-shadow .2s; }
    .btn-cta-ghost:hover { background: #1ebc5a; border-color: #1ebc5a; box-shadow: 0 4px 16px rgba(37,211,102,.4); }
    .btn-cta-ghost svg { width: 18px; height: 18px; }

    /* ============================================================  MAPA / DÓNDE ESTAMOS  ============================================================ */
    .location { padding: var(--section-padding); background-color: var(--color-white); }
    .location__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; max-width: var(--container-max); margin-left: auto; margin-right: auto; }
    .location__info .section-header { text-align: left; margin-left: 0; margin-right: 0; margin-bottom: 2rem; }
    .location__details { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2rem; }
    .location__detail { display: flex; align-items: flex-start; gap: .75rem; }
    .location__detail svg { width: 20px; height: 20px; color: var(--color-primary); flex-shrink: 0; margin-top: 2px; }
    .location__detail-text strong { display: block; font-size: .85rem; font-weight: 700; color: var(--color-dark); margin-bottom: .1rem; }
    .location__detail-text span, .location__detail-text a { font-size: .9rem; color: #5a6472; line-height: 1.5; }
    .location__detail-text a:hover { color: var(--color-primary); }
    .location__map { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); height: 380px; background: var(--color-off-white); }
    .location__map iframe { width: 100%; height: 100%; border: 0; display: block; }

    /* ============================================================  FAQ  ============================================================ */
    .faq { padding: var(--section-padding); background-color: var(--color-off-white); }
    .faq__list { max-width: 780px; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; gap: .75rem; }
    .faq__item { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
    .faq__question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 1.5rem; background: none; border: none; cursor: pointer; text-align: left; font-family: var(--font-base); font-size: .97rem; font-weight: 600; color: var(--color-dark); transition: color .2s; }
    .faq__question:hover { color: var(--color-primary); }
    .faq__question svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--color-mid); transition: transform .25s; }
    .faq__item.open .faq__question svg { transform: rotate(180deg); color: var(--color-primary); }
    .faq__answer { max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; }
    .faq__item.open .faq__answer { max-height: 400px; }
    .faq__answer p { padding: 0 1.5rem 1.3rem; font-size: .92rem; color: #5a6472; line-height: 1.75; }
    .faq__answer p strong { color: var(--color-dark); }

    /* ============================================================  FOOTER  ============================================================ */
    .footer { background-color: var(--color-dark); padding: 4rem 1.5rem 0; }
    .footer__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 2.5rem; gap: 2.5rem; max-width: var(--container-max); margin-left: auto; margin-right: auto; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,.1); }
    .footer__col-title { font-size: .7rem; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--color-primary); margin-bottom: 1.2rem; }
    .footer__contact-list { list-style: none; display: flex; flex-direction: column; gap: .75rem; }
    .footer__contact-list li { display: flex; align-items: flex-start; gap: .6rem; font-size: .875rem; color: var(--color-mid); line-height: 1.5; }
    .footer__contact-list li svg { width: 15px; height: 15px; color: var(--color-primary); flex-shrink: 0; margin-top: 2px; }
    .footer__contact-list a { color: var(--color-mid); transition: color .2s; }
    .footer__contact-list a:hover { color: var(--color-white); }
    .footer__col--center { text-align: center; display: flex; flex-direction: column; align-items: center; gap: .75rem; }
    .footer__logo-text { font-size: 1.3rem; font-weight: 800; letter-spacing: -0.03em; color: var(--color-white); margin-bottom: .25rem; }
    .footer__logo-text span { color: var(--color-primary); }
    .footer__logo-wrap { display: inline-flex; background: var(--color-white); padding: .55rem 1.1rem; border-radius: var(--radius-md); margin-bottom: .25rem; }
    .footer__logo-img { height: 26px; width: auto; display: block; }
    .footer__legal-links { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; justify-content: center; }
    .footer__legal-links a { font-size: .78rem; color: var(--color-mid); transition: color .2s; }
    .footer__legal-links a:hover { color: var(--color-white); }
    .footer__legal-sep { font-size: .7rem; color: rgba(255,255,255,.2); }
    .footer__copyright { font-size: .78rem; color: rgba(255,255,255,.3); line-height: 1.5; }
    .footer__col--right { text-align: right; }
    .footer__brand-note { font-size: .82rem; color: var(--color-mid); line-height: 1.7; }
    .footer__brand-note strong { display: block; color: rgba(255,255,255,.6); font-weight: 600; margin-bottom: .4rem; font-size: .8rem; }
    .footer__certifications { display: flex; flex-direction: column; gap: .4rem; margin-top: 1.2rem; }
    .footer__cert-badge { display: inline-flex; align-items: center; gap: .4rem; font-size: .72rem; font-weight: 600; color: rgba(255,255,255,.4); letter-spacing: .3px; }
    .footer__cert-badge svg { width: 13px; height: 13px; color: var(--color-primary); opacity: .7; }
    .footer__bottom { max-width: var(--container-max); margin-left: auto; margin-right: auto; padding: 1.2rem 0 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
    .footer__bottom-copy { font-size: .75rem; color: rgba(255,255,255,.22); }
    .footer__bottom-kavo { font-size: .72rem; color: rgba(255,255,255,.18); text-align: right; }

    /* ============================================================  ANIMACIONES  ============================================================ */
    @keyframes fadeUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
    .hero__badge    { animation: fadeUp .5s ease both; }
    .hero__h1       { animation: fadeUp .55s .08s ease both; }
    .hero__subtitle { animation: fadeUp .55s .16s ease both; }
    .btn-cta-hero   { animation: fadeUp .55s .24s ease both; }
    .hero__trust    { animation: fadeUp .55s .32s ease both; }
    .hero__image-wrap { animation: fadeUp .6s .18s ease both; }

    /* ============================================================  RESPONSIVE  ============================================================ */
    @media (max-width: 1024px) {
      .catalog__grid { grid-template-columns: repeat(2, 1fr); }
      .material__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 900px) {
      .hero__inner { grid-template-columns: 1fr; text-align: center; }
      .hero__subtitle { margin-left: auto; margin-right: auto; }
      .hero__content { order: 1; }
      .hero__image-wrap { order: 2; max-width: 520px; margin-left: auto; margin-right: auto; }
      .hero__trust { justify-content: center; }
      .trust-bar__divider { display: none; }
      .trust-bar__inner { gap: 1.2rem; }
      .steps-grid { grid-template-columns: repeat(2, 1fr); }
      .steps-grid::before { display: none; }
      .why__grid { grid-template-columns: 1fr; gap: 2.5rem; }
      .why__content .section-header { text-align: center; }
      .why__cta-area { justify-content: center; }
      .why__stats-grid { max-width: 460px; margin-left: auto; margin-right: auto; }
      .testimonials__grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
      .location__grid { grid-template-columns: 1fr; }
      .location__info .section-header { text-align: center; }
      .location__details { align-items: flex-start; }
      .footer__grid { grid-template-columns: 1fr 1fr; }
      .footer__col--center { order: -1; grid-column: 1 / -1; }
      .footer__col--right { text-align: left; }
    }
    @media (max-width: 640px) {
      :root { --nav-height: 60px; }
      .navbar__menu { display: none; flex-direction: column; align-items: flex-start; position: absolute; top: var(--nav-height); left: 0; right: 0; background: #888d91; padding: 1.2rem 1.5rem; gap: 1rem; box-shadow: 0 4px 16px rgba(51,63,72,.18); }
      .navbar__menu.open { display: flex; }
      .navbar__nav { flex-direction: column; align-items: flex-start; gap: .8rem; }
      .navbar__hamburger { display: flex; }
      .hero { padding-top: calc(var(--nav-height) + 2.5rem); padding-bottom: 3rem; }
      .hero__h1 { letter-spacing: -.4px; }
      .btn-cta-hero { width: 100%; justify-content: center; font-size: .98rem; padding: .95rem 1.5rem; }
      .trust-bar__inner { flex-direction: column; gap: .8rem; align-items: flex-start; }
      .steps-grid { grid-template-columns: 1fr; }
      .catalog__grid { grid-template-columns: 1fr; }
      .material__grid { grid-template-columns: 1fr; }
      .form-grid { grid-template-columns: 1fr; }
      .form-grid .form-group--full { grid-column: 1; }
      .cta-mid__buttons { flex-direction: column; align-items: stretch; }
      .footer__grid { grid-template-columns: 1fr; }
      .footer__col--right { text-align: left; }
      .footer__bottom { flex-direction: column; align-items: flex-start; }
      .footer__bottom-kavo { text-align: left; }
    }
    @media (max-width: 860px) {
      .footer__grid { grid-template-columns: 1fr 1fr; }
      .footer__col--center { order: -1; grid-column: 1 / -1; }
      .footer__col--right { text-align: left; }
    }
    @media (max-width: 500px) {
      .footer__grid { grid-template-columns: 1fr; }
      .footer__col--right { text-align: left; }
      .footer__bottom { flex-direction: column; align-items: flex-start; }
      .footer__bottom-kavo { text-align: left; }
    }


    /* ============================================================  PÁGINAS LEGALES  ============================================================ */
    .legal-page { padding: calc(var(--nav-height) + 3.5rem) 0 var(--section-padding); background-color: var(--color-off-white); min-height: 60vh; }
    .legal-page .container { max-width: 820px; }
    .legal-page__updated { text-align: center; font-size: .85rem; color: var(--color-mid); margin-bottom: 2.5rem; }
    .legal-page__content { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2.5rem; }
    .legal-page__content h2 { font-size: 1.15rem; font-weight: 700; color: var(--color-dark); margin: 2rem 0 .8rem; }
    .legal-page__content h2:first-child { margin-top: 0; }
    .legal-page__content p { font-size: .95rem; color: #5a6472; line-height: 1.75; margin-bottom: 1rem; }
    .legal-page__content ul { padding-left: 1.3rem; margin-bottom: 1rem; }
    .legal-page__content li { font-size: .95rem; color: #5a6472; line-height: 1.75; margin-bottom: .4rem; }
    .legal-page__content a { color: var(--color-primary); font-weight: 600; }
    @media (max-width: 640px) {
      .legal-page__content { padding: 1.6rem; }
    }

    /* ============================================================  PÁGINA DE CONFIRMACIÓN  ============================================================ */
    .confirm-page { padding: calc(var(--nav-height) + 4.5rem) 1.5rem 6rem; min-height: 70vh; background-color: var(--color-off-white); display: flex; align-items: center; justify-content: center; text-align: center; }
    .confirm-page__box { max-width: 560px; }
    .confirm-page__icon { width: 72px; height: 72px; margin: 0 auto 1.6rem; border-radius: 50%; background: rgba(88,151,251,.1); display: flex; align-items: center; justify-content: center; }
    .confirm-page__icon svg { width: 36px; height: 36px; color: var(--color-primary); }
    .confirm-page h1 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-bottom: .9rem; }
    .confirm-page p { font-size: 1rem; color: #5a6472; line-height: 1.7; margin-bottom: 2rem; }
