  *{margin:0;padding:0;box-sizing:border-box}

  :root{
    --ink:#0e0f12;
    --bone:#f6f4ef;
    --clay:#c8512e;
    --moss:#2f3d2f;
    --grey:#8a8a85;
    --line:#e2ddd2;
    --ok:#2f7d4f;
  }

  body{
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:var(--bone);
    color:var(--ink);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }

  img{display:block;width:100%;height:100%;object-fit:cover}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1320px;margin:0 auto;padding:0 48px}

  /* ============ TOP BAR ============ */
  .topbar{
    background:var(--ink);
    color:#c9c7c1;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    padding:11px 0;
    font-weight:500;
  }
  .topbar .wrap{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .topbar .dot{
    display:inline-block;width:6px;height:6px;border-radius:50%;
    background:#6fbf73;margin-right:8px;vertical-align:middle;
  }
  .topbar strong{color:var(--bone);font-weight:600;letter-spacing:0.12em}
  .topbar .online{
    display:inline-flex;align-items:center;gap:8px;
    color:var(--bone);
  }
  .topbar .online::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:var(--clay);display:inline-block;
  }

  /* ============ NAV ============ */
  .nav{
    position:sticky;top:0;z-index:50;
    background:var(--bone);
    border-bottom:1px solid var(--line);
    padding:22px 0;
  }
  .nav-in{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .mark{
    font-size:22px;
    font-weight:900;
    letter-spacing:-0.055em;
    text-transform:uppercase;
    line-height:1;
  }
  .mark::after{
    content:".";
    color:var(--clay);
    font-weight:900;
  }
  .mark small{
    display:block;
    font-size:9px;
    font-weight:600;
    letter-spacing:0.32em;
    color:var(--grey);
    margin-top:3px;
    text-transform:uppercase;
  }
  .nav-mid{
    display:flex;
    align-items:center;
    gap:0;
  }
  .nav-mid a{
    font-size:12px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:600;
    color:#4a4a46;
    padding:0 24px;
    border-right:1px solid var(--line);
    transition:color .2s;
    line-height:1.2;
  }
  .nav-mid a:first-child{border-left:1px solid var(--line)}
  .nav-mid a:hover{color:var(--clay)}

  .nav-right{
    display:flex;
    align-items:center;
    gap:22px;
  }
  .nav-right .phone{
    text-align:right;
    line-height:1.1;
  }
  .nav-right .phone span{
    display:block;
    font-size:9px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
    margin-bottom:3px;
  }
  .nav-right .phone b{
    font-size:14px;
    font-weight:700;
    letter-spacing:-0.01em;
  }
  .nav-right .book{
    background:var(--ink);
    color:var(--bone);
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:700;
    padding:13px 24px;
    border-radius:999px;
    transition:background .25s;
    white-space:nowrap;
  }
  .nav-right .book:hover{background:var(--clay)}

  /* ============ HERO ============ */
  .hero{padding:80px 0 0}
  .hero-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:64px;
    align-items:center;
  }
  .hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:600;
    color:#4a4a46;
    margin-bottom:32px;
  }
  .hero h1{
    font-size:clamp(52px,6.4vw,92px);
    font-weight:900;
    line-height:0.92;
    letter-spacing:-0.045em;
    color:var(--ink);
    margin-bottom:28px;
  }
  .hero h1 em{font-style:normal;color:var(--clay)}
  .hero p{
    font-size:18px;
    line-height:1.6;
    color:#3f3f3a;
    max-width:50ch;
    margin-bottom:36px;
  }
  .hero-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
  }
  .btn{
    display:inline-block;
    background:var(--ink);
    color:var(--bone);
    font-size:12px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:700;
    padding:18px 36px;
    border-radius:999px;
    transition:background .25s, transform .25s;
    border:none;
    cursor:pointer;
    text-align:center;
  }
  .btn:hover{background:var(--clay);transform:translateY(-2px)}
  .btn-ghost{
    background:transparent;
    color:var(--ink);
    border:1.5px solid var(--ink);
    padding:16px 32px;
  }
  .btn-ghost:hover{background:var(--ink);color:var(--bone)}

  .hero-micro{
    display:flex;
    gap:24px;
    margin-top:20px;
    font-size:11px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
    flex-wrap:wrap;
  }
  .hero-micro span{display:inline-flex;align-items:center;gap:8px}
  .hero-micro svg{
    width:14px;height:14px;
    stroke:var(--ok);stroke-width:1.8;fill:none;
    flex-shrink:0;
  }

  .hero-stats{
    display:flex;
    gap:0;
    margin-top:56px;
    border-top:1px solid var(--line);
    padding-top:32px;
    flex-wrap:wrap;
  }
  .stat{flex:1;padding-right:24px;min-width:100px}
  .stat + .stat{border-left:1px solid var(--line);padding-left:28px}
  .stat b{
    display:block;
    font-size:36px;
    font-weight:800;
    letter-spacing:-0.035em;
    line-height:1;
    margin-bottom:6px;
  }
  .stat span{
    font-size:10px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
  }

  .hero-image{
    aspect-ratio:4/5;
    overflow:hidden;
    background:#e6e2d8;
    position:relative;
  }
  .hero-image .tag{
    position:absolute;
    left:20px;bottom:20px;
    background:var(--bone);
    padding:8px 14px;
    font-size:10px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:700;
  }

  /* ============ TRUST BAR ============ */
  .trust{
    background:#efece4;
    padding:28px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin-top:80px;
  }
  .trust-in{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:32px;
    flex-wrap:wrap;
  }
  .trust-item{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:600;
    color:#4a4a46;
  }
  .trust-item svg{
    width:20px;height:20px;
    stroke:var(--clay);
    stroke-width:1.6;
    fill:none;
    flex-shrink:0;
  }

  /* ============ SECTION HEAD ============ */
  .sec-head{
    display:grid;
    grid-template-columns:100px 1fr;
    gap:32px;
    padding:100px 0 56px;
    align-items:end;
  }
  .sec-head .num{
    font-size:12px;
    font-weight:700;
    letter-spacing:0.1em;
    color:var(--clay);
    padding-bottom:14px;
    border-bottom:2px solid var(--clay);
    display:inline-block;
    white-space:nowrap;
  }
  .sec-head h2{
    font-size:clamp(40px,4.6vw,68px);
    font-weight:800;
    letter-spacing:-0.04em;
    line-height:1;
    text-transform:uppercase;
  }
  .sec-head h2 em{
    font-style:normal;
    font-weight:300;
    color:var(--grey);
  }

  /* ============ SERVICES ============ */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
  }
  .service{
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:44px 36px;
    background:transparent;
    transition:background .3s;
    display:flex;
    flex-direction:column;
    min-height:340px;
  }
  .service:hover{background:#ffffff}
  .service-icon{
    width:48px;
    height:48px;
    margin-bottom:28px;
    stroke:var(--clay);
    stroke-width:1.4;
    fill:none;
  }
  .service-icon svg{width:100%;height:100%}
  .service h3{
    font-size:22px;
    font-weight:800;
    letter-spacing:-0.02em;
    text-transform:uppercase;
    margin-bottom:14px;
    line-height:1.1;
  }
  .service p{
    font-size:15px;
    line-height:1.55;
    color:#5a5a55;
    margin-bottom:24px;
    flex-grow:1;
  }
  .service a{
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--ink);
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:gap .25s, color .25s;
  }
  .service a:hover{gap:14px;color:var(--clay)}

  /* ============ ABOUT ============ */
  .about{
    display:grid;
    grid-template-columns:1fr 1fr;
    background:var(--moss);
    color:var(--bone);
  }
  .about-img{min-height:640px}
  .about-txt{
    padding:96px 72px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .about-txt .eyebrow{
    font-size:11px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:600;
    color:#a8b5a0;
    margin-bottom:24px;
  }
  .about-txt h3{
    font-size:clamp(32px,3.4vw,50px);
    font-weight:800;
    letter-spacing:-0.035em;
    line-height:1.05;
    text-transform:uppercase;
    margin-bottom:28px;
  }
  .about-txt p{
    font-size:17px;
    line-height:1.65;
    color:#d9e0d4;
    margin-bottom:20px;
    max-width:48ch;
  }
  .about-list{
    list-style:none;
    margin-top:12px;
  }
  .about-list li{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid #46543f;
    font-size:15px;
    font-weight:500;
    color:#e6ebe0;
  }
  .about-list li:last-child{border-bottom:none}
  .about-list li::before{
    content:"";
    width:16px;height:1px;
    background:var(--clay);
    flex-shrink:0;
  }

  /* ============ OFFER ============ */
  .offer{
    background:var(--clay);
    color:#fff;
    padding:72px 64px;
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:48px;
    align-items:center;
    margin-top:0;
  }
  .offer h3{
    font-size:clamp(34px,3.6vw,54px);
    font-weight:800;
    letter-spacing:-0.035em;
    line-height:1.02;
    text-transform:uppercase;
  }
  .offer .meta{
    margin-top:20px;
    font-size:13px;
    letter-spacing:0.06em;
    opacity:0.85;
  }
  .offer .price{
    font-size:68px;
    font-weight:900;
    letter-spacing:-0.045em;
    line-height:1;
    text-align:right;
  }
  .offer .price small{
    display:block;
    font-size:11px;
    font-weight:600;
    letter-spacing:0.2em;
    text-transform:uppercase;
    opacity:0.8;
    margin-top:10px;
  }
  .offer a.btn-w{
    display:inline-block;
    margin-top:28px;
    background:var(--ink);
    color:var(--bone);
    padding:18px 36px;
    border-radius:999px;
    font-size:12px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:700;
    transition:transform .2s;
    float:right;
  }
  .offer a.btn-w:hover{transform:translateY(-3px)}

  /* ============ VIDEO ============ */
  .video-sec{
    padding:100px 0;
    background:var(--bone);
  }
  .video-frame{
    position:relative;
    aspect-ratio:16/9;
    background:#0e0f12;
    overflow:hidden;
    cursor:pointer;
    max-width:960px;
    margin:0 auto;
  }
  .video-frame .play{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(14,15,18,0.3);
  }
  .video-frame .play span{
    width:88px;
    height:88px;
    border-radius:50%;
    background:var(--bone);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .25s;
  }
  .video-frame .play svg{
    width:26px;height:26px;
    fill:var(--ink);
    margin-left:5px;
  }
  .video-frame:hover .play span{transform:scale(1.08)}
  .video-cap{
    display:flex;
    justify-content:space-between;
    max-width:960px;
    margin:18px auto 0;
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
  }

  /* ============ REVIEWS ============ */
  .rev-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
  }
  .rev{
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:48px 40px;
    display:flex;
    flex-direction:column;
    gap:22px;
    min-height:300px;
    transition:background .25s;
    position:relative;
  }
  .rev:hover{background:#ffffff}
  .rev .stars{
    font-size:13px;
    letter-spacing:4px;
    color:var(--clay);
  }
  .rev .verified{
    position:absolute;
    top:44px;right:40px;
    font-size:9px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--ok);
    border:1px solid var(--ok);
    padding:4px 8px;
    border-radius:999px;
  }
  .rev blockquote{
    font-size:17px;
    line-height:1.6;
    color:#1c1c1a;
    font-weight:500;
  }
  .rev .who{
    margin-top:auto;
    display:flex;
    align-items:center;
    gap:14px;
    padding-top:20px;
    border-top:1px solid var(--line);
  }
  .rev .who img{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#d9d4c8;
    flex-shrink:0;
  }
  .rev .who b{
    display:block;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:0.08em;
  }
  .rev .who span{
    font-size:11px;
    color:var(--grey);
    letter-spacing:0.1em;
    text-transform:uppercase;
  }

  /* ============ BOOKING ============ */
  .booking{
    background:var(--ink);
    color:var(--bone);
    padding:110px 0;
    position:relative;
  }
  .booking-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:72px;
    align-items:start;
  }

  .booking-side .eyebrow{
    font-size:11px;
    letter-spacing:0.26em;
    text-transform:uppercase;
    font-weight:600;
    color:#a8b5a0;
    margin-bottom:24px;
  }
  .booking-side h2{
    font-size:clamp(44px,5vw,72px);
    font-weight:900;
    letter-spacing:-0.045em;
    line-height:0.94;
    text-transform:uppercase;
    margin-bottom:32px;
  }
  .booking-side h2 em{font-style:normal;color:var(--clay)}

  .booking-trust{
    border-top:1px solid #232322;
    padding-top:28px;
    margin-top:8px;
  }
  .booking-trust .row{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 0;
    font-size:14px;
    color:#d4d2cc;
    letter-spacing:0.02em;
  }
  .booking-trust .row svg{
    width:18px;height:18px;
    stroke:var(--clay);stroke-width:1.7;fill:none;flex-shrink:0;
  }
  .booking-trust .row b{color:var(--bone);font-weight:700}

  .slots{
    margin-top:36px;
    border-top:1px solid #232322;
    padding-top:28px;
  }
  .slots .label{
    font-size:11px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:600;
    color:#a8b5a0;
    margin-bottom:16px;
  }
  .slots .slot-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }
  .slot{
    border:1px solid #3a3a36;
    padding:10px 16px;
    font-size:12px;
    letter-spacing:0.08em;
    color:#e6e2d8;
    background:transparent;
    cursor:pointer;
    transition:all .2s;
    font-family:inherit;
  }
  .slot:hover{border-color:var(--clay);color:#fff}
  .slot.active{background:var(--clay);border-color:var(--clay);color:#fff}

  .booking-form{
    background:#16171a;
    border:1px solid #232322;
    padding:48px 44px;
  }
  .booking-form h3{
    font-size:22px;
    font-weight:800;
    letter-spacing:-0.02em;
    text-transform:uppercase;
    margin-bottom:8px;
  }
  .booking-form .sub{
    font-size:13px;
    color:#a8a8a2;
    margin-bottom:32px;
    letter-spacing:0.02em;
  }

  .field{margin-bottom:20px}
  .field label{
    display:block;
    font-size:10px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:700;
    color:#a8b5a0;
    margin-bottom:8px;
  }
  .field input,
  .field select,
  .field textarea{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid #3a3a36;
    padding:12px 0;
    font-family:inherit;
    font-size:15px;
    color:var(--bone);
    outline:none;
    transition:border-color .2s;
    border-radius:0;
    -webkit-appearance:none;
    appearance:none;
  }
  .field select{
    background-image:linear-gradient(45deg,transparent 50%,#a8b5a0 50%),
                     linear-gradient(135deg,#a8b5a0 50%,transparent 50%);
    background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;
    background-size:5px 5px,5px 5px;
    background-repeat:no-repeat;
    cursor:pointer;
  }
  .field select option{background:#16171a;color:var(--bone)}
  .field input:focus,
  .field select:focus,
  .field textarea:focus{border-bottom-color:var(--clay)}
  .field input::placeholder,
  .field textarea::placeholder{color:#5a5a55}
  .field textarea{resize:vertical;min-height:80px}

  .field-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }

  .when-row{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:24px;
  }
  .time-picks{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    padding-top:4px;
  }
  .time-pick{
    border:1px solid #3a3a36;
    padding:9px 14px;
    font-size:12px;
    letter-spacing:0.08em;
    color:#e6e2d8;
    cursor:pointer;
    transition:all .2s;
    background:transparent;
    font-family:inherit;
  }
  .time-pick:hover{border-color:var(--clay);color:#fff}
  .time-pick.active{background:var(--clay);border-color:var(--clay);color:#fff}

  .booking-submit{
    width:100%;
    background:var(--clay);
    color:#fff;
    font-size:13px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:800;
    padding:22px 32px;
    border:none;
    cursor:pointer;
    margin-top:16px;
    transition:background .25s, transform .2s;
    border-radius:999px;
  }
  .booking-submit:hover{background:#d95c36;transform:translateY(-2px)}

  .booking-micro{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:20px;
    font-size:12px;
    color:#a8a8a2;
    letter-spacing:0.04em;
  }
  .booking-micro span{display:inline-flex;align-items:center;gap:8px}
  .booking-micro svg{
    width:14px;height:14px;
    stroke:var(--ok);stroke-width:1.8;fill:none;flex-shrink:0;
  }

  .alt-call{
    margin-top:28px;
    border-top:1px solid #232322;
    padding-top:24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
  }
  .alt-call .txt{
    font-size:12px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:#a8a8a2;
    font-weight:600;
  }
  .alt-call a{
    display:inline-flex;align-items:center;gap:10px;
    font-size:14px;font-weight:700;color:var(--bone);
    letter-spacing:0.02em;
  }
  .alt-call a svg{
    width:16px;height:16px;
    stroke:var(--clay);stroke-width:1.8;fill:none;
  }

  /* ============ FOOTER ============ */
  .foot{
    background:var(--ink);
    color:#5f5f5a;
    border-top:1px solid #232322;
    padding:26px 0;
    font-size:11px;
    letter-spacing:0.14em;
    text-transform:uppercase;
  }
  .foot .wrap{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
  }
  .foot a{color:var(--clay)}
  .foot .online{
    display:inline-flex;align-items:center;gap:8px;
    color:#c9c7c1;
  }
  .foot .online::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:var(--ok);display:inline-block;
  }

  /* ============ RESPONSIVE ============ */
  
  /* Tablet grande / desktop pequeño */
  @media (max-width:1100px){
    .wrap{padding:0 32px}
    .nav-mid{display:none}
    .hero-grid{grid-template-columns:1fr;gap:48px}
    .hero-image{aspect-ratio:16/10;max-height:500px}
    .about{grid-template-columns:1fr}
    .about-img{min-height:400px}
    .about-txt{padding:72px 48px}
    .services-grid{grid-template-columns:1fr 1fr}
    .rev-grid{grid-template-columns:1fr 1fr}
    .offer{grid-template-columns:1fr;padding:56px 48px}
    .offer .price{text-align:left}
    .offer a.btn-w{float:none;display:inline-block}
    .booking-grid{grid-template-columns:1fr;gap:48px}
    .field-row,.when-row{grid-template-columns:1fr}
    .booking{padding:80px 0}
    .booking-form{padding:40px 32px}
  }

  /* Tablet pequeña / móvil grande */
  @media (max-width:768px){
    .wrap{padding:0 24px}
    .topbar{font-size:10px;padding:9px 0}
    .topbar .wrap{flex-direction:column;gap:6px;text-align:center}
    .nav{padding:16px 0}
    .mark{font-size:18px}
    .mark small{font-size:8px;letter-spacing:0.24em}
    .nav-right .phone{display:none}
    .nav-right .book{padding:11px 20px;font-size:10px}
    
    .hero{padding:56px 0 0}
    .hero h1{font-size:clamp(40px,11vw,64px);letter-spacing:-0.035em}
    .hero p{font-size:16px}
    .hero-actions{flex-direction:column;align-items:stretch}
    .hero-actions .btn{width:100%;text-align:center}
    .hero-micro{gap:12px;font-size:10px}
    .hero-stats{margin-top:40px;padding-top:24px}
    .stat b{font-size:28px}
    .stat span{font-size:9px}
    
    .hero-image{aspect-ratio:4/3}
    
    .trust{margin-top:56px;padding:20px 0}
    .trust-in{justify-content:center;gap:20px}
    .trust-item{font-size:10px}
    
    .sec-head{grid-template-columns:1fr;gap:16px;padding:64px 0 40px}
    .sec-head h2{font-size:clamp(32px,8vw,48px)}
    
    .services-grid{grid-template-columns:1fr}
    .service{padding:32px 24px;min-height:auto}
    
    .about-img{min-height:280px}
    .about-txt{padding:56px 24px}
    .about-txt h3{font-size:clamp(28px,7vw,40px)}
    .about-txt p{font-size:15px}
    
    .offer{padding:48px 24px}
    .offer h3{font-size:clamp(28px,7vw,40px)}
    .offer .price{font-size:52px}
    
    .video-sec{padding:64px 0}
    .video-frame .play span{width:64px;height:64px}
    .video-frame .play svg{width:20px;height:20px}
    .video-cap{font-size:10px;flex-direction:column;gap:6px;text-align:center}
    
    .rev-grid{grid-template-columns:1fr}
    .rev{padding:32px 24px;min-height:auto}
    .rev .verified{top:32px;right:24px}
    
    .booking{padding:64px 0}
    .booking-side h2{font-size:clamp(34px,9vw,52px)}
    .booking-form{padding:32px 24px}
    .booking-submit{padding:18px 24px;font-size:12px}
    
    .alt-call{flex-direction:column;align-items:flex-start;gap:12px}
    
    .foot{padding:20px 0;font-size:10px}
    .foot .wrap{flex-direction:column;gap:10px;text-align:center}
  }

  /* Móvil pequeño */
  @media (max-width:480px){
    .wrap{padding:0 16px}
    
    .hero h1{font-size:clamp(34px,12vw,48px)}
    .hero p{font-size:15px}
    .hero-micro{flex-direction:column;gap:8px}
    
    .stat{min-width:80px;padding-right:16px}
    .stat + .stat{padding-left:16px}
    .stat b{font-size:24px}
    
    .sec-head h2{font-size:clamp(28px,9vw,38px)}
    
    .service h3{font-size:18px}
    .service p{font-size:14px}
    
    .about-txt{padding:40px 16px}
    .about-txt h3{font-size:clamp(24px,8vw,32px)}
    
    .offer{padding:36px 16px}
    .offer h3{font-size:clamp(24px,8vw,32px)}
    .offer .price{font-size:44px}
    
    .rev blockquote{font-size:15px}
    
    .booking-form{padding:24px 16px}
    .booking-form h3{font-size:18px}
    
    .slot,.time-pick{padding:8px 12px;font-size:11px}
    
    .field input,.field select,.field textarea{font-size:14px}
  }

  /* Ajustes para pantallas muy grandes */
  @media (min-width:1600px){
    .wrap{max-width:1440px}
  }

  /* Soporte para prefers-reduced-motion */
  @media (prefers-reduced-motion:reduce){
    *{transition-duration:0.01ms !important;animation-duration:0.01ms !important}
  }