/* QUITA DOLORES — página estática, sin dependencias externas. */
:root {
  --deep: #0e2c32;
  --deep-2: #143d40;
  --pine: #1c4b4d;
  --teal: #256e6a;
  --mint: #b7e6d8;
  --mint-light: #ddf1e8;
  --paper: #f8f9f5;
  --cream: #f0f2ea;
  --white: #ffffff;
  --text: #193e41;
  --subtle: #607678;
  --border: #dfe7de;
  --radius: 23px;
  --max-width: 1216px;
  --shadow: 0 22px 70px rgba(24, 65, 61, .07);
}
*, *::before, *::after {box-sizing: border-box;}
html {scroll-behavior: smooth; scroll-padding-top: 92px;}
body {margin: 0; overflow-x: hidden; background: var(--paper); color: var(--text); font-family: "Segoe UI", "Aptos", "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}
::selection {background: #afe8d7; color: #12393b;}
a {color: inherit; text-decoration: none;}
button {font: inherit;}
button, a {-webkit-tap-highlight-color: transparent;}
button:focus-visible, a:focus-visible {outline: 3px solid #69c9b7; outline-offset: 4px;}
img, svg {display: block;}
section[id], article[id] {scroll-margin-top: 94px;}
.container {width: min(var(--max-width), calc(100% - 88px)); margin-inline: auto;}
.svg-sprite {position: absolute; width: 0; height: 0; overflow: hidden;}
.icon {height: 22px; width: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;}
.skip-link {position: fixed; z-index: 1000; top: -100px; left: 16px; padding: 10px 16px; background: white; color: var(--deep); border-radius: 7px;}
.skip-link:focus {top: 10px;}

/* Navigation */
.site-header {position: relative; z-index: 30; background: var(--deep); border-bottom: 1px solid rgba(224, 251, 245, .10);}
.nav-container {height: 89px; display: flex; justify-content: space-between; align-items: center; gap: 26px;}
.brand {display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; color: #fff;}
.brand-icon {height: 42px; width: 42px; border: 1.6px solid #a6dfcf; border-radius: 50%; display: grid; place-items: center; position: relative; transform: rotate(-24deg);}
.brand-icon::before, .brand-icon::after {content:""; position: absolute; background: #b7e6d8; border-radius: 10px;}
.brand-icon::before {width: 19px; height: 3px;}
.brand-icon::after {height: 19px; width: 3px;}
.brand-icon-line {position: absolute; border: 1px solid rgba(183, 230, 216, .38); inset: 5px; border-radius: 50%;}
.brand-name {font-size: 18px; font-weight: 800; letter-spacing: .055em; white-space: nowrap;}
.brand-name span {font-weight: 300; letter-spacing: .035em;}
.desktop-nav {display: flex; align-items: center; gap: clamp(15px, 1.55vw, 26px); margin-left: auto;}
.desktop-nav a {color: #bed1cc; font-size: 13px; font-weight: 600; white-space: nowrap; padding: 10px 0; transition: color .2s ease; position: relative;}
.desktop-nav a::after {position: absolute; content: ""; bottom: 4px; height: 1.5px; background: var(--mint); width: 0; left: 0; transition: width .25s ease;}
.desktop-nav a:hover, .desktop-nav a.active {color: white;}
.desktop-nav a:hover::after, .desktop-nav a.active::after {width: 100%;}
.nav-highlight {display: inline-flex; flex: none; align-items: center; gap: 9px; border-radius: 100px; padding: 12px 16px; background: rgba(184, 231, 215, .10); border: 1px solid rgba(184,231,215,.22); color: #d3f0e4; font-size: 12px; font-weight: 700; white-space: nowrap; transition: background .2s;}
.nav-highlight:hover {background: rgba(184,231,215,.2);}
.nav-highlight .icon {width: 17px; height: 17px;}
.menu-toggle, .mobile-nav {display: none;}

/* Hero */
.hero {background: radial-gradient(ellipse at 80% 18%, #1d5351 0%, transparent 44%), linear-gradient(125deg, #0e2c32 5%, #13383d 68%, #0e3036 100%); color: white; position: relative; isolation: isolate; padding: 86px 0 83px;}
.hero-haze {position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; filter: blur(1px);}
.hero-haze-one {width: 630px; height: 630px; top: -400px; left: 27%; border: 1px solid rgba(188,227,214,.14); box-shadow: 0 0 0 94px rgba(188,227,214,.018), 0 0 0 220px rgba(188,227,214,.018);}
.hero-haze-two {width: 840px; height: 840px; bottom: -570px; right: -325px; border: 1px solid rgba(188,227,214,.11); box-shadow: 0 0 0 75px rgba(188,227,214,.025);}
.hero-grain {position: absolute; pointer-events: none; inset: 0; opacity: .2; background-image: radial-gradient(rgba(255,255,255,.3) .55px, transparent .6px); background-size: 19px 19px; mask-image: linear-gradient(to right, transparent 27%, black);}
.hero-grid {display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 42px; min-height: 572px; position: relative; z-index: 1;}
.hero-copy {padding: 12px 0 12px; max-width: 647px;}
.eyebrow {display: flex; align-items: center; gap: 12px; text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .19em; margin: 0 0 24px; line-height: 1.5;}
.eyebrow-light {color: #b2d8ca;}
.eyebrow-dark {color: #2b8176;}
.eyebrow-dot {width: 9px; height: 9px; flex: none; background: #8cdbbc; border-radius: 50%; box-shadow: 0 0 0 5px rgba(149,220,191,.10);}
.eyebrow-line {width: 25px; height: 1px; background: currentColor; opacity: .45;}
h1, h2, h3, p {overflow-wrap: break-word;}
h1, h2, h3 {margin-top: 0;}
.hero h1 {font-size: clamp(49px, 5.4vw, 80px); font-weight: 720; line-height: 1.08; letter-spacing: -.058em; margin: 0 0 26px; text-wrap: balance; max-width: 670px;}
.hero h1 em {font-family: Georgia, "Times New Roman", serif; font-weight: normal; letter-spacing: -.06em; color: #bbebe0;}
.period {color: #90d8be;}
.hero-lead {font-size: 17px; line-height: 1.85; max-width: 490px; color: #c5d8d1; margin: 0 0 37px;}
.hero-buttons {display: flex; flex-wrap: wrap; gap: 12px;}
.btn {border-radius: 100px; display: inline-flex; gap: 26px; align-items: center; justify-content: center; height: 55px; padding: 0 22px; font-size: 13px; font-weight: 750; transition: transform .22s ease, background .22s ease, box-shadow .22s ease;}
.btn:hover {transform: translateY(-3px);}
.btn .icon {height: 19px; width: 19px;}
.btn-primary {background: #bce9d9; color: #143c3e; box-shadow: 0 8px 30px rgba(0,0,0,.13);}
.btn-primary:hover {background: #d0f4e7; box-shadow: 0 12px 36px rgba(0,0,0,.19);}
.btn-ghost {border: 1px solid rgba(198,236,223,.36); color: #e4f5ec; background: rgba(255,255,255,.025);}
.btn-ghost:hover {background: rgba(255,255,255,.075);}
.hero-microfacts {display: flex; flex-wrap: wrap; gap: 20px; padding-top: 43px; color: #bfd9ce; font-size: 12px;}
.hero-microfacts span {display: inline-flex; align-items: center; gap: 8px;}
.hero-microfacts i {display: inline-block; width: 6px; height: 6px; background: #7bbdad; border-radius: 50%;}
.hero-visual {position: relative; width: 100%; max-width: 530px; justify-self: end;}
.visual-card {position: relative; overflow: hidden; height: 590px; border-radius: 170px 170px 32px 32px; background: linear-gradient(135deg, #e9f4e7 0%, #cfe8db 50%, #b5d8d0 100%); border: 1px solid rgba(255,255,255,.32); box-shadow: 0 40px 100px rgba(0,0,0,.22), inset 0 0 0 12px rgba(255,255,255,.10);}
.visual-card::before {content:""; position: absolute; width: 390px; height: 390px; border: 1px solid rgba(64,123,122,.14); border-radius: 50%; inset: 98px auto auto 50%; transform: translateX(-50%); box-shadow: 0 0 0 35px rgba(255,255,255,.08), 0 0 0 83px rgba(64,123,122,.04);}
.visual-card::after {content:""; position: absolute; bottom: 0; left: 0; right: 0; height: 120px; background: linear-gradient(transparent, rgba(143,187,177,.48)); pointer-events: none;}
.visual-card-top {position: absolute; z-index: 3; top: 31px; left: 34px; right: 33px; display: flex; gap: 10px; align-items: center; color: #3b7371; font-size: 10px; font-weight: 850; letter-spacing: .14em;}
.top-emblem {display: inline-flex; align-items: center; gap: 3px;}
.top-emblem span {width: 4px; height: 4px; background: #4b8d81; border-radius: 50%;}
.top-emblem span:nth-child(2) {height: 7px; width: 7px;}
.visual-card-num {margin-left: auto;}
.hero-body {position: absolute; inset: 43px 0 0; height: calc(100% - 45px); width: 100%; z-index: 1; filter: drop-shadow(13px 12px 16px rgba(43,101,98,.18));}
.hero-node circle:first-child {fill: rgba(255,255,255,.14); stroke: #ecf9df; stroke-width: 1.3;}
.hero-node circle:last-child {fill: #f0fce9; stroke: none;}
.body-label {position: absolute; z-index: 3; border: 1px solid rgba(255,255,255,.75); box-shadow: 0 10px 35px rgba(48,110,105,.12); background: rgba(248,254,248,.85); backdrop-filter: blur(11px); color: #2b6664; border-radius: 30px; padding: 12px 14px; font-size: 12px; font-weight: 800; white-space: nowrap; display: inline-flex; align-items: center; gap: 9px;}
.label-pulse {width: 7px; height: 7px; background: #3c9a89; border-radius: 50%; box-shadow: 0 0 0 4px rgba(60,154,137,.1);}
.label-head {top: 32%; left: 3%;}
.label-back {top: 51%; right: 3%;}
.label-leg {bottom: 23%; left: 4%;}
.visual-bottom {position: absolute; z-index: 4; bottom: 26px; left: 32px; right: 32px; display: flex; align-items: center; gap: 16px; color: #3b7772; font-size: 10px; letter-spacing: .16em; font-weight: 900;}
.visual-bottom-line {flex: 1; height: 1px; background: rgba(61, 124, 114, .28);}
.spark-icon {font-size: 24px; font-weight: normal;}
.hero-spark {position: absolute; z-index: 2; color: #c6f1e6; font-weight: 100; text-shadow: 0 0 25px rgba(164,224,209,.38);}
.spark-top {font-size: 55px; right: -35px; top: 80px; animation: float 7s ease-in-out infinite;}
.spark-bottom {font-size: 37px; left: -36px; bottom: 90px; animation: float 6s ease-in-out infinite reverse;}
@keyframes float {50% {transform: translateY(-12px) rotate(16deg);}}
.hero-stats-wrap {position: relative; z-index: 3; margin-top: 70px; margin-bottom: -155px;}
.hero-stats {background: #fff; color: var(--text); border: 1px solid rgba(225,235,227,.75); border-radius: 18px; min-height: 130px; display: grid; grid-template-columns: 1.02fr 1.12fr 1.44fr .75fr; align-items: stretch; box-shadow: 0 24px 70px rgba(14,44,50,.12); overflow: hidden;}
.stat-item {padding: 30px 22px; display: flex; align-items: center; gap: 14px; min-width: 0; position: relative;}
.stat-item + .stat-item::before {content:""; position: absolute; left: 0; height: 44px; top: calc(50% - 22px); width: 1px; background: #e7ece6;}
.stat-symbol {width: 41px; height: 41px; flex: none; display: grid; place-items: center; border-radius: 13px; color: #246e67; background: #edf5ed;}
.stat-symbol .icon {height: 21px; width: 21px;}
.stat-label {display: block; margin: 0 0 8px; font-size: 9px; font-weight: 800; letter-spacing: .11em; color: #7e918c;}
.stat-item strong {display: block; font-weight: 750; font-size: 15px; letter-spacing: -.035em; line-height: 1.3;}
.stats-link {background: #b9e6d5; color: #205751; display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 16px 26px; position: relative; transition: background .2s;}
.stats-link:hover {background: #a0dcc6;}
.stats-link span {font-size: 10px; letter-spacing: .11em; font-weight: 800;}
.stats-link strong {font-size: 34px; letter-spacing: -.055em; font-weight: 780; line-height: 1.2;}
.stats-link .icon {position: absolute; right: 18px; top: 50%; transform: translateY(-50%) rotate(-45deg); width: 18px; height: 18px;}

/* Services */
.section-pad {padding: 128px 0;}
.services {background: var(--paper); padding-top: 214px;}
.section-heading {display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 43px;}
.section-heading h2, .body-copy h2, .details-heading h2, .closing h2 {font-size: clamp(39px, 4.35vw, 62px); line-height: 1.1; font-weight: 740; letter-spacing: -.053em; margin: 0; text-wrap: balance;}
.section-heading h2 em, .body-copy h2 em, .details-heading h2 em, .closing h2 em {font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: #39877a; letter-spacing: -.06em;}
.section-sidecopy {color: var(--subtle); font-size: 15px; line-height: 1.8; max-width: 294px; margin: 0 6px 7px 0;}
.services-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px;}
.service-card {background: white; border: 1px solid var(--border); border-radius: var(--radius); min-height: 271px; padding: 28px 25px 25px; position: relative; overflow: hidden; isolation: isolate; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;}
.service-card:hover {transform: translateY(-7px); box-shadow: var(--shadow); border-color: #bcd9cd;}
.service-card::after {content:""; position:absolute; width:210px; height:210px; right:-130px; bottom:-143px; background:var(--card-accent); border-radius:50%; z-index:-1; transition:transform .3s ease;}
.service-card:hover::after {transform:scale(1.25);}
.service-card-top {display:flex; align-items:start; justify-content:space-between; margin-bottom: 29px;}
.service-icon {height: 60px; width: 60px; border-radius: 17px; display:grid; place-items:center; background:var(--card-accent); color:#296e6a;}
.service-icon .icon {width: 30px; height: 30px; stroke-width: 1.45;}
.service-number {font-size: 11px; letter-spacing:.06em; color:#93a7a1; font-weight:750;}
.service-card h3 {font-size: 19px; font-weight: 780; letter-spacing: -.045em; line-height: 1.25; margin: 0 0 11px;}
.service-card p {font-size: 13px; line-height: 1.8; color: #667c79; margin: 0; max-width: 205px;}

/* Body explorer */
.body-section {background: #ecf1eb; position:relative; overflow:hidden;}
.body-section::before {content:""; position:absolute; left:-250px; bottom:-300px; height:700px; width:700px; border:1px solid rgba(38,111,101,.08); border-radius:50%; box-shadow:0 0 0 80px rgba(31,109,99,.015),0 0 0 180px rgba(31,109,99,.012); pointer-events:none;}
.body-section-grid {display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: min(7vw,95px); position: relative;}
.body-copy {padding: 20px 0;}
.body-copy h2 {max-width: 530px;}
.body-intro {font-size: 16px; color: #657a77; line-height:1.8; max-width:450px; margin: 22px 0 31px;}
.area-tabs {display:flex; flex-wrap:wrap; gap: 10px; max-width: 530px;}
.area-tab {background: rgba(255,255,255,.72); color:#466965; border:1px solid #d5e2d9; border-radius:100px; padding:13px 18px; font-size:13px; line-height:1.2; font-weight:700; cursor:pointer; transition: background .2s,color .2s,transform .2s,border-color .2s;}
.area-tab:hover {border-color:#69aaa0; transform:translateY(-2px);}
.area-tab.is-selected {background:#1a5654; border-color:#1a5654; color:#fff; box-shadow: 0 7px 21px rgba(27,87,82,.16);}
.selected-area {margin-top: 38px; border:1px solid #d6e3d9; background:rgba(255,255,255,.7); border-radius:20px; padding:22px; display:flex; align-items:center; gap:19px; max-width: 510px; min-height:128px; box-shadow:0 12px 30px rgba(34,89,83,.03);}
.selected-area-icon {height: 57px; width: 57px; flex: none; display: grid; place-items: center; border-radius: 17px; background: #d3eee0; color:#388b76; font-size:29px;}
.selected-small {font-size:10px; color:#76918a; letter-spacing:.13em; font-weight:850; display:flex; gap:13px; margin-bottom:6px;}
.selected-small span {color:#428b7f;}
.selected-area h3 {font-size:24px; margin:0 0 3px; font-weight:780; letter-spacing:-.045em;}
.selected-area p {font-size:13px; line-height:1.55; color:#687e78; margin:0;}
.body-visual {min-width:0;}
.anatomy-card {min-height: 616px; width: 100%; max-width:535px; margin-left:auto; position:relative; background: radial-gradient(circle at 50% 46%, #356e69 0%, #184449 63%, #10353b 100%); border-radius: 32px; overflow:hidden; color:#d2e8e0; box-shadow:0 30px 75px rgba(15,59,57,.17);}
.anatomy-card::before {content:""; position:absolute; inset:15px; border:1px solid rgba(203,242,226,.13); border-radius:23px; pointer-events:none; z-index:2;}
.anatomy-top {position:absolute; z-index:3; top:38px; left:42px; right:42px; display:flex; justify-content:space-between; color:#c7dfd4; font-size:10px; font-weight:800; letter-spacing:.16em;}
.anatomy-top span:last-child {font-size:20px; font-weight:400;}
.anatomy-canvas {position:relative; width:min(100%,350px); height:500px; margin:67px auto 0;}
.anatomy-halo {position:absolute; z-index:0; top:56px; width:330px; height:330px; max-width:100%; left:50%; transform:translateX(-50%); border:1px solid rgba(195,234,222,.11); border-radius:50%; box-shadow:0 0 0 37px rgba(230,255,240,.02), 0 0 0 94px rgba(230,255,240,.018), 0 0 0 153px rgba(230,255,240,.012);}
.anatomy-silhouette {width:300px; max-width:100%; height:500px; position:absolute; top:0; left:50%; transform:translateX(-50%); filter:drop-shadow(4px 14px 15px rgba(0,0,0,.24));}
.body-point {position:absolute; z-index:4; left:var(--x); top:var(--y); transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.85); background:rgba(199,242,222,.18); border-radius:50%; width:30px; height:30px; display:grid; place-items:center; cursor:pointer; box-shadow:0 0 0 7px rgba(204,238,222,.08); transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.body-point span {width:8px; height:8px; border-radius:50%; background:#f2fff5;}
.body-point:hover, .body-point.is-selected {background:#91dcc5; transform:translate(-50%,-50%) scale(1.2); box-shadow:0 0 0 8px rgba(145,220,197,.21), 0 0 30px rgba(149,238,202,.3);}
.body-point.is-selected span {background:#1a5a57;}
.anatomy-coord {position:absolute; color:#a4c9bc; font-size:10px; letter-spacing:.23em; font-weight:750; opacity:.6; top:44%;}
.coord-left {left:-14px; transform:rotate(-90deg);}
.coord-right {right:-24px; transform:rotate(90deg);}
.anatomy-caption {position:absolute; z-index:3; bottom:30px; left:35px; right:35px; display:flex; justify-content:center; align-items:center; gap:9px; font-size:11px; text-align:center; color:#c0dbd1; margin:0;}
.caption-dot {height:5px; width:5px; border-radius:50%; background:#b7e6d8; flex:none;}

/* Fee + hours */
.details-section {background:var(--paper);}
.details-heading {text-align:center; margin-bottom:47px;}
.details-heading .eyebrow {justify-content:center;}
.details-grid {display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.pricing-card, .schedule-card {min-height:442px; padding:30px 35px; border-radius:28px; position:relative; overflow:hidden; display:flex; flex-direction:column; isolation:isolate;}
.pricing-card {color:#e0f7ee; background: radial-gradient(circle at 96% 0%, #2b7270,transparent 53%), #123c40; border:1px solid rgba(16,61,62,.55);}
.pricing-card::after {content:""; position:absolute; width:420px; height:420px; top:74px; right:-220px; z-index:-1; border:1px solid rgba(207,246,227,.18); border-radius:50%; box-shadow: 0 0 0 42px rgba(206,248,223,.027), 0 0 0 101px rgba(206,248,223,.022),0 0 0 175px rgba(206,248,223,.017);}
.schedule-card {color:#23494a; background: #d9eee2; border:1px solid #cbe7d5;}
.schedule-card::after {content:""; width:380px; height:380px; border:1px solid rgba(42,108,102,.14); border-radius:50%; position:absolute; right:-157px; bottom:-145px; z-index:-1; box-shadow:0 0 0 48px rgba(36,112,99,.03), 0 0 0 107px rgba(36,112,99,.025);}
.detail-topline {display:flex; align-items:center; justify-content:space-between; font-size:10px; font-weight:850; letter-spacing:.15em;}
.detail-topline .icon {height:20px; width:20px;}
.pricing-content, .schedule-content {margin:auto 0; padding-top:20px;}
.detail-kicker {font-size:12px; font-weight:750; letter-spacing:.13em; margin:0 0 6px;}
.pricing-content .detail-kicker {color:#aed8c9;}
.schedule-content .detail-kicker {color:#478577;}
.pricing-content h3 {font-size:clamp(95px,11vw,158px); letter-spacing:-.10em; line-height:1.05; margin:0; font-weight:700;}
.price-dot {color:#80caac;}
.pricing-content > p:last-child {font-size:20px; margin:0 0 10px; color:#c3e4d8;}
.pricing-bottom, .schedule-bottom {display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:.14em; font-weight:800; padding-top:21px; border-top:1px solid rgba(255,255,255,.2);}
.schedule-bottom {border-color:rgba(35,93,84,.16);}
.price-deco, .schedule-bottom span:last-child {font-size:31px; font-weight:300;}
.schedule-content h3 {font-size:clamp(56px,6vw,83px); line-height:1.03; letter-spacing:-.07em; font-weight:730; margin:0 0 23px;}
.schedule-content h3 span:not(.price-dot) {color:#42877b; font-family:Georgia,serif; font-style:italic; font-weight:400;}
.schedule-time {display:flex; align-items:center; gap:13px; font-size:21px; font-weight:750; letter-spacing:-.035em;}
.schedule-time .icon {height:23px; width:23px; flex:none;}
.schedule-time small {opacity:.55; padding:0 4px;}

/* Close and footer */
.closing {position:relative; background:#14393d; color:#ecf7ef; overflow:hidden; text-align:center; padding:95px 0 104px; isolation:isolate;}
.closing::before {content:""; position:absolute; z-index:-1; left:50%; top:-370px; transform:translateX(-50%); width:850px; height:850px; border-radius:50%; border:1px solid rgba(199,237,221,.1); box-shadow:0 0 0 90px rgba(215,245,234,.016),0 0 0 190px rgba(215,245,234,.016);}
.closing .eyebrow {justify-content:center; margin-bottom:17px;}
.closing h2 {max-width: 800px; margin:0 auto 22px;}
.closing h2 em {color:#b9e6d5;}
.closing p:not(.eyebrow) {font-size:16px; color:#c0d8cf; line-height:1.7; margin:0 auto; max-width:680px;}
.back-to-top {display:inline-flex; align-items:center; gap:16px; margin-top:30px; padding:14px 20px; border:1px solid rgba(206,243,229,.28); border-radius:100px; font-size:13px; font-weight:700; transition:background .2s,transform .2s;}
.back-to-top:hover {background:rgba(255,255,255,.07); transform:translateY(-3px);}
.back-to-top .icon {height:18px; width:18px; transform:rotate(-45deg);}
.site-footer {background:#0d2c30; color:#b0ccc1;}
.footer-inner {min-height:106px; display:flex; gap:25px; flex-wrap:wrap; justify-content:space-between; align-items:center; padding-block:22px;}
.footer-brand .brand-icon {width:34px; height:34px;}
.footer-brand .brand-icon::before {width:15px; height:2.5px;}
.footer-brand .brand-icon::after {height:15px; width:2.5px;}
.footer-brand .brand-name {font-size:15px;}
.footer-inner p {font-size:12px; line-height:1.5; margin:0;}
.footer-separator {color:#6da695; margin:0 6px;}

/* Animación decorativa; se mantiene el contenido visible incluso con JS deshabilitado. */
@keyframes appearGently {from {transform:translateY(12px);} to {transform:translateY(0);}}
@media (prefers-reduced-motion:no-preference) {
  .reveal.is-visible {animation:appearGently .62s cubic-bezier(.2,.7,.2,1) both;}
}

@media (max-width: 1230px) {
  .container {width:min(var(--max-width),calc(100% - 62px));}
  .nav-container {gap:16px;}
  .desktop-nav {gap:16px;}
  .nav-highlight {display:none;}
  .hero-grid {gap:28px;}
  .hero h1 {font-size:clamp(50px,5.5vw,70px);}
  .stat-item {padding:24px 17px; gap:10px;}
  .stat-item strong {font-size:13px;}
  .stats-link {padding:15px 22px;}
  .anatomy-card {min-height:600px;}
}
@media (max-width: 900px) {
  .site-header {position:relative;}
  .nav-container {height:77px;}
  .desktop-nav, .nav-highlight {display:none;}
  .menu-toggle {width:42px; height:42px; display:flex; flex-direction:column; gap:5px; align-items:center; justify-content:center; border:1px solid rgba(218,244,232,.26); border-radius:12px; background:rgba(255,255,255,.035); cursor:pointer;}
  .menu-toggle span {height:2px; width:20px; background:#deeee5; border-radius:3px; transition:transform .2s,opacity .2s;}
  .menu-open .menu-toggle span:nth-child(1) {transform:translateY(7px) rotate(45deg);}
  .menu-open .menu-toggle span:nth-child(2) {opacity:0;}
  .menu-open .menu-toggle span:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}
  .mobile-nav {position:absolute; top:100%; left:0; right:0; background:#12363a; padding:15px 31px 22px; border-top:1px solid rgba(255,255,255,.1); box-shadow:0 15px 28px rgba(0,0,0,.14); flex-direction:column; gap:2px;}
  .menu-open .mobile-nav {display:flex;}
  .mobile-nav a {color:#edf9ef; padding:13px 11px; font-weight:650; border-bottom:1px solid rgba(215,246,232,.08);}
  .hero {padding:70px 0 60px;}
  .hero-grid {grid-template-columns:1fr; gap:43px;}
  .hero-copy {max-width:780px; padding:0;}
  .hero h1 {font-size:clamp(52px,7.5vw,77px); max-width:770px;}
  .hero-visual {justify-self:center; max-width:600px; width:100%;}
  .visual-card {height:560px; border-radius:240px 240px 27px 27px;}
  .hero-body {max-width:500px; left:50%; transform:translateX(-50%);}
  .label-head {left:8%;}
  .label-back {right:10%;}
  .label-leg {left:12%;}
  .hero-stats-wrap {margin-top:53px; margin-bottom:-130px;}
  .hero-stats {grid-template-columns:1fr 1fr;}
  .stat-item {min-height:108px; padding:24px 28px;}
  .stat-item:nth-child(3) {border-top:1px solid #e4ebe3;}
  .stat-item:nth-child(3)::before {display:none;}
  .stats-link {border-radius:0; padding:19px 28px;}
  .services {padding-top:208px;}
  .services-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-card {min-height:240px;}
  .body-section-grid {grid-template-columns:1fr; gap:45px;}
  .body-copy {padding:0;}
  .body-copy h2 {max-width:700px;}
  .area-tabs {max-width:750px;}
  .selected-area {max-width:750px;}
  .anatomy-card {margin-inline:auto; max-width:650px;}
  .details-grid {gap:15px;}
  .pricing-card,.schedule-card {padding:27px; min-height:400px;}
  .schedule-content h3 {font-size:clamp(56px,7vw,79px);}
  .schedule-time {font-size:17px;}
  .footer-inner {justify-content:center; text-align:center;}
}
@media (max-width: 640px) {
  html {scroll-padding-top: 18px;}
  .container {width:calc(100% - 38px);}
  .brand-name {font-size:16px;}
  .brand-icon {width:37px;height:37px;}
  .nav-container {height:72px;}
  .hero {padding:61px 0 40px;}
  .eyebrow {font-size:9px; letter-spacing:.14em; gap:9px; margin-bottom:18px;}
  .eyebrow-line {width:14px;}
  .hero h1 {font-size:clamp(41px,10.2vw,63px); line-height:1.13; letter-spacing:-.063em; margin-bottom:22px;}
  .hero-lead {font-size:15px; line-height:1.73; margin-bottom:27px;}
  .hero-buttons {gap:9px;}
  .btn {height:49px; padding:0 17px; font-size:12px; gap:13px;}
  .btn .icon {width:16px;height:16px;}
  .hero-microfacts {gap:13px 18px; padding-top:29px; font-size:11px;}
  .hero-grid {gap:43px;}
  .hero-visual {max-width:460px;}
  .visual-card {height:485px; border-radius:155px 155px 24px 24px;}
  .visual-card-top {top:27px;left:22px;right:22px; font-size:9px;}
  .hero-body {top:32px; width:100%; height:calc(100% - 35px);}
  .body-label {font-size:10px; padding:10px 11px; gap:8px;}
  .label-head {left:1%;top:30%;}
  .label-back {right:0; top:50%;}
  .label-leg {left:2%;bottom:19%;}
  .visual-bottom {left:22px;right:22px;bottom:20px;font-size:8px;gap:12px;}
  .spark-top {right:-12px;top:77px;font-size:31px;}
  .spark-bottom {left:-10px;bottom:76px;font-size:28px;}
  .hero-stats-wrap {margin-top:37px;margin-bottom:-127px;}
  .hero-stats {min-height:0; border-radius:14px; grid-template-columns:1fr 1fr;}
  .stat-item {padding:18px 13px; gap:8px; min-height:102px;}
  .stat-symbol {height:34px;width:34px;border-radius:10px;}
  .stat-symbol .icon {height:18px;width:18px;}
  .stat-label {font-size:8px; margin-bottom:6px;}
  .stat-item strong {font-size:12px;}
  .stats-link {padding:19px 15px;min-height:102px;}
  .stats-link span {font-size:9px;}
  .stats-link strong {font-size:30px;}
  .stats-link .icon {right:9px; width:14px;height:14px;}
  .section-pad {padding:82px 0;}
  .services {padding-top:195px;}
  .section-heading {display:block; margin-bottom:28px;}
  .section-heading h2,.body-copy h2,.details-heading h2,.closing h2 {font-size:clamp(36px,9.2vw,52px); line-height:1.14;}
  .section-sidecopy {margin:16px 0 0; font-size:14px;}
  .services-grid {gap:12px;}
  .service-card {padding:19px 18px 21px; min-height:232px; border-radius:18px;}
  .service-card-top {margin-bottom:22px;}
  .service-icon {width:49px;height:49px;border-radius:13px;}
  .service-icon .icon {width:26px;height:26px;}
  .service-card h3 {font-size:17px; margin-bottom:7px;}
  .service-card p {font-size:12px; line-height:1.65;}
  .body-intro {font-size:14px; margin:20px 0 24px;}
  .area-tabs {gap:8px;}
  .area-tab {padding:11px 13px; font-size:12px;}
  .selected-area {margin-top:24px; padding:16px;gap:13px;min-height:109px;}
  .selected-area-icon {width:46px;height:46px;border-radius:13px;}
  .selected-area h3 {font-size:21px;}
  .selected-small {font-size:9px;gap:8px;}
  .selected-area p {font-size:12px;}
  .body-section-grid {gap:32px;}
  .anatomy-card {min-height:587px;border-radius:25px;}
  .anatomy-top {top:31px;left:29px;right:29px;}
  .anatomy-caption {bottom:27px;left:19px;right:19px; font-size:10px;}
  .details-heading {margin-bottom:32px;}
  .details-grid {grid-template-columns:1fr; gap:14px;}
  .pricing-card,.schedule-card {min-height:360px; padding:28px; border-radius:23px;}
  .pricing-content h3 {font-size:112px;}
  .schedule-content h3 {font-size:66px;}
  .schedule-time {font-size:19px;}
  .closing {padding:77px 0 82px;}
  .closing p:not(.eyebrow) {font-size:14px;}
  .footer-inner {display:flex; flex-direction:column; gap:15px; padding-block:28px;}
}
@media (max-width: 375px) {
  .container {width:calc(100% - 30px);}
  .brand-name {font-size:14px;}
  .hero h1 {font-size:40px;}
  .eyebrow {letter-spacing:.1em;font-size:8px;}
  .hero-buttons {flex-direction:column;align-items:stretch;}
  .btn {justify-content:space-between;}
  .visual-card {height:435px;}
  .body-label {font-size:9px;}
  .hero-stats {grid-template-columns:1fr 1fr;}
  .stat-item {display:block; min-height:105px;}
  .stat-symbol {margin-bottom:8px;}
  .stat-item strong {font-size:11px;}
  .services-grid {grid-template-columns:1fr;}
  .service-card {min-height:0; padding:22px;}
  .service-card-top {margin-bottom:17px;}
  .anatomy-card {min-height:575px;}
  .anatomy-canvas {max-width:100%;}
  .anatomy-coord {display:none;}
  .schedule-content h3 {font-size:57px;}
  .schedule-time {font-size:16px;}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
  *, *::before, *::after {animation-duration:.01ms!important;transition-duration:.01ms!important;}
  .reveal.is-visible {animation:none;}
}

/* Información adicional de cierre: honorarios y días de atención sin enlaces externos. */
.closing-facts {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px 24px;margin:26px auto 0;color:#e0f5e9;font-size:13px;line-height:1.6;}
.closing-facts span {border:1px solid rgba(214,245,231,.19);background:rgba(214,245,231,.07);padding:11px 18px;border-radius:999px;}
.closing-facts strong {font-weight:750;color:#b6e7d5;}
@media(max-width:640px){.closing-facts{flex-direction:column;align-items:stretch;gap:9px;font-size:12px}.closing-facts span{border-radius:15px;padding:12px 14px}}
