/* Layout adaptable: escritorio, tabletas, teléfonos y texto ampliado. */
body{overflow-x:hidden}
.hero h1{overflow-wrap:normal}
.hero-text,.section-heading>p,.booking-intro>p:not(.eyebrow){font-size:clamp(1rem,1.2vw,1.1rem)}
.main-nav,.text-link,.service-grid p,.booking-form input,.booking-form select,.booking-form textarea,.client strong,.detail strong,.search-box input{font-size:max(14px,1rem)}
.booking-form label,.board-meta,.tab,.action,.csv-help strong,.csv-help p,.admin-subtitle{font-size:max(12px,.875rem)}
.button{font-size:max(12px,.8125rem);min-height:44px}
.booking-card,.board-toolbar,.admin-topbar,.hero,.service-grid article{min-width:0}
.client>div,.detail{min-width:0}
.client small,.detail small{white-space:normal;overflow-wrap:anywhere;line-height:1.45}
.booking-card{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,auto)}
.card-actions{min-width:0}
.action{min-height:42px}
@media(max-width:1100px){.hero h1{font-size:clamp(3.4rem,7vw,6rem)}.hero-copy{padding-right:3vw}.booking-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.card-actions{grid-column:1/-1;justify-content:flex-start}}
@media(min-width:641px) and (max-width:980px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-right:clamp(22px,5vw,78px)}.hero-copy{padding:60px 20px 60px 0}.hero-visual{min-height:560px}.hero h1{font-size:clamp(3rem,6.1vw,5rem)}.floating-card{left:-20px}.section-heading{gap:30px}}
@media(max-width:640px){.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:58px 20px 54px}.hero h1{font-size:clamp(2.7rem,10vw,3.7rem);line-height:1.04}.hero-visual{min-height:0;height:60vh;max-height:540px}.hero-actions{flex-wrap:wrap;gap:20px}.floating-card{left:16px;bottom:20px}.booking-card{grid-template-columns:minmax(0,1fr)}.client,.card-actions{grid-column:auto}.state-pill{justify-self:start}.admin-tools{flex-wrap:wrap}.admin-tools .button{flex-basis:140px}.tabs{gap:4px}.tab{padding:10px}.csv-help>div{align-items:flex-start}.section-heading h2,.booking h2,.admin h2{font-size:clamp(2.4rem,10vw,3.8rem)}}
@media(max-width:380px){.brand small{display:none}.header-cta{padding:0 10px}.header-cta span{display:none}.hero h1{font-size:2.6rem}.metrics{grid-template-columns:1fr 1fr}.metric{padding:12px}.admin-tools{flex-direction:column}.admin-tools .button{width:100%;flex:auto}}
