*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    :root {
      --bg: hsl(210, 20%, 98%);
      --fg: hsl(215, 30%, 12%);
      --primary: hsl(215, 60%, 16%);
      --primary-fg: hsl(42, 100%, 95%);
      --secondary: hsl(210, 25%, 93%);
      --accent: hsl(38, 90%, 55%);
      --accent-fg: hsl(215, 60%, 16%);
      --muted: hsl(215, 15%, 50%);
      --card: hsl(0, 0%, 100%);
      --border: hsl(210, 20%, 90%);
      --radius: 1rem;
      --font-heading: 'Playfair Display', serif;
      --font-body: 'DM Sans', sans-serif;
    }
    body { font-family: var(--font-body); background: var(--bg); color: var(--fg); -webkit-font-smoothing: antialiased; }
    h1, h2, h3, h4 { font-family: var(--font-heading); }
    a { text-decoration: none; color: inherit; }
    img { display: block; max-width: 100%; }
    .container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
    /* ─── NAVBAR ─── */
    .navbar { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: hsla(215, 60%, 16%, .85); backdrop-filter: blur(12px); }
    .navbar-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
    .navbar-brand { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; color: var(--primary-fg); }
    .navbar-brand span { color: var(--accent); }
    .nav-links { display: flex; gap: 2rem; list-style: none; }
    .nav-links a { color: hsla(42, 100%, 95%, .8); font-size: .875rem; font-weight: 500; transition: color .2s; }
    .nav-links a:hover { color: var(--accent); }
    .nav-cta { background: var(--accent); color: var(--accent-fg); font-weight: 600; font-size: .875rem; padding: .625rem 1.5rem; border-radius: 999px; border: none; cursor: pointer; transition: filter .2s; }
    .nav-cta:hover { filter: brightness(1.1); }
    .menu-toggle { display: none; background: none; border: none; cursor: pointer; }
    .menu-toggle span { display: block; width: 24px; height: 2px; background: var(--primary-fg); margin: 5px 0; transition: .3s; }
    /* ─── HERO ─── */
    .hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
    .hero-bg { position: absolute; inset: 0; background: url('/img/hero-bg.png') center/cover no-repeat; }
    .hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, hsla(215,60%,16%,.7), hsla(215,60%,16%,.5) 50%, hsla(215,60%,16%,.8)); }
    .hero-content { position: relative; z-index: 2; max-width: 720px; padding: 2rem 1.5rem; }
    .hero-tag { color: var(--accent); font-size: .875rem; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; margin-bottom: 1.5rem; }
    .hero h1 { font-size: clamp(2.25rem, 6vw, 4.5rem); font-weight: 700; color: var(--primary-fg); line-height: 1.1; margin-bottom: 1.5rem; }
    .hero h1 .gradient { background: linear-gradient(90deg, var(--accent), hsl(28,85%,60%)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
    .hero-sub { font-size: 1.125rem; color: hsla(42,100%,95%,.8); max-width: 600px; margin: 0 auto 2.5rem; line-height: 1.6; }
    .hero-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
    .btn-wa { display: inline-flex; align-items: center; gap: .75rem; background: var(--accent); color: var(--accent-fg); font-weight: 600; padding: 1rem 2rem; border-radius: 999px; font-size: .9375rem; transition: filter .2s, transform .2s; box-shadow: 0 4px 20px hsla(38,90%,55%,.3); }
    .btn-wa:hover { filter: brightness(1.1); transform: translateY(-2px); }
    .btn-phone { display: inline-flex; align-items: center; gap: .75rem; border: 2px solid hsla(42,100%,95%,.3); color: var(--primary-fg); font-weight: 600; padding: 1rem 2rem; border-radius: 999px; font-size: .9375rem; transition: background .2s; }
    .btn-phone:hover { background: hsla(42,100%,95%,.1); }
    /* ─── SECTIONS COMMON ─── */
    .section { padding: 6rem 0; }
    .section-tag { color: var(--accent); font-size: .875rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin-bottom: .75rem; }
    .section-title { font-size: clamp(1.75rem, 4vw, 3rem); font-weight: 700; }
    .section-header { text-align: center; margin-bottom: 4rem; }
    /* ─── FLEET ─── */
    .fleet-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
    .fleet-card { background: var(--card); border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); transition: box-shadow .4s; }
    .fleet-card:hover { box-shadow: 0 12px 40px hsla(215,30%,12%,.1); }
    .fleet-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .7s; }
    .fleet-card:hover img { transform: scale(1.05); }
    .fleet-card .img-wrap { overflow: hidden; }
    .fleet-info { padding: 1.5rem; }
    .fleet-info h3 { font-size: 1.25rem; font-weight: 700; margin-bottom: .5rem; }
    .fleet-cap { display: flex; align-items: center; gap: .5rem; color: var(--accent); font-weight: 600; font-size: .875rem; margin-bottom: .75rem; }
    .fleet-info p { color: var(--muted); font-size: .875rem; line-height: 1.6; }
    /* ─── SERVICES ─── */
    .services { background: var(--primary); color: var(--primary-fg); }
    .services .section-title { color: var(--primary-fg); }
    .svc-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5rem; }
    .svc-card { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 1.5rem; border-radius: var(--radius); background: hsla(42,100%,95%,.05); border: 1px solid hsla(42,100%,95%,.1); transition: background .3s; }
    .svc-card:hover { background: hsla(42,100%,95%,.1); }
    .svc-icon { width: 2rem; height: 2rem; color: var(--accent); margin-bottom: 1rem; }
    .svc-card p { font-size: .875rem; font-weight: 500; color: hsla(42,100%,95%,.9); }
    /* ─── DESTINATIONS ─── */
    .dest-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
    .dest-card { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 1; cursor: pointer; }
    .dest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
    .dest-card:hover img { transform: scale(1.1); }
    .dest-overlay { position: absolute; inset: 0; background: linear-gradient(to top, hsla(215,30%,12%,.8), hsla(215,30%,12%,.2), transparent); }
    .dest-text { position: absolute; bottom: 1.5rem; left: 1.5rem; right: 1.5rem; }
    .dest-text small { color: var(--accent); font-size: .75rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
    .dest-text h3 { font-size: 1.5rem; font-weight: 700; color: var(--primary-fg); margin-top: .25rem; }
    /* ─── CONTACT ─── */
    .contact { background: var(--secondary); }
    .contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; max-width: 720px; margin: 0 auto 2.5rem; }
    .contact-card { display: flex; align-items: flex-start; gap: 1rem; padding: 1.5rem; background: var(--card); border-radius: var(--radius); border: 1px solid var(--border); }
    .contact-card svg { width: 1.25rem; height: 1.25rem; color: var(--accent); flex-shrink: 0; margin-top: .125rem; }
    .contact-card strong { display: block; font-size: .875rem; margin-bottom: .25rem; }
    .contact-card span, .contact-card a { color: var(--muted); font-size: .875rem; }
    .contact-card a:hover { color: var(--accent); }
    .contact-cta { text-align: center; }
    /* ─── FOOTER ─── */
    .footer { background: var(--primary); color: hsla(42,100%,95%,.6); padding: 2.5rem 0; text-align: center; font-size: .875rem; }
    .footer-brand { font-family: var(--font-heading); font-size: 1.125rem; font-weight: 700; color: var(--primary-fg); margin-bottom: .5rem; }
    .footer-copy { margin-top: 1rem; color: hsla(42,100%,95%,.4); }
    /* ─── RESPONSIVE ─── */
    @media (max-width: 1024px) {
      .svc-grid { grid-template-columns: repeat(3, 1fr); }
    }
    @media (max-width: 768px) {
      .nav-links { display: none; }
      .nav-cta { display: none; }
      .menu-toggle { display: block; }
      .fleet-grid, .dest-grid { grid-template-columns: 1fr; }
      .svc-grid { grid-template-columns: repeat(2, 1fr); }
      .contact-grid { grid-template-columns: 1fr; }
    }

    .sticky-reserva{
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background:#0b5ed7;
    color:white;
    z-index:9999;
    box-shadow:0 -2px 15px rgba(0,0,0,0.15);
    font-family:Arial, sans-serif;
}

.sticky-content{
    max-width:1200px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 20px;
    gap:15px;
}

.sticky-text{
    font-size:15px;
}

.sticky-btn{
    background:#25D366;
    color:white;
    padding:10px 18px;
    border-radius:6px;
    text-decoration:none;
    font-weight:bold;
    transition:0.3s;
}

.sticky-btn:hover{
    background:#1ebe5d;
}

/* Responsive móvil */
@media (max-width:768px){

.sticky-content{
    flex-direction:column;
    text-align:center;
}

.sticky-btn{
    width:100%;
}

}

.texto-extra{
display:none;
margin-top:10px;
}

.btn-ver-mas{
color:#f57c00; /* naranja */
text-decoration:none;
font-weight:500;
cursor:pointer;
display:inline-block;
margin-top:10px;
transition:color .25s ease;
}

.btn-ver-mas:hover{
color:#c75d00; /* naranja más oscuro */
text-decoration:underline;
}