*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffdf9;color:#29262c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button,input,textarea,select{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem;z-index:100}.skip:focus{top:1rem}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);position:sticky;top:0;background:rgba(255,253,249,.94);backdrop-filter:blur(14px);border-bottom:1px solid #2b24301c;z-index:20}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:750}.brand img{width:auto;height:48px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-family:Georgia;font-size:24px}.site-header nav{display:flex;align-items:center;gap:1.7rem}.site-header nav>a:not(.button){text-decoration:none;font-size:.91rem}.menu-toggle{display:none;border:0;background:none}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--primary);color:#fff;padding:.9rem 1.35rem;text-decoration:none;font-weight:700;cursor:pointer}.button.small{padding:.66rem 1rem}.button.accent{background:var(--accent);color:#241d22}.text-link{font-weight:750;text-decoration:none;border-bottom:1px solid}.text-link.light{color:#fff}.hero{min-height:calc(100svh - 82px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);align-items:center;gap:5vw;padding:7vw max(5vw,24px);background:linear-gradient(135deg,var(--paper) 0 67%,#fff 67%);position:relative}.hero-copy{max-width:760px}.eyebrow{display:block;color:var(--accent);font-size:.75rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem}.hero h1,.section h2,.appointment h2,.final-cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em;line-height:1.02}.hero h1{font-size:clamp(3.2rem,7vw,7.5rem);margin:.25rem 0 1.5rem;color:var(--primary)}.hero-copy>p{font-size:clamp(1rem,1.6vw,1.32rem);max-width:60ch}.actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.hero-visual{min-height:560px;border-radius:45% 45% 12px 12px;overflow:hidden;background:var(--secondary)}.hero-visual>img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{height:100%;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--primary);background:repeating-linear-gradient(135deg,#ffffff38 0 1px,transparent 1px 22px)}.portrait-placeholder span{font-family:Georgia;font-size:1.7rem}.portrait-placeholder small{opacity:.7}.trust-note{position:absolute;right:4vw;bottom:5vw;background:#fff;padding:1.2rem 1.5rem;box-shadow:0 18px 60px #2b223521;max-width:280px}.trust-note span,.trust-note strong{display:block}.trust-note span{font-size:.86rem;margin-top:.3rem}.section{padding:clamp(5rem,9vw,10rem) max(5vw,24px);max-width:1500px;margin:auto}.heading{max-width:760px;margin-bottom:3rem}.heading.split{max-width:none;display:grid;grid-template-columns:1fr .75fr;gap:5vw;align-items:end}.heading h2,.profile h2{font-size:clamp(2.5rem,5vw,5.2rem);margin:.3rem 0;color:var(--primary)}.heading.split>p{max-width:50ch}.section-label{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}.profile{display:grid;grid-template-columns:40px 1fr;gap:4vw}.profile-main{display:grid;grid-template-columns:1.3fr .65fr;gap:8vw}.lead{font-size:1.28rem}.rich{color:#625b64}.profile-side img{aspect-ratio:4/5;object-fit:cover}.profile-side dl{border-top:3px solid var(--accent);margin-top:1rem;padding-top:1rem}.profile-side dt{font-size:.72rem;text-transform:uppercase}.profile-side dd{margin:.2rem 0;font-weight:700}.ribbon{background:var(--primary);color:#fff;padding:3.5rem max(5vw,24px)}.credential-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}.credential-row article{border-left:1px solid #ffffff42;padding-left:1.2rem}.credential-row span,.credential-row strong{display:block}.credential-row span{opacity:.7;font-size:.88rem}.specialty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:#ded8d2;border:1px solid #ded8d2}.specialty-grid article{background:#fffdf9;padding:2.5rem}.specialty-grid .icon{font-size:1.8rem;color:var(--accent)}.specialty-grid h3,.service-grid h3,.guide-list h3{font-family:Georgia;font-size:1.5rem;margin:1rem 0 .5rem}.conditions{background:#f2eee8;max-width:none}.conditions>*{max-width:1350px;margin-left:auto;margin-right:auto}.filters{display:flex;overflow:auto;gap:.6rem;margin-bottom:2rem;padding-bottom:.4rem}.filters button{white-space:nowrap;border:1px solid #c9c1c7;background:transparent;border-radius:999px;padding:.6rem 1rem;cursor:pointer}.filters button[aria-pressed=true]{background:var(--primary);color:#fff}.condition-list{border-top:1px solid #ccc3ca}.condition-list article{display:grid;grid-template-columns:70px 1fr 180px;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid #ccc3ca}.condition-list article[hidden]{display:none}.condition-list h3{font-size:1.35rem;margin:.2rem 0}.condition-list p{margin:0;color:#665f67}.condition-list span{font-size:.72rem;text-transform:uppercase;color:var(--accent);font-weight:800}.condition-list img{width:180px;height:100px;object-fit:cover}.condition-index{font-family:Georgia;font-size:1.3rem;color:#8e858b}.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.service-grid article{grid-column:span 4;min-height:320px;padding:2rem;border:1px solid #ded8d2;display:flex;flex-direction:column;justify-content:space-between;border-radius:4px}.service-grid article:nth-child(4n+1){grid-column:span 6;background:var(--paper)}.service-meta{font-size:.72rem;text-transform:uppercase;color:#716871}.service-bottom{display:flex;align-items:end;justify-content:space-between;gap:1rem}.service-bottom a{font-weight:700}.approach{display:grid;grid-template-columns:.75fr 1fr;gap:8vw}.approach ol{list-style:none;margin:0;padding:0}.approach li{display:grid;grid-template-columns:60px 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid #dcd4d8}.approach li>span{color:var(--accent);font-weight:800}.approach h3{margin:0}.approach p{margin:.3rem 0;color:#665f67}.guides{background:var(--paper);max-width:none}.guides>*{max-width:1350px;margin-left:auto;margin-right:auto}.guide-list a{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid #d6cbc2;padding:1.3rem 0;text-decoration:none}.guide-list h3,.guide-list p{margin:.2rem 0}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:260px;gap:1rem}.gallery figure{grid-column:span 4;margin:0;position:relative;overflow:hidden}.gallery figure:nth-child(4n+1){grid-column:span 8}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.03)}.gallery figcaption{position:absolute;inset:auto 0 0;padding:3rem 1.4rem 1.2rem;color:#fff;background:linear-gradient(transparent,#231d26db)}.gallery figcaption span,.gallery figcaption strong{display:block}.gallery figcaption span{font-size:.84rem;opacity:.83}.resource-grid,.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.resource-grid article,.location-grid article{padding:2rem;background:#fff;border:1px solid #ddd5d9}.testimonials blockquote{font-family:Georgia;font-size:clamp(1.7rem,3vw,3rem);margin:2rem 0;padding-left:2rem;border-left:5px solid var(--accent)}.testimonials footer{font-family:Inter,sans-serif;font-size:.85rem;margin-top:1rem}.insurers{display:flex;justify-content:space-between;gap:2rem;background:var(--paper)}.insurers>div{display:flex;flex-wrap:wrap;gap:1rem}.faq{display:grid;grid-template-columns:.75fr 1fr;gap:8vw}.faq-list article{border-top:1px solid #d7ced3}.faq-list button{width:100%;border:0;background:none;padding:1.4rem 0;display:flex;justify-content:space-between;text-align:left;font-weight:750;cursor:pointer}.faq-list article>div{padding:0 2rem 1.5rem 0;color:#635b64}.appointment{background:var(--primary);color:#fff;padding:clamp(5rem,9vw,9rem) max(5vw,24px);display:grid;grid-template-columns:.7fr 1fr;gap:8vw}.appointment h2{font-size:clamp(2.8rem,5vw,5rem);margin:.5rem 0}.notice{border-left:3px solid var(--accent);padding-left:1rem;margin:2rem 0;color:#e9e1e9}.appointment form,.contact form{display:grid;gap:1rem}.appointment input,.appointment textarea,.appointment select{background:#ffffff0b;color:#fff;border-color:#ffffff55}.appointment option{color:#222}.appointment small{color:#d6cbd4}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;gap:.35rem;font-size:.82rem;font-weight:700}input,textarea,select{width:100%;padding:.8rem;border:1px solid #bdb4bb;background:#fff;border-radius:2px}textarea{min-height:105px;resize:vertical}.check{display:flex;grid-template-columns:auto 1fr;align-items:start;font-weight:400}.check input{width:auto;margin-top:.25rem}.hp{position:absolute!important;left:-10000px!important}.contact{display:grid;grid-template-columns:.65fr 1fr;gap:9vw}.contact h2{font-size:clamp(2.5rem,5vw,4.5rem);margin:.3rem 0}.final-cta{text-align:center;background:var(--secondary);padding:6rem 2rem}.final-cta h2{font-size:clamp(2.5rem,5vw,5rem);margin:0}.site-footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;padding:3rem max(5vw,24px);background:#211c23;color:#fff}.site-footer p{opacity:.7}.site-footer>a{font-size:.8rem}.form-status{padding:.8rem;background:#fff2;color:#fff}@media(max-width:900px){.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:1.5rem;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:4rem}.hero-visual{min-height:440px}.trust-note{right:2rem}.profile-main,.heading.split,.approach,.faq,.appointment,.contact{grid-template-columns:1fr}.section-label{writing-mode:initial}.profile{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(4n+1){grid-column:span 6}.gallery figure,.gallery figure:nth-child(4n+1){grid-column:span 6}.insurers{display:block}.site-footer{grid-template-columns:1fr}}@media(max-width:600px){.site-header{height:70px}.site-header nav{top:70px}.hero{min-height:auto}.hero h1{font-size:3rem}.hero-visual,.portrait-placeholder{min-height:360px}.trust-note{position:relative;right:auto;bottom:auto}.section{padding:4.5rem 1.25rem}.condition-list article{grid-template-columns:38px 1fr}.condition-list img{display:none}.service-grid article,.service-grid article:nth-child(4n+1){grid-column:span 12;min-height:260px}.gallery-grid{grid-auto-rows:220px}.gallery figure,.gallery figure:nth-child(4n+1){grid-column:span 12}.form-row{grid-template-columns:1fr}.appointment{padding:4.5rem 1.25rem}.site-footer{padding:3rem 1.25rem}.actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* =========================================================
   HERO EDITORIAL V21 — portada premium clínica boutique
   Solo afecta la sección Hero
   ========================================================= */
.hero{
  min-height:calc(100svh - 82px);
  display:grid;
  grid-template-columns:minmax(320px, 0.9fr) minmax(420px, 1.35fr);
  align-items:center;
  gap:clamp(2rem,4vw,4.5rem);
  padding:clamp(3.5rem,6vw,5.5rem) max(5vw,24px) clamp(4.5rem,6vw,6rem);
  background:#fff;
  max-width:1500px;
  margin:0 auto;
  position:relative;
}
.hero-copy{
  max-width:560px;
}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  color:var(--accent);
  font-size:.7rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:1rem;
}
.hero-eyebrow-line{
  width:3.1rem;
  height:1px;
  background:color-mix(in srgb, var(--primary) 22%, transparent);
  flex:0 0 auto;
}
.hero h1{
  font-size:clamp(3.25rem,6.3vw,6.85rem);
  line-height:.94;
  letter-spacing:-.045em;
  margin:.2rem 0 1.5rem;
  color:var(--primary);
  max-width:9.5ch;
}
.hero-description{
  position:relative;
  padding-left:1.25rem;
  margin:0 0 2.2rem;
  max-width:34rem;
}
.hero-description::before{
  content:"";
  position:absolute;
  left:0;
  top:.15rem;
  bottom:.15rem;
  width:1px;
  background:color-mix(in srgb, var(--primary) 18%, transparent);
}
.hero-copy>p,
.hero-description p{
  margin:0;
  font-size:clamp(1rem,1.3vw,1.14rem);
  line-height:1.9;
  color:#635966;
}
.hero .actions{
  display:flex;
  align-items:center;
  gap:1.25rem;
  margin-top:0;
}
.hero .button{
  padding:1rem 1.45rem;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
  font-weight:800;
  box-shadow:none;
}
.hero .text-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  border-bottom:0;
  font-size:.92rem;
  font-weight:700;
  color:var(--primary);
}
.hero .text-link span{
  font-size:1rem;
  transition:transform .25s ease;
}
.hero .text-link:hover span{
  transform:translateX(3px);
}
.hero-visual{
  position:relative;
  min-height:auto;
  overflow:visible;
  background:transparent;
  border-radius:0;
  padding:1.1rem 0 0 1.1rem;
}
.hero-panel{
  position:absolute;
  inset:0 0 1.2rem 1.9rem;
  background:#f5efe8;
  border-radius:2rem;
}
.hero-media{
  position:relative;
  aspect-ratio:4 / 3;
  width:100%;
  border-radius:2rem;
  overflow:hidden;
  background:var(--secondary);
  z-index:1;
}
.hero-media>img,
.hero-media>.portrait-placeholder{
  width:100%;
  height:100%;
}
.hero-media>img{
  object-fit:contain;
  object-position:center;
  background:#e9e1d9;
}
.hero-media-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(44,34,41,.06), rgba(44,34,41,.14));
  pointer-events:none;
}
.hero .portrait-placeholder{
  min-height:unset;
  height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.32)), repeating-linear-gradient(135deg,#ffffff32 0 1px,transparent 1px 22px), var(--secondary);
}
.hero-badge{
  position:absolute;
  left:-1.05rem;
  bottom:1rem;
  z-index:2;
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  max-width:275px;
  padding:1rem 1.1rem;
  border-radius:1.15rem;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 40px rgba(44,34,41,.08);
}
.hero-badge-icon{
  display:grid;
  place-items:center;
  width:1.9rem;
  height:1.9rem;
  flex:0 0 auto;
  border-radius:999px;
  background:#f5efe8;
  color:var(--accent);
  font-size:.92rem;
  font-weight:900;
}
.hero-badge p{
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-style:italic;
  font-size:.98rem;
  line-height:1.45;
  color:var(--primary);
}
@media (max-width: 1100px){
  .hero{
    grid-template-columns:minmax(0,1fr);
    gap:2.5rem;
    min-height:auto;
  }
  .hero-copy{
    max-width:700px;
  }
  .hero h1{
    max-width:12ch;
  }
  .hero-visual{
    padding:.8rem 0 0 .8rem;
  }
  .hero-panel{
    inset:0 0 1rem 1.35rem;
  }
}
@media (max-width: 900px){
  .hero{
    padding-top:3rem;
  }
}
@media (max-width: 600px){
  .hero{
    padding:2.4rem 1.25rem 4rem;
    gap:2rem;
  }
  .hero h1{
    font-size:clamp(2.8rem, 13vw, 4rem);
    max-width:10ch;
    margin-bottom:1.15rem;
  }
  .hero-description{
    padding-left:.95rem;
    margin-bottom:1.75rem;
  }
  .hero .actions{
    gap:.95rem;
    align-items:flex-start;
    flex-direction:column;
  }
  .hero-visual{
    padding:.65rem 0 0 .65rem;
  }
  .hero-panel{
    inset:0 0 .8rem .9rem;
    border-radius:1.4rem;
  }
  .hero-media{
    aspect-ratio:4 / 3;
    border-radius:1.35rem;
  }
  .hero-badge{
    position:relative;
    left:auto;
    bottom:auto;
    margin-top:-1.25rem;
    margin-left:.85rem;
    max-width:calc(100% - 1.4rem);
  }
}
