  @font-face{
    font-family:'Sweet Sans Pro'; src:url('../fonts/SweetSansPro-Light.otf') format('opentype');
    font-weight:300; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Sweet Sans Pro'; src:url('../fonts/SweetSansPro-LightItalic.otf') format('opentype');
    font-weight:300; font-style:italic; font-display:swap;
  }
  @font-face{
    font-family:'Sweet Sans Pro'; src:url('../fonts/SweetSansPro-Regular.otf') format('opentype');
    font-weight:400; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Sweet Sans Pro'; src:url('../fonts/SweetSansPro-Medium.otf') format('opentype');
    font-weight:500; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Sweet Sans Pro'; src:url('../fonts/SweetSansPro-Bold.otf') format('opentype');
    font-weight:700; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Sweet Sans Pro'; src:url('../fonts/SweetSansPro-Heavy.otf') format('opentype');
    font-weight:800; font-style:normal; font-display:swap;
  }
  :root{
    --cream:#F5EFE2;
    --paper:#FBF7EE;
    --ink:#49536D;
    --slate:#49536D;
    --sage:#5F7A5C;
    --gold:#B78D4E;
    --navy:#49536D;
    --gold-soft: rgba(183,141,78,.35);
    --font-display:'Sweet Sans Pro', Arial, sans-serif;
    --font-serif:'Sweet Sans Pro', Arial, sans-serif;
    --font-body:'Sweet Sans Pro', Arial, sans-serif;
    color-scheme: light;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{
    margin:0;
    overflow-x:clip;
    background:var(--cream);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;}
  h1,h2,h3{text-wrap:balance; margin:0;}
  a{color:inherit;}
  .tabular{font-variant-numeric:tabular-nums;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  }

  .wrap{
    max-width:1180px;
    margin-inline:auto;
    padding-inline:24px;
  }
  section{padding-block:clamp(56px,9vw,108px);}
  .eyebrow{
    font-family:var(--font-body);
    font-weight:500;
    font-size:.78rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .eyebrow.on-dark{color:#E7C889;}
  .eyebrow.on-sage{color:#DCE6D5;}

  .branch{position:absolute; pointer-events:none; opacity:.5;}

  header{
    position:sticky; top:0; z-index:50;
    background:rgba(245,239,226,.92);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--gold-soft);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; padding-block:14px;
  }
  .wordmark{
    display:flex; flex-direction:column; align-items:center; line-height:1; gap:6px; text-decoration:none;
  }
  .wordmark .b{
    font-family:var(--font-body); font-weight:500; font-size:1.5rem;
    letter-spacing:.3em; color:var(--ink); padding-left:.3em;
  }
  .wordmark .r{
    font-family:var(--font-body); font-weight:400; font-size:.56rem;
    letter-spacing:.38em; color:var(--gold); padding-left:.38em;
  }
  nav.links{display:flex; gap:30px; font-size:.92rem; font-weight:500;}
  nav.links a{text-decoration:none; color:var(--ink); position:relative; padding-bottom:3px;}
  nav.links a::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
    background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
  }
  nav.links a:hover::after{transform:scaleX(1);}
  .header-right{display:flex; align-items:center; gap:18px;}
  .wa-link{display:flex; color:var(--slate); transition:color .2s ease;}
  .wa-link:hover{color:var(--ink);}
  .wa-link svg{width:36px; height:36px;}
  @media (max-width:760px){ nav.links{display:none;} }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--font-body); font-weight:700; font-size:.92rem;
    letter-spacing:.04em; text-decoration:none; white-space:nowrap;
    padding:13px 26px; border-radius:10px; border:1px solid transparent;
    cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-gold{background:var(--gold); color:#241A0C;}
  .btn-gold:hover{background:#c99f5f; box-shadow:0 6px 18px rgba(183,141,78,.35);}
  .btn-ghost{background:transparent; color:var(--cream); border-color:rgba(245,239,226,.55);}
  .btn-ghost:hover{background:rgba(245,239,226,.12); border-color:var(--cream);}
  .btn-line{background:transparent; color:var(--ink); border-color:var(--ink);}
  .btn-line:hover{background:var(--ink); color:var(--cream);}
  .btn-sm{padding:9px 18px; font-size:.82rem;}

  section[id], footer[id]{scroll-margin-top:64px;}
  .header-left{display:flex; align-items:center; gap:14px;}
  .burger{
    display:none; flex-direction:column; justify-content:center; gap:5px;
    width:34px; height:34px; padding:6px; margin-left:-6px;
    background:none; border:0; cursor:pointer;
  }
  .burger span{
    display:block; height:2px; width:100%; background:var(--ink); border-radius:2px;
    transition:transform .3s ease, opacity .2s ease;
  }
  header.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.menu-open .burger span:nth-child(2){opacity:0;}
  header.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-menu{display:none; grid-template-rows:0fr; transition:grid-template-rows .35s ease;}
  header.menu-open .mobile-menu{grid-template-rows:1fr;}
  .mobile-menu-inner{
    overflow:hidden; display:flex; flex-direction:column;
    visibility:hidden; transition:visibility 0s .35s;
  }
  header.menu-open .mobile-menu-inner{visibility:visible; transition-delay:0s;}
  .mobile-menu-inner a{
    display:block; padding:15px 24px; border-top:1px solid var(--gold-soft);
    color:var(--ink); font-size:1.05rem; font-weight:500; text-decoration:none;
    transition:color .2s ease;
  }
  .mobile-menu-inner a:hover{color:var(--gold);}
  @media (max-width:760px){
    .wa-link{display:none;}
    .burger{display:flex;}
    .mobile-menu{display:grid;}
  }

  .hero{
    position:relative;
    background:
      radial-gradient(560px 420px at 14% 18%, rgba(183,141,78,.30), transparent 60%),
      radial-gradient(640px 480px at 82% 8%, rgba(95,122,92,.35), transparent 60%),
      radial-gradient(900px 620px at 50% 100%, rgba(75,93,121,.4), transparent 70%),
      linear-gradient(160deg, var(--navy) 0%, #333F56 55%, #201A20 100%);
    color:var(--cream);
    overflow:hidden;
    padding-block:clamp(64px,11vw,120px);
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      radial-gradient(2px 2px at 20% 30%, rgba(231,200,137,.5) 0, transparent 60%),
      radial-gradient(2px 2px at 70% 60%, rgba(231,200,137,.35) 0, transparent 60%),
      radial-gradient(1.5px 1.5px at 40% 80%, rgba(231,200,137,.4) 0, transparent 60%),
      radial-gradient(1.5px 1.5px at 88% 22%, rgba(231,200,137,.4) 0, transparent 60%),
      radial-gradient(2px 2px at 55% 15%, rgba(231,200,137,.3) 0, transparent 60%);
    mix-blend-mode:screen;
    opacity:.8;
  }
  .hero-inner{position:relative; z-index:1; max-width:900px;}
  .hero h1{
    font-family:var(--font-display);
    font-weight:800;
    font-size:clamp(2.4rem, 6vw, 4.6rem);
    line-height:1.04;
    text-transform:uppercase;
    letter-spacing:.005em;
    margin-block:18px 22px;
  }
  .hero h1 em{font-style:normal; color:var(--gold);}
  .hero .lede{
    font-family:var(--font-serif); font-style:italic; font-weight:300;
    font-size:clamp(1.05rem,2vw,1.3rem); color:#D9DEE6; max-width:56ch; margin-bottom:36px;
  }
  .hero .cta-row{display:flex; flex-wrap:wrap; gap:16px;}

  .about{position:relative;}
  .about .grid{
    display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center;
  }
  .about h2{
    font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.8rem,3.4vw,2.6rem); color:var(--ink); margin-bottom:20px; line-height:1.08;
  }
  .about p{max-width:56ch; color:var(--ink); font-size:1.02rem;}
  .about blockquote{
    margin:0; font-family:var(--font-serif); font-style:italic; font-weight:300;
    font-size:clamp(1.3rem,2.6vw,1.7rem); color:var(--sage); border-left:2px solid var(--gold);
    padding-left:26px; line-height:1.35;
  }
  .about blockquote cite{display:block; font-style:normal; font-family:var(--font-body); font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-top:14px;}
  @media (max-width:820px){ .about .grid{grid-template-columns:1fr;} }

  .carta{background:var(--paper); position:relative; border-block:1px solid var(--gold-soft);}
  .carta-inner{display:flex; align-items:center; justify-content:space-between; gap:56px; flex-wrap:wrap;}
  .carta-text{max-width:520px;}
  .carta-text h2{
    font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.9rem,3.6vw,2.8rem); margin-block:10px 14px; color:var(--ink);
  }
  .carta-text p{color:var(--slate); max-width:52ch; margin-bottom:28px;}
  .carta-gallery{
    position:relative; flex:none; width:100%; max-width:420px; aspect-ratio:4/5;
    border-radius:10px; overflow:hidden; background:var(--ink);
  }
  .carta-gallery img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0; transition:opacity .7s ease;
  }
  .carta-gallery img.active{opacity:1;}
  .carta-gallery::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(20,16,10,.45), transparent 40%);
    pointer-events:none;
  }
  .carta-gallery .g-nav{
    position:absolute; top:50%; translate:0 -50%; z-index:2;
    width:34px; height:34px; border-radius:50%; border:none;
    background:rgba(15,12,8,.4); color:#fff; display:flex; align-items:center; justify-content:center;
    cursor:pointer; transition:background .2s ease;
  }
  .carta-gallery .g-nav:hover{background:rgba(15,12,8,.65);}
  .carta-gallery .g-prev{left:12px;}
  .carta-gallery .g-next{right:12px;}
  .carta-gallery .g-dots{
    position:absolute; bottom:14px; left:0; right:0; z-index:2;
    display:flex; justify-content:center; gap:8px;
  }
  .carta-gallery .g-dots button{
    width:7px; height:7px; padding:0; border-radius:50%; border:1px solid rgba(255,255,255,.85);
    background:rgba(255,255,255,.3); cursor:pointer;
  }
  .carta-gallery .g-dots button.active{background:#fff;}
  @media (max-width:520px){ .carta-gallery{max-width:100%;} }

  .reviews-head{max-width:640px; margin-bottom:40px;}
  .reviews-head h2{
    font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.9rem,3.6vw,2.8rem); margin-block:10px 14px; color:var(--ink);
  }
  .rating-line{font-size:.95rem; color:var(--slate);}
  .rating-line a{color:var(--slate); text-decoration:underline; text-underline-offset:3px;}
  .rating-line a:hover{color:var(--gold);}
  .reviews-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  @media (max-width:900px){ .reviews-grid{grid-template-columns:1fr;} }
  .review-card{
    background:var(--paper); border:1px solid var(--gold-soft);
    padding:28px 26px; display:flex; flex-direction:column; gap:14px;
  }
  .review-card .stars{color:var(--gold); letter-spacing:2px; font-size:.9rem;}
  .review-card p{font-family:var(--font-serif); font-style:italic; font-weight:300; font-size:1.08rem; color:var(--ink); line-height:1.42; flex:1; margin:0;}
  .review-card cite{font-style:normal; font-size:.85rem; font-weight:500; color:var(--ink);}
  .review-card cite span{display:block; font-weight:400; color:var(--slate); font-size:.78rem; margin-top:2px;}

  .vouchers{background:var(--navy); color:#EFF2F6; padding-block:56px;}
  .vouchers-inner{display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;}
  .vouchers h2{
    font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.6rem,3vw,2.2rem); color:#FBFAF6; margin-block:8px 6px;
  }
  .vouchers p{color:#D7DEE7; max-width:46ch; margin:0;}

  .eventos{background:var(--paper); border-bottom:1px solid var(--gold-soft);}
  .eventos-inner{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
  .eventos-text{max-width:560px;}
  .eventos-text h2{
    font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.7rem,3.2vw,2.4rem); margin-block:10px 14px; color:var(--ink);
  }
  .eventos-text p{color:var(--slate); max-width:54ch; margin-bottom:20px;}
  .eventos-text .cta-row{display:flex; gap:14px; flex-wrap:wrap;}
  .eventos-actions{display:flex; flex-direction:column; gap:12px; flex:none;}
  .eventos-actions .actions-label{margin:0; font-weight:500; font-size:.92rem; color:var(--ink);}
  .eventos-actions .actions-row{display:flex; gap:12px;}
  .eventos-actions .btn svg{width:18px; height:18px;}

  .experiencias .exp-head{max-width:640px; margin-bottom:44px;}
  .experiencias .exp-head h2{
    font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.9rem,3.6vw,2.8rem); margin-block:10px 14px; color:var(--ink);
  }
  .exp-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
  @media (max-width:820px){ .exp-grid{grid-template-columns:1fr;} }
  .exp-card{
    position:relative; padding:38px 34px; min-height:340px; overflow:hidden;
    display:flex; flex-direction:column; justify-content:flex-end; gap:14px;
  }
  .exp-card h3{font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:1.9rem;}
  .exp-card p{font-size:.95rem; max-width:38ch;}
  .exp-card::before{content:""; position:absolute; inset:0; background:var(--photo) center/cover no-repeat;}
  .exp-card::after{content:""; position:absolute; inset:0; background:var(--scrim);}
  .exp-card > *{position:relative; z-index:1;}
  .exp-day{
    --photo:url('../images/exp-almuerzo.jpg');
    --scrim:linear-gradient(0deg, rgba(20,16,10,.72), rgba(20,16,10,.15) 55%, rgba(20,16,10,.05));
    color:var(--cream); border:1px solid var(--gold-soft);
  }
  .exp-day p{color:#E7E2D6;}
  .exp-night{
    --photo:url('../images/exp-sunset.jpg');
    --scrim:linear-gradient(0deg, rgba(10,4,4,.78), rgba(10,4,4,.2) 55%, rgba(10,4,4,.1));
    color:var(--cream);
  }
  .exp-night p{color:#E3D3D6;}

  .reserve-cta{
    background:linear-gradient(160deg,var(--navy),#333F56 70%);
    color:var(--cream); text-align:center; position:relative; overflow:hidden;
  }
  .reserve-cta .wrap{position:relative; z-index:1; max-width:720px; display:flex; flex-direction:column; align-items:center; gap:20px;}
  .reserve-cta h2{
    font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    font-size:clamp(1.9rem,4vw,3rem); line-height:1.08;
  }
  .reserve-cta p{color:#C9CFD8; max-width:50ch; font-size:1rem;}
  .reserve-steps{
    display:flex; gap:26px; flex-wrap:wrap; justify-content:center; margin-block:6px 10px;
    font-size:.85rem; color:#B9C2CE;
  }
  .reserve-steps span{display:flex; align-items:center; gap:8px;}
  .reserve-steps b{color:var(--gold); font-family:var(--font-serif); font-size:1.1rem;}
  .alt-contact{margin-top:6px; font-size:.86rem; color:#9AA4B1;}
  .alt-contact a{text-decoration:underline; text-underline-offset:3px; color:#C9CFD8;}

  footer{background:var(--navy); color:#DDE2E8; padding-block:64px 28px;}
  .footer-grid{
    display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:40px; margin-bottom:48px;
  }
  @media (max-width:760px){ .footer-grid{grid-template-columns:1fr; gap:34px;} }
  footer .f-word img{height:44px; width:auto;}
  footer .f-word p{margin-top:16px; font-size:.88rem; color:#9AA4B1; max-width:34ch;}
  footer h4{font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; font-weight:500;}
  footer address, footer .flinks{font-style:normal; display:flex; flex-direction:column; gap:10px; font-size:.92rem;}
  footer a{text-decoration:none;}
  footer a:hover{color:var(--gold);}
  .mini-map{
    margin-block:16px; border:1px solid #3E4959; overflow:hidden; line-height:0; max-width:280px;
    border-radius:10px;
  }
  .icon-row{display:flex; gap:14px; margin-top:6px;}
  .icon-row a{
    width:36px; height:36px; border:1px solid #3E4959; border-radius:50%;
    display:flex; align-items:center; justify-content:center; color:#DDE2E8; transition:border-color .2s, color .2s;
  }
  .icon-row a:hover{border-color:var(--gold); color:var(--gold);}
  .icon-row svg{width:16px; height:16px;}
  .foot-bottom{
    border-top:1px solid #333E4C; padding-top:22px; display:flex; justify-content:space-between;
    flex-wrap:wrap; gap:10px; font-size:.78rem; color:#7C8794;
  }
  .wordmark img{display:block; height:32px; width:auto;}


  header{transition:box-shadow .3s ease;}
  header.scrolled{box-shadow:0 8px 26px rgba(73,83,109,.12);}
  .nav-inner{transition:padding .3s ease;}
  .wordmark img, .wa-link svg{transition:height .3s ease, width .3s ease;}
  .header-right .btn-sm{transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, padding .3s ease;}
  header.scrolled .nav-inner{padding-block:8px;}
  header.scrolled .wordmark img{height:26px;}
  header.scrolled .wa-link svg{width:30px; height:30px;}
  header.scrolled .header-right .btn-sm{padding-block:7px;}

  .firefly{
    position:absolute; z-index:0; pointer-events:none;
    width:var(--s,5px); height:var(--s,5px); border-radius:50%;
    background:#E7C889; box-shadow:0 0 10px 3px rgba(231,200,137,.5);
    opacity:0;
    animation:firefly var(--dur,13s) ease-in-out var(--delay,0s) infinite;
  }
  @keyframes firefly{
    0%{opacity:0; transform:translate(0,0);}
    20%{opacity:.85;}
    50%{opacity:.35; transform:translate(var(--dx,16px), var(--dy,-24px));}
    80%{opacity:.8;}
    100%{opacity:0; transform:translate(calc(var(--dx,16px) * .3), calc(var(--dy,-24px) * 1.7));}
  }

  @media (prefers-reduced-motion: no-preference){
    .hero .eyebrow, .hero h1, .hero .lede, .hero .cta-row{
      animation:hero-in .9s cubic-bezier(.2,.7,.2,1) both;
    }
    .hero h1{animation-delay:.08s;}
    .hero .lede{animation-delay:.2s;}
    .hero .cta-row{animation-delay:.32s;}
    @keyframes hero-in{
      from{opacity:0; transform:translateY(26px);}
      to{opacity:1; transform:none;}
    }

    .hero h1 em{
      background:linear-gradient(currentColor, currentColor) no-repeat 0 96% / 0% .06em;
      -webkit-box-decoration-break:clone; box-decoration-break:clone;
      animation:em-draw .9s cubic-bezier(.6,0,.2,1) 1.1s forwards;
    }
    @keyframes em-draw{to{background-size:100% .06em;}}

    .hero::before{animation:twinkle 7s ease-in-out infinite alternate;}
    @keyframes twinkle{from{opacity:.45;} to{opacity:.95;}}

    .branch{animation:sway 8s ease-in-out infinite alternate;}
    .hero .branch{transform-origin:90% 6%;}
    .reserve-cta .branch{transform-origin:8% 94%; animation-duration:10s; animation-delay:-4s;}
    @keyframes sway{from{transform:rotate(-1.8deg);} to{transform:rotate(1.8deg);}}

    .btn:hover{transform:translateY(-2px);}
    .btn:active{transform:translateY(1px);}
    .btn svg{transition:transform .3s ease;}
    .btn:hover svg{transform:scale(1.14) rotate(-8deg);}
    .btn-gold{position:relative; overflow:hidden; isolation:isolate;}
    .btn-gold::after{
      content:""; position:absolute; inset:-2px auto -2px 0; width:45%;
      background:linear-gradient(100deg, transparent, rgba(255,255,255,.4) 50%, transparent);
      transform:translateX(-130%) skewX(-18deg); pointer-events:none; z-index:-1;
    }
    .btn-gold:hover::after{
      transform:translateX(260%) skewX(-18deg);
      transition:transform .75s ease;
    }

    .wa-link{transition:color .2s ease, transform .25s ease;}
    .wa-link:hover{transform:scale(1.1) rotate(-6deg);}
    .icon-row a{transition:border-color .2s, color .2s, transform .25s ease;}
    .icon-row a:hover{transform:translateY(-3px);}
    footer a{transition:color .2s ease;}

    .exp-card::before{transition:transform .9s cubic-bezier(.2,.7,.2,1);}
    .exp-card:hover::before{transform:scale(1.06);}

    .review-card{transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;}
    .review-card:hover{
      transform:translateY(-4px); border-color:var(--gold);
      box-shadow:0 14px 30px rgba(73,83,109,.12);
    }

    .carta-gallery img{
      transform:scale(1.08);
      transition:opacity .7s ease, transform 6s cubic-bezier(.2,.6,.3,1);
    }
    .carta-gallery img.active{transform:scale(1);}
  }

  .reveal{
    opacity:0; transform:translateY(22px);
    transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .reveal.in{opacity:1; transform:none;}

  .wa-float{
    display:none; position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom, 0px));
    z-index:60; width:58px; height:58px; border-radius:50%;
    background:var(--gold); color:#fff; align-items:center; justify-content:center;
    box-shadow:0 10px 24px rgba(73,83,109,.3); -webkit-tap-highlight-color:transparent;
  }
  .wa-float svg{width:34px; height:34px;}
  @media (max-width:760px){
    .wa-float{display:flex;}
    footer{padding-block:32px 20px;}
    .footer-grid{gap:18px; margin-bottom:20px;}
    footer h4{margin-bottom:8px;}
    footer .f-word p{margin-top:10px;}
    footer .f-word img{height:38px;}
    .mini-map iframe{height:110px;}
    .mini-map{margin-block:10px;}
  }
  @media (max-width:760px) and (prefers-reduced-motion: no-preference){
    .wa-float{animation:wa-in .6s cubic-bezier(.3,1.4,.5,1) 1.2s both; transition:transform .2s ease;}
    .wa-float:active{transform:scale(.94);}
    @keyframes wa-in{ from{opacity:0; transform:translateY(20px) scale(.6);} }
  }

  @media (max-width:760px){
    .hero .cta-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
    .hero .cta-row .btn{width:100%; padding-inline:10px;}

    .carta-inner{gap:18px;}
    .carta-text p{margin-bottom:6px;}

    main .btn, footer .btn{width:100%;}
    .exp-card .btn{align-self:stretch !important;}
    .vouchers-inner > .btn{flex:1 1 100%;}
    .eventos-text .cta-row{flex-direction:column; width:100%;}
    .eventos-actions{width:100%;}
    .eventos-actions .actions-row{width:100%;}
    .eventos-actions .actions-row .btn{flex:1 1 0; width:auto; min-width:0; padding-inline:10px;}

    .reviews-grid{
      grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:84%; gap:14px;
      overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:24px;
      margin-inline:-24px; padding:0 24px 6px; scrollbar-width:none;
      -webkit-overflow-scrolling:touch;
    }
    .reviews-grid::-webkit-scrollbar{display:none;}
    .review-card{scroll-snap-align:start;}
  }

  @media (max-width:381px){
    .reserve-steps{flex-direction:column; align-items:center; gap:8px;}
  }
