/* Pasada global de coherencia visual y responsive */
:root{--content-max:1400px;--page-gutter:max(5vw,24px);--section-space:clamp(4.75rem,7vw,7.5rem);--line:#ddd4d9;--focus:#b34736}html{overflow-x:clip;scroll-padding-top:90px}body{max-width:100%;overflow-x:clip}main>*{min-width:0}section[id]{scroll-margin-top:88px}h1,h2,h3,p,a,span,strong,small{overflow-wrap:break-word}.button,.text-link,.faq-cta,.publication-link,.location-directions{min-height:44px}.button{padding-inline:1.4rem;border-radius:10px}.location-card,.event-card,.testimonial-card,.service-grid article{border-radius:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 72%,white);outline-offset:3px}.section{max-width:var(--content-max);padding:var(--section-space) var(--page-gutter)}.heading{margin-bottom:clamp(2.25rem,4vw,3.5rem)}.heading h2,.profile h2{font-size:clamp(2.55rem,4.4vw,4.75rem)}

/* Hero: menor dominancia, misma identidad cálida */
.hero{min-height:clamp(660px,calc(100svh - 88px),820px);grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:clamp(3rem,7vw,7rem);padding:clamp(4.5rem,7vw,7rem) var(--page-gutter);overflow:hidden}.hero-copy{max-width:690px}.hero h1{max-width:12.5ch;margin:.25rem 0 1.4rem;font-size:clamp(3.8rem,6vw,5.8rem);line-height:.98}.hero-copy>p{max-width:58ch;font-size:clamp(1rem,1.35vw,1.2rem)}.hero-visual{width:100%;height:clamp(500px,48vw,620px);min-height:0;align-self:center;border-radius:48% 48% 8px 8px}.hero-visual>img{width:100%;height:100%;object-fit:cover}.hero .actions{gap:1.2rem;margin-top:1.8rem}.trust-note{display:none}

/* Contenido largo y módulos opcionales */
.conditions{padding-inline:var(--page-gutter)}.conditions>*{width:100%;max-width:1680px}.condition-list article,.condition-list article.condition-no-media{grid-template-columns:64px minmax(0,1fr) clamp(300px,24vw,390px);gap:clamp(1.5rem,3vw,3.5rem);min-height:220px;padding:1.5rem 0}.condition-list article>div:nth-child(2){min-width:0}.condition-list h3{font-size:clamp(1.25rem,1.55vw,1.65rem);line-height:1.25}.condition-list p{max-width:72ch}.condition-media{width:100%;height:190px;border:1px solid #d8ced4;background:#e8e1dd}.condition-media img{width:100%;height:100%;object-fit:cover}.condition-photo-placeholder{display:flex;position:relative;align-items:center;justify-content:center;height:100%;flex-direction:column;gap:.35rem;overflow:hidden;background:linear-gradient(145deg,#eee8e3,#ddd4d9);color:var(--primary)}.condition-photo-placeholder:before{content:"";position:absolute;width:180px;height:180px;right:-55px;top:-75px;border:1px solid rgba(80,54,78,.13);border-radius:50%}.condition-photo-placeholder span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:.35rem;border:1px solid rgba(80,54,78,.3);border-radius:50%;font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;font-weight:400}.condition-photo-placeholder strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;font-weight:500;letter-spacing:0;text-transform:none}.condition-photo-placeholder small{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.care-method{max-width:var(--content-max);padding:var(--section-space) var(--page-gutter)}.care-method h2{font-size:clamp(2.55rem,4.5vw,4.75rem)}.care-method-no-media{grid-template-columns:minmax(0,920px);justify-content:center}.care-method-no-media .care-method-copy{padding-right:clamp(0rem,4vw,3rem)}.service-grid article:only-child{grid-column:span 7;min-height:250px}.guide-list a{min-width:0}.guide-list a>div{min-width:0}.publication-post h3,.event-content h3{overflow-wrap:anywhere}.publication-cover-art{height:auto}.event-heading h2{font-size:clamp(2.75rem,4.7vw,4.9rem)}.testimonial-heading h2{font-size:clamp(2.7rem,4.5vw,4.6rem)}.faq-intro h2{font-size:clamp(2.5rem,4vw,4.2rem)}.location-card.location-no-media .location-content{padding-top:clamp(1.8rem,3vw,2.6rem)}.location-content,.event-content,.publication-post-copy{min-width:0}

/* Formulario: jerarquía y foco sin alterar campos ni envío */
.appointment{gap:clamp(3.5rem,7vw,7rem);padding:var(--section-space) var(--page-gutter)}.appointment h2{font-size:clamp(2.7rem,4.8vw,4.9rem)}.appointment form{align-self:start;padding:clamp(1.25rem,2.5vw,2.25rem);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.045)}.appointment label{gap:.45rem}.appointment input,.appointment textarea,.appointment select{min-height:46px;border-color:rgba(255,255,255,.42);transition:border-color .2s ease,background .2s ease}.appointment input:focus,.appointment textarea:focus,.appointment select:focus{border-color:#fff;background:rgba(255,255,255,.1)}.appointment textarea{min-height:120px}.appointment form>.button{justify-self:start;min-width:180px}.notice{max-width:54ch}

/* Navegación y footer con contenido flexible */
.header-inner,.site-header .brand,.brand-copy{min-width:0}.site-header .brand{max-width:310px}.site-header nav{min-width:0}.nav-links{min-width:0}.footer-main>*{min-width:0}.footer-nav>a,.footer-locations>a,.footer-contact>a{overflow-wrap:anywhere}

@media(max-width:1180px){.hero{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.site-header nav{max-height:calc(100svh - 88px);overflow-y:auto}.nav-links a,.nav-appointment{min-height:44px}.nav-appointment{margin-bottom:.1rem}}
@media(max-width:900px){.hero{min-height:auto;grid-template-columns:1fr;gap:3rem;padding-top:4rem}.hero-copy{max-width:760px}.hero h1{max-width:12ch;font-size:clamp(3.25rem,10vw,5rem)}.hero-visual{width:min(100%,620px);height:auto;aspect-ratio:5/4;justify-self:center}.profile-main{gap:3.5rem}.condition-list article,.condition-list article.condition-no-media{grid-template-columns:48px minmax(0,1fr) minmax(220px,34vw);gap:1.5rem}.condition-media{height:170px}.care-method-has-media{gap:3.5rem}.service-grid article:only-child{grid-column:span 12}.publication-post,.publication-post:nth-child(even){gap:2.25rem}.footer-main{gap:2.75rem}}
@media(max-width:600px){:root{--page-gutter:20px;--section-space:clamp(4rem,16vw,5.25rem)}html{scroll-padding-top:76px}section[id]{scroll-margin-top:74px}.site-header{padding-inline:20px}.header-inner{gap:1rem}.site-header .brand{max-width:calc(100% - 58px)}.brand-copy{max-width:calc(100% - 46px)}.brand-copy strong{max-width:100%;white-space:normal;line-height:1.15}.hero{gap:2.4rem;padding:3.5rem var(--page-gutter);background:var(--paper)}.hero h1{max-width:100%;font-size:clamp(2.55rem,12vw,3.45rem);line-height:1.02}.hero-copy>p{font-size:1rem;line-height:1.65}.hero .actions{align-items:stretch;gap:.8rem}.hero .actions .button{width:max-content;max-width:100%}.hero .actions .text-link{width:max-content;max-width:100%}.hero-visual{width:100%;aspect-ratio:4/5;border-radius:46% 46% 6px 6px}.section,.care-method{padding:var(--section-space) var(--page-gutter)}.heading h2,.profile h2,.care-method h2,.publication-section-heading h2,.event-heading h2,.testimonial-heading h2,.faq-intro h2,.appointment h2{font-size:clamp(2.25rem,10.5vw,3rem);line-height:1.05;overflow-wrap:anywhere}.heading.split{gap:1.25rem}.heading.split>p{margin:0}.profile-main{gap:2.5rem}.condition-list article,.condition-list article.condition-no-media{grid-template-columns:34px minmax(0,1fr);gap:1rem;padding:1.5rem 0}.condition-copy{grid-column:2}.condition-media,.condition-list article.condition-has-media .condition-media{grid-column:2;width:100%;height:auto;min-height:220px;aspect-ratio:4/3}.condition-list h3{font-size:1.12rem}.condition-list p{font-size:.9rem}.condition-photo-placeholder strong{font-size:1rem}.care-method-copy{padding-left:.9rem;border-left-width:3px}.care-support-label{width:auto}.care-support small{display:block;border-radius:3px;line-height:1.5}.service-grid article,.service-grid article:nth-child(4n+1),.service-grid article:only-child{min-height:0;padding:1.5rem}.service-bottom{align-items:flex-start;flex-direction:column}.guide-list a{align-items:flex-start;flex-direction:column;gap:.55rem}.guide-list a>span{font-weight:800}.gallery .gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery .gallery-grid figure{width:100%;max-width:330px}.publication-section-heading{margin-bottom:2rem}.publication-post,.publication-post:nth-child(even){gap:1.5rem;padding:2.6rem 0}.publication-post-copy{padding-left:.9rem}.publication-cover-art{height:auto;min-height:240px}.event-card,.testimonial-card,.location-card{box-shadow:0 10px 28px rgba(45,35,43,.08)}.event-content{padding:1.45rem}.testimonial-card{min-height:0}.faq-list .faq-item button{grid-template-columns:28px minmax(0,1fr) 34px}.faq-list .faq-answer{padding-right:1rem}.location-grid{gap:1rem}.location-content{padding:1.45rem}.location-card h3{font-size:1.45rem}.appointment{padding:var(--section-space) var(--page-gutter)}.appointment form{padding:1rem}.appointment input,.appointment textarea,.appointment select{font-size:16px}.appointment form>.button{width:100%}.footer-main{width:calc(100% - 40px)}.footer-bottom{width:calc(100% - 40px)}}
@media(max-width:360px){:root{--page-gutter:16px}.site-header{padding-inline:16px}.brand-copy small{display:none}.site-header .brand-mark{width:32px;height:32px}.menu-toggle{flex:0 0 42px;width:42px;height:42px}.hero h1{font-size:clamp(2.35rem,11.5vw,2.75rem)}.hero .actions{align-items:flex-start}.hero-visual{aspect-ratio:4/5}.footer-main,.footer-bottom{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.appointment input,.appointment textarea,.appointment select{transition:none}}


/* =========================================================
   HERO V22 — SOLO IMAGEN MÁS ANCHA
   No cambia textos, CTAs, badge ni otras secciones.
   ========================================================= */
@media (min-width:1101px){
  .hero{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.28fr) !important;
    gap:clamp(2rem,3.2vw,3.5rem) !important;
  }

  .hero-visual{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
    align-self:center !important;
  }

  .hero-media{
    width:100% !important;
    height:100% !important;
    aspect-ratio:4 / 3 !important;
  }

  .hero-media>img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
  }
}
