:root{--orange:#ff613f;--orange-light:#ff9b3e;--ink:#3a3a3a;--cream:#fff5eb;--line:#f0d9cb;--turquoise:#1a6c7a;--wide:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Montserrat,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 14px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.13)}.nav-shell{width:min(var(--wide),100%);height:84px;margin:auto;padding:0 32px;display:flex;align-items:center;gap:34px}.brand{width:220px;line-height:0}.brand img{width:100%;height:auto}.nav-shell nav{display:flex;align-items:center;gap:25px;margin-left:auto}.nav-shell nav a{position:relative;color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em}.nav-shell nav a:after{content:'';position:absolute;right:0;bottom:-9px;left:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.nav-shell nav a:hover:after,.nav-shell nav .is-current:after{transform:scaleX(1)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 19px;font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;transition:transform .22s ease,background .22s ease}.nav-cta{background:var(--orange);color:#fff}.nav-cta:hover,.button:hover{transform:translateY(-2px)}.nav-cta span{font-size:16px}.menu-button{display:none}.hero{min-height:545px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(370px,.97fr);overflow:hidden;background:linear-gradient(115deg,var(--orange-light),var(--orange) 62%,#f4543d)}.hero-copy{width:min(620px,100%);justify-self:end;padding:93px 74px 78px 35px;color:#fff}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 21px;font-size:10px;font-weight:700;letter-spacing:1.65px;text-transform:uppercase}.eyebrow span{display:inline-block;width:32px;height:3px;background:currentColor}.hero h1,.section-heading h2,.feature-copy h2,.appointment h2{margin:0;font-size:clamp(37px,4.2vw,59px);font-weight:600;line-height:1.08;letter-spacing:-.055em;text-transform:lowercase}.hero-intro{max-width:480px;margin:24px 0 32px;font-size:15px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:25px}.button-dark{color:#fff;background:var(--ink)}.button-orange{color:#fff;background:var(--orange)}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.5px}.text-link span{font-size:19px;transition:transform .2s ease}.text-link:hover span{transform:translateX(5px)}.hero .text-link{color:#fff}.hero-photo{position:relative;min-height:545px;margin:0}.hero-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,97,63,.15),rgba(0,0,0,.19));z-index:1}.hero-photo img,.feature-photo img,.care-image img{width:100%;height:100%;display:block;object-fit:cover}.hero-photo figcaption{position:absolute;right:0;bottom:0;z-index:2;padding:19px 27px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase}.proof-bar{display:grid;grid-template-columns:1fr 1fr 1.25fr auto;width:min(var(--wide),100%);margin:auto;min-height:117px;border-right:1px solid var(--line)}.proof-bar>div{display:flex;align-items:center;gap:14px;padding:19px 28px;border-left:1px solid var(--line)}.proof-bar strong{color:var(--orange);font-size:29px;font-weight:600;letter-spacing:-.06em}.proof-bar span{font-size:11px;font-weight:500;line-height:1.45}.proof-bar>a{display:flex;align-items:center;gap:13px;padding:19px 28px;background:var(--cream);color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.7px;white-space:nowrap}.proof-bar>a span{font-size:18px}.intro-section{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;width:min(var(--wide),100%);margin:auto;padding:126px 32px}.section-heading h2{max-width:670px;font-size:clamp(32px,3.4vw,46px)}.intro-copy{align-self:end}.intro-copy p,.feature-copy>p,.care-card>p,.appointment p{margin:0 0 27px;color:#585858;font-size:14px;line-height:1.75}.specialties{padding:83px max(32px,calc((100% - var(--wide))/2));background:var(--ink);color:#fff}.section-heading--light h2{color:#fff}.section-heading--light .eyebrow{color:var(--orange-light)}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.17)}.specialty-card{position:relative;display:grid;min-height:190px;padding:23px 24px;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);transition:background .22s ease}.specialty-card:hover{background:var(--orange)}.specialty-card span{color:var(--orange-light);font-size:10px;font-weight:700;letter-spacing:1px}.specialty-card:hover span{color:var(--ink)}.specialty-card strong{align-self:center;font-size:21px;font-weight:600;letter-spacing:-.04em;line-height:1.15;text-transform:lowercase}.specialty-card i{position:absolute;right:25px;bottom:21px;font-size:22px;font-style:normal}.feature-specialty{display:grid;grid-template-columns:1fr 1fr;min-height:490px;background:var(--cream)}.feature-photo{min-height:490px;overflow:hidden}.feature-copy{align-self:center;max-width:540px;padding:74px 74px 74px 9vw}.feature-copy .eyebrow{color:var(--orange)}.feature-copy h2{margin-bottom:25px;font-size:48px}.care-section{display:grid;grid-template-columns:1fr .8fr;min-height:430px;width:min(var(--wide),100%);margin:auto}.care-card{align-self:center;padding:80px 14% 80px 32px}.care-card .eyebrow{color:var(--orange)}.care-card h2{max-width:600px;margin:0 0 25px;font-size:32px;font-weight:600;letter-spacing:-.045em;line-height:1.18;text-transform:lowercase}.care-image{margin:48px 0 48px 0;min-height:334px}.appointment{display:grid;grid-template-columns:.65fr 1.15fr auto;align-items:center;gap:35px;padding:55px max(32px,calc((100% - var(--wide))/2));background:linear-gradient(115deg,var(--orange-light),var(--orange));color:#fff}.appointment .eyebrow{margin:0}.appointment h2{font-size:34px}.appointment p{margin:9px 0 0;color:#fff}.appointment .button{white-space:nowrap}footer{background:var(--ink);color:#fff}.footer-main{display:grid;grid-template-columns:1.3fr .7fr 1fr .7fr;gap:40px;width:min(var(--wide),100%);margin:auto;padding:62px 32px}.footer-main>img{width:240px;max-width:100%}.footer-main p{margin:0 0 13px;color:var(--orange-light);font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.footer-main a{font-size:20px;font-weight:600}.footer-main address,.footer-main span{font-size:12px;font-style:normal;line-height:1.75}.footer-bottom{display:flex;justify-content:space-between;gap:20px;width:min(var(--wide),100%);margin:auto;padding:19px 32px;border-top:1px solid rgba(255,255,255,.15);color:#c9c9c9;font-size:10px;letter-spacing:.25px}@media(max-width:900px){.nav-shell{height:72px;padding:0 23px}.brand{width:190px}.nav-shell nav{gap:15px}.nav-cta{display:none}.hero{grid-template-columns:1fr}.hero-copy{justify-self:start;padding:76px 9%}.hero-photo{display:none}.proof-bar{grid-template-columns:1fr 1fr}.proof-bar>a{grid-column:span 2}.intro-section{grid-template-columns:1fr;gap:32px;padding:84px 32px}.feature-copy{padding:60px}.care-section{grid-template-columns:1fr}.care-image{display:none}.appointment{grid-template-columns:1fr;padding:50px 32px;gap:17px}.footer-main{grid-template-columns:1fr 1fr}}@media(max-width:620px){.menu-button{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;margin-left:auto;border:0;background:transparent}.menu-button span{display:block;width:22px;height:2px;background:#fff}.nav-shell nav{position:absolute;top:72px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 23px 23px;background:var(--ink);border-top:1px solid rgba(255,255,255,.15)}.nav-shell nav.is-open{display:flex}.nav-shell nav a{padding:13px 0}.nav-shell nav a:after{display:none}.hero-copy{padding:68px 28px}.hero h1{font-size:39px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.proof-bar{display:block;border:0}.proof-bar>div,.proof-bar>a{min-height:86px;border:0;border-bottom:1px solid var(--line)}.intro-section{padding:72px 28px}.specialties{padding:62px 28px}.specialty-grid{grid-template-columns:1fr 1fr;margin-top:35px}.specialty-card{min-height:155px;padding:19px}.specialty-card strong{font-size:17px}.feature-specialty{grid-template-columns:1fr}.feature-photo{min-height:290px}.feature-copy{padding:55px 28px}.feature-copy h2{font-size:39px}.care-card{padding:65px 28px}.care-card h2{font-size:29px}.appointment{padding:47px 28px}.appointment h2{font-size:32px}.footer-main{grid-template-columns:1fr;gap:29px;padding:50px 28px}.footer-bottom{align-items:flex-start;flex-direction:column;padding:18px 28px}}
/* Selector de idioma */
.language-switcher{display:flex;align-items:center;gap:3px;margin-left:14px;font-size:.72rem;font-weight:700;letter-spacing:.06em}.language-switcher a{color:#fff!important;text-decoration:none;padding:6px 7px;border-radius:3px;transition:background-color .2s,color .2s}.language-switcher a:hover,.language-switcher a:focus-visible{background:rgba(255,255,255,.14);color:#fff!important}.language-switcher a.is-current{background:#e86922;color:#fff!important}@media (max-width:980px){.language-switcher{order:3;margin-left:auto;margin-right:8px}.site-header .nav-shell{flex-wrap:wrap}}@media (max-width:640px){.language-switcher{font-size:.67rem;gap:1px}.language-switcher a{padding:5px}}

.footer-bottom a { color: #fff !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.footer-bottom a:hover, .footer-bottom a:focus-visible { color: var(--orange-light) !important; }
.footer-bottom .footer-instagram { display: inline-flex; align-items: center; gap: 7px; color: #fff !important; font-size: 11px; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.footer-bottom .footer-instagram:hover, .footer-bottom .footer-instagram:focus-visible { color: var(--orange-light) !important; }
.footer-instagram__icon { width: 18px; height: 18px; flex: 0 0 18px; }

/* Datos secundarios del pie, más compactos que el teléfono. */
.footer-main address,
.footer-main > div > span { font-size: 13px !important; font-weight: 500 !important; line-height: 1.55 !important; }

/* Instagram se muestra como un icono discreto bajo el teléfono. */
.footer-main .footer-instagram { display: flex; align-items: center; width: fit-content; margin-top: 10px; color: #fff !important; font-size: 0; line-height: 1; text-decoration: none; }
.footer-main .footer-instagram:hover, .footer-main .footer-instagram:focus-visible { color: var(--orange-light) !important; }

/* Enlace de ubicación más legible sobre el mapa. */
.map-embed a { right: 18px !important; bottom: 18px !important; max-width: calc(100% - 36px) !important; padding: 15px 18px 15px 16px !important; border-left: 4px solid #f47528 !important; background: #1c1b1a !important; box-shadow: 0 8px 22px rgba(28, 27, 26, .22) !important; color: #fff !important; font-size: 14px !important; font-weight: 800 !important; line-height: 1.5 !important; }
.map-embed a:hover, .map-embed a:focus-visible { background: #f47528 !important; color: #fff !important; }

/* Navbar un 20 % más compacta en vertical. */
.nav-shell { height: 68px; }
@media (max-width: 900px) { .nav-shell { height: 58px; } }
@media (max-width: 620px) { .nav-shell nav { top: 58px; } }

/* Detalles globales de accesibilidad y cohesión visual. */
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--orange-light); outline-offset: 3px; }
html { scroll-padding-top: 80px; }
footer { border-top: 3px solid var(--orange); }

/* En móvil el selector de idioma comparte una fila estable con el menú. */
@media (max-width: 640px) {
  .site-header .nav-shell { flex-wrap: nowrap; gap: 10px; padding-right: 14px; padding-left: 14px; }
  .site-header .brand { width: 145px; flex: 0 1 auto; }
  .site-header .menu-button { order: 3; flex: 0 0 38px; margin-left: 0; }
  .site-header .language-switcher { order: 2; flex: 0 0 auto; margin: 0 0 0 auto; }
  .site-header .language-switcher a { min-width: 23px; padding: 5px 4px; text-align: center; }
}
@media (max-width: 380px) {
  .site-header .brand { width: 128px; }
  .site-header .nav-shell { gap: 7px; }
}
