/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:2px;font-weight:600;font-size:16px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn--xl{min-height:60px;padding:0 32px;font-size:17px}
.btn--hot{background:var(--hot);color:#111}
.btn--hot:hover{background:#ff8238}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(0,0,0,.15)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn--line{border-color:var(--g6);color:var(--white)}
.btn--line:hover{border-color:var(--g3)}
.btn--wa{background:#1f8f4e;color:#fff}
.btn--wa:hover{background:#18763f}
.link{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--white);text-decoration:none;border-bottom:2px solid var(--hot);padding-bottom:4px}
.link svg{width:20px;height:20px;transition:transform .2s}
.link:hover svg{transform:translateX(4px)}

/* Desplegable */
.dd{position:relative}
.dd > button{background:none;border:0;padding:10px 0;cursor:pointer;display:flex;align-items:center;gap:6px}
.dd > button svg{width:12px;height:12px;transition:transform .2s}
.dd__menu{position:absolute;top:100%;left:-28px;min-width:330px;background:var(--g8);border:1px solid var(--g7);border-top:3px solid var(--hot);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.dd__menu a{display:flex;gap:14px;align-items:baseline;padding:11px 26px;font-size:16px;text-decoration:none;color:var(--g1)}
.dd__menu a span{font-family:var(--cond);font-weight:700;color:var(--hot);font-size:15px}
.dd__menu a:hover{background:var(--g7);color:#fff}
.dd:hover .dd__menu,.dd:focus-within .dd__menu,.dd.is-open .dd__menu{opacity:1;visibility:visible;transform:none}
.dd:hover > button svg,.dd.is-open > button svg{transform:rotate(180deg)}

/* Portada */
.hero{position:relative;height:100vh;min-height:680px;overflow:hidden;background:#0c0d0f;color:#fff;display:flex;flex-direction:column}
.hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,11,.86) 0%,rgba(8,9,11,.55) 42%,rgba(8,9,11,.05) 78%),linear-gradient(0deg,rgba(8,9,11,.8) 0%,rgba(8,9,11,0) 38%)}
.hero__grain{position:absolute;inset:0;z-index:1;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero__in{position:relative;z-index:2;width:var(--wrap);margin:auto auto 0;padding-bottom:clamp(36px,6vh,72px)}
.hero__tag{display:inline-flex;align-items:center;gap:12px;font-family:var(--cond);font-weight:700;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:22px}
.hero__tag::before{content:"";width:34px;height:3px;background:var(--hot)}
.hero h1{font-size:clamp(4.2rem,6.6vw,7.6rem);line-height:.86;letter-spacing:-.01em;display:flex;flex-direction:column}
.hero h1 span{display:block}
.hero__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-top:34px}
.hero__foot p{max-width:42ch;font-size:clamp(17px,1.2vw,20px);color:#e6e8ea}
.hero__cta{display:flex;gap:14px;flex:none}
.hero__strip{position:relative;z-index:2;background:var(--hot);color:#111;overflow:hidden;height:58px;display:flex;align-items:center}
.marq{display:flex;align-items:center;gap:34px;white-space:nowrap;animation:marq 38s linear infinite;padding-left:34px}
.marq span{font-family:var(--cond);font-weight:700;font-size:24px;letter-spacing:.06em;text-transform:uppercase}
.marq i{width:9px;height:9px;background:#111;transform:rotate(45deg);flex:none}

/* Intro */
.intro{padding:clamp(100px,11vw,170px) 0;background:var(--g9)}
.intro__in{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(48px,7vw,130px);align-items:end}
.intro__h{font-size:clamp(2.6rem,4.4vw,5rem);line-height:.95}
.intro__h span{color:var(--hot)}
.intro__side p{color:var(--g2);max-width:52ch}
.intro__side p+p{margin-top:16px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--g6)}
.facts li{padding:22px 18px 0 0}
.facts b{display:block;font-family:var(--cond);font-weight:700;font-size:clamp(2.8rem,3.6vw,3.8rem);line-height:1;color:var(--white)}
.facts span{display:block;margin-top:8px;font-size:15px;color:var(--g3)}

/* Servicios en filas con foto que sigue al ratón */
.svc{position:relative;padding:clamp(90px,9vw,140px) 0;background:var(--g1);color:var(--g9)}
.svc h2{color:var(--g9)}
.svc .link{color:var(--g9)}
.svc__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px}
.svc__list{border-top:2px solid var(--g9)}
.svc-row{position:relative;z-index:2;display:grid;grid-template-columns:90px 1.1fr 1.4fr 60px;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid #c9cdd1;text-decoration:none;transition:padding .35s,color .25s}
.svc-row__n{font-family:var(--cond);font-weight:700;font-size:22px;color:var(--hot-d)}
.svc-row__t{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,3vw,3.2rem);line-height:1;color:var(--g9)}
.svc-row__d{font-size:17px;color:var(--g6);max-width:46ch}
.svc-row__a{justify-self:end;width:52px;height:52px;border:1.5px solid var(--g9);border-radius:50%;display:grid;place-items:center;transition:background-color .25s,color .25s,transform .25s}
.svc-row__a svg{width:22px;height:22px}
.svc-row:hover{padding-left:18px}
.svc-row:hover .svc-row__a{background:var(--hot);border-color:var(--hot);transform:rotate(-45deg)}
.svc__float{position:fixed;left:0;top:0;z-index:1;width:340px;height:255px;object-fit:cover;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .25s,transform .25s;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.svc__float.on{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* Banda de foto */
.photo-band{position:relative;height:88vh;min-height:560px;overflow:hidden;background:#000}
.photo-band img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;object-position:center 35%;opacity:.7}
.photo-band__txt{position:absolute;inset:auto 0 0 0;width:var(--wrap);margin:auto;padding-bottom:clamp(50px,8vh,100px);display:flex;flex-direction:column;font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(3rem,6.2vw,7.4rem);line-height:.92;color:#fff}

/* Reseñas */
.revs{padding:clamp(100px,10vw,160px) 0;background:var(--g8)}
.revs__in{display:grid;grid-template-columns:1fr 2.2fr;gap:40px 80px}
.revs__score{grid-row:span 2}
.revs__big blockquote{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(2.2rem,3.4vw,3.8rem);line-height:1.02;color:#fff}
.revs figcaption{margin-top:20px;font-size:15px;color:var(--g3);letter-spacing:.04em}
.revs__small{border-left:3px solid var(--hot);padding-left:24px}
.revs__small blockquote{font-size:24px;color:#fff;font-weight:600}

/* Cita */
.cita-sec{padding:clamp(100px,10vw,160px) 0;background:var(--g9)}
.cita-sec--top{padding-top:40px}
.cita-sec__in{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(48px,6vw,110px);align-items:start}
.cita-sec__txt p{margin-top:20px;max-width:44ch}
.cita-sec__txt a{color:var(--hot);font-weight:600}
.cita{background:var(--g8);border:1px solid var(--g7);border-top:4px solid var(--hot);padding:34px 36px 30px}
.cita__head h2{font-size:clamp(2rem,2.4vw,2.6rem)}
.cita__head p{margin-top:8px;color:var(--g3);font-size:16px}
.cita__bar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:22px 0 26px}
.cita__bar i{height:4px;background:var(--g6);transition:background-color .3s}
.cita__bar i.on{background:var(--hot)}
.quote__step{display:none}
.quote__step.is-on{display:block}
.quote__step legend{font-family:var(--cond);font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.02em;color:#fff;margin-bottom:16px;padding:0}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opts label{position:relative;cursor:pointer}
.opts input{position:absolute;opacity:0}
.opts span{display:flex;align-items:center;min-height:54px;padding:10px 16px;border:1.5px solid var(--g6);font-weight:600;font-size:16px;transition:border-color .2s,background-color .2s}
.opts label:hover span{border-color:var(--g3)}
.opts input:checked + span{border-color:var(--hot);background:rgba(255,106,19,.12);color:#fff}
.opts input:focus-visible + span{outline:2px solid var(--hot);outline-offset:2px}
.fld{margin-bottom:16px}
.fld2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld label{display:block;font-size:14px;font-weight:600;color:var(--g3);margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;min-height:50px;padding:12px 14px;background:var(--g9);border:1.5px solid var(--g6);border-radius:2px;color:#fff;color-scheme:dark}
.fld textarea{min-height:90px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--hot)}
.priv{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--g3);margin:6px 0 4px;cursor:pointer}
.priv input{width:20px;height:20px;margin-top:2px;accent-color:var(--hot);flex:none}
.quote__nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px}
.back{background:none;border:0;color:var(--g3);font-weight:600;cursor:pointer;padding:10px 0}
.back:hover{color:#fff}
.err{color:#ff9b66;font-size:14.5px;margin-top:10px;min-height:1em}
.hp{position:absolute;left:-9999px}

/* Dónde */
.where{padding:clamp(90px,9vw,140px) 0;background:var(--hot);color:#111}
.where h2{color:#111}
.where .kicker{color:#111;opacity:.8}
.where .link{color:#111;border-color:#111}
.where__in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.where__dir{font-size:24px;font-weight:600;margin:22px 0 26px;line-height:1.35}
.hours{border-top:2px solid #111}
.hours div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid rgba(17,17,17,.25);font-size:18px}
.hours b{font-family:var(--cond);font-weight:700;font-size:24px;letter-spacing:.02em}
.hours .off b{opacity:.7}

/* Cabeceras de página */
.phead{position:relative;padding:clamp(80px,8vw,130px) 0 clamp(40px,4vw,60px);background:var(--g9)}
.phead h1{font-size:clamp(3.4rem,6.2vw,7rem);max-width:16ch}
.phead--img{padding-top:clamp(220px,32vh,340px);overflow:hidden}
.phead--img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.phead--img .wrap{position:relative}

/* Rejilla de servicios */
.svc-grid{padding:20px 0 clamp(90px,9vw,140px)}
.svc-grid__in{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{display:flex;flex-direction:column;background:var(--g8);text-decoration:none;border:1px solid var(--g7);transition:border-color .25s,transform .25s}
.svc-card img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:grayscale(.25)}
.svc-card div{padding:24px 26px 28px}
.svc-card span{font-family:var(--cond);font-weight:700;color:var(--hot)}
.svc-card h2{font-size:2.2rem;margin:6px 0 12px}
.svc-card p{font-size:16px;color:var(--g3)}
.svc-card:hover{border-color:var(--hot);transform:translateY(-4px)}

/* Página de servicio (destino de anuncios: todo a la vista, sin efectos de scroll) */
.shero{padding:50px 0 80px;background:var(--g9)}
.shero__in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,5vw,90px);align-items:start}
.shero h1{font-size:clamp(3rem,4.6vw,5.4rem);max-width:13ch}
.shero__intro{margin-top:22px;font-size:19px;max-width:50ch;color:var(--g1)}
.ticks{margin-top:26px;display:grid;gap:10px}
.ticks li{position:relative;padding-left:30px}
.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:8px;border-left:2.5px solid var(--hot);border-bottom:2.5px solid var(--hot);transform:rotate(-45deg)}
.shero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.shero__meta{margin-top:20px;font-size:15px;color:var(--g3)}
.sband{background:var(--g8);padding:80px 0}
.sband__in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.sband img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sband__rev blockquote{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,2.8vw,3.1rem);line-height:1.02;color:#fff}
.sband__rev figcaption{margin-top:18px;color:var(--g3);font-size:15px}
.others{padding:70px 0;background:var(--g9)}
.others__list{display:flex;flex-wrap:wrap;gap:12px}
.others__list a{padding:14px 22px;border:1.5px solid var(--g6);text-decoration:none;font-weight:600}
.others__list a:hover{border-color:var(--hot);color:#fff}

/* Contacto */
.contact-list{display:grid;border-top:1px solid var(--g6)}
.contact-list > *{display:flex;flex-direction:column;padding:22px 0;border-bottom:1px solid var(--g6);text-decoration:none}
.contact-list span{font-size:14px;color:var(--g3);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.contact-list b{font-family:var(--cond);font-weight:700;font-size:clamp(1.8rem,2.4vw,2.6rem);text-transform:uppercase;color:#fff;line-height:1.05;margin-top:4px}
.contact-list a:hover b{color:var(--hot)}

/* WhatsApp flotante, toast, crédito */
.wa-float{position:fixed;right:26px;bottom:26px;z-index:90;width:62px;height:62px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.wa-float svg{width:32px;height:32px}
#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,30px);background:#fff;color:#111;padding:14px 22px;font-weight:600;opacity:0;transition:opacity .3s,transform .3s;z-index:120;pointer-events:none}
#toast.show{opacity:1;transform:translate(-50%,0)}
.revs__note{color:var(--g3);font-size:16px;max-width:26ch}
.nowrap{white-space:nowrap}
/* Crédito RelyViews v3 (regla de Alain, 11/11/2026 noche): compacto, con los colores de cada web y en la línea del copyright, sin banda propia.
   Marcado: <span class="rv-credit"><a href="https://relyviews.com" target="_blank" rel="noopener">Diseño web: <strong>RelyViews</strong></a></span> dentro de la fila del copyright.
   Toma el color del texto del pie (currentColor): el borde y el símbolo se adaptan a pies claros y oscuros. El símbolo se vuelve azul de marca al pasar el ratón.
   Zona de pulsación de 44 px aunque la píldora visible mida ~30 px. */
.rv-credit{display:inline-flex;margin:0;padding:0;border:0;background:none}
.rv-credit a[href*="relyviews.com"]{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:0;min-height:44px;padding:0 13px 0 10px;font-size:14px;font-weight:400;line-height:1;letter-spacing:0;color:inherit;opacity:1;text-decoration:none;white-space:nowrap;background:none;border:0;box-shadow:none;transform:none}
.rv-credit a[href*="relyviews.com"]::before{content:"";position:absolute;inset:7px 0;z-index:-1;width:auto;height:auto;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;background:none;transform:none;transition:border-color .2s,background-color .2s}
.rv-credit a[href*="relyviews.com"]::after{content:"";order:-1;flex:none;width:15px;height:15px;margin:0 7px 0 0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cmask id='m'%3E%3Crect width='32' height='32' fill='%23fff'/%3E%3Cpath d='M9.5 13.8l4.3 4.3 8.7-8.7' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Cpath mask='url(%23m)' d='M8 2h16a6 6 0 0 1 6 6v11a6 6 0 0 1-6 6H13l-6 5v-5.3A6 6 0 0 1 2 19V8a6 6 0 0 1 6-6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cmask id='m'%3E%3Crect width='32' height='32' fill='%23fff'/%3E%3Cpath d='M9.5 13.8l4.3 4.3 8.7-8.7' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Cpath mask='url(%23m)' d='M8 2h16a6 6 0 0 1 6 6v11a6 6 0 0 1-6 6H13l-6 5v-5.3A6 6 0 0 1 2 19V8a6 6 0 0 1 6-6z'/%3E%3C/svg%3E") center/contain no-repeat;transform:none;transition:background-color .2s}
.rv-credit a[href*="relyviews.com"] strong{margin-left:.3em;font-weight:600;color:inherit;text-decoration:none;letter-spacing:0}
.rv-credit a[href*="relyviews.com"]:hover,.rv-credit a[href*="relyviews.com"]:focus-visible{text-decoration:none;background:none;box-shadow:none;transform:none}
.rv-credit a[href*="relyviews.com"]:hover::before,.rv-credit a[href*="relyviews.com"]:focus-visible::before{border-color:currentColor;background:color-mix(in srgb,currentColor 8%,transparent)}
.rv-credit a[href*="relyviews.com"]:hover::after,.rv-credit a[href*="relyviews.com"]:focus-visible::after{background:#2589E6;transform:none}
.rv-credit a[href*="relyviews.com"]:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:999px}
.ftr__legal{align-items:center;gap:4px 24px}
.ftr__legal .rv-credit{color:var(--g1)}
@media (min-width:768px){.ftr__legal{padding-right:max(0px,calc(96px - (100vw - var(--wrap))/2))}}
.ftr__legal{padding-bottom:12px}

/* ===== Producción 11/11/2026 ===== */
.dd__menu--z{min-width:260px}
.phead__lead{margin-top:22px;max-width:60ch;font-size:19px;color:var(--g1)}
.zones{padding:10px 0 clamp(90px,9vw,140px)}
.zones__in{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.zone-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px 70px 28px 26px;background:var(--g8);border:1px solid var(--g7);text-decoration:none;transition:border-color .25s}
.zone-card b{font-family:var(--cond);font-weight:700;font-size:2.2rem;text-transform:uppercase;line-height:1;color:#fff}
.zone-card span{font-size:16px;color:var(--g3)}
.zone-card i{position:absolute;right:24px;top:28px;width:26px;color:var(--hot)}
.zone-card:hover{border-color:var(--hot)}
.zone-body{padding:clamp(60px,6vw,100px) 0;background:var(--g9)}
.zone-body__in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,5vw,90px);align-items:start}
.zone-body__txt p{max-width:58ch}
.zone-body__txt p+p{margin-top:16px}
.zone-lead{font-size:21px;color:#fff}
.zone-route{font-size:16px;color:var(--g3)}
.zone-route b{color:var(--g1)}
.zone-route a{color:var(--hot)}
.zone-k{margin-top:34px !important}
.sband__txt{display:flex;flex-direction:column;gap:34px}
.sband__det{font-size:19px;color:var(--g1);max-width:52ch}
.priv a{color:var(--hot)}
.contact-mail{text-transform:none !important;font-size:clamp(1.3rem,1.8vw,1.9rem) !important;word-break:break-all}
/* Legales */
.legal-main{padding:clamp(50px,6vw,90px) 0 clamp(80px,8vw,120px);background:var(--g9)}
.legal{max-width:860px}
.legal h1{font-size:clamp(2.8rem,5vw,4.6rem);margin-bottom:14px}
.legal h2{font-size:clamp(1.6rem,2.2vw,2.2rem);margin:40px 0 14px;scroll-margin-top:calc(var(--hdr) + 20px)}
.legal p,.legal li{color:var(--g2);font-size:17px}
.legal p+p{margin-top:12px}
.legal ul{list-style:disc;padding-left:22px;margin-top:10px}
.legal li+li{margin-top:8px}
.legal a{color:var(--hot)}
.legal-updated{color:var(--g3) !important;font-size:15px !important}
.table-wrap{overflow-x:auto;margin:16px 0}
.legal table{border-collapse:collapse;width:100%;min-width:620px;font-size:15px}
.legal th,.legal td{border:1px solid var(--g6);padding:10px 12px;text-align:left;vertical-align:top;color:var(--g2)}
.legal th{background:var(--g8);color:#fff}
/* Barra móvil Llamar + WhatsApp (solo móvil; el flotante solo en ordenador) */
.m-bar{display:none}
@media (max-width:767px){
  .wa-float{display:none}
  .m-bar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:1fr 1fr;background:var(--g9);border-top:1px solid var(--g7);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .m-bar a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;font-weight:600;font-size:17px;text-decoration:none;border-radius:2px}
  .m-bar svg{width:22px;height:22px}
  .m-bar__call{background:var(--hot);color:#111}
  .m-bar__wa{background:#1f8f4e;color:#fff}
  #toast{bottom:92px}
}
/* ===== Tableta y móvil ===== */
@media (max-width:1100px){
  .svc-row{grid-template-columns:60px 1fr 50px}
  .svc-row__d{display:none}
  .intro__in,.cita-sec__in,.where__in,.shero__in,.sband__in,.zone-body__in{grid-template-columns:1fr}
  .revs__in{grid-template-columns:1fr}
  .revs__score{grid-row:auto}
  .svc-grid__in,.zones__in{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  body{font-size:17px}
  .hero{height:auto;min-height:100svh}
  .hero::after{background:linear-gradient(0deg,rgba(8,9,11,.92) 0%,rgba(8,9,11,.6) 55%,rgba(8,9,11,.35) 100%)}
  .hero__in{padding-top:calc(var(--hdr) + 40px)}
  .hero__tag{font-size:14px;letter-spacing:.14em}
  .hero h1{font-size:clamp(3.1rem,14vw,4.4rem)}
  .hero__foot{flex-direction:column;align-items:stretch;gap:24px;margin-top:22px}
  .hero__cta{flex-direction:column}
  .hero__cta .btn{width:100%}
  .hero__strip{height:46px}
  .marq span{font-size:19px}
  .intro{padding:70px 0}
  .intro__h{font-size:2.3rem}
  .facts li{padding-right:8px}
  .facts b{font-size:2.2rem}
  .facts span{font-size:13.5px}
  .svc{padding:70px 0}
  .svc__head{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}
  .svc-row{grid-template-columns:40px 1fr 44px;gap:12px;padding:20px 0}
  .svc-row__t{font-size:1.75rem}
  .svc-row__a{width:42px;height:42px}
  .svc-row:hover{padding-left:0}
  .svc__float{display:none}
  .photo-band{height:60vh;min-height:380px}
  .photo-band__txt{font-size:2.8rem}
  .revs{padding:70px 0}
  .revs__big blockquote{font-size:1.9rem}
  .revs__small blockquote{font-size:20px}
  .cita-sec{padding:70px 0}
  .cita{padding:24px 18px 22px}
  .opts,.fld2{grid-template-columns:1fr}
  .opts span{min-height:50px}
  .where{padding:70px 0}
  .where__in{gap:40px}
  .where__dir{font-size:20px}
  .phead{padding:50px 0 30px}
  .phead h1{font-size:clamp(2.6rem,11vw,3.6rem)}
  .phead--img{padding-top:180px}
  .svc-grid__in,.zones__in{grid-template-columns:1fr}
  .shero{padding:34px 0 60px}
  .shero h1{font-size:clamp(2.5rem,10.5vw,3.4rem)}
  .shero__cta{flex-direction:column}
  .shero__cta .btn{width:100%}
  .sband{padding:56px 0}
  .sband__in{gap:34px}
  .sband__rev blockquote{font-size:1.7rem}
  .others{padding:50px 0}
  .zone-card b{font-size:1.9rem}
  .contact-list b{font-size:1.7rem}
}
@media (max-width:767px){.ftr__legal{padding-bottom:96px;flex-direction:column;align-items:flex-start}}
@media (max-width:767px){.hero__cta .btn--ghost,.shero__cta .btn--wa,.shero__cta .btn--line{display:none}}
@media (max-width:767px){.ftr{padding-bottom:84px}.ftr__legal{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-bottom:12px}.ftr__legal .ftr__links{order:3;width:100%}}
.ftr__linksrow{margin-top:40px;padding-top:14px;border-top:1px solid var(--g7);font-size:14px;color:var(--g3)}
.ftr__linksrow + .ftr__legal{margin-top:0;border-top:0;padding-top:4px}
@media (max-width:767px){.ftr__legal{flex-wrap:nowrap}}
