*{box-sizing:border-box} :root{--ink:#111214;--muted:#74767b;
    --line:#e8e8eb;--bg:#f5f5f7;
    --green:#14bf61;--r:25px}html{scroll-behavior:smooth;scroll-padding-top:24px}
    body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",
        sans-serif;-webkit-font-smoothing:antialiased;padding:22px 0 34px}
        .app-shell{width:min(100% - 32px,480px);margin:0 auto;background:#fff;
            border-radius:34px;overflow:hidden;box-shadow:0 20px 70px #12121212;
            min-height:100vh;padding-bottom:86px;position:relative}
            .app-header{height:82px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;
                background:rgba(255,255,255,.94);position:sticky;top:0;z-index:30;border-bottom:1px solid #f5f5f5;
                backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;
                    gap:10px;color:inherit;text-decoration:none}.brand-icon{width:34px;height:34px;
                        display:grid;place-items:center;font-size:27px}.brand-text{display:flex;flex-direction:column;
                            gap:3px}.brand-text strong{font:800 12px Manrope,sans-serif;letter-spacing:-.45px}
                            .brand-text small{font-size:8px;letter-spacing:1.35px;color:#777}
                            .menu-button{height:44px;width:44px;border-radius:50%;border:1px solid
                                 #e2e3e7;background:#fff;font-size:19px;display:grid;place-items:center}
                                 .mobile-menu{display:none;position:absolute;z-index:40;
                                    top:72px;left:12px;right:12px;padding:10px;
                                    background:#fff;border:1px solid #eee;
                                    border-radius:20px;box-shadow:0 18px 45px #0002}
                                    .mobile-menu.open{display:block}.mobile-menu a
                                    {display:flex;align-items:center;gap:13px;padding:14px;
                                        border-radius:12px;color:#171717;text-decoration:none;
                                        font-size:14px}.mobile-menu a:active{background:#f5f5f7}
                                        .hero-card{position:relative;margin:10px 10px 0;
                                            min-height:500px;border-radius:27px;
                                            overflow:hidden;color:#fff;background:#171717}
                                            .hero-image{position:absolute;inset:0;
background:url("https://images.unsplash.com/photo-1556911220-e15b29be8c8f?auto=format&fit=crop&w=1000&q=90")
 center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient
    (180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.56) 40%,rgba(0,0,0,.94) 100%)}
    .hero-content{position:relative;z-index:1;padding:27px 22px 22px}.pill{display:inline-flex;align-items:center;
        border:1px solid rgba(255,255,255,.8);border-radius:99px;padding:7px 12px;font-size:11px;font-weight:600;
        letter-spacing:.5px;background:#ffffff0d;backdrop-filter:blur(8px)}h1,h2,h3,p{margin-top:0}
        .hero-content h1{font:800 clamp(39px,10vw,48px)/.99 Manrope,sans-serif;letter-spacing:-2.3px;margin:15px 0 
            13px;max-width:360px}.hero-content>p{font-size:15px;color:#f1f1f1;margin:0}.hero-benefits
            {display:flex;justify-content:space-between;gap:10px;margin-top:47px}.hero-benefits span{display:
                flex;align-items:center;gap:8px;min-width:0}.hero-benefits i{font-size:22px;flex-shrink:0}
.hero-benefits b{font-size:10px;line-height:1.3;font-weight:600}.hero-actions{display:flex;gap:10px;margin-top:28px}
.action{min-height:56px;flex:1;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;
    padding:0 10px;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 6px 16px #0002}.action
     i{font-size:21px}.action-call{background:#050505;color:#fff;border:1px solid #fff}
     .action-whatsapp{background:#e7fff2;color:#101010;border:1px solid #e6e6e6}.action-whatsapp i{color:var(--green);
        font-size:24px}.rating-card{position:relative;display:flex;align-items:center;gap:14px;margin:0 12px;
            padding:15px 18px 17px;background:rgba(255,255,255,.94);color:#141414;border-radius:19px;
            transform:translateY(-1px);box-shadow:0 8px 22px #00000009}.avatar-stack{display:flex;align-items:
                center;padding-left:2px}.avatar-stack span{width:31px;height:31px;margin-left:-3px;border:2px solid 
 white;background:#dedee2;color:#242424;border-radius:50%;display:grid;place-items:center;
font-size:11px;font-weight:800}.avatar-stack span:nth-child(2){background:#222;color:#ffca43}
.avatar-stack span:nth-child(3){background:#e3e8e2;color:#222}.rating-card strong{font-size:14px}.stars
{color:#f5b400;letter-spacing:1px;font-size:14px}.rating-card small{display:block;font-size:11px;margin-top:3px;
    color:#5d5d5d}.section{padding:29px 20px 0}.section-title{display:flex;align-items:center;
        justify-content:space-between;margin-bottom:17px}.section-title small,.booking-card>small
        {font-size:9px;letter-spacing:1.35px;font-weight:700;color:#8a8b90}.section-title 
        h2{font:800 25px/1.12 Manrope,sans-serif;letter-spacing:-1.1px;margin:5px 0 0}
        .view-link{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;
            white-space:nowrap}.view-link i{margin-left:7px}.service-rail{display:flex;gap:11px;
                overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none
                ;margin-right:-20px;padding:0 20px 7px 0}.service-rail::-webkit-scrollbar
                {display:none}.service-card{flex:0 0 146px;min-height:175px;
                    position:relative;overflow:hidden;display:flex;flex-direction:column;
                    justify-content:flex-end;padding:0 12px 14px;border-radius:19px;
                    background:#f0f0f2;color:#111;text-decoration:none;
                    scroll-snap-align:start}.service-image{position:absolute;
                        inset:0 0 36px;background-size:cover;
                        background-position:center;mix-blend-mode:multiply}
.image-hob{background-image:url("https://images.unsplash.com/photo-1556911220-e15b29be8c8f?auto=format&fit=crop&w=450&q=85")
}.image-built-in{background-image:url("https://images.unsplash.com/photo-1556912172-45b7abe8b7e1?auto=format&fit=crop&w=450&q=85")
}.image-burner{background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=450&q=85")
}.image-ignition{background-image:url("https://images.unsplash.com/photo-1556911220-bff31c812dba?auto=format&fit=crop&w=450&q=85")
}.service-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#f7f7f8 80%)
}.service-card strong{position:relative;z-index:1;font-size:12px;line-height:1.35;max-width:92px}.round-arrow{position:absolute;z-index:2;
 right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e4e4e6;font-size:12px}
 .quick-book{display:block;position:relative;overflow:hidden;margin:25px 10px 0;min-height:184px;border-radius:24px;color:#fff;text-decoration:none;background:#111}
 .quick-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.75) 52%
 ,rgba(0,0,0,.12)),url("https://images.unsplash.com/photo-1556911220-bff31c812dba?auto=format&fit=crop&w=900&q=85")
  center/cover}.quick-content{position:relative;padding:20px 22px}.pill-glass{font-size:9px;padding:6px 10px}
 .quick-book h2{font:800 25px/1.08 Manrope,sans-serif;letter-spacing:-.9px;margin:13px 0 8px}.quick-book
 p{font-size:12px;color:#eee;margin:0}.quick-arrow{position:absolute;right:19px;bottom:20px;
 width:35px;height:35px;display:grid;place-items:center;border:1px solid #ffffff70;
 border-radius:50%}.why-section{padding-top:31px}.feature-grid{display:flex;
  flex-wrap:wrap;gap:10px}.feature-card{width:calc(50% - 5px);min-height:138px;padding:19px 16px;
 background:#f2f2f4;border-radius:20px}.feature-card>i{font-size:25px;margin-bottom:14px}
 .feature-card h3{font-size:13px;margin:0 0 5px;letter-spacing:-.2px}.feature-card p{font-size:12px;
 color:#777;line-height:1.4;margin:0}.process-section{padding-top:30px}
.process-rail{display:flex;align-items:center;justify-content:space-between;gap:4px}.process-step
{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0}
  .step-number{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
 background:#080808;color:#fff;font-size:16px;font-weight:700;margin-bottom:10px}
 .process-step>i{font-size:24px;margin-bottom:9px}.process-step h3{font-size:12px;margin:0 0 4px}
.process-step p{font-size:10px;color:#777;line-height:1.35;margin:0}.process-arrow{font-size:13px;
 color:#a3a3a8;margin-top:-39px}.booking-layout{display:flex;flex-direction:column;
  margin:28px 10px 0;border:1px solid #eee;border-radius:24px;overflow:hidden;
  background:#fff;box-shadow:0 10px 30px #00000008}
 .booking-photo{min-height:155px;position:relative;
 background:url("https://images.unsplash.com/photo-1556911220-e15b29be8c8f?auto=format&fit=crop&w=900&q=85")
  center 55%/cover}.photo-label{position:absolute;left:13px;bottom:13px;background:#ffffffed;border-radius:99px;
padding:8px 11px;font-size:10px;font-weight:700}.photo-label i{margin-right:5px}.booking-card{padding:21px
 17px 18px}.booking-card h2{font:800 25px Manrope,sans-serif;letter-spacing:-1px;margin:6px 0 17px}
 .field{min-height:47px;border:1px solid #e0e0e5;border-radius:13px;display:flex;align-items:center;
 gap:12px;padding:0 13px;margin-bottom:9px;color:#222;background:#fff}.field>i
{font-size:15px;width:15px;text-align:center;flex-shrink:0}.field input,.field select
      {width:100%;min-width:0;border:0;outline:0;background:transparent;font:12px "DM Sans",
        sans-serif;color:#222;appearance:none}.field input::placeholder{color:#9a9aa0}
     .field-chevron{font-size:10px!important}.book-submit{width:100%;min-height:50px;border:0;
    border-radius:14px;background:#080808;color:#fff;display:flex;align-items:center;
 justify-content:center;gap:10px;font-size:13px;font-weight:700;margin-top:5px}
.book-submit .fa-whatsapp{font-size:21px}.book-submit .fa-arrow-right{margin-left:auto;margin-right:6px}
.privacy-note{font-size:10px;line-height:1.4;color:#8a8a90;margin:12px 2px 0}.privacy-note i{margin-right:5px}
.faq-section{padding-top:32px}.faq-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;
    background:#f1f1f3;font-size:18px}.faq-section details{border-bottom:1px solid #ededf0}
    .faq-section details:first-of-type{border-top:1px solid #ededf0}
    .faq-section summary{list-style:none;display:flex;align-items:center;
        justify-content:space-between;gap:15px;padding:17px 1px;font-size:12px;
        font-weight:700;cursor:pointer}.faq-section summary::-webkit-details-marker{display:none}
        .faq-section summary i{font-size:12px;transition:transform .2s}.faq-section details[open]
         summary i{transform:rotate(45deg)}.faq-section details p{font-size:12px;line-height:1.6;
            color:#777;padding:0 15px 13px 1px;margin:0}.trust-note{margin:26px 10px 10px;
 background:#f2f2f4;border-radius:20px;padding:17px;display:flex;gap:13px;
 align-items:center}.trust-icon{width:43px;height:43px;display:grid;place-items:center;
 flex-shrink:0;border-radius:15px;background:#fff;font-size:20px}
 .trust-note strong{font-size:12px}.trust-note p{font-size:10px;color:#777;line-height:1.4;
 margin:5px 0 0}.tab-bar{position:fixed;z-index:40;bottom:0;left:50%;transform:translateX(-50%);
 width:min(100%,480px);height:75px;padding:8px 9px calc(8px + env(safe-area-inset-bottom));
 display:flex;justify-content:space-around;align-items:center;background:rgba(255,255,255,.92);
 border-top:1px solid #e9e9ed;backdrop-filter:blur(24px);box-shadow:0 -7px 25px #00000008}
 .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    color:#888a90;text-decoration:none;font-size:9px;font-weight:600;min-height:50px}.tab i{font-size:19px}
    .tab.active{color:#111}.tab.active i{transform:translateY(-1px)}
.contact-dock{display:flex;position:fixed;z-index:9998;bottom:84px;left:50%;transform:translateX(-50%);width:min
    (440px,calc(100% - 28px));padding:7px;background:rgba(255, 255, 255, 0.96);border:1px solid
     #eee;border-radius:18px;box-shadow:0 10px 35px #0002;backdrop-filter:blur(20px);gap:7px}


/* Bottom CTAs stay hidden until JavaScript detects a scroll past the first viewport. */
.bottom-cta,
.contact-dock {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.bottom-cta {
    position: fixed;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
}

.contact-dock a{flex:1;display:flex;align-items:center;justify-content:center;
    gap:8px;padding:9px 7px;border-radius:13px;text-decoration:none;min-width:0}
.dock-call{background:#080808;color:#fff}.dock-whatsapp{background:#e7fff2;color:#111}.contact-dock a>
i{font-size:20px}.dock-whatsapp>i{color:var(--green);font-size:23px}.contact-dock b,
.contact-dock small{display:block}.contact-dock b{font-size:11px}.contact-dock small
{font-size:9px;margin-top:2px;opacity:.72}

.bottom-cta.is-visible,
.contact-dock.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}





.service-directory{display:flex;flex-wrap:wrap;gap:12px}
.directory-card{flex:1 1 calc(50% - 12px);min-width:130px;display:flex;flex-direction:column;
    gap:10px;padding:14px;border:1px solid #ececf0;border-radius:19px;color:#111;
    text-decoration:none;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.directory-card:active{transform:scale(.98)}
.directory-art{height:112px;border-radius:14px;background-size:cover;background-position:center}
.directory-card strong{font:800 14px Manrope,sans-serif}
.directory-card small{font-size:11px;line-height:1.45;color:#777}
.directory-card .directory-link{font-size:11px;font-weight:700;margin-top:auto}
.directory-card .directory-link i{margin-left:5px}
.service-intro{padding:24px 20px 0}
.service-intro p{font-size:13px;line-height:1.7;color:#686970;margin:12px 0 0}
.service-intro h2{font:800 24px/1.12 Manrope,sans-serif;letter-spacing:-.8px;margin:6px 0 0}
.page-breadcrumb{padding:14px 20px 0;font-size:10px;color:#777}
.page-breadcrumb a{color:#333;text-decoration:none}

/* =========================================================
   RESPONSIVE LAYOUTS — MOBILE / TABLET / DESKTOP
   Mobile: 0–599px | Tablet: 600–1023px | Desktop: 1024px+
========================================================= */

/* DESKTOP: 1024px and wider */
@media screen and (min-width: 1024px) {
  body { padding: 24px 24px 50px; background: radial-gradient(ellipse at top, #e9e9ec, #f6f6f8 65%); }
  .app-shell { width: 100%; max-width: 1200px; min-height: 0; margin: 0 auto; padding-bottom: 35px;
     border-radius: 30px; }
  .app-header { height: 86px; padding: 0 38px; }
  .menu-button { display: none; }
  .mobile-menu { display: none !important; }
  .brand-text strong { font-size: 14px; }
  .hero-card { min-height: 460px; margin: 14px; border-radius: 28px; }
  .hero-image { background-position: center 52%; }
  .hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.70) 38%,
     rgba(0,0,0,.12) 100%); }
  .hero-content { max-width: 590px; padding: 40px 38px; }
  .hero-content h1 { max-width: 500px; font-size: 60px; }
  .hero-content > p { font-size: 17px; }
  .hero-benefits { margin-top: 42px; gap: 22px; }
  .hero-benefits b { font-size: 11px; }
  .hero-actions { max-width: 450px; margin-top: 28px; }
  .action { min-height: 58px; }
  .rating-card { position: relative; bottom: 17px; width: 350px; margin: 0 14px; transform: none;
     box-shadow: 0 6px 30px #0002; }
  .section { padding: 40px 38px 0; }
  .section-title h2 { font-size: 30px; }
  .service-rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px;
     margin-right: 0; padding-right: 0; overflow: visible; }
  .service-card { min-width: 0; min-height: 205px; flex: initial; border-radius: 20px; }
  .service-card strong { font-size: 13px; }
  .quick-book { margin: 32px 38px 0; min-height: 215px; }
  .quick-content { padding: 30px 34px; }
  .quick-book h2 { font-size: 32px; }
  .quick-book p { font-size: 14px; }
  .quick-arrow { right: 30px; bottom: 30px; }
  .feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
  .feature-card { width: auto; min-height: 155px; padding: 22px; }
  .process-rail { max-width: 850px; margin: 0 auto; gap: 12px; }
  .process-step h3 { font-size: 13px; }
  .process-step p { font-size: 11px; }
  .booking-layout { margin: 35px 38px 0; flex-direction: row; min-height: 380px; }
  .booking-photo { width: 40%; min-height: 380px; }
  .booking-card { flex: 1; padding: 32px; }
  .booking-card h2 { font-size: 30px; }
  .field { min-height: 51px; }
  .faq-section { padding-top: 40px; }
  .faq-section summary { padding: 20px 1px; font-size: 14px; }
  .trust-note { margin: 32px 38px 0; padding: 23px; }
  .tab-bar { display: none !important; }
  .contact-dock { display: flex; position: fixed; z-index: 9999; left: 50%; bottom: 22px;
     transform: translateX(-50%); width: min(440px, calc(100% - 40px)); padding: 8px;
      gap: 8px; background: rgba(255,255,255,.96); border: 1px solid #e9e9ed;
       border-radius: 20px; box-shadow: 0 10px 35px #0002; backdrop-filter: blur(20px); }
  .contact-dock a { flex: 1; display: flex; align-items: center; justify-content: center;
     gap: 10px; padding: 10px; border-radius: 15px; text-decoration: none; }
  .dock-call { background: #080808; color: #fff; }
  .dock-whatsapp { background: #f5f5f7; color: #111; }
  .dock-whatsapp > i { color: var(--green); }
  .contact-dock a > i { font-size: 22px; }
  .contact-dock b, .contact-dock small { display: block; }
  .contact-dock b { font-size: 12px; }
  .contact-dock small { font-size: 10px; margin-top: 3px; }
  .bottom-cta { max-width: 440px; bottom: 100px; }
  .service-directory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; gap: 16px; }
  .directory-card { min-width: 0; flex: initial; padding: 16px; }
  .directory-art { height: 155px; }
  .directory-card strong { font-size: 15px; }
  .service-intro { padding: 32px 38px 0; }
  .service-intro h2 { font-size: 30px; }
  .service-intro p { font-size: 14px; }
  .page-breadcrumb { padding: 20px 38px 0; }
}

/* TABLET: 600–1023px */
@media screen and (min-width: 600px) and (max-width: 1023px) {
  body { padding: 20px 16px 40px; background: radial-gradient(ellipse at top,
     #e9e9ec, #f6f6f8 65%); }
  .app-shell { width: 100%; max-width: 900px; min-height: 0; margin: 0 auto;
     padding-bottom: 30px; border-radius: 28px; }
  .app-header { height: 78px; padding: 0 28px; }
  .menu-button { display: none; }
  .mobile-menu { display: none !important; }
  .hero-card { min-height: 420px; margin: 12px; border-radius: 25px; }
  .hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.86) 0%,
     rgba(0,0,0,.65) 48%, rgba(0,0,0,.18) 100%); }
  .hero-content { max-width: 520px; padding: 32px 28px; }
  .hero-content h1 { max-width: 460px; font-size: 50px; }
  .hero-content > p { font-size: 16px; }
  .hero-benefits { margin-top: 35px; gap: 15px; }
  .hero-benefits b { font-size: 10px; }
  .hero-actions { max-width: 420px; gap: 12px; }
  .rating-card { width: min(350px, calc(100% - 24px)); margin: 0 12px; }
  .section { padding: 32px 26px 0; }
  .section-title h2 { font-size: 27px; }
  .service-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 13px; margin-right: 0; padding-right: 0; overflow: visible; }
  .service-card { min-width: 0; min-height: 190px; flex: initial; }
  .service-card strong { font-size: 12px; }
  .quick-book { margin: 28px 26px 0; min-height: 195px; }
  .quick-content { padding: 25px; }
  .quick-book h2 { font-size: 28px; }
  .feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .feature-card { width: auto; min-height: 145px; padding: 19px; }
  .process-rail { max-width: 720px; margin: 0 auto; gap: 8px; }
  .process-step h3 { font-size: 12px; }
  .process-step p { font-size: 10px; }
  .booking-layout { margin: 30px 26px 0; flex-direction: row; align-items: stretch; }
  .booking-photo { width: 38%; min-height: 340px; }
  .booking-card { flex: 1; min-width: 0; padding: 25px 20px; }
  .booking-card h2 { font-size: 26px; }
  .faq-section { padding-top: 34px; }
  .trust-note { margin: 28px 26px 0; padding: 20px; }
  .tab-bar { display: none; }
  .contact-dock { display: flex; position: fixed; z-index: 9999; left: 50%; bottom: 18px;
     transform: translateX(-50%); width: min(440px, calc(100% - 32px)); padding: 7px; gap: 7px;
      background: rgba(255,255,255,.96); border: 1px solid #e9e9ed; border-radius: 18px;
       box-shadow: 0 10px 35px #0002; backdrop-filter: blur(20px); }
  .contact-dock a { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center;
     gap: 8px; padding: 10px 8px; border-radius: 13px; text-decoration: none; }
  .dock-call { background: #080808; color: #fff; }
  .dock-whatsapp { background: #f5f5f7; color: #111; }
  .dock-whatsapp > i { color: var(--green); }
  .contact-dock b, .contact-dock small { display: block; }
  .contact-dock b { font-size: 12px; }
  .contact-dock small { font-size: 10px; margin-top: 3px; }
  .bottom-cta { max-width: 440px; bottom: 100px; }
  .service-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 14px; }
  .directory-card { min-width: 0; flex: initial; }
  .directory-art { height: 125px; }
  .service-intro { padding: 28px 26px 0; }
  .service-intro h2 { font-size: 27px; }
  .page-breadcrumb { padding: 17px 26px 0; }
}

/* MOBILE: 0–599px */
@media screen and (max-width: 599px) {
  body { padding: 0 0 20px; }
  .app-shell { width: 100%; min-height: 100vh; margin: 0 auto; padding-bottom: 86px; border-radius: 0; }
  .app-header { height: 72px; padding: 0 16px; }
  .menu-button { display: grid; }
  .hero-card { min-height: 470px; margin: 8px; border-radius: 22px; }
  .hero-content { padding: 25px 18px 20px; }
  .hero-content h1 { font-size: clamp(34px, 9vw, 46px); letter-spacing: -1.8px; }
  .hero-content > p { font-size: 14px; line-height: 1.6; }
  .hero-benefits { margin-top: 35px; gap: 8px; }
  .hero-benefits span { gap: 5px; }
  .hero-benefits i { font-size: 19px; }
  .hero-benefits b { font-size: 9px; }
  .hero-actions { gap: 10px; margin-top: 48px; }
  .action { min-height: 52px; padding: 0 8px; gap: 7px; font-size: 12px; border-radius: 13px; }
  .rating-card { margin: 0 10px; padding: 13px; gap: 10px; }
  .rntg-card { margin-bottom: 16px; }
  .section { padding: 28px 16px 0; }
  .section-title h2 { font-size: 23px; }
  .service-rail { gap: 10px; margin-right: -16px; padding-right: 16px; overflow-x: auto; }
  .service-card { flex: 0 0 145px; min-height: 175px; }
  .quick-book { margin: 24px 8px 0; min-height: 180px; }
  .quick-content { padding: 20px 18px; }
  .quick-book h2 { font-size: 23px; }
  .feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .feature-card { width: auto; min-height: 135px; padding: 15px 12px; }
  .process-rail { gap: 5px; }
  .step-number { width: 35px; height: 35px; font-size: 14px; }
  .process-step h3 { font-size: 10px; }
  .process-step p { font-size: 9px; }
  .process-step > i { font-size: 20px; }
  .booking-layout { margin: 25px 8px 0; flex-direction: column; }
  .booking-photo { width: 100%; min-height: 160px; }
  .booking-card { padding: 20px 15px; }
  .booking-card h2 { font-size: 24px; }
  .book-submit { margin-top: 12px; }
  .faq-section { padding-top: 28px; }
  .trust-note { margin: 24px 8px 10px; padding: 14px; }
  .tab-bar { display: flex; width: 100%; height: calc(70px + env(safe-area-inset-bottom));
     padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
  .contact-dock { display: none !important; }
  .bottom-cta { width: calc(100% - 24px); max-width: 440px; bottom: calc(78px + env(safe-area-inset-bottom)); }
  .service-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 12px; }
  .directory-card { min-width: 0; flex: initial; }
  .directory-art { height: 105px; }
  .service-intro { padding: 22px 16px 0; }
  .service-intro h2 { font-size: 23px; }
  .page-breadcrumb { padding: 14px 16px 0; margin-bottom: 8px; }
}

/* SMALL MOBILE: up to 360px */
@media screen and (max-width: 360px) {
  .hero-content { padding: 22px 14px 18px; }
  .hero-content h1 { font-size: 33px; letter-spacing: -1.5px; }
  .hero-benefits { margin-top: 25px; }
  .hero-benefits b { font-size: 8px; }
  .action { font-size: 11px; gap: 5px; }
  .section { padding-right: 13px; padding-left: 13px; }
  .service-card { flex-basis: 135px; }
  .directory-art { height: 85px; }
  .directory-card { padding: 10px; }
  .directory-card strong { font-size: 12px; }
}

/* ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; 
    animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* FIX: Mobile Bottom CTA */
@media screen and (max-width: 599px) {
    .bottom-cta,
    .contact-dock {
        display: flex !important;
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: calc(82px + env(safe-area-inset-bottom)) !important;
        transform: translateX(-50%) !important;
        width: calc(100% - 24px) !important;
        max-width: 440px !important;
        z-index: 999999 !important;
        box-sizing: border-box !important;
    }

    .bottom-cta.is-visible,
    .contact-dock.is-visible {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}