/* KineAssistance — movimiento acompañado. Presentation only, no dependencies.
   Institutional tokens remain defined in styles.css; provider/semantic colors stay intact. */
.premium-ui {
  --art-line: rgba(11, 94, 158, .18);
  --art-depth: 0 12px 28px rgba(5, 44, 79, .09);
  --art-space: clamp(20px, 5vw, 76px);
  --art-title: clamp(2rem, 3.5vw, 3.8rem);
  --art-section-title: clamp(1.55rem, 2.5vw, 2.5rem);
  background-color: var(--cloud);
  text-rendering: optimizeLegibility;
}
.premium-ui h1 { font-size: var(--art-title); letter-spacing: -.035em; line-height: 1.1; text-wrap: balance; }
.premium-ui h2 { font-size: var(--art-section-title); letter-spacing: -.025em; text-wrap: balance; }
.premium-ui h3 { letter-spacing: -.015em; }
.premium-ui .eyebrow { line-height: 1.6; letter-spacing: .14em; }
.premium-ui .button {
  min-height: 50px;
  border-radius: 12px;
  padding: 13px 22px;
  line-height: 1.4;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}
.premium-ui .button.primary,
.premium-ui .button.plan-action.primary {
  color: var(--navy);
  background: var(--cyan);
  border-color: rgba(5, 44, 79, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 5px 0 rgba(5, 44, 79, .13);
}
.premium-ui .button.secondary { border-color: var(--soft); }
.premium-ui :is(.human-care-actions, .article-wrap, .article-body) .button.secondary {
  color: var(--navy);
  background: var(--white);
  border-color: var(--blue);
}
.premium-ui :is(.contact-section, .article-cta) .button.secondary { color: var(--white); background: transparent; }
.premium-ui :is(button, input, select, textarea, a, summary):focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
}
.premium-ui :is(.hero, .page-hero, .contact-section, .site-footer, .sidebar) :focus-visible {
  outline-color: var(--white);
}
.premium-ui :is(button, .button):disabled,
.premium-ui .button[aria-disabled="true"] { opacity: .6; cursor: not-allowed; box-shadow: none; transform: none; }
.premium-ui [aria-busy="true"] { cursor: progress; }
.premium-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.premium-ui select,
.premium-ui textarea {
  border-color: var(--soft);
  border-radius: 10px;
  box-shadow: inset 0 2px 3px rgba(5, 44, 79, .03);
}
.premium-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.premium-ui select { min-height: 44px; }
.premium-ui :is(input, select, textarea):focus { border-color: var(--blue); }
.premium-ui :is(.service-card, .program-card, .plan-card, .info-panel, .info-tile, .condition-summary-card) {
  border: 1px solid var(--soft);
  border-radius: 18px;
  box-shadow: var(--art-depth);
}
.premium-ui :is(.tag, .credentials span, .blog-card-tag) { border-radius: 8px; }
.premium-ui .icon { border-radius: 12px 12px 12px 4px; }
.premium-ui .icon svg { stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.art-icon { width: 24px; height: 24px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.premium-ui .reading-time { display: flex; align-items: center; gap: 8px; color: var(--blue); font-size: .82rem; }
.premium-ui .reading-time svg { width: 18px; height: 18px; flex: 0 0 18px; }
.premium-ui .article-meta { color: var(--blue); }
.premium-ui .article-hero .article-meta { color: var(--soft); }

/* Public identity and home composition. */
.premium-ui .site-header {
  background: var(--white);
  border-bottom: 1px solid var(--soft);
  box-shadow: 0 3px 14px rgba(5, 44, 79, .05);
}
.premium-ui .site-nav a { border-radius: 9px; }
.premium-ui .nav-cta-patient { border: 1px solid rgba(5, 44, 79, .15); }
.art-home .hero-compact {
  grid-template-columns: minmax(0, 1fr) minmax(0, .98fr);
  gap: clamp(32px, 4vw, 68px);
  padding: clamp(48px, 6vw, 84px) var(--art-space);
  min-height: 660px;
  isolation: isolate;
  background: var(--navy);
}
.art-home .hero-compact::before,
.art-home .hero-compact::after { content: none; }
.art-home .hero-compact .hero-content { width: 100%; max-width: 760px; }
.art-home .hero-compact h1 { font-size: clamp(2.6rem, 3.8vw, 4.4rem); max-width: 750px; margin-bottom: 28px; }
.art-home .hero-copy { max-width: 590px; font-size: 1.08rem; color: var(--soft); }
.art-home .hero-media {
  position: relative;
  inset: auto;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 24px 24px 72px 24px;
  box-shadow: 18px 18px 0 rgba(33, 184, 201, .13), 0 24px 48px rgba(7, 24, 39, .28);
}
.art-home .hero-media img { filter: none; }
.art-home .hero-media figcaption {
  right: 24px;
  left: 24px;
  bottom: 24px;
  max-width: 420px;
  border-radius: 12px;
  padding: 14px;
  background: var(--navy);
  backdrop-filter: none;
  color: var(--soft);
}
.art-home .hero-media figcaption strong { display: block; margin-bottom: 4px; color: var(--white); }
.art-home .trust-band { background: var(--white); border-bottom: 1px solid var(--soft); box-shadow: none; }
.art-home .trust-band div { position: relative; padding-top: 32px; }
.art-home .trust-band div::before { content: ""; position: absolute; top: 0; left: 0; width: 42%; height: 4px; background: var(--cyan); }
.art-home .trust-band div:nth-child(even)::before { background: var(--blue); }
.art-home .human-care-showcase { background: var(--cloud); }
.art-home .human-care-media { border-radius: 56px 20px 20px 20px; border: 1px solid var(--soft); }
.art-home .human-care-content h2 { font-size: clamp(2rem, 3vw, 3.2rem); }
.art-home .showcase-benefit > span { border-radius: 10px 10px 10px 3px; }
.art-home .care-journey { background: var(--mint); }
.art-home .care-journey-grid li { border: 1px solid rgba(11, 94, 158, .18); border-radius: 16px; box-shadow: none; }
.art-home .care-journey-grid li:nth-child(2) { border-top: 4px solid var(--blue); }
.art-home .care-journey-action { border-color: var(--blue); background: var(--white); }
.art-home .home-links-section { grid-template-columns: repeat(12, minmax(0, 1fr)); padding-top: 56px; gap: 20px; background: var(--cloud); }
.art-home .info-tile { grid-column: span 4; min-height: 210px; background: var(--white); border-top: 3px solid var(--blue); }
.art-home .info-tile:nth-child(-n+2) { grid-column: span 6; }
.art-home .info-tile:nth-child(2) { background: var(--mint); border-top-color: var(--cyan); }
.art-home .info-tile strong { font-size: 1.4rem; }
/* Local graphic resources, with the original photography and brand files intact. */
.art-home .hero-compact { background-image: url("assets/connection-field.svg?v=3d1"); background-size: cover; }
.art-home .human-care-showcase { background-image: url("assets/connection-field.svg?v=3d1"); background-size: cover; }
.art-home .care-journey { background-image: url("assets/connection-field.svg?v=3d1"); background-size: cover; }
.art-home .info-tile { background-image: url("assets/connection-field.svg?v=3d1"); background-size: 500px auto; background-position: bottom right; }
.art-home .info-tile:first-child { background-image: url("assets/plan-context.svg?v=3d1"); background-size: 160px auto; background-repeat: no-repeat; background-position: right 14px bottom 12px; padding-right: 185px; }
.art-home .info-tile:nth-child(2) { background-image: url("assets/care-connection.svg?v=3d1"); background-size: 160px auto; background-repeat: no-repeat; background-position: right 14px bottom 12px; padding-right: 185px; }
.art-home .info-tile > .art-icon { color: var(--blue); width: 32px; height: 32px; margin-bottom: 16px; }

/* Public families share art direction, with different reading rhythms. */
.premium-ui :is(.page-hero, .blog-hero, .article-hero) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--navy) url("assets/connection-field.svg?v=3d1") center / cover;
}
.premium-ui :is(.page-hero, .blog-hero, .article-hero)::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(35%, 450px);
  height: 100%;
  right: 3%;
  top: 0;
  background: url("assets/care-connection.svg?v=3d1") center / contain no-repeat;
  pointer-events: none;
}
.art-service .page-hero::after,
.art-program-photo .page-hero::after {
  width: 31%;
  height: calc(100% - 48px);
  top: 24px;
  right: 4%;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 18px 18px 48px 18px;
  background: url("assets/telerehabilitacion-hogar-v1.webp") 60% center / cover no-repeat;
  box-shadow: 10px 10px 0 rgba(33, 184, 201, .2);
}
.premium-ui .page-hero { padding-block: clamp(48px, 5vw, 80px); }
.premium-ui .page-hero > :is(h1, p) { max-width: min(66%, 950px); }
.premium-ui .page-hero h1 { font-size: clamp(2rem, 3.3vw, 3.5rem); color: var(--white); }
.premium-ui .page-hero > p:not(.eyebrow) { font-size: 1.06rem; color: var(--soft); }
.premium-ui .page-hero .eyebrow { color: var(--mint); }
.art-program .split-section,
.art-service .detail-section { background: var(--white); }
.art-service .condition-summary-card { border-left: 4px solid var(--cyan); border-top-color: var(--soft); background: var(--cloud); box-shadow: none; }
.art-service .condition-summary-card-blue { border-left-color: var(--blue); }
.premium-ui .info-panel { background: var(--white); border-top: 3px solid var(--blue); }
.premium-ui .info-panel h3 { padding-bottom: 12px; border-bottom: 1px solid var(--soft); }
.premium-ui .program-card { position: relative; border-top: 3px solid var(--blue); background-image: url("assets/connection-field.svg?v=3d1"); background-size: 560px auto; }
.premium-ui .program-card:nth-child(2n) { border-top-color: var(--cyan); }
.premium-ui .program-card h3 { font-size: 1.35rem; }
.premium-ui .plan-card { border-top: 3px solid var(--blue); }
.premium-ui .plan-card.featured { border: 2px solid var(--cyan); background: var(--mint); box-shadow: var(--art-depth); }
.premium-ui .plan-price { font-size: 2rem; letter-spacing: -.03em; }
.premium-ui .faq-section { background: var(--white); }
.premium-ui .faq-item { border: 1px solid var(--soft); border-left: 3px solid var(--blue); border-radius: 12px; }
/* FAQ static presentation extracted from the original inline declarations. */
.premium-ui .faq-page-content { padding: 1rem clamp(16px, 5vw, 80px) 4rem; }
.premium-ui .faq-content-width { max-width: 760px; margin: 0 auto; }
.premium-ui .faq-topic-heading { font-size: 1.1rem; color: var(--blue); font-weight: 800; margin: 2.5rem 0 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--soft); }
.premium-ui .faq-help { background: var(--soft); border-radius: var(--radius); padding: 2rem; text-align: center; margin-top: 3rem; }
.premium-ui .faq-help-title { font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: .5rem; }
.premium-ui .faq-help-copy { color: #4a5568; margin-bottom: 1.25rem; }
.premium-ui .contact-section { background: var(--navy) url("assets/connection-field.svg?v=3d1") center / cover; }
.premium-ui .contact-section h2 { max-width: 760px; }
.premium-ui .site-footer { border-top: 3px solid var(--cyan); background: var(--navy); }
.premium-ui .site-footer--columns .footer-grid strong { color: var(--white); letter-spacing: .06em; }
.premium-ui .site-footer--columns .footer-bottom { border-top-color: rgba(216, 232, 241, .25); }
.art-commercial :is(.form-card, .payment-panel, .budget-card) { border: 1px solid var(--soft); border-top: 4px solid var(--blue); box-shadow: var(--art-depth); }
.art-commercial .modality-card { border-radius: 12px; }
.art-commercial .modality-card.selected { border-color: var(--blue); background: var(--mint); }
.premium-ui .blog-hero { padding: 60px var(--art-space); text-align: left; }
.premium-ui .blog-hero :is(h1, p) { max-width: 65%; margin-inline: 0; }
.premium-ui .blog-hero h1 { font-size: var(--art-title); }
.premium-ui .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.premium-ui .blog-card { border: 1px solid var(--soft); border-radius: 16px; box-shadow: none; }
.premium-ui .blog-card h2 { font-size: 1.15rem; }
.premium-ui .blog-card:first-child { grid-column: span 2; background: var(--navy); padding-right: 38%; position: relative; overflow: hidden; }
.premium-ui .blog-card:first-child::after { content: ""; position: absolute; inset: 0 0 0 64%; background: url("assets/telerehabilitacion-hogar-v1.webp") 58% center / cover; pointer-events: none; }
.premium-ui .blog-card:first-child h2 { color: var(--white); font-size: 1.65rem; }
.premium-ui .blog-card:first-child p { color: var(--soft); }
.premium-ui .blog-card:first-child .read-more { color: var(--white); border-top-color: rgba(216, 232, 241, .25); }
.premium-ui .blog-card:nth-child(3n+2) { border-top: 3px solid var(--cyan); background: var(--mint); }
.art-editorial .article-wrap { max-width: 880px; padding-inline: 28px; padding-top: 28px; }
.art-editorial :is(.article-wrap, .article-body, .article-content) { color: var(--ink); line-height: 1.8; }
.art-editorial :is(.article-wrap, .article-body, .article-content) h2 { margin-top: 32px; font-size: clamp(1.3rem, 2vw, 1.8rem); border-left: 3px solid var(--cyan); padding-left: 14px; }
.art-article-heading {
  position: relative;
  isolation: isolate;
  padding: 32px;
  margin: 18px 0 32px;
  border-radius: 20px 20px 44px 20px;
  background: var(--navy) url("assets/connection-field.svg?v=3d1") center / cover;
  overflow: hidden;
}
.art-article-heading::after { content: ""; position: absolute; z-index: -1; left: 32px; top: 0; width: 64px; height: 4px; background: var(--cyan); pointer-events: none; }
.art-editorial .art-article-heading h1 { color: var(--white); font-size: clamp(1.8rem, 2.7vw, 2.65rem); margin-bottom: 20px; text-align: left; }
.art-editorial .art-article-heading p { color: var(--soft); font-size: .82rem; margin-bottom: 0; text-align: left; }
.art-editorial .article-hero { text-align: left; }
.art-editorial .article-hero :is(h1, p) { max-width: 66%; margin-inline: 0; }
.art-editorial .article-cta { border-radius: 18px; border-left: 4px solid var(--cyan); background: var(--navy) url("assets/connection-field.svg?v=3d1") center / cover; }
.art-editorial .article-cta :is(h3, p) { color: var(--white); }
.art-editorial .article-cta .button:not(.primary) { color: var(--navy) !important; background: var(--white); border-color: var(--soft); }
.premium-ui .order-package-section .eyebrow { color: var(--navy); }
.art-editorial table { border: 1px solid var(--soft); border-radius: 10px; overflow: hidden; }
.art-editorial tbody tr:nth-child(even) { background: var(--mint); }
.art-information :is(.legal-content, .profile-section) { background: var(--white); }
.art-error main { background-image: url("assets/connection-field.svg?v=3d1"); background-size: cover; }
.premium-ui .section-heading > h2:only-child { grid-column: 1 / -1; max-width: 900px; }
.art-information .legal-hero { background: var(--navy) url("assets/connection-field.svg?v=3d1") center / cover; }
.art-information .legal-hero h1 { color: var(--white); }

/* Operational surfaces: hierarchy follows the task and real data. */
.art-console { background: var(--cloud); }
.art-console :is(.portal-hero, .sidebar) { background: var(--navy) url("assets/connection-field.svg?v=3d1") center / cover; }
.art-console .portal-hero { padding: 38px var(--art-space); border-bottom: 3px solid var(--cyan); }
.art-console .portal-hero :is(h1, h2) { color: var(--white); font-size: clamp(1.65rem, 2.4vw, 2.3rem); }
.art-console .portal-hero p { color: var(--soft); opacity: 1; }
.premium-ui :is(.auth-section, .auth-box),
.art-console #admin-login { background: var(--white); border: 1px solid var(--soft); border-top: 4px solid var(--blue); border-radius: 18px; box-shadow: var(--art-depth); }
.art-console #admin-login { width: min(480px, calc(100% - 32px)); max-width: 480px; }
.premium-ui :is(.auth-section, .auth-box) h2,
.art-console #admin-login h1 { font-size: 1.5rem; }
.premium-ui .auth-tabs { padding: 4px; border-radius: 10px; background: var(--cloud); border: 1px solid var(--soft); }
.premium-ui .auth-tab { min-height: 44px; border-radius: 7px; }
.premium-ui .auth-tab.active { background: var(--navy); color: var(--white); }
.art-console .console-route-nav { background: var(--white); border-color: var(--soft); border-radius: 14px; box-shadow: none; }
.art-console .console-route-link { border-radius: 9px; }
.art-console .console-route-link.active { border-bottom: 3px solid var(--cyan); }
.art-console .console-page-context { color: var(--blue); }
.art-console :is(.section-card, .plan-header-card) { border: 1px solid var(--soft); border-radius: 16px; box-shadow: 0 5px 15px rgba(5, 44, 79, .05); }
.art-console .section-card > h2 { font-size: 1.2rem; padding-bottom: 14px; border-bottom: 1px solid var(--soft); }
.art-console .admin-header h2 { font-size: 1.65rem; }
.art-console .metric-card { border: 1px solid var(--soft); border-left: 3px solid var(--blue); border-radius: 12px; box-shadow: none; }
.art-console .metric-card.highlight { background: var(--navy); border-color: var(--navy); border-left-color: var(--cyan); }
.art-console .metric-value { font-variant-numeric: tabular-nums; }
.art-console .sidebar-nav-item .icon { background: none; box-shadow: none; margin: 0; height: 22px; width: 22px; flex-shrink: 0; font-size: 0; }
.art-console .sidebar-nav-item .art-icon { width: 22px; height: 22px; }
.art-console .sidebar-nav-item.active { border-left: 3px solid var(--cyan); }
.art-console :is(.status-badge, .orden-badge) { border: 1px solid currentColor; border-radius: 7px; letter-spacing: .01em; }
.art-console :is(.week-card, .exercise-card, .time-slot) { border-color: var(--soft); border-radius: 12px; }
.art-console :is(.week-card.current, .exercise-card) { border-left: 3px solid var(--blue); }
.art-console .empty-state::before,
.art-console .state-message::before { content: ""; display: block; width: 150px; height: 110px; margin: 0 auto 18px; background: url("assets/plan-context.svg?v=3d1") center / contain no-repeat; pointer-events: none; }
.art-console :is(.empty-state, .state-message) > .icon { display: none; }
.art-console #meet-section p a svg { display: inline-block; width: 18px; height: 18px; vertical-align: middle; margin-right: 5px; }
.art-console :is(.empty-state, .state-message) h2 { font-size: 1.45rem; }
.art-console .modal { border: 1px solid var(--soft); border-top: 4px solid var(--blue); border-radius: 16px; }
.art-console .load-error-panel { border-left: 4px solid var(--blue); border-radius: 12px; }
.art-console table { border: 1px solid var(--soft); }
.art-console th { border-bottom: 2px solid var(--soft); }
.art-console tbody tr:nth-child(even) { background: var(--cloud); }

/* Existing medical-order content needs the same complete reading composition. */
.premium-ui .orden-program-block { padding: 56px var(--art-space); background: var(--mint) url("assets/connection-field.svg?v=3d1") center / cover; }
.premium-ui .orden-program-inner { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr .9fr; align-items: start; gap: 48px; }
.premium-ui .orden-program-inner h2 { font-size: clamp(1.6rem, 2.6vw, 2.25rem); max-width: 23ch; margin: 8px 0 20px; }
.premium-ui .orden-program-inner p { line-height: 1.75; max-width: 68ch; }
.premium-ui .orden-tag-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 20px 0 26px; list-style: none; }
.premium-ui .orden-tag-list li { padding: 8px 12px; background: var(--white); border: 1px solid var(--soft); border-radius: 8px; color: var(--navy); font-size: .9rem; }
.premium-ui .orden-program-panel { padding: 28px; background: var(--white) url("assets/plan-context.svg?v=3d1") right 14px top 12px / 95px auto no-repeat; border: 1px solid var(--soft); border-top: 3px solid var(--blue); border-radius: 16px; box-shadow: var(--art-depth); }
.premium-ui .orden-program-panel h3 { padding-right: 80px; margin: 0 0 24px; font-size: 1.2rem; min-height: 55px; }
.premium-ui .orden-program-panel ul { padding-left: 20px; margin-bottom: 24px; }
.premium-ui .orden-program-panel li { padding: 5px 0; line-height: 1.6; }
.premium-ui .orden-program-panel li::marker { color: var(--blue); }
.premium-ui .orden-program-panel .reembolso-note { padding: 16px; margin: 0; border-left: 3px solid var(--cyan); background: var(--cloud); font-size: .88rem; }
@media (max-width: 980px) {
  .premium-ui .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .premium-ui .orden-program-inner { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 560px) {
  .premium-ui :is(.page-hero, .blog-hero, .article-hero)::after { width: 155px; height: 135px; top: auto; bottom: -10px; right: -24px; opacity: .3; }
  .premium-ui .page-hero > :is(h1, p),
  .premium-ui .blog-hero :is(h1, p),
  .art-editorial .article-hero :is(h1, p) { max-width: 100%; }
  .premium-ui .blog-grid { grid-template-columns: minmax(0, 1fr); }
  .premium-ui .blog-card:first-child { grid-column: auto; padding-right: 20px; padding-top: 190px; }
  .premium-ui .blog-card:first-child::after { inset: 0 0 auto; height: 170px; background-position: center 40%; }
  .art-article-heading { padding: 22px; border-radius: 14px 14px 30px 14px; }
}
@media (max-width: 980px) {
  .art-home .hero-compact { grid-template-columns: 1fr; min-height: auto; }
  .art-home .hero-media { grid-column: 1; grid-row: 2; max-width: 680px; justify-self: center; }
  .art-home .hero-compact .hero-content { grid-row: 1; }
  .art-home .info-tile { grid-column: span 6; }
}
@media (max-width: 560px) {
  .art-home .hero-compact h1 { font-size: 2.25rem; }
  .art-home .hero-media { aspect-ratio: 4 / 3; border-radius: 16px 16px 42px 16px; box-shadow: 8px 8px 0 rgba(33, 184, 201, .13); }
  .art-home .hero-media figcaption { left: 12px; right: 12px; bottom: 12px; padding: 10px; }
  .art-home .info-tile, .art-home .info-tile:nth-child(-n+2) { grid-column: 1 / -1; }
}

/* Content remains visible while motion is an optional enhancement. */
.premium-ui .reveal { opacity: 1; transform: none; transition: none; }
.premium-ui :is(.button, .blog-card, .info-tile, .program-card) { transition: box-shadow 180ms ease, border-color 180ms ease, background-color 180ms ease; }
.premium-ui :is(.button, .info-tile, .blog-card):hover { transform: none; }
.premium-ui .dark-mode-toggle { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--soft); border-radius: 10px; background: var(--white); color: var(--navy); cursor: pointer; }
html:has(body.premium-ui) { scroll-behavior: auto; }
.premium-ui.dark { background-color: var(--ink); }
.premium-ui.dark :is(.human-care-showcase, .home-links-section, .split-section, .detail-section, .legal-content, .profile-section, .faq-section, .blog-grid, .article-wrap, .article-body, .article-content) { background-color: var(--navy); color: var(--soft); }
.premium-ui.dark :is(.article-wrap, .article-body, .article-content) :is(h2, h3, h4, p, li, strong),
.premium-ui.dark :is(.human-care-content, .section-heading) :is(h2, p) { color: var(--soft); }
.premium-ui.dark :is(.article-wrap, .article-body, .article-content) a { color: var(--cyan); }
.premium-ui.dark :is(.article-wrap, .article-body, .article-content) tbody tr:nth-child(even) { background: var(--ink); }
.premium-ui.dark :is(.info-panel, .article-cta, .faq-item, .showcase-benefit) { color: var(--ink); }
.premium-ui.dark .article-cta :is(h3, p) { color: var(--white); }
.premium-ui.dark .admin-header h2 { color: var(--white); }
.premium-ui .site-footer { color: var(--soft); }
.premium-ui .site-footer a { color: var(--soft); }
.premium-ui :is(.btn-sm, .modal-close, .console-step-button, .console-pagination button) { min-height: 44px; }
.premium-ui .modal-close { min-width: 44px; }
.art-console .admin-content { min-width: 0; }
.art-console :is(.metric-card, .section-card, .carnet-row, .plan-row) { min-width: 0; }
.art-console .metrics-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.art-console[data-console="request"] .form-card { max-width: 780px; }
.art-console .modality-card .modality-desc { font-weight: 500; }
.art-console .modality-icon { font-size: 0; height: 28px; color: var(--blue); }
.art-console .modality-icon .art-icon { width: 28px; height: 28px; }
.art-online-intro .hero-compact { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 48px; padding: 64px var(--art-space); background: var(--navy) url("assets/connection-field.svg?v=3d1") center / cover; min-height: 520px; }
.art-online-intro .hero-content { width: 100%; padding: 0; max-width: none; text-align: left; }
.art-online-intro .hero-compact::after { content: ""; position: relative; inset: auto; width: 100%; min-height: 360px; border-radius: 20px 20px 60px 20px; background: url("assets/telerehabilitacion-hogar-v1.webp") 60% center / cover; box-shadow: 12px 12px 0 rgba(33, 184, 201, .18); }
.art-online-intro .hero-content h1 { font-size: clamp(2.4rem, 3.5vw, 3.5rem); }
.premium-ui .auth-tab { font: inherit; font-size: .88rem; font-weight: 700; border: 0; }
.premium-ui :is(.btn-google, .pw-eye, .pw-toggle, .wizard-option, .nav-toggle) { min-height: 44px; }
.premium-ui #ka-chat-btn { border-radius: 16px 16px 4px 16px; background: var(--navy); color: var(--white); box-shadow: 0 6px 20px rgba(5, 44, 79, .22); }
.premium-ui #ka-chat-btn:hover { background: var(--blue); transform: none; }
.premium-ui #ka-chat-panel { border: 1px solid var(--soft); border-radius: 16px; box-shadow: 0 16px 44px rgba(5, 44, 79, .2); }
.premium-ui #ka-chat-head { background: var(--navy); border-bottom: 3px solid var(--cyan); }
.premium-ui #ka-chat-head button { min-width: 44px; min-height: 44px; }
.premium-ui .ka-msg.bot { background: var(--mint); color: var(--navy); }
.premium-ui .ka-msg.user { background: var(--navy); color: var(--white); }
.premium-ui #ka-chat-send { min-width: 44px; min-height: 44px; background: var(--navy); }
.premium-ui #ka-chat-inp:focus { border-color: var(--blue); box-shadow: none; }
@media (max-width: 1100px) {
  .art-console .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .premium-ui { --art-space: clamp(20px, 4vw, 40px); }
  .art-home .hero-compact { padding-block: 40px; }
  .art-home .hero-compact h1 { font-size: clamp(2.25rem, 5vw, 3rem); }
  .art-home .info-tile:nth-child(-n+2) { padding-right: 24px; padding-bottom: 112px; background-position: left 24px bottom 6px; background-size: 130px auto; }
  .premium-ui :is(.page-hero, .blog-hero, .article-hero) { padding-inline: var(--art-space); }
  .art-online-intro .hero-compact { grid-template-columns: 1fr; gap: 32px; padding-block: 40px; }
  .art-online-intro .hero-content { grid-row: 1; }
  .art-online-intro .hero-compact::after { grid-row: 2; min-height: 300px; }
}
@media (max-width: 768px) {
  body.art-console[data-console="admin"] .admin-layout { grid-template-rows: auto 1fr; }
  body.art-console[data-console="admin"] .sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 6px; height: auto; overflow: visible; }
  body.art-console[data-console="admin"] .sidebar-nav-item { width: 100%; min-width: 0; min-height: 48px; white-space: normal; font-size: .85rem; }
  .art-console .admin-content { padding: 24px 16px; }
  .art-console :is(.carnet-row, .session-fields) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .art-console .sets-reps-row { gap: 12px; }
}
@media (max-width: 560px) {
  .premium-ui { --art-space: 20px; }
  .art-home .hero-compact { padding: 32px 20px 40px; gap: 30px; }
  .art-home .hero-compact h1 { font-size: 2.15rem; line-height: 1.12; margin-bottom: 20px; }
  .art-home .hero-copy { font-size: 1rem; }
  .art-home .hero-actions { gap: 12px; }
  .premium-ui :is(.page-hero, .blog-hero, .article-hero) { padding-top: 36px; padding-bottom: 36px; }
  .art-service .page-hero::after,
  .art-program-photo .page-hero::after { position: relative; display: block; inset: auto; width: 100%; height: 190px; margin-top: 26px; opacity: 1; border-radius: 14px 14px 32px 14px; background-position: center 38%; }
  .art-console .metric-card { padding: 16px 12px; }
  .art-console .metric-label { font-size: .7rem; }
  .art-console .section-card { padding: 18px; }
  .art-console .modal { padding: 20px; }
  .art-console .carnet-row { grid-template-columns: 1fr; }
  .premium-ui :is(.contact-actions, .hero-actions) .button { width: 100%; }
  .art-editorial .article-wrap { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.premium-ui) { scroll-behavior: auto; }
  .premium-ui *, .premium-ui *::before, .premium-ui *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Static legal links; destinations and original colors preserved. */
.premium-ui.art-information .legal-back-link { color: rgba(255,255,255,.7); margin-bottom: 1rem; display: inline-block; }
.premium-ui.art-information .legal-text-link { color: var(--blue); }
