:root{
    --bg:#ffffff;
    --bg-panel:#f7f7f8;
    --bg-panel-2:#f0f0f2;
    --line:#e3e3e6;
    --white:#17171a;
    --grey:#6b6b72;
    --red:#e6162c;
    --red-dark:#a5101f;
    --radius:14px;
    --header-bg:rgba(255,255,255,0.85);
    --soft-tint:rgba(0,0,0,0.03);
    --hover-border:#c9c9cf;
    --card-shadow:rgba(0,0,0,0.18);
    --contact-list-color:#3a3a40;
    --contact-panel-bg:radial-gradient(120% 140% at 100% 0%, rgba(230,22,44,0.06), transparent 60%), #fdfafa;
    --contact-panel-border:rgba(230,22,44,0.18);
    --contact-panel-shadow:rgba(0,0,0,0.15);
    --contact-input-bg:#ffffff;
    --contact-input-border:rgba(230,22,44,0.2);
    --contact-label-color:#8a5a5f;
    font-family: 'Helvetica Neue', Arial, sans-serif;
  }
  html[data-theme="dark"]{
    --bg:#0a0a0b;
    --bg-panel:#141416;
    --bg-panel-2:#1c1c1f;
    --line:#2a2a2e;
    --white:#f5f5f5;
    --grey:#9a9aa0;
    --header-bg:rgba(10,10,11,0.85);
    --soft-tint:rgba(255,255,255,0.03);
    --hover-border:#3a3a40;
    --card-shadow:rgba(0,0,0,0.6);
    --contact-list-color:#d6d6d9;
    --contact-panel-bg:radial-gradient(120% 140% at 100% 0%, rgba(230,22,44,0.22), transparent 60%), linear-gradient(155deg, #1c1013 0%, #12080a 60%, #0a0506 100%);
    --contact-panel-border:rgba(230,22,44,0.25);
    --contact-panel-shadow:rgba(0,0,0,0.7);
    --contact-input-bg:rgba(255,255,255,0.06);
    --contact-input-border:rgba(255,255,255,0.14);
    --contact-label-color:#d8bfc2;
  }
  html{ transition:background .25s; }
  body{ transition:background-color .25s, color .25s; }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    background:
      radial-gradient(1200px 500px at 15% -10%, rgba(230,22,44,0.10), transparent 60%),
      radial-gradient(900px 500px at 100% 0%, rgba(255,255,255,0.03), transparent 60%),
      var(--bg);
    color:var(--white);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }


  /* ---------- Cover (textured background) ---------- */
  .cover{
    position:relative;
    width:100%;
    aspect-ratio:2.1 / 1;
    max-height:480px;
    overflow:hidden;
    display:flex;
    align-items:center;
    padding:0 6vw;
  }
  .cover-bg{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    z-index:0;
  }
  .cover-overlay{
    position:absolute; inset:0;
    background:
      linear-gradient(90deg, rgba(6,6,7,0.85) 0%, rgba(6,6,7,0.55) 35%, rgba(6,6,7,0.05) 65%, rgba(6,6,7,0) 100%);
    z-index:1;
  }
  .cover-tagline{
    position:relative; z-index:2;
    text-align:left;
    max-width:480px;
  }
  .cover-tagline .eyebrow{
    color:var(--red); text-transform:uppercase; font-size:12px;
    letter-spacing:3px; font-weight:700; margin-bottom:12px; display:block;
  }
  .cover-tagline h1{
    font-size:clamp(26px, 3.6vw, 42px);
    font-weight:800; line-height:1.12; letter-spacing:-0.5px;
    color:#fff;
    text-shadow:0 4px 24px rgba(0,0,0,0.6);
  }
  .cover-tagline h2{
    font-size:clamp(14px, 1.6vw, 17px);
    font-weight:500; color:#d8d8dc;
    line-height:1.5; margin-top:14px;
    text-shadow:0 2px 12px rgba(0,0,0,0.6);
  }
  .cover-tagline .btn-cover{
    display:inline-block;
    margin-top:24px;
    background:var(--red);
    color:#fff; text-decoration:none;
    font-size:14px; font-weight:700;
    padding:13px 26px; border-radius:999px;
    transition:background .2s, transform .15s;
  }
  .cover-tagline .btn-cover:hover{ background:var(--red-dark); transform:translateY(-1px); }
  @media (max-width:700px){
    .cover{ aspect-ratio:1.3 / 1; max-height:400px; }
    .cover-tagline{ max-width:100%; }
    .cover-tagline h1{ font-size:clamp(22px, 7vw, 30px); }
  }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 6vw;
    background:var(--header-bg);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .logo-wrap{
    display:flex; align-items:center;
    text-decoration:none; cursor:pointer;
  }
  .site-logo{
    height:64px; width:auto; display:block;
  }
  nav a{
    color:var(--grey); text-decoration:none; font-size:14px; margin-left:28px;
    transition:color .2s;
  }
  nav a:hover{color:var(--white);}
  .btn-nav{
    background:var(--red); color:#fff !important; padding:10px 18px;
    border-radius:999px; font-weight:600;
  }

  .lang-switch{
    display:inline-flex; align-items:center;
    margin-left:24px;
    border:1px solid var(--line);
    border-radius:999px;
    padding:3px;
    background:var(--soft-tint);
  }
  .lang-btn{
    border:none; background:transparent; color:var(--grey);
    font-size:12px; font-weight:700; letter-spacing:0.5px;
    padding:6px 12px; border-radius:999px; cursor:pointer;
    transition:background .2s, color .2s;
  }
  .lang-btn.active{ background:var(--red); color:#fff; }
  .lang-btn:hover:not(.active){ color:var(--white); }

  /* ---------- Service section (modern) ---------- */
  .service-section{
    padding:70px 6vw 80px;
    background:
      radial-gradient(900px 400px at 85% 0%, rgba(230,22,44,0.06), transparent 65%),
      var(--bg);
  }
  .service-head{
    max-width:640px;
    margin-bottom:44px;
  }
  .service-head .eyebrow{
    color:var(--red); text-transform:uppercase; font-size:12px;
    letter-spacing:2.5px; font-weight:700; margin-bottom:14px; display:block;
  }
  .service-head h2{
    font-size:clamp(24px, 3vw, 34px);
    font-weight:800; letter-spacing:-0.5px; line-height:1.2;
  }
  .service-head p{
    color:var(--grey); font-size:15px; line-height:1.6; margin-top:14px;
  }

  .service-interactive{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:0;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--bg-panel);
    min-height:340px;
  }

  .service-list{
    display:flex; flex-direction:column;
    border-right:1px solid var(--line);
  }
  .service-list-item{
    display:flex; align-items:center; gap:16px;
    padding:22px 26px;
    cursor:pointer;
    border-left:3px solid transparent;
    border-bottom:1px solid var(--line);
    transition:background .2s, border-color .2s;
  }
  .service-list-item:last-child{ border-bottom:none; }
  .service-list-item:hover{ background:var(--soft-tint); }
  .service-list-item.active{
    background:rgba(230,22,44,0.08);
    border-left-color:var(--red);
  }
  .service-list-num{
    font-size:13px; font-weight:800; color:var(--grey);
    min-width:26px;
  }
  .service-list-item.active .service-list-num{ color:var(--red); }
  .service-list-title{
    font-size:14.5px; font-weight:700; color:var(--white);
    flex:1;
  }
  .service-list-chevron{
    color:var(--red); font-size:16px; opacity:0;
    transition:opacity .2s, transform .2s;
    transform:translateX(-4px);
  }
  .service-list-item.active .service-list-chevron{
    opacity:1; transform:translateX(0);
  }

  .service-detail{
    position:relative;
    padding:40px 40px;
    display:flex; flex-direction:column; justify-content:center;
    background:
      radial-gradient(120% 140% at 100% 0%, rgba(230,22,44,0.10), transparent 60%);
  }
  .service-detail-icon{
    width:56px; height:56px;
    border-radius:14px;
    background:rgba(230,22,44,0.12);
    border:1px solid rgba(230,22,44,0.3);
    display:flex; align-items:center; justify-content:center;
    color:var(--red);
    margin-bottom:22px;
  }
  .service-detail-icon svg{ width:28px; height:28px; }
  .service-detail h4{ font-size:22px; font-weight:800; margin-bottom:12px; letter-spacing:-0.3px; }
  .service-detail p{ color:var(--grey); font-size:15px; line-height:1.65; max-width:440px; }

  @media (max-width:760px){
    .service-interactive{ grid-template-columns:1fr; }
    .service-list{ border-right:none; }
    .service-detail{ padding:30px 26px; border-top:1px solid var(--line); }
  }

  /* ---------- Contacto + Pedir información (combinado) ---------- */
  .section-block{
    padding:60px 6vw;
  }

  .contact-merged{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:center;
    margin:60px 6vw;
    position:relative;
  }

  .contact-merged-left{
    padding:0;
    display:flex; flex-direction:column; gap:26px;
  }
  .contact-merged-heading{
    font-size:clamp(28px, 3.2vw, 40px);
    font-weight:800; line-height:1.15; letter-spacing:-0.8px;
    color:var(--white);
  }
  .contact-merged-heading span:last-child{ color:var(--red); }

  .contact-merged-photo{
    border-radius:16px;
    overflow:hidden;
    border:1px solid var(--line);
    aspect-ratio:16/10;
  }
  .contact-merged-photo img{
    width:100%; height:100%; object-fit:cover; display:block;
  }
  .contact-merged-logo-box{
    background:
      radial-gradient(120% 140% at 50% 0%, rgba(230,22,44,0.10), transparent 65%),
      var(--bg-panel);
    display:flex; align-items:center; justify-content:center;
    padding:40px;
  }
  .contact-merged-logo-img{
    width:auto !important; height:auto !important;
    max-width:62%; max-height:56%;
    object-fit:contain !important;
  }

  .contact-list{
    list-style:none; margin:0; padding:0;
    display:flex; flex-direction:column; gap:14px;
  }
  .contact-list li{
    display:flex; align-items:flex-start; gap:12px;
    color:var(--contact-list-color); font-size:14px; line-height:1.5;
  }
  .contact-list-link{
    display:flex; align-items:flex-start; gap:12px;
    color:var(--contact-list-color); text-decoration:none;
    transition:color .15s;
  }
  .contact-list-link:hover{
    color:var(--red);
  }
  .contact-list-link:hover span:last-child{
    text-decoration:underline;
  }
  .contact-list-icon{
    font-size:14px; opacity:0.9; flex-shrink:0; margin-top:1px;
  }

  .contact-merged-right{
    position:relative;
    background:var(--contact-panel-bg);
    padding:48px 44px;
    display:flex; flex-direction:column;
    border:1px solid var(--contact-panel-border);
    border-radius:24px;
    box-shadow:0 30px 60px -30px var(--contact-panel-shadow);
  }
  .contact-merged-eyebrow{
    color:var(--red); text-transform:uppercase; font-size:12px;
    letter-spacing:2.5px; font-weight:700; display:block; margin-bottom:10px;
  }
  .contact-merged-subtitle{
    color:var(--grey); font-size:14.5px; margin-bottom:28px; line-height:1.55;
  }
  .contact-merged-right .info-form{ max-width:none; flex:1; }
  .contact-merged-right .form-field input,
  .contact-merged-right .form-field select,
  .contact-merged-right .form-field textarea{
    background:var(--contact-input-bg);
    border:1px solid var(--contact-input-border);
  }
  .contact-merged-right .form-field input:focus,
  .contact-merged-right .form-field select:focus,
  .contact-merged-right .form-field textarea:focus{
    border-color:var(--red);
    background:var(--contact-input-bg);
  }
  .contact-merged-right .form-field label{ color:var(--contact-label-color); }

  .btn-send{
    margin-top:6px;
    background:#0a0a0b;
    border:1px solid rgba(255,255,255,0.18);
    color:#fff;
    padding:15px; border-radius:10px;
    font-size:13px; font-weight:700;
    letter-spacing:1.5px; text-transform:uppercase;
    cursor:pointer;
    transition:background .2s, border-color .2s;
    max-width:240px;
  }
  .btn-send:hover{
    background:var(--red);
    border-color:var(--red);
  }

  @media (max-width:760px){
    .contact-merged{
      grid-template-columns:1fr;
      margin:40px 6vw;
      gap:32px;
    }
    .contact-merged-left{ padding:0; }
    .contact-merged-right{ padding:34px 26px; }
  }

  .faq-list{ display:flex; flex-direction:column; gap:10px; max-width:800px; }
  .faq-item{
    background:var(--bg-panel);
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
  }
  .faq-question{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 18px; cursor:pointer;
    font-size:14px; font-weight:700;
  }
  .faq-question .chevron{
    color:var(--red); transition:transform .2s; font-size:14px;
  }
  .faq-item.open .chevron{ transform:rotate(45deg); }
  .faq-answer{
    max-height:0; overflow:hidden;
    transition:max-height .25s ease, padding .25s ease;
    padding:0 18px;
    color:var(--grey); font-size:13px;
  }
  .faq-item.open .faq-answer{
    max-height:240px; padding:0 18px 16px;
  }

  .info-form{
    display:flex; flex-direction:column; gap:16px; max-width:640px;
  }
  .form-row{
    display:grid; grid-template-columns:1fr 1fr; gap:16px;
  }
  .form-field{ display:flex; flex-direction:column; gap:6px; }
  .form-field label{ font-size:12px; color:var(--grey); font-weight:600; }
  .form-field input, .form-field select, .form-field textarea{
    background:var(--bg-panel);
    border:1px solid var(--line);
    color:var(--white);
    border-radius:8px;
    padding:11px 12px;
    font-size:14px;
    font-family:inherit;
    resize:vertical;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{
    outline:none; border-color:var(--red);
  }

  @media (max-width:560px){
    .form-row{ grid-template-columns:1fr; }
  }

  /* ---------- Hero ---------- */
  /* ---------- Car detail modal ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:100;
    background:rgba(6,6,7,0.82);
    backdrop-filter:blur(6px);
    display:none;
    align-items:center; justify-content:center;
    padding:20px;
  }
  .modal-overlay.open{ display:flex; }
  .modal-content{
    position:relative;
    background:linear-gradient(180deg, var(--bg-panel), var(--bg-panel-2));
    border:1px solid var(--line);
    border-radius:var(--radius);
    width:100%; max-width:920px;
    max-height:92vh;
    overflow-y:auto;
    display:flex; flex-direction:column;
    box-shadow:0 40px 80px -30px rgba(0,0,0,0.8);
  }
  @media (min-width:760px){
    .modal-content{ flex-direction:row; }
    .modal-image-wrap{ width:56%; flex-shrink:0; }
    .modal-body{ width:44%; }
  }
  .modal-close{
    position:absolute; top:14px; right:14px; z-index:3;
    width:34px; height:34px; border-radius:50%;
    background:rgba(10,10,11,0.6); backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,0.15);
    color:#fff; font-size:16px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
  }
  .modal-close:hover{ background:rgba(230,22,44,0.5); }
  .modal-image-wrap{
    position:relative;
    aspect-ratio:16/10;
    background:#0d0d0f;
    overflow:hidden;
  }
  .modal-image-wrap img{
    width:100%; height:100%; object-fit:cover; display:block;
  }
  .modal-body{
    padding:26px 28px 28px;
    display:flex; flex-direction:column; gap:16px;
  }
  .modal-title-row h3{ font-size:26px; font-weight:800; }
  .modal-title-row .premium-tag{ display:inline-block; margin-top:6px; }

  /* ---------- Filter bar ---------- */
  .filter-bar{
    padding:14px 6vw;
    display:flex;
    justify-content:center;
  }
  .filter-pills{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
    padding:2px;
    max-width:100%;
  }
  .filter-pills::-webkit-scrollbar{ display:none; }
  .filter-pill{
    flex-shrink:0;
    padding:8px 18px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--bg-panel);
    color:var(--grey);
    font-size:13px; font-weight:600;
    cursor:pointer;
    white-space:nowrap;
    transition:background .2s, color .2s, border-color .2s;
  }
  .filter-pill:hover{ color:var(--white); border-color:var(--hover-border); }
  .filter-pill.active{
    background:var(--red);
    border-color:var(--red);
    color:#fff;
  }

  /* ---------- Section title ---------- */
  .section-head{
    padding:20px 6vw 10px;
    display:flex; align-items:baseline; justify-content:space-between;
    flex-wrap:wrap; gap:10px;
  }
  .section-head h2{ font-size:28px; font-weight:800; }
  .section-head p{ color:var(--grey); font-size:14px; }

  /* ---------- Fleet Grid ---------- */
  .fleet{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
    gap:26px;
    padding:20px 6vw 80px;
  }
  .fleet .card{
    max-width:460px;
  }
  @media (max-width:420px){
    .fleet{ grid-template-columns:1fr; }
  }

  .card{
    background:linear-gradient(180deg, var(--bg-panel), var(--bg-panel-2));
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    display:flex; flex-direction:column;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  .card:hover{
    transform:translateY(-4px);
    border-color:var(--hover-border);
    box-shadow:0 20px 40px -24px var(--card-shadow);
  }

  .card-badge{
    position:absolute; top:12px; left:12px;
    padding:3px 9px;
    background:rgba(10,10,11,0.5);
    backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,0.12);
    color:#fff; font-size:8.5px; font-weight:600;
    letter-spacing:1px; text-transform:uppercase; border-radius:999px;
    z-index:2;
    transition:background .2s, border-color .2s, color .2s;
  }
  .card-badge:hover{
    background:rgba(46,160,90,0.35);
    border-color:rgba(80,200,120,0.6);
    color:#d8ffe4;
  }
  .card-badge.is-premium{
    background:rgba(230,22,44,0.16);
    border-color:rgba(230,22,44,0.5);
    color:#ff8f9a;
  }

  .car-image-wrap{
    position:relative;
    aspect-ratio:16/10;
    width:100%;
    background:
      radial-gradient(closest-side, rgba(255,255,255,0.06), transparent 70%),
      #0d0d0f;
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
    border-bottom:1px solid var(--line);
  }
  .car-image-wrap img{
    width:100%; height:100%; object-fit:cover;
    display:block;
  }
  .gallery-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    width:auto; height:auto; padding:2px;
    background:none; border-radius:0;
    color:var(--red); border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    font-size:20px; font-weight:900; line-height:1;
    z-index:3;
    text-shadow:0 1px 3px rgba(0,0,0,0.5);
    transition:opacity .15s, transform .15s;
    opacity:0.75;
  }
  .gallery-arrow:hover{ opacity:1; transform:translateY(-50%) scale(1.15); }
  .gallery-arrow.prev{ left:6px; }
  .gallery-arrow.next{ right:6px; }
  .gallery-dots{
    position:absolute; bottom:8px; left:50%; transform:translateX(-50%);
    display:flex; gap:5px; z-index:3;
    padding:4px 7px; border-radius:999px;
    background:rgba(10,10,11,0.35);
    backdrop-filter:blur(3px);
  }
  .gallery-dots span{
    width:5px; height:5px; border-radius:50%;
    background:rgba(255,255,255,0.55);
    transition:background .15s, transform .15s;
  }
  .gallery-dots span.active{ background:var(--red); transform:scale(1.25); }
  .car-image-wrap img.img-contain{
    object-fit:contain;
    padding:18px;
    width:100%; height:100%;
  }
  .placeholder-tag{
    position:absolute; bottom:10px; right:10px;
    background:rgba(0,0,0,0.6);
    border:1px solid rgba(255,255,255,0.15);
    color:var(--grey);
    font-size:10px; letter-spacing:0.5px;
    padding:4px 8px; border-radius:6px;
    font-family:monospace;
    z-index:3;
    pointer-events:none;
  }

  .card-body{
    padding:22px 22px 24px;
    display:flex; flex-direction:column; gap:14px; flex:1;
  }

  .card-title-row{
    display:flex; align-items:center; justify-content:space-between;
    gap:8px;
  }
  .card-title-row h3{ font-size:22px; font-weight:800; letter-spacing:-0.3px; }
  .premium-tag{
    font-size:9px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase;
    color:var(--red);
    background:rgba(230,22,44,0.08);
    border:1px solid rgba(230,22,44,0.3);
    padding:3px 8px; border-radius:999px;
    white-space:nowrap;
  }
  .trim{
    color:var(--grey); font-size:11.5px; text-transform:uppercase; letter-spacing:1.4px;
    display:flex; align-items:center; gap:7px;
  }
  .trim::before{
    content:"";
    width:5px; height:5px; border-radius:50%;
    background:var(--red);
    flex-shrink:0;
  }

  .features{
    display:flex; flex-wrap:wrap;
    gap:0 14px;
    row-gap:6px;
  }
  .feature-pill{
    font-size:12.5px; color:var(--grey);
    background:transparent;
    border:none;
    padding:0;
    position:relative;
  }
  .feature-pill::after{
    content:"";
    display:inline-block;
    width:3px; height:3px; border-radius:50%;
    background:var(--line);
    margin-left:14px; vertical-align:middle;
  }
  .feature-pill:last-child::after{ display:none; }

  /* color swatches */
  .swatches{
    display:flex; align-items:center; gap:10px; margin-top:2px;
  }
  .swatch{
    width:26px; height:26px; border-radius:50%;
    border:2px solid var(--line);
    cursor:pointer;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);
    transition:border-color .2s, transform .15s;
  }
  .swatch:hover{ transform:scale(1.08); }
  .swatch.active{ border-color:var(--red); }
  .swatch-label{
    font-size:12px; color:var(--grey);
  }

  .price-row{
    display:flex; align-items:flex-end; justify-content:space-between;
    padding-top:14px; margin-top:4px;
  }
  .price-main{ display:flex; flex-direction:column; }
  .price-main .amount{ font-size:26px; font-weight:800; }
  .price-main .amount small{ font-size:13px; color:var(--grey); font-weight:500; }
  .price-alt{
    text-align:right; font-size:12px; color:var(--red); font-weight:700;
    line-height:1.4;
  }
  .price-alt span{ display:block; color:var(--grey); font-weight:400; }

  .btn-reserve{
    margin-top:6px;
    background:var(--red);
    color:#fff; border:none; cursor:pointer;
    padding:14px; border-radius:10px;
    font-size:15px; font-weight:700;
    transition:background .2s, transform .15s;
    width:100%;
  }
  .btn-reserve:hover{ background:var(--red-dark); }
  .btn-reserve:active{ transform:scale(0.98); }

  footer{
    padding:40px 6vw 60px;
    color:var(--grey); font-size:13px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  }

  .note-dev{
    margin:0 6vw 30px; padding:16px 18px;
    background:rgba(230,22,44,0.08);
    border:1px solid rgba(230,22,44,0.35);
    border-radius:10px;
    font-size:13px; color:#ffb3ba;
    font-family:monospace;
    line-height:1.6;
  }
  .note-dev b{ color:#fff; }

  @media (max-width:600px){
    header{padding:12px 5vw; gap:8px;}
    nav a:not(.btn-nav){ display:none; }
    nav{ display:flex; gap:8px; align-items:center; }
    .btn-nav{ padding:8px 12px; font-size:12.5px; }
    .lang-switch{ margin-left:0; }
    .lang-btn{ padding:5px 9px; font-size:11px; }
    .site-logo{ height:34px; }
  }

  /* ---------- Ajustes generales de espaciado y tacto en móvil ---------- */
  @media (max-width:760px){
    .service-section{ padding:44px 6vw 50px; }
    .service-head{ margin-bottom:30px; }
    .section-block{ padding:40px 6vw; }
    .fleet{ padding:16px 6vw 56px; gap:20px; }
    .swatch{ width:30px; height:30px; }
    .gallery-arrow{ font-size:24px; opacity:0.85; }
    .filter-bar{ padding:12px 6vw; }
  }