/* =========================================================
   ACADEMIA TARVOS · INSTITUCIONAL PREMIUM V5 · 2026-08-26
   Sobre nosotros · Nuestros servicios · Contacto
   Capa final: carga DESPUÉS de tarvos-unified-pages.css.
   ========================================================= */

.tarvos-v5-page {
  --tv5-shell: 1320px;
  --tv5-gutter: clamp(20px, 3.1vw, 44px);
  --tv5-ink: #111526;
  --tv5-ink-2: #1b2034;
  --tv5-copy: #566178;
  --tv5-muted: #7b8498;
  --tv5-line: #e7e9ef;
  --tv5-line-strong: #daddE7;
  --tv5-soft: #f7f7fa;
  --tv5-soft-2: #f1f2f6;
  --tv5-violet: #7254e8;
  --tv5-violet-dark: #5f3fd7;
  --tv5-violet-soft: #f3f0ff;
  --tv5-dark: #121424;
  --tv5-dark-2: #181a2c;
  --tv5-radius-sm: 14px;
  --tv5-radius: 22px;
  --tv5-radius-lg: 30px;
  color: var(--tv5-ink) !important;
  background: #fff !important;
}

.tarvos-v5-page .tarvos-institutional-shell,
.tarvos-v5-page .tarvos-about-shell {
  width: min(var(--tv5-shell), calc(100% - (var(--tv5-gutter) * 2))) !important;
  max-width: var(--tv5-shell) !important;
  margin-inline: auto !important;
}

.tarvos-v5-page *,
.tarvos-v5-page *::before,
.tarvos-v5-page *::after {
  box-sizing: border-box;
}

.tarvos-v5-page :where(h1,h2,h3,p,ul,ol,dl,blockquote) {
  margin-top: 0;
}

.tarvos-v5-page :where(a,button,input,select,textarea,summary) {
  -webkit-tap-highlight-color: transparent;
}

.tarvos-v5-page :where(a,button,summary):focus-visible {
  outline: 3px solid rgba(114, 84, 232, .24) !important;
  outline-offset: 4px !important;
}

.tarvos-v5-overline {
  display: block !important;
  margin: 0 0 16px !important;
  color: var(--tv5-violet-dark) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.tarvos-v5-button {
  display: inline-flex !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 20px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font-size: .92rem !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease !important;
}

.tarvos-v5-button:hover { transform: translateY(-1px) !important; }

.tarvos-v5-button--primary {
  color: #fff !important;
  background: var(--tv5-violet) !important;
  box-shadow: 0 12px 26px rgba(82, 57, 190, .18) !important;
}

.tarvos-v5-button--primary:hover {
  background: var(--tv5-violet-dark) !important;
  box-shadow: 0 16px 32px rgba(82, 57, 190, .24) !important;
}

.tarvos-v5-button--light {
  color: var(--tv5-dark) !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.14) !important;
}

.tarvos-v5-text-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 7px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95,63,215,.28) !important;
  color: var(--tv5-violet-dark) !important;
  background: transparent !important;
  font-size: .91rem !important;
  font-weight: 760 !important;
  text-decoration: none !important;
}

.tarvos-v5-text-link:hover { border-bottom-color: var(--tv5-violet) !important; }
.tarvos-v5-text-link--light { color: #fff !important; border-bottom-color: rgba(255,255,255,.35) !important; }

/* ----------------------------- HERO ----------------------------- */
.tarvos-v5-page > .tarvos-v5-hero {
  display: block !important;
  min-height: 0 !important;
  padding: clamp(66px, 7vw, 104px) 0 0 !important;
  border: 0 !important;
  background: #fff !important;
  overflow: hidden !important;
  text-align: left !important;
}

.tarvos-v5-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr) !important;
  gap: clamp(58px, 7vw, 110px) !important;
  align-items: center !important;
}

.tarvos-v5-hero__copy {
  min-width: 0;
  padding: 18px 0 34px;
}

.tarvos-v5-page .tarvos-v5-hero h1 {
  max-width: 900px !important;
  margin: 0 !important;
  color: var(--tv5-ink) !important;
  font-size: clamp(3.35rem, 5.7vw, 5.45rem) !important;
  font-weight: 830 !important;
  letter-spacing: -.066em !important;
  line-height: .985 !important;
  text-align: left !important;
  text-wrap: balance !important;
}

.tarvos-v5-page .tarvos-v5-hero .tarvos-institutional-hero__lead {
  max-width: 760px !important;
  margin: 26px 0 0 !important;
  color: var(--tv5-copy) !important;
  font-size: clamp(1.06rem, 1.3vw, 1.22rem) !important;
  font-weight: 420 !important;
  line-height: 1.68 !important;
  text-align: left !important;
  text-wrap: pretty !important;
}

.tarvos-v5-hero__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px 24px !important;
  align-items: center !important;
  margin-top: 34px !important;
}

/* Right-side signature panel used consistently across the three pages. */
.tarvos-v5-hero-system,
.tarvos-v5-service-router,
.tarvos-v5-contact-router {
  position: relative !important;
  min-width: 0 !important;
  padding: 28px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--tv5-radius-lg) !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(126,96,239,.28), transparent 34%),
    linear-gradient(145deg, #101221 0%, #17192b 58%, #1b1730 100%) !important;
  box-shadow: 0 28px 70px rgba(18,20,36,.16) !important;
  overflow: hidden !important;
}

.tarvos-v5-hero-system::after,
.tarvos-v5-service-router::after,
.tarvos-v5-contact-router::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -115px;
  bottom: -135px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(255,255,255,.018), 0 0 0 72px rgba(255,255,255,.012);
  pointer-events: none;
}

.tarvos-v5-hero-system__top,
.tarvos-v5-service-router__head,
.tarvos-v5-contact-router__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
  color: rgba(255,255,255,.64) !important;
  font-size: .7rem !important;
  font-weight: 760 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.tarvos-v5-hero-system__top b,
.tarvos-v5-service-router__head b,
.tarvos-v5-contact-router__head b {
  color: #9f8afb !important;
  font-weight: 800 !important;
}

.tarvos-v5-hero-system__statement {
  max-width: 11ch !important;
  margin: 0 0 30px !important;
  color: #fff !important;
  font-size: clamp(2rem, 2.5vw, 2.7rem) !important;
  font-weight: 760 !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
}

.tarvos-v5-hero-system__steps {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-top: 1px solid rgba(255,255,255,.11) !important;
}

.tarvos-v5-hero-system__steps li {
  display: grid !important;
  grid-template-columns: 34px minmax(0, .7fr) minmax(0, 1.3fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.09) !important;
}

.tarvos-v5-hero-system__steps li > span {
  color: #9f8afb !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

.tarvos-v5-hero-system__steps strong {
  color: #fff !important;
  font-size: .91rem !important;
  font-weight: 700 !important;
}

.tarvos-v5-hero-system__steps small {
  color: rgba(255,255,255,.56) !important;
  font-size: .77rem !important;
  line-height: 1.45 !important;
}

.tarvos-v5-hero__facts,
.tarvos-v5-service-proof,
.tarvos-v5-contact-strip {
  display: grid !important;
  margin-top: clamp(54px, 6vw, 86px) !important;
  border-top: 1px solid var(--tv5-line) !important;
  border-bottom: 1px solid var(--tv5-line) !important;
}

.tarvos-v5-hero__facts,
.tarvos-v5-service-proof { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.tarvos-v5-hero__facts > div,
.tarvos-v5-service-proof > span {
  min-width: 0 !important;
  padding: 22px 24px 24px !important;
  border-right: 1px solid var(--tv5-line) !important;
}

.tarvos-v5-hero__facts > div:first-child,
.tarvos-v5-service-proof > span:first-child { padding-left: 0 !important; }
.tarvos-v5-hero__facts > div:last-child,
.tarvos-v5-service-proof > span:last-child { border-right: 0 !important; }

.tarvos-v5-hero__facts span,
.tarvos-v5-service-proof small,
.tarvos-v5-contact-strip span,
.tarvos-v5-contact-strip small {
  display: block !important;
  color: var(--tv5-muted) !important;
  font-size: .72rem !important;
  font-weight: 680 !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
}

.tarvos-v5-hero__facts strong,
.tarvos-v5-service-proof b {
  display: block !important;
  margin: 5px 0 4px !important;
  color: var(--tv5-ink) !important;
  font-size: 1rem !important;
  font-weight: 760 !important;
  line-height: 1.3 !important;
}

/* ------------------------- GENERIC SECTIONS ------------------------- */
.tarvos-v5-page > .tarvos-institutional-section,
.tarvos-v5-page > .tarvos-about-section {
  padding: clamp(84px, 8vw, 124px) 0 !important;
  border: 0 !important;
  background: #fff !important;
}

.tarvos-v5-page > .tarvos-institutional-section + .tarvos-institutional-section,
.tarvos-v5-page > .tarvos-about-section + .tarvos-about-section {
  border-top: 1px solid var(--tv5-line) !important;
}

.tarvos-v5-section-heading h2,
.tarvos-v5-heading-row h2,
.tarvos-v5-catalog__heading h2,
.tarvos-v5-method__heading h2,
.tarvos-v5-pau__intro h2,
.tarvos-v5-ecosystem__copy h2,
.tarvos-v5-contact-brief h2,
.tarvos-v5-contact-form h2,
.tarvos-v5-contact-location__copy h2,
.tarvos-v5-closing h2 {
  margin: 0 !important;
  color: var(--tv5-ink) !important;
  font-size: clamp(2.35rem, 4vw, 4.15rem) !important;
  font-weight: 810 !important;
  letter-spacing: -.055em !important;
  line-height: 1.03 !important;
  text-wrap: balance !important;
}

.tarvos-v5-section-heading > p:last-child,
.tarvos-v5-heading-row > p,
.tarvos-v5-catalog__heading > p,
.tarvos-v5-method__heading > p,
.tarvos-v5-pau__intro > p,
.tarvos-v5-contact-brief > p,
.tarvos-v5-contact-form > header > p:last-child,
.tarvos-v5-contact-location__copy > p:last-child {
  color: var(--tv5-copy) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.tarvos-v5-heading-row,
.tarvos-v5-catalog__heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr) !important;
  gap: clamp(48px, 7vw, 110px) !important;
  align-items: end !important;
  margin-bottom: 46px !important;
}

.tarvos-v5-heading-row > p,
.tarvos-v5-catalog__heading > p { margin: 0 0 7px !important; max-width: 600px !important; }

/* ------------------------- ABOUT ------------------------- */
.tarvos-v5-manifesto__grid {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  gap: clamp(58px, 8vw, 130px) !important;
  align-items: start !important;
}

.tarvos-v5-manifesto__body { min-width: 0 !important; }

.tarvos-v5-lede {
  max-width: 780px !important;
  margin: 0 0 32px !important;
  color: var(--tv5-ink-2) !important;
  font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
  font-weight: 540 !important;
  letter-spacing: -.025em !important;
  line-height: 1.48 !important;
}

.tarvos-v5-prose-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 28px !important;
}

.tarvos-v5-prose-columns p {
  margin: 0 !important;
  color: var(--tv5-copy) !important;
  font-size: .98rem !important;
  line-height: 1.78 !important;
}

.tarvos-v5-quote {
  position: relative !important;
  margin: 42px 0 0 !important;
  padding: 26px 0 0 34px !important;
  border: 0 !important;
  border-top: 1px solid var(--tv5-line) !important;
  color: var(--tv5-ink) !important;
  background: transparent !important;
  font-size: clamp(1.65rem, 2.6vw, 2.5rem) !important;
  font-weight: 760 !important;
  letter-spacing: -.045em !important;
  line-height: 1.14 !important;
}

.tarvos-v5-quote::before {
  content: "“";
  position: absolute;
  top: 17px;
  left: 0;
  color: var(--tv5-violet) !important;
  font-size: 2.4rem !important;
  font-weight: 800 !important;
}

.tarvos-v5-specialties { background: var(--tv5-soft) !important; }
.tarvos-v5-specialties + .tarvos-institutional-section { border-top: 0 !important; }

.tarvos-v5-specialty-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 14px !important;
}

.tarvos-v5-specialty-card {
  display: flex !important;
  min-height: 330px !important;
  flex-direction: column !important;
  padding: 26px !important;
  border: 1px solid var(--tv5-line) !important;
  border-radius: var(--tv5-radius) !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: none !important;
}

.tarvos-v5-specialty-card--accent {
  border-color: transparent !important;
  color: #fff !important;
  background: linear-gradient(145deg,#6f50e6,#5e3fd5) !important;
  box-shadow: 0 20px 46px rgba(86,60,193,.18) !important;
}

.tarvos-v5-specialty-card__meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid var(--tv5-line) !important;
}

.tarvos-v5-specialty-card--accent .tarvos-v5-specialty-card__meta { border-bottom-color: rgba(255,255,255,.18) !important; }

.tarvos-v5-specialty-card__meta span,
.tarvos-v5-specialty-card__meta small {
  color: var(--tv5-muted) !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.tarvos-v5-specialty-card--accent .tarvos-v5-specialty-card__meta span,
.tarvos-v5-specialty-card--accent .tarvos-v5-specialty-card__meta small { color: rgba(255,255,255,.68) !important; }

.tarvos-v5-specialty-card h3 {
  margin: auto 0 12px !important;
  color: var(--tv5-ink) !important;
  font-size: clamp(1.55rem, 2vw, 2rem) !important;
  font-weight: 780 !important;
  letter-spacing: -.04em !important;
  line-height: 1.08 !important;
}
.tarvos-v5-specialty-card--accent h3 { color:#fff !important; }

.tarvos-v5-specialty-card p {
  margin: 0 !important;
  color: var(--tv5-copy) !important;
  font-size: .91rem !important;
  line-height: 1.65 !important;
}
.tarvos-v5-specialty-card--accent p { color: rgba(255,255,255,.78) !important; }

.tarvos-v5-specialty-card a {
  margin-top: 22px !important;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

.tarvos-v5-rigor__grid {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  gap: clamp(60px, 8vw, 132px) !important;
  align-items: start !important;
}

.tarvos-v5-section-heading--sticky { position: sticky !important; top: 110px !important; }
.tarvos-v5-section-heading--sticky > p:last-child { max-width: 540px !important; margin-top: 24px !important; }

.tarvos-v5-source-flow {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.tarvos-v5-source-flow::before {
  content: "";
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 24px;
  width: 1px;
  background: linear-gradient(var(--tv5-violet), #d9d5ed) !important;
}

.tarvos-v5-source-flow li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 50px minmax(0,1fr) !important;
  gap: 22px !important;
  padding: 0 0 42px !important;
}
.tarvos-v5-source-flow li:last-child { padding-bottom: 0 !important; }

.tarvos-v5-source-flow__number {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  width: 49px !important;
  height: 49px !important;
  place-items: center !important;
  border: 1px solid #dad5f3 !important;
  border-radius: 50% !important;
  color: var(--tv5-violet-dark) !important;
  background: #fff !important;
  font-size: .7rem !important;
  font-weight: 850 !important;
}

.tarvos-v5-source-flow small {
  display: block !important;
  margin: 1px 0 7px !important;
  color: var(--tv5-muted) !important;
  font-size: .69rem !important;
  font-weight: 780 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.tarvos-v5-source-flow h3 {
  margin: 0 0 8px !important;
  color: var(--tv5-ink) !important;
  font-size: 1.25rem !important;
  font-weight: 760 !important;
  letter-spacing: -.025em !important;
}

.tarvos-v5-source-flow p {
  max-width: 650px !important;
  margin: 0 !important;
  color: var(--tv5-copy) !important;
  font-size: .94rem !important;
  line-height: 1.68 !important;
}

.tarvos-v5-method {
  color: #fff !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(118,83,232,.20), transparent 30%),
    var(--tv5-dark) !important;
}
.tarvos-v5-method + .tarvos-institutional-section { border-top: 0 !important; }
.tarvos-v5-method .tarvos-v5-overline { color: #a795fb !important; }

.tarvos-v5-method__heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px,.9fr) !important;
  gap: clamp(48px, 7vw, 108px) !important;
  align-items: end !important;
  margin-bottom: 62px !important;
}

.tarvos-v5-method__heading .tarvos-v5-overline { grid-column: 1 / -1 !important; margin-bottom: -26px !important; }
.tarvos-v5-method__heading h2 { color: #fff !important; }
.tarvos-v5-method__heading > p:last-child { margin: 0 0 5px !important; color: rgba(255,255,255,.62) !important; font-size: 1rem !important; line-height: 1.7 !important; }

.tarvos-v5-method-track {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
}

.tarvos-v5-method-track li {
  position: relative !important;
  min-height: 260px !important;
  padding: 26px 28px 0 0 !important;
  border-right: 1px solid rgba(255,255,255,.1) !important;
}
.tarvos-v5-method-track li + li { padding-left: 28px !important; }
.tarvos-v5-method-track li:last-child { border-right: 0 !important; }
.tarvos-v5-method-track li > span { display:block !important; color:#9f8afb !important; font-size:.72rem !important; font-weight:850 !important; letter-spacing:.08em !important; }
.tarvos-v5-method-track h3 { margin: 78px 0 10px !important; color:#fff !important; font-size:1.35rem !important; font-weight:740 !important; letter-spacing:-.03em !important; }
.tarvos-v5-method-track p { margin:0 !important; color:rgba(255,255,255,.58) !important; font-size:.9rem !important; line-height:1.65 !important; }

.tarvos-v5-pau { background: #fff !important; }
.tarvos-v5-pau__grid {
  display: grid !important;
  grid-template-columns: minmax(330px,.78fr) minmax(0,1.22fr) !important;
  gap: clamp(58px, 8vw, 124px) !important;
  align-items: start !important;
}
.tarvos-v5-pau__intro > p { max-width:560px !important; margin-top:22px !important; }

.tarvos-v5-trial {
  margin: 34px 0 28px !important;
  padding: 24px 0 0 !important;
  border-top: 1px solid var(--tv5-line) !important;
}
.tarvos-v5-trial span { display:block !important; color:var(--tv5-violet-dark) !important; font-size:.7rem !important; font-weight:850 !important; letter-spacing:.09em !important; text-transform:uppercase !important; }
.tarvos-v5-trial strong { display:block !important; margin:6px 0 8px !important; color:var(--tv5-ink) !important; font-size:1.35rem !important; font-weight:760 !important; letter-spacing:-.025em !important; }
.tarvos-v5-trial p { margin:0 !important; color:var(--tv5-copy) !important; font-size:.9rem !important; line-height:1.6 !important; }

.tarvos-v5-pau__features {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  border-top: 1px solid var(--tv5-line) !important;
  border-left: 1px solid var(--tv5-line) !important;
}

.tarvos-v5-pau__features article {
  display: grid !important;
  min-width: 0 !important;
  min-height: 180px !important;
  grid-template-columns: 32px minmax(0,1fr) !important;
  gap: 16px !important;
  padding: 26px !important;
  border-right: 1px solid var(--tv5-line) !important;
  border-bottom: 1px solid var(--tv5-line) !important;
}
.tarvos-v5-pau__features article > span { color:var(--tv5-violet) !important; font-size:.7rem !important; font-weight:850 !important; letter-spacing:.07em !important; }
.tarvos-v5-pau__features h3 { margin:0 0 8px !important; color:var(--tv5-ink) !important; font-size:1.05rem !important; font-weight:740 !important; letter-spacing:-.02em !important; }
.tarvos-v5-pau__features p { margin:0 !important; color:var(--tv5-copy) !important; font-size:.87rem !important; line-height:1.6 !important; }

.tarvos-v5-ecosystem { padding-top: 0 !important; border-top:0 !important; }
.tarvos-v5-ecosystem__panel {
  display: grid !important;
  grid-template-columns: minmax(0,1.04fr) minmax(360px,.96fr) !important;
  gap: clamp(48px,7vw,100px) !important;
  align-items: center !important;
  padding: clamp(46px,6vw,76px) !important;
  border-radius: var(--tv5-radius-lg) !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(124,91,239,.24), transparent 32%),
    linear-gradient(145deg,#111321,#181a2e) !important;
  box-shadow: 0 30px 80px rgba(18,20,36,.15) !important;
}
.tarvos-v5-ecosystem__panel--light { color:var(--tv5-ink) !important; background:var(--tv5-soft) !important; box-shadow:none !important; }
.tarvos-v5-ecosystem__panel .tarvos-v5-overline { color:#a994fb !important; }
.tarvos-v5-ecosystem__panel--light .tarvos-v5-overline { color:var(--tv5-violet-dark) !important; }
.tarvos-v5-ecosystem__copy h2 { color:#fff !important; }
.tarvos-v5-ecosystem__panel--light .tarvos-v5-ecosystem__copy h2 { color:var(--tv5-ink) !important; }
.tarvos-v5-ecosystem__copy > p:last-child { max-width:650px !important; margin:22px 0 0 !important; color:rgba(255,255,255,.62) !important; line-height:1.7 !important; }
.tarvos-v5-ecosystem__panel--light .tarvos-v5-ecosystem__copy > p:last-child { color:var(--tv5-copy) !important; }

.tarvos-v5-ecosystem__links { border-top:1px solid rgba(255,255,255,.13) !important; }
.tarvos-v5-ecosystem__panel--light .tarvos-v5-ecosystem__links { border-top-color:var(--tv5-line) !important; }
.tarvos-v5-ecosystem__links a {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 22px !important;
  gap:20px !important;
  align-items:center !important;
  padding:22px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.13) !important;
  color:#fff !important;
  text-decoration:none !important;
}
.tarvos-v5-ecosystem__panel--light .tarvos-v5-ecosystem__links a { color:var(--tv5-ink) !important; border-bottom-color:var(--tv5-line) !important; }
.tarvos-v5-ecosystem__links small,.tarvos-v5-ecosystem__links strong,.tarvos-v5-ecosystem__links em { display:block !important; }
.tarvos-v5-ecosystem__links small { margin-bottom:6px !important; color:#a994fb !important; font-size:.67rem !important; font-style:normal !important; font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase !important; }
.tarvos-v5-ecosystem__links strong { color:inherit !important; font-size:1.08rem !important; font-weight:730 !important; }
.tarvos-v5-ecosystem__links em { margin-top:5px !important; color:rgba(255,255,255,.52) !important; font-size:.82rem !important; font-style:normal !important; line-height:1.5 !important; }
.tarvos-v5-ecosystem__panel--light .tarvos-v5-ecosystem__links em { color:var(--tv5-muted) !important; }
.tarvos-v5-ecosystem__links b { color:#a994fb !important; font-size:1rem !important; }

/* FAQ */
.tarvos-v5-faq__grid {
  display:grid !important;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr) !important;
  gap:clamp(60px,8vw,130px) !important;
  align-items:start !important;
}
.tarvos-v5-faq__list { margin:0 !important; padding:0 !important; border:0 !important; border-top:1px solid var(--tv5-line) !important; border-radius:0 !important; background:transparent !important; }
.tarvos-v5-faq__list details { margin:0 !important; padding:0 !important; border:0 !important; border-bottom:1px solid var(--tv5-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.tarvos-v5-faq__list summary { position:relative !important; min-height:0 !important; padding:22px 42px 22px 0 !important; color:var(--tv5-ink) !important; background:transparent !important; font-size:.98rem !important; font-weight:720 !important; line-height:1.45 !important; cursor:pointer !important; list-style:none !important; }
.tarvos-v5-faq__list summary::-webkit-details-marker { display:none !important; }
.tarvos-v5-faq__list summary::after { content:"+" !important; position:absolute !important; top:20px !important; right:4px !important; color:var(--tv5-violet) !important; font-size:1.25rem !important; font-weight:500 !important; }
.tarvos-v5-faq__list details[open] summary::after { content:"−" !important; }
.tarvos-v5-faq__list details p { max-width:760px !important; margin:0 !important; padding:0 42px 22px 0 !important; color:var(--tv5-copy) !important; font-size:.91rem !important; line-height:1.7 !important; }

/* ------------------------- SERVICES ------------------------- */
.tarvos-v5-service-router { padding: 24px 28px !important; }
.tarvos-v5-service-router__head { margin-bottom:14px !important; }
.tarvos-v5-service-router > a {
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) 18px !important;
  gap:14px !important;
  align-items:center !important;
  padding:17px 0 !important;
  border-top:1px solid rgba(255,255,255,.1) !important;
  color:#fff !important;
  text-decoration:none !important;
}
.tarvos-v5-service-router > a > span { color:#9f8afb !important; font-size:.68rem !important; font-weight:850 !important; }
.tarvos-v5-service-router > a small,.tarvos-v5-service-router > a strong { display:block !important; }
.tarvos-v5-service-router > a small { color:rgba(255,255,255,.48) !important; font-size:.7rem !important; line-height:1.35 !important; }
.tarvos-v5-service-router > a strong { margin-top:4px !important; color:#fff !important; font-size:.93rem !important; font-weight:690 !important; line-height:1.35 !important; }
.tarvos-v5-service-router > a > b { color:#a994fb !important; font-weight:700 !important; }

.tarvos-v5-service-proof > span { display:block !important; }

.tarvos-v5-service-guide { background:var(--tv5-soft) !important; }
.tarvos-v5-service-guide + .tarvos-institutional-section { border-top:0 !important; }
.tarvos-v5-path-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; }
.tarvos-v5-path-grid article { min-height:300px !important; display:flex !important; flex-direction:column !important; padding:28px !important; border:1px solid var(--tv5-line) !important; border-radius:var(--tv5-radius) !important; background:#fff !important; }
.tarvos-v5-path-grid article > span { color:var(--tv5-violet) !important; font-size:.7rem !important; font-weight:850 !important; letter-spacing:.08em !important; }
.tarvos-v5-path-grid h3 { margin:56px 0 12px !important; color:var(--tv5-ink) !important; font-size:1.35rem !important; font-weight:760 !important; letter-spacing:-.03em !important; line-height:1.15 !important; }
.tarvos-v5-path-grid p { margin:0 !important; color:var(--tv5-copy) !important; font-size:.9rem !important; line-height:1.65 !important; }
.tarvos-v5-path-grid a { margin-top:auto !important; padding-top:26px !important; color:var(--tv5-violet-dark) !important; font-size:.86rem !important; font-weight:750 !important; text-decoration:none !important; }
.tarvos-v5-path-grid a b { margin-left:6px !important; }

.tarvos-v5-catalog__heading { align-items:start !important; }
.tarvos-v5-catalog .tarvos-services-controls {
  display:grid !important;
  grid-template-columns:minmax(280px,1fr) auto auto !important;
  gap:14px 18px !important;
  align-items:center !important;
  margin:0 0 24px !important;
  padding:14px !important;
  border:1px solid var(--tv5-line) !important;
  border-radius:18px !important;
  background:var(--tv5-soft) !important;
  box-shadow:none !important;
}
.tarvos-v5-catalog .tarvos-services-search { min-width:0 !important; border:1px solid var(--tv5-line) !important; border-radius:12px !important; background:#fff !important; box-shadow:none !important; }
.tarvos-v5-catalog .tarvos-services-search input { min-width:0 !important; background:#fff !important; }
.tarvos-v5-catalog .tarvos-services-filters { display:flex !important; gap:5px !important; flex-wrap:wrap !important; }
.tarvos-v5-catalog .tarvos-services-filters button { min-height:38px !important; padding:0 13px !important; border:1px solid transparent !important; border-radius:999px !important; color:var(--tv5-copy) !important; background:transparent !important; font-size:.78rem !important; font-weight:720 !important; box-shadow:none !important; }
.tarvos-v5-catalog .tarvos-services-filters button.is-active { border-color:#ded9f5 !important; color:var(--tv5-violet-dark) !important; background:#fff !important; }
.tarvos-v5-catalog .tarvos-services-count { margin:0 !important; color:var(--tv5-muted) !important; font-size:.78rem !important; white-space:nowrap !important; }
.tarvos-v5-catalog .tarvos-services-count strong { color:var(--tv5-ink) !important; }

.tarvos-v5-catalog .tarvos-services-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-top:0 !important;
}

.tarvos-v5-catalog .tarvos-service-card {
  position:relative !important;
  display:flex !important;
  min-width:0 !important;
  min-height:400px !important;
  flex-direction:column !important;
  padding:26px !important;
  border:1px solid var(--tv5-line) !important;
  border-radius:var(--tv5-radius) !important;
  background:#fff !important;
  box-shadow:none !important;
  transform:none !important;
  overflow:hidden !important;
}
.tarvos-v5-catalog .tarvos-service-card::before { content:"" !important; position:absolute !important; inset:0 0 auto 0 !important; width:auto !important; height:3px !important; border:0 !important; border-radius:0 !important; background:linear-gradient(90deg,var(--tv5-violet),#9a84f3) !important; opacity:.86 !important; }
.tarvos-v5-catalog .tarvos-service-card.is-unavailable::before { background:#c8ccd7 !important; }
.tarvos-v5-catalog .tarvos-service-card:hover,.tarvos-v5-catalog .tarvos-service-card:focus-visible { border-color:#d9d3f3 !important; box-shadow:0 20px 50px rgba(23,24,44,.08) !important; transform:translateY(-2px) !important; }
.tarvos-v5-catalog .tarvos-service-card.is-unavailable { opacity:.72 !important; background:#fafafd !important; }
.tarvos-v5-catalog .tarvos-service-card__top { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; margin-bottom:30px !important; }
.tarvos-v5-catalog .tarvos-service-card__top p { margin:0 !important; color:var(--tv5-muted) !important; font-size:.69rem !important; font-weight:800 !important; letter-spacing:.075em !important; text-transform:uppercase !important; }
.tarvos-v5-catalog .tarvos-service-status { padding:5px 9px !important; border-radius:999px !important; font-size:.68rem !important; font-weight:780 !important; }
.tarvos-v5-catalog .tarvos-service-status.is-available { color:#18734f !important; background:#eaf8f1 !important; }
.tarvos-v5-catalog .tarvos-service-status.is-unavailable { color:#737b8d !important; background:#eef0f4 !important; }
.tarvos-v5-catalog .tarvos-service-card h3 { margin:0 0 12px !important; color:var(--tv5-ink) !important; font-size:1.45rem !important; font-weight:780 !important; letter-spacing:-.035em !important; line-height:1.12 !important; }
.tarvos-v5-catalog .tarvos-service-card > p { margin:0 0 24px !important; color:var(--tv5-copy) !important; font-size:.89rem !important; line-height:1.64 !important; }
.tarvos-v5-catalog .tarvos-service-card > dl { display:grid !important; grid-template-columns:1fr !important; gap:0 !important; margin:0 !important; padding:0 !important; border-top:1px solid var(--tv5-line) !important; }
.tarvos-v5-catalog .tarvos-service-card > dl > div { display:grid !important; grid-template-columns:88px minmax(0,1fr) !important; gap:12px !important; padding:10px 0 !important; border-bottom:1px solid var(--tv5-line) !important; }
.tarvos-v5-catalog .tarvos-service-card dt { color:var(--tv5-muted) !important; font-size:.72rem !important; font-weight:650 !important; }
.tarvos-v5-catalog .tarvos-service-card dd { margin:0 !important; color:var(--tv5-ink-2) !important; font-size:.78rem !important; font-weight:680 !important; text-align:right !important; overflow-wrap:anywhere !important; }
.tarvos-v5-catalog .tarvos-service-card footer { display:flex !important; align-items:end !important; justify-content:space-between !important; gap:16px !important; margin-top:auto !important; padding-top:26px !important; border:0 !important; }
.tarvos-v5-catalog .tarvos-service-card footer > strong { color:var(--tv5-ink) !important; font-size:1.18rem !important; font-weight:800 !important; letter-spacing:-.025em !important; }
.tarvos-v5-catalog .tarvos-service-card__action { color:var(--tv5-violet-dark) !important; font-size:.82rem !important; font-weight:750 !important; }

.tarvos-v5-service-scope { background:var(--tv5-soft) !important; }
.tarvos-v5-service-scope + .tarvos-institutional-section { border-top:0 !important; }
.tarvos-v5-service-scope__grid { display:grid !important; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) !important; gap:clamp(60px,8vw,130px) !important; align-items:start !important; }
.tarvos-v5-scope-matrix { border-top:1px solid var(--tv5-line-strong) !important; }
.tarvos-v5-scope-matrix > div { display:grid !important; grid-template-columns:34px minmax(0,1fr) !important; gap:16px !important; padding:22px 0 !important; border-bottom:1px solid var(--tv5-line-strong) !important; }
.tarvos-v5-scope-matrix > div > span { color:var(--tv5-violet) !important; font-weight:850 !important; }
.tarvos-v5-scope-matrix .is-negative > span { color:#9ba1ae !important; }
.tarvos-v5-scope-matrix strong { color:var(--tv5-ink) !important; font-size:.98rem !important; font-weight:740 !important; }
.tarvos-v5-scope-matrix p { margin:5px 0 0 !important; color:var(--tv5-copy) !important; font-size:.88rem !important; line-height:1.55 !important; }

/* ------------------------- CONTACT ------------------------- */
.tarvos-v5-contact-router { padding:24px 28px !important; }
.tarvos-v5-contact-router__head { margin-bottom:10px !important; }
.tarvos-v5-contact-router > div:not(.tarvos-v5-contact-router__head) { display:grid !important; grid-template-columns:34px minmax(0,1fr) !important; gap:14px !important; padding:15px 0 !important; border-top:1px solid rgba(255,255,255,.1) !important; }
.tarvos-v5-contact-router > div > span { color:#9f8afb !important; font-size:.68rem !important; font-weight:850 !important; }
.tarvos-v5-contact-router p { margin:0 !important; }
.tarvos-v5-contact-router strong,.tarvos-v5-contact-router small { display:block !important; }
.tarvos-v5-contact-router strong { color:#fff !important; font-size:.92rem !important; font-weight:700 !important; }
.tarvos-v5-contact-router small { margin-top:4px !important; color:rgba(255,255,255,.5) !important; font-size:.73rem !important; line-height:1.45 !important; }
.tarvos-v5-contact-router footer { position:relative !important; z-index:1 !important; margin-top:16px !important; padding-top:16px !important; border-top:1px solid rgba(255,255,255,.1) !important; }
.tarvos-v5-contact-router footer small { display:block !important; margin:0 0 4px !important; color:rgba(255,255,255,.45) !important; }
.tarvos-v5-contact-router footer a { color:#b8a9ff !important; font-size:.84rem !important; font-weight:700 !important; text-decoration:none !important; }

.tarvos-v5-contact-strip { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.tarvos-v5-contact-strip > a,.tarvos-v5-contact-strip > div { position:relative !important; display:block !important; min-width:0 !important; padding:22px 42px 24px 24px !important; border-right:1px solid var(--tv5-line) !important; color:var(--tv5-ink) !important; text-decoration:none !important; }
.tarvos-v5-contact-strip > :first-child { padding-left:0 !important; }
.tarvos-v5-contact-strip > :last-child { border-right:0 !important; }
.tarvos-v5-contact-strip strong { display:block !important; margin-top:5px !important; color:var(--tv5-ink) !important; font-size:.95rem !important; font-weight:760 !important; overflow-wrap:anywhere !important; }
.tarvos-v5-contact-strip b { position:absolute !important; top:26px !important; right:22px !important; color:var(--tv5-violet) !important; }

.tarvos-v5-contact-main { background:var(--tv5-soft) !important; }
.tarvos-v5-contact-main + .tarvos-institutional-section { border-top:0 !important; }
.tarvos-v5-contact-main__grid { display:grid !important; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr) !important; gap:clamp(50px,7vw,105px) !important; align-items:start !important; }
.tarvos-v5-contact-brief { padding-top:10px !important; }
.tarvos-v5-contact-brief h2 { font-size:clamp(2.15rem,3.3vw,3.35rem) !important; }
.tarvos-v5-contact-brief > p { margin:22px 0 30px !important; }
.tarvos-v5-contact-brief ol { margin:0 !important; padding:0 !important; list-style:none !important; border-top:1px solid var(--tv5-line-strong) !important; }
.tarvos-v5-contact-brief li { display:grid !important; grid-template-columns:32px minmax(0,1fr) !important; gap:14px !important; padding:16px 0 !important; border-bottom:1px solid var(--tv5-line-strong) !important; }
.tarvos-v5-contact-brief li > span { color:var(--tv5-violet) !important; font-size:.67rem !important; font-weight:850 !important; }
.tarvos-v5-contact-brief li strong,.tarvos-v5-contact-brief li small { display:block !important; }
.tarvos-v5-contact-brief li strong { color:var(--tv5-ink) !important; font-size:.9rem !important; font-weight:720 !important; }
.tarvos-v5-contact-brief li small { margin-top:3px !important; color:var(--tv5-copy) !important; font-size:.78rem !important; line-height:1.45 !important; }
.tarvos-v5-contact-security { display:grid !important; grid-template-columns:28px minmax(0,1fr) !important; gap:12px !important; margin-top:24px !important; padding:18px !important; border-radius:14px !important; background:#eeeff4 !important; }
.tarvos-v5-contact-security > span { display:grid !important; width:22px !important; height:22px !important; place-items:center !important; border:1px solid #cbd0dc !important; border-radius:50% !important; color:var(--tv5-muted) !important; font-size:.7rem !important; font-weight:800 !important; }
.tarvos-v5-contact-security p { margin:0 !important; color:var(--tv5-copy) !important; font-size:.78rem !important; line-height:1.5 !important; }

.tarvos-v5-contact-form {
  padding:clamp(30px,4vw,46px) !important;
  border:1px solid var(--tv5-line) !important;
  border-radius:var(--tv5-radius-lg) !important;
  background:#fff !important;
  box-shadow:0 20px 55px rgba(27,32,52,.07) !important;
}
.tarvos-v5-contact-form h2 { font-size:clamp(2.1rem,3.4vw,3.3rem) !important; }
.tarvos-v5-contact-form > header > p:last-child { margin:15px 0 0 !important; }
.tarvos-v5-contact-form__body { margin-top:30px !important; }
.tarvos-v5-contact-form :where(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],select,textarea) { min-height:50px !important; border:1px solid #dfe2e9 !important; border-radius:12px !important; color:var(--tv5-ink) !important; background:#fafbfc !important; box-shadow:none !important; }
.tarvos-v5-contact-form textarea { min-height:150px !important; resize:vertical !important; }
.tarvos-v5-contact-form :where(input,select,textarea):focus { border-color:#a897ee !important; background:#fff !important; box-shadow:0 0 0 3px rgba(114,84,232,.10) !important; outline:none !important; }
.tarvos-v5-contact-form :where(input[type="submit"],button[type="submit"]) { min-height:48px !important; padding:0 20px !important; border:0 !important; border-radius:999px !important; color:#fff !important; background:var(--tv5-violet) !important; box-shadow:0 10px 24px rgba(82,57,190,.18) !important; font-weight:760 !important; }
.tarvos-v5-contact-form label { color:var(--tv5-ink-2) !important; font-size:.85rem !important; font-weight:690 !important; }
.tarvos-v5-contact-form__privacy { margin:18px 0 0 !important; color:var(--tv5-muted) !important; font-size:.76rem !important; line-height:1.5 !important; }
.tarvos-v5-contact-form__privacy a { color:var(--tv5-violet-dark) !important; }

.tarvos-v5-selfservice-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:14px !important; }
.tarvos-v5-selfservice-grid a { display:grid !important; min-height:250px !important; grid-template-columns:28px minmax(0,1fr) 18px !important; gap:12px !important; align-items:start !important; padding:24px !important; border:1px solid var(--tv5-line) !important; border-radius:var(--tv5-radius) !important; color:var(--tv5-ink) !important; background:#fff !important; text-decoration:none !important; transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease !important; }
.tarvos-v5-selfservice-grid a:hover { border-color:#d7d1f2 !important; transform:translateY(-2px) !important; box-shadow:0 18px 42px rgba(23,24,44,.07) !important; }
.tarvos-v5-selfservice-grid a > span { color:var(--tv5-violet) !important; font-size:.68rem !important; font-weight:850 !important; }
.tarvos-v5-selfservice-grid a small,.tarvos-v5-selfservice-grid a strong { display:block !important; }
.tarvos-v5-selfservice-grid a small { color:var(--tv5-muted) !important; font-size:.67rem !important; font-weight:800 !important; letter-spacing:.07em !important; text-transform:uppercase !important; }
.tarvos-v5-selfservice-grid a strong { margin-top:34px !important; color:var(--tv5-ink) !important; font-size:1.12rem !important; font-weight:750 !important; letter-spacing:-.025em !important; line-height:1.2 !important; }
.tarvos-v5-selfservice-grid a p { margin:9px 0 0 !important; color:var(--tv5-copy) !important; font-size:.82rem !important; line-height:1.55 !important; }
.tarvos-v5-selfservice-grid a > b { color:var(--tv5-violet) !important; }

.tarvos-v5-contact-location { padding-top:0 !important; border-top:0 !important; }
.tarvos-v5-contact-location__panel { display:grid !important; grid-template-columns:160px minmax(0,1.25fr) minmax(260px,.75fr) !important; gap:clamp(34px,5vw,72px) !important; align-items:center !important; padding:clamp(34px,5vw,56px) !important; border-radius:var(--tv5-radius-lg) !important; background:var(--tv5-soft) !important; }
.tarvos-v5-contact-location__coords { display:flex !important; min-height:115px !important; flex-direction:column !important; justify-content:center !important; gap:4px !important; border-right:1px solid var(--tv5-line-strong) !important; color:var(--tv5-violet-dark) !important; font-size:.73rem !important; font-weight:780 !important; letter-spacing:.07em !important; }
.tarvos-v5-contact-location__copy h2 { font-size:clamp(2rem,3.2vw,3.25rem) !important; }
.tarvos-v5-contact-location__copy > p:last-child { margin:15px 0 0 !important; }
.tarvos-v5-contact-location__actions { border-top:1px solid var(--tv5-line-strong) !important; }
.tarvos-v5-contact-location__actions a { display:block !important; padding:14px 0 !important; border-bottom:1px solid var(--tv5-line-strong) !important; color:var(--tv5-ink) !important; text-decoration:none !important; }
.tarvos-v5-contact-location__actions small,.tarvos-v5-contact-location__actions strong { display:block !important; }
.tarvos-v5-contact-location__actions small { color:var(--tv5-muted) !important; font-size:.68rem !important; font-weight:730 !important; }
.tarvos-v5-contact-location__actions strong { margin-top:3px !important; color:var(--tv5-ink) !important; font-size:.84rem !important; font-weight:700 !important; overflow-wrap:anywhere !important; }

/* ------------------------- CLOSING ------------------------- */
.tarvos-v5-closing {
  padding:clamp(76px,8vw,112px) 0 !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(120,86,235,.25), transparent 29%),
    var(--tv5-dark) !important;
}
.tarvos-v5-closing__grid { display:grid !important; grid-template-columns:minmax(0,1.18fr) minmax(270px,.82fr) !important; gap:clamp(50px,7vw,105px) !important; align-items:end !important; }
.tarvos-v5-closing .tarvos-v5-overline { color:#a994fb !important; }
.tarvos-v5-closing h2 { max-width:900px !important; color:#fff !important; font-size:clamp(2.4rem,4.2vw,4.25rem) !important; }
.tarvos-v5-closing__actions { display:flex !important; flex-wrap:wrap !important; gap:14px 22px !important; align-items:center !important; justify-content:flex-end !important; padding-bottom:6px !important; }

/* ------------------------- MODAL SERVICES ------------------------- */
.tarvos-v5-page + .tarvos-service-modal,
.tarvos-v5-page .tarvos-service-modal { --tv5-modal-ink: #111526; }
.tarvos-v5-page .tarvos-service-modal__panel { border-radius:24px !important; box-shadow:0 30px 90px rgba(18,20,36,.22) !important; }

/* ------------------------- RESPONSIVE ------------------------- */
@media (max-width: 1120px) {
  .tarvos-v5-hero__grid { grid-template-columns:minmax(0,1fr) minmax(350px,.78fr) !important; gap:48px !important; }
  .tarvos-v5-specialty-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .tarvos-v5-catalog .tarvos-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .tarvos-v5-selfservice-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 940px) {
  .tarvos-v5-page > .tarvos-v5-hero { padding-top:56px !important; }
  .tarvos-v5-hero__grid,
  .tarvos-v5-manifesto__grid,
  .tarvos-v5-rigor__grid,
  .tarvos-v5-pau__grid,
  .tarvos-v5-ecosystem__panel,
  .tarvos-v5-service-scope__grid,
  .tarvos-v5-contact-main__grid,
  .tarvos-v5-faq__grid,
  .tarvos-v5-closing__grid { grid-template-columns:1fr !important; gap:42px !important; }
  .tarvos-v5-hero__copy { padding-bottom:0 !important; }
  .tarvos-v5-hero-system,.tarvos-v5-service-router,.tarvos-v5-contact-router { max-width:700px !important; }
  .tarvos-v5-hero__facts,.tarvos-v5-service-proof { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .tarvos-v5-hero__facts > div:nth-child(2),.tarvos-v5-service-proof > span:nth-child(2) { border-right:0 !important; }
  .tarvos-v5-hero__facts > div:nth-child(-n+2),.tarvos-v5-service-proof > span:nth-child(-n+2) { border-bottom:1px solid var(--tv5-line) !important; }
  .tarvos-v5-hero__facts > div:nth-child(3),.tarvos-v5-service-proof > span:nth-child(3) { padding-left:0 !important; }
  .tarvos-v5-heading-row,.tarvos-v5-catalog__heading,.tarvos-v5-method__heading { grid-template-columns:1fr !important; gap:24px !important; align-items:start !important; }
  .tarvos-v5-method__heading .tarvos-v5-overline { grid-column:auto !important; margin-bottom:-8px !important; }
  .tarvos-v5-method-track { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .tarvos-v5-method-track li:nth-child(2) { border-right:0 !important; }
  .tarvos-v5-method-track li:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.1) !important; padding-bottom:28px !important; }
  .tarvos-v5-method-track li:nth-child(3) { padding-left:0 !important; }
  .tarvos-v5-section-heading--sticky { position:static !important; }
  .tarvos-v5-catalog .tarvos-services-controls { grid-template-columns:1fr !important; }
  .tarvos-v5-contact-location__panel { grid-template-columns:120px minmax(0,1fr) !important; }
  .tarvos-v5-contact-location__actions { grid-column:1 / -1 !important; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px !important; border-top:0 !important; }
  .tarvos-v5-closing__actions { justify-content:flex-start !important; }
}

@media (max-width: 700px) {
  .tarvos-v5-page { --tv5-gutter: 20px; }
  .tarvos-v5-page > .tarvos-v5-hero { padding-top:44px !important; }
  .tarvos-v5-page .tarvos-v5-hero h1 { max-width:100% !important; font-size:clamp(2.7rem,12.5vw,4rem) !important; letter-spacing:-.058em !important; }
  .tarvos-v5-page .tarvos-v5-hero .tarvos-institutional-hero__lead { margin-top:20px !important; font-size:1rem !important; }
  .tarvos-v5-hero__actions { margin-top:28px !important; }
  .tarvos-v5-button { width:100% !important; }
  .tarvos-v5-hero-system,.tarvos-v5-service-router,.tarvos-v5-contact-router { padding:22px !important; border-radius:22px !important; }
  .tarvos-v5-hero-system__statement { font-size:2rem !important; }
  .tarvos-v5-hero-system__steps li { grid-template-columns:28px minmax(0,1fr) !important; }
  .tarvos-v5-hero-system__steps small { grid-column:2 !important; }
  .tarvos-v5-hero__facts,.tarvos-v5-service-proof,.tarvos-v5-contact-strip { grid-template-columns:1fr !important; margin-top:42px !important; }
  .tarvos-v5-hero__facts > div,.tarvos-v5-service-proof > span,.tarvos-v5-contact-strip > a,.tarvos-v5-contact-strip > div { padding:16px 0 !important; border-right:0 !important; border-bottom:1px solid var(--tv5-line) !important; }
  .tarvos-v5-hero__facts > :last-child,.tarvos-v5-service-proof > :last-child,.tarvos-v5-contact-strip > :last-child { border-bottom:0 !important; }
  .tarvos-v5-contact-strip b { top:19px !important; right:0 !important; }
  .tarvos-v5-page > .tarvos-institutional-section,.tarvos-v5-page > .tarvos-about-section { padding:70px 0 !important; }
  .tarvos-v5-section-heading h2,.tarvos-v5-heading-row h2,.tarvos-v5-catalog__heading h2,.tarvos-v5-method__heading h2,.tarvos-v5-pau__intro h2,.tarvos-v5-ecosystem__copy h2,.tarvos-v5-contact-brief h2,.tarvos-v5-contact-form h2,.tarvos-v5-contact-location__copy h2,.tarvos-v5-closing h2 { font-size:clamp(2.15rem,10vw,3.2rem) !important; }
  .tarvos-v5-prose-columns,.tarvos-v5-specialty-grid,.tarvos-v5-path-grid,.tarvos-v5-pau__features,.tarvos-v5-method-track,.tarvos-v5-catalog .tarvos-services-grid,.tarvos-v5-selfservice-grid { grid-template-columns:1fr !important; }
  .tarvos-v5-specialty-card { min-height:270px !important; }
  .tarvos-v5-method-track li,.tarvos-v5-method-track li + li,.tarvos-v5-method-track li:nth-child(3) { min-height:0 !important; padding:22px 0 26px !important; border-right:0 !important; border-bottom:1px solid rgba(255,255,255,.1) !important; }
  .tarvos-v5-method-track li:last-child { border-bottom:0 !important; }
  .tarvos-v5-method-track h3 { margin:34px 0 8px !important; }
  .tarvos-v5-pau__features article { min-height:0 !important; padding:22px !important; }
  .tarvos-v5-ecosystem__panel { padding:30px 24px !important; border-radius:22px !important; }
  .tarvos-v5-faq__list summary { padding-right:34px !important; }
  .tarvos-v5-faq__list details p { padding-right:24px !important; }
  .tarvos-v5-catalog .tarvos-services-controls { padding:10px !important; border-radius:15px !important; }
  .tarvos-v5-catalog .tarvos-services-filters { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .tarvos-v5-catalog .tarvos-services-filters button { width:100% !important; }
  .tarvos-v5-catalog .tarvos-service-card { min-height:0 !important; padding:22px !important; }
  .tarvos-v5-contact-form { padding:26px 20px !important; border-radius:22px !important; }
  .tarvos-v5-contact-location__panel { grid-template-columns:1fr !important; padding:26px !important; }
  .tarvos-v5-contact-location__coords { min-height:0 !important; flex-direction:row !important; justify-content:flex-start !important; gap:12px !important; padding-bottom:18px !important; border-right:0 !important; border-bottom:1px solid var(--tv5-line-strong) !important; }
  .tarvos-v5-contact-location__actions { grid-column:auto !important; grid-template-columns:1fr !important; gap:0 !important; }
  .tarvos-v5-closing { padding:70px 0 !important; }
  .tarvos-v5-closing__actions { align-items:stretch !important; flex-direction:column !important; }
  .tarvos-v5-text-link--light { align-self:flex-start !important; }
}

@media (prefers-reduced-motion: reduce) {
  .tarvos-v5-page *, .tarvos-v5-page *::before, .tarvos-v5-page *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* V5 section surface authority: override the legacy institutional white rule. */
.tarvos-v5-page > .tarvos-v5-specialties,
.tarvos-v5-page > .tarvos-v5-service-guide,
.tarvos-v5-page > .tarvos-v5-service-scope,
.tarvos-v5-page > .tarvos-v5-contact-main {
  background: var(--tv5-soft) !important;
}

.tarvos-v5-page > .tarvos-v5-method {
  color: #fff !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(118,83,232,.20), transparent 30%),
    var(--tv5-dark) !important;
}

/* Keep the catalogue label accessible without adding a visual line above the field. */
.tarvos-v5-catalog .tarvos-services-search > .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* =========================================================
   ACADEMIA TARVOS · INSTITUCIONAL PREMIUM V6 · 2026-09-15
   Capa de autoridad compartida para /nuestros-servicios/ y /contacto/.
   Objetivos:
   - misma caja, inicio y ritmo vertical que /sobre-nosotros/
   - eliminar paneles negros del hero
   - corregir las secciones que tarvos-unified-pages.css fuerza a blanco
   - reducir espacios muertos y densificar la composición
   - conservar catálogo, modal y formulario sin tocar HTML ni JS
   ========================================================= */

/* ---------- Sistema geométrico común ---------- */
.tarvos-institutional-page.tarvos-v5-page {
  --tv5-shell: 1240px;
  --tv5-gutter: clamp(22px, 4vw, 54px);
  --tv5-ink: #111526;
  --tv5-ink-2: #1b2034;
  --tv5-copy: #526078;
  --tv5-muted: #78839a;
  --tv5-line: #e5e8ef;
  --tv5-line-strong: #d9dee8;
  --tv5-soft: #f7f8fb;
  --tv5-soft-2: #f1f3f8;
  --tv5-violet: #7254e8;
  --tv5-violet-dark: #5c3bd3;
  --tv5-violet-soft: #f3f0ff;
  --tv5-dark: #111321;
  --tv5-dark-2: #1b1c35;
  --tv5-radius-sm: 13px;
  --tv5-radius: 18px;
  --tv5-radius-lg: 22px;
  overflow: clip !important;
  background: #fff !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-institutional-shell,
.tarvos-institutional-page.tarvos-v5-page .tarvos-about-shell {
  width: min(var(--tv5-shell), calc(100% - (var(--tv5-gutter) * 2))) !important;
  max-width: var(--tv5-shell) !important;
  margin-inline: auto !important;
}

.tarvos-institutional-page.tarvos-v5-page :where(h1, h2, h3) {
  color: var(--tv5-ink) !important;
  font-family: inherit !important;
  text-wrap: balance !important;
}

.tarvos-institutional-page.tarvos-v5-page :where(p, li, dd, small) {
  text-wrap: pretty !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-overline {
  margin: 0 0 18px !important;
  color: var(--tv5-violet-dark) !important;
  font-size: .72rem !important;
  font-weight: 830 !important;
  letter-spacing: .12em !important;
  line-height: 1.25 !important;
}

/* ---------- Hero: exactamente el mismo arranque que Sobre nosotros ---------- */
.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-hero {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(48px, 5vw, 70px) 0 0 !important;
  border: 0 !important;
  background: #fff !important;
  background-image: none !important;
  text-align: left !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
  gap: clamp(42px, 6vw, 78px) !important;
  align-items: center !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__copy {
  min-width: 0 !important;
  padding: 0 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero h1 {
  max-width: 800px !important;
  margin: 0 !important;
  color: var(--tv5-ink) !important;
  font-size: clamp(3rem, 5.15vw, 4.95rem) !important;
  font-weight: 850 !important;
  line-height: .99 !important;
  letter-spacing: -.061em !important;
  text-align: left !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero .tarvos-institutional-hero__lead {
  max-width: 790px !important;
  margin: 24px 0 0 !important;
  color: var(--tv5-copy) !important;
  font-size: clamp(1.05rem, .97rem + .28vw, 1.2rem) !important;
  font-weight: 420 !important;
  line-height: 1.62 !important;
  text-align: left !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__actions {
  gap: 13px 22px !important;
  margin-top: 28px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-button {
  min-height: 46px !important;
  padding: 0 19px !important;
  font-size: .9rem !important;
  font-weight: 760 !important;
}

/* ---------- Panel derecho del hero: claro, editorial y sin cajas negras ---------- */
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router {
  position: relative !important;
  min-width: 0 !important;
  padding: clamp(24px, 3vw, 34px) !important;
  border: 1px solid #ddd7fa !important;
  border-radius: 22px !important;
  color: var(--tv5-ink) !important;
  background:
    radial-gradient(circle at 94% 8%, rgba(114, 84, 232, .11), transparent 34%),
    linear-gradient(145deg, #fbfaff 0%, #f7f5ff 100%) !important;
  box-shadow: 0 18px 48px rgba(35, 28, 70, .07) !important;
  overflow: hidden !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router::after,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router::after {
  content: "" !important;
  position: absolute !important;
  top: 28px !important;
  right: 28px !important;
  bottom: auto !important;
  width: 9px !important;
  height: 9px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--tv5-violet) !important;
  box-shadow: 0 0 0 7px rgba(114, 84, 232, .08) !important;
  pointer-events: none !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router__head,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router__head {
  margin-bottom: 10px !important;
  padding-right: 30px !important;
  color: var(--tv5-violet-dark) !important;
  font-size: .69rem !important;
  font-weight: 820 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router__head b,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router__head b {
  color: #9b88e8 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router > a {
  grid-template-columns: 34px minmax(0, 1fr) 18px !important;
  gap: 14px !important;
  padding: 15px 0 !important;
  border-top: 1px solid #e3def7 !important;
  color: var(--tv5-ink) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router > a:hover {
  color: var(--tv5-violet-dark) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router > a > span,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router > a > b {
  color: var(--tv5-violet) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router > a small {
  color: var(--tv5-muted) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router > a strong {
  color: var(--tv5-ink) !important;
  font-size: .94rem !important;
  font-weight: 720 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router > div:not(.tarvos-v5-contact-router__head) {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 15px 0 !important;
  border-top: 1px solid #e3def7 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router > div > span {
  color: var(--tv5-violet) !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router > div p {
  margin: 0 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router > div strong {
  display: block !important;
  color: var(--tv5-ink) !important;
  font-size: .94rem !important;
  font-weight: 720 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router > div small {
  display: block !important;
  margin-top: 4px !important;
  color: var(--tv5-muted) !important;
  font-size: .74rem !important;
  line-height: 1.45 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router footer {
  margin-top: 8px !important;
  padding-top: 16px !important;
  border-top: 1px solid #e3def7 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router footer small {
  color: var(--tv5-muted) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router footer a {
  display: inline-block !important;
  margin-top: 5px !important;
  color: var(--tv5-violet-dark) !important;
  font-weight: 720 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}

/* ---------- Barras de confianza: misma geometría que Sobre nosotros ---------- */
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip {
  display: grid !important;
  margin-top: clamp(38px, 4vw, 54px) !important;
  border-top: 1px solid var(--tv5-line) !important;
  border-bottom: 1px solid var(--tv5-line) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof > span,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip > a,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip > div {
  min-width: 0 !important;
  padding: 18px 20px !important;
  border-right: 1px solid var(--tv5-line) !important;
  background: transparent !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof > :first-child,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip > :first-child {
  padding-left: 0 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof > :last-child,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip > :last-child {
  border-right: 0 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof b,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip strong {
  color: var(--tv5-ink) !important;
  font-size: .9rem !important;
  font-weight: 740 !important;
  line-height: 1.35 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof small,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip span,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip small {
  color: var(--tv5-muted) !important;
  font-size: .73rem !important;
  line-height: 1.45 !important;
}

/* ---------- Secciones: ritmo compacto y autoridad sobre unified-pages ---------- */
.tarvos-institutional-page.tarvos-v5-page > section.tarvos-institutional-section {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(54px, 5.8vw, 76px) 0 !important;
  border-top: 1px solid var(--tv5-line) !important;
  background: #fff !important;
  background-image: none !important;
}

.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-service-guide,
.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-service-scope,
.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-contact-main,
.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-contact-selfservice {
  background: var(--tv5-soft) !important;
  background-image: none !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-heading-row,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog__heading {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr) !important;
  gap: clamp(42px, 6vw, 78px) !important;
  align-items: end !important;
  margin-bottom: 34px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-section-heading h2,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-heading-row h2,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog__heading h2,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-ecosystem__copy h2,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-brief h2,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-form h2,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-location__copy h2 {
  font-size: clamp(2.05rem, 3.25vw, 3.35rem) !important;
  font-weight: 820 !important;
  line-height: 1.055 !important;
  letter-spacing: -.048em !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-heading-row > p,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog__heading > p,
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-section-heading > p:last-child {
  max-width: 560px !important;
  margin: 0 !important;
  color: var(--tv5-copy) !important;
  font-size: .96rem !important;
  line-height: 1.65 !important;
}

/* ---------- Servicios ---------- */
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-path-grid {
  gap: 14px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-path-grid article {
  min-height: 240px !important;
  padding: 24px !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-path-grid h3 {
  margin: 34px 0 10px !important;
  font-size: 1.18rem !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-path-grid p {
  font-size: .86rem !important;
  line-height: 1.58 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog .tarvos-services-controls {
  margin-bottom: 22px !important;
  padding: 10px !important;
  border: 1px solid var(--tv5-line) !important;
  border-radius: 16px !important;
  background: #f7f8fb !important;
  box-shadow: none !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog .tarvos-services-grid {
  gap: 14px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog .tarvos-service-card {
  min-height: 410px !important;
  padding: 24px !important;
  border-radius: 18px !important;
  border-color: var(--tv5-line) !important;
  box-shadow: none !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog .tarvos-service-card:not(.is-unavailable):hover {
  transform: translateY(-2px) !important;
  border-color: #d7d1f2 !important;
  box-shadow: 0 18px 42px rgba(23, 24, 44, .07) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-scope__grid {
  align-items: center !important;
  gap: clamp(46px, 6vw, 82px) !important;
}

/* ---------- Contacto ---------- */
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-main__grid {
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr) !important;
  gap: clamp(46px, 6vw, 82px) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-brief {
  padding-top: 0 !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-brief h2 {
  max-width: 10.5ch !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-brief > p {
  margin: 18px 0 24px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-form {
  padding: clamp(26px, 3.4vw, 38px) !important;
  border: 1px solid var(--tv5-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 14px 40px rgba(27, 32, 52, .055) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-form__body {
  margin-top: 24px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-selfservice-grid {
  gap: 14px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-selfservice-grid a {
  min-height: 205px !important;
  padding: 22px !important;
  border-radius: 18px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-selfservice-grid a strong {
  margin-top: 22px !important;
}

.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-contact-location {
  padding-top: clamp(42px, 4.8vw, 62px) !important;
  padding-bottom: clamp(42px, 4.8vw, 62px) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-location__panel {
  grid-template-columns: 120px minmax(0, 1.25fr) minmax(250px, .75fr) !important;
  gap: clamp(30px, 4.5vw, 58px) !important;
  padding: clamp(30px, 4vw, 46px) !important;
  border: 1px solid var(--tv5-line) !important;
  border-radius: 20px !important;
  background: #fbfbfd !important;
}

/* ---------- FAQ ---------- */
.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-faq__grid {
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr) !important;
  gap: clamp(46px, 6vw, 82px) !important;
  align-items: start !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-faq__list summary {
  padding: 17px 38px 17px 0 !important;
  font-size: .92rem !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-faq__list summary::after {
  top: 15px !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-faq__list details p {
  padding: 0 38px 17px 0 !important;
  font-size: .87rem !important;
}

/* ---------- Cierre: corrige el blanco forzado por tarvos-unified-pages.css ---------- */
.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-closing {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(42px, 4.5vw, 58px) 0 !important;
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #111321 0%, #1b1c35 100%) !important;
  background-image: linear-gradient(135deg, #111321 0%, #1b1c35 100%) !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-closing__grid {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 36px !important;
  align-items: end !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-closing .tarvos-v5-overline {
  color: #b8a9ff !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-closing h2 {
  max-width: 720px !important;
  margin: 11px 0 0 !important;
  color: #fff !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  font-weight: 820 !important;
  line-height: 1.055 !important;
  letter-spacing: -.048em !important;
}

.tarvos-institutional-page.tarvos-v5-page .tarvos-v5-closing__actions {
  justify-content: flex-end !important;
  gap: 13px 20px !important;
  padding-bottom: 0 !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router {
    max-width: 720px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-heading-row,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog__heading,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-main__grid,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-scope__grid,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-faq__grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-location__panel {
    grid-template-columns: 110px minmax(0, 1fr) !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-location__actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    border-top: 0 !important;
  }
}

@media (max-width: 700px) {
  .tarvos-institutional-page.tarvos-v5-page {
    --tv5-gutter: 20px;
  }

  .tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-hero {
    padding-top: 36px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero h1 {
    font-size: clamp(2.65rem, 12vw, 3.75rem) !important;
    letter-spacing: -.056em !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero .tarvos-institutional-hero__lead {
    margin-top: 20px !important;
    font-size: 1rem !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-router,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-router {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip {
    grid-template-columns: 1fr !important;
    margin-top: 34px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof > span,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip > a,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip > div {
    padding: 14px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--tv5-line) !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-service-proof > :last-child,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-strip > :last-child {
    border-bottom: 0 !important;
  }

  .tarvos-institutional-page.tarvos-v5-page > section.tarvos-institutional-section {
    padding: 48px 0 !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-heading-row,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog__heading {
    margin-bottom: 28px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-path-grid,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog .tarvos-services-grid,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-selfservice-grid {
    grid-template-columns: 1fr !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-path-grid article,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-selfservice-grid a,
  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-catalog .tarvos-service-card {
    min-height: 0 !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-form {
    padding: 24px 20px !important;
    border-radius: 18px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-location__panel {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 24px !important;
    border-radius: 18px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-location__coords {
    min-height: 0 !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding-bottom: 16px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--tv5-line-strong) !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-contact-location__actions {
    grid-column: auto !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-closing {
    padding: 42px 0 !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-closing__grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .tarvos-institutional-page.tarvos-v5-page .tarvos-v5-closing__actions {
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
}

/* =========================================================
   ACADEMIA TARVOS · INSTITUCIONAL V7 · REFINAMIENTO 2026-09-15
   Servicios + Contacto
   - Mismo ancho, gutter y arranque vertical que Sobre nosotros V6.
   - Panels de hero claros (sin cajas negras).
   - Catálogo y badges contenidos.
   - Modales compactos y legibles.
   - Formulario CF7 con etiquetas pegadas a sus campos.
   - CTA final claro para no confundirse con el footer.
   ========================================================= */

:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page {
  --tv5-shell: 1240px;
  --tv5-gutter: clamp(22px, 4vw, 54px);
  --tv7-ink: #111526;
  --tv7-copy: #526078;
  --tv7-muted: #78839a;
  --tv7-line: #e5e8ef;
  --tv7-line-strong: #d9dee8;
  --tv7-soft: #f7f8fb;
  --tv7-soft-violet: #f6f3ff;
  --tv7-violet: #7254e8;
  --tv7-violet-dark: #5c3bd3;
  --tv7-green: #18734f;
  --tv7-green-soft: #eaf8f1;
}

:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-hero {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(48px, 5vw, 70px) 0 0 !important;
  background: #fff !important;
  background-image: none !important;
  overflow: visible !important;
}

:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
  gap: clamp(42px, 6vw, 78px) !important;
  align-items: center !important;
}

:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__copy {
  padding: 0 !important;
}

:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero h1 {
  max-width: 800px !important;
  font-size: clamp(3rem, 5.15vw, 4.95rem) !important;
  font-weight: 850 !important;
  line-height: .99 !important;
  letter-spacing: -.061em !important;
}

:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero .tarvos-institutional-hero__lead {
  max-width: 790px !important;
  margin-top: 24px !important;
  font-size: clamp(1.05rem, .97rem + .28vw, 1.2rem) !important;
  line-height: 1.62 !important;
}

:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__actions {
  margin-top: 28px !important;
}

/* Hero routers: misma familia visual clara que la tarjeta de Sobre nosotros. */
.tarvos-services-page .tarvos-v5-service-router,
.tarvos-contact-page .tarvos-v5-contact-router {
  padding: clamp(24px, 3vw, 32px) !important;
  border: 1px solid #ddd7fb !important;
  border-radius: 24px !important;
  color: var(--tv7-ink) !important;
  background:
    radial-gradient(circle at 96% 4%, rgba(114,84,232,.10), transparent 31%),
    linear-gradient(145deg, #fbfaff 0%, #f6f3ff 100%) !important;
  box-shadow: 0 18px 44px rgba(55, 42, 116, .075) !important;
}

.tarvos-services-page .tarvos-v5-service-router::after,
.tarvos-contact-page .tarvos-v5-contact-router::after {
  border-color: rgba(114,84,232,.10) !important;
  box-shadow: 0 0 0 34px rgba(114,84,232,.028), 0 0 0 72px rgba(114,84,232,.018) !important;
}

.tarvos-services-page .tarvos-v5-service-router__head,
.tarvos-contact-page .tarvos-v5-contact-router__head {
  color: var(--tv7-violet-dark) !important;
  margin-bottom: 14px !important;
}

.tarvos-services-page .tarvos-v5-service-router__head b,
.tarvos-contact-page .tarvos-v5-contact-router__head b {
  color: #8069e9 !important;
}

.tarvos-services-page .tarvos-v5-service-router > a,
.tarvos-contact-page .tarvos-v5-contact-router > div:not(.tarvos-v5-contact-router__head) {
  border-top: 1px solid #e2def3 !important;
}

.tarvos-services-page .tarvos-v5-service-router > a > span,
.tarvos-contact-page .tarvos-v5-contact-router > div > span {
  color: var(--tv7-violet-dark) !important;
}

.tarvos-services-page .tarvos-v5-service-router small,
.tarvos-contact-page .tarvos-v5-contact-router small {
  color: var(--tv7-muted) !important;
}

.tarvos-services-page .tarvos-v5-service-router strong,
.tarvos-contact-page .tarvos-v5-contact-router strong {
  color: var(--tv7-ink) !important;
}

.tarvos-services-page .tarvos-v5-service-router > a > b {
  color: var(--tv7-violet-dark) !important;
}

.tarvos-contact-page .tarvos-v5-contact-router footer {
  border-top: 1px solid #e2def3 !important;
}

.tarvos-contact-page .tarvos-v5-contact-router footer small {
  color: var(--tv7-muted) !important;
}

.tarvos-contact-page .tarvos-v5-contact-router footer a {
  color: var(--tv7-violet-dark) !important;
}

/* Ritmo vertical compartido con Sobre nosotros. */
:is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page > section.tarvos-institutional-section {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(54px, 5.8vw, 76px) 0 !important;
}

/* ========================= SERVICIOS ========================= */
.tarvos-services-page .tarvos-v5-service-proof {
  margin-top: clamp(42px, 5vw, 62px) !important;
}

.tarvos-services-page .tarvos-v5-catalog__heading,
.tarvos-services-page .tarvos-v5-heading-row {
  margin-bottom: 34px !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-services-controls {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) auto auto !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 22px !important;
  padding: 10px !important;
  border: 1px solid var(--tv7-line) !important;
  border-radius: 16px !important;
  background: #f7f8fb !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-services-grid {
  gap: 18px !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card {
  min-height: 414px !important;
  padding: 26px !important;
  border: 1px solid var(--tv7-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17,21,38,.02) !important;
  overflow: hidden !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card::before {
  height: 2px !important;
  opacity: .7 !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card:hover,
.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card:focus-visible {
  border-color: #d7d1f2 !important;
  box-shadow: 0 18px 42px rgba(23, 24, 44, .065) !important;
  transform: translateY(-2px) !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card__top {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 10px !important;
  align-items: start !important;
  margin-bottom: 24px !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card__top p {
  min-width: 0 !important;
  line-height: 1.45 !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-status {
  display: inline-flex !important;
  max-width: 145px !important;
  min-height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  font-size: .64rem !important;
  font-weight: 820 !important;
  letter-spacing: .045em !important;
  line-height: 1.22 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-status.is-available {
  color: var(--tv7-green) !important;
  background: var(--tv7-green-soft) !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card h3 {
  margin-bottom: 10px !important;
  font-size: 1.42rem !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card > p {
  margin-bottom: 22px !important;
  font-size: .91rem !important;
  line-height: 1.62 !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card > dl > div {
  grid-template-columns: 92px minmax(0,1fr) !important;
  gap: 14px !important;
  padding: 10px 0 !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card dt {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: .69rem !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card dd {
  font-size: .79rem !important;
  line-height: 1.38 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.tarvos-services-page .tarvos-v5-catalog .tarvos-service-card footer {
  padding-top: 24px !important;
}

/* Modal de servicios: jerarquía contenida y más editorial. */
.tarvos-services-page .tarvos-service-modal {
  width: min(1040px, calc(100% - 48px)) !important;
  max-height: calc(100dvh - 48px) !important;
  border: 1px solid rgba(218,222,232,.92) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 30px 90px rgba(15,18,34,.24) !important;
}

.tarvos-services-page .tarvos-service-modal::backdrop {
  background: rgba(17, 19, 33, .48) !important;
  backdrop-filter: blur(4px) !important;
}

.tarvos-services-page .tarvos-service-modal__panel {
  max-height: calc(100dvh - 48px) !important;
  padding: clamp(34px, 4vw, 46px) !important;
  border-radius: 22px !important;
}

.tarvos-services-page .tarvos-service-modal__close {
  top: 16px !important;
  right: 16px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.tarvos-services-page .tarvos-service-modal-source {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  gap: clamp(34px, 5vw, 58px) !important;
  align-items: start !important;
}

.tarvos-services-page .tarvos-service-modal__intro {
  padding-right: 0 !important;
}

.tarvos-services-page .tarvos-service-modal__intro .tarvos-institutional-kicker {
  margin: 0 50px 14px 0 !important;
  color: var(--tv7-violet-dark) !important;
  font-size: .69rem !important;
  font-weight: 830 !important;
  letter-spacing: .11em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

.tarvos-services-page .tarvos-service-modal__content h2 {
  max-width: 15ch !important;
  margin: 0 0 16px !important;
  color: var(--tv7-ink) !important;
  font-size: clamp(2rem, 3.4vw, 3rem) !important;
  font-weight: 840 !important;
  letter-spacing: -.052em !important;
  line-height: 1.01 !important;
}

.tarvos-services-page .tarvos-service-modal__intro > p:not(.tarvos-institutional-kicker) {
  margin: 0 !important;
  color: var(--tv7-copy) !important;
  font-size: .95rem !important;
  line-height: 1.65 !important;
}

.tarvos-services-page .tarvos-service-modal__intro .tarvos-service-modal__note {
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--tv7-line) !important;
  color: var(--tv7-muted) !important;
  font-size: .86rem !important;
  line-height: 1.58 !important;
}

.tarvos-services-page .tarvos-service-modal__facts {
  margin: 0 0 22px !important;
  border-top: 1px solid var(--tv7-line) !important;
}

.tarvos-services-page .tarvos-service-modal__facts > div {
  grid-template-columns: 110px minmax(0,1fr) !important;
  gap: 18px !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid var(--tv7-line) !important;
}

.tarvos-services-page .tarvos-service-modal__facts dt {
  color: var(--tv7-muted) !important;
  font-size: .66rem !important;
  letter-spacing: .075em !important;
  white-space: nowrap !important;
}

.tarvos-services-page .tarvos-service-modal__facts dd {
  color: var(--tv7-ink) !important;
  font-size: .88rem !important;
  font-weight: 720 !important;
  line-height: 1.42 !important;
}

.tarvos-services-page .tarvos-service-modal__included {
  margin-top: 2px !important;
}

.tarvos-services-page .tarvos-service-modal__eyebrow {
  margin: 0 0 11px !important;
  color: var(--tv7-violet-dark) !important;
  font-size: .68rem !important;
  font-weight: 830 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.tarvos-services-page .tarvos-service-modal__content ul.tarvos-service-modal__feature-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-services-page .tarvos-service-modal__feature-list li {
  position: relative !important;
  min-height: 88px !important;
  padding: 14px 14px 14px 42px !important;
  border: 1px solid var(--tv7-line) !important;
  border-radius: 14px !important;
  background: #fafafd !important;
  color: var(--tv7-copy) !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

.tarvos-services-page .tarvos-service-modal__feature-list li::before {
  top: 15px !important;
  left: 14px !important;
  width: 20px !important;
  height: 20px !important;
  background: #edf8f2 !important;
  color: #18815a !important;
  border: 1px solid #ccebdc !important;
}

.tarvos-services-page .tarvos-service-modal__feature-list strong,
.tarvos-services-page .tarvos-service-modal__feature-list span {
  display: block !important;
}

.tarvos-services-page .tarvos-service-modal__feature-list strong {
  margin-bottom: 3px !important;
  color: var(--tv7-ink) !important;
  font-size: .84rem !important;
  font-weight: 760 !important;
  line-height: 1.35 !important;
}

.tarvos-services-page .tarvos-service-modal__feature-list span {
  color: var(--tv7-muted) !important;
}

.tarvos-services-page .tarvos-service-modal__actions {
  margin-top: 20px !important;
}

.tarvos-services-page .tarvos-service-modal__actions .tarvos-institutional-button {
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-size: .86rem !important;
}

/* ========================= CONTACTO ========================= */
.tarvos-contact-page .tarvos-v5-contact-strip {
  margin-top: clamp(42px, 5vw, 62px) !important;
}

.tarvos-contact-page.tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-contact-main {
  background: #fff !important;
}

.tarvos-contact-page .tarvos-v5-contact-main__grid {
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr) !important;
  gap: clamp(46px, 6vw, 82px) !important;
  align-items: start !important;
}

.tarvos-contact-page .tarvos-v5-contact-brief h2 {
  max-width: 11.5ch !important;
  font-size: clamp(2.2rem, 3.6vw, 3.45rem) !important;
  line-height: 1.04 !important;
}

.tarvos-contact-page .tarvos-v5-contact-brief > p {
  max-width: 520px !important;
  margin: 18px 0 22px !important;
  font-size: .98rem !important;
  line-height: 1.62 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form {
  padding: clamp(28px, 3.7vw, 42px) !important;
  border: 1px solid #e1e3eb !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #fbfbfe 0%, #f8f8fc 100%) !important;
  box-shadow: 0 16px 44px rgba(27,32,52,.055) !important;
}

.tarvos-contact-page .tarvos-v5-contact-form > header {
  padding-bottom: 22px !important;
  border-bottom: 1px solid var(--tv7-line) !important;
}

.tarvos-contact-page .tarvos-v5-contact-form > header h2 {
  margin: 0 !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  line-height: 1.03 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form > header > p:last-child {
  max-width: 700px !important;
  margin: 11px 0 0 !important;
  font-size: .94rem !important;
  line-height: 1.55 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form__body {
  margin-top: 22px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Contact Form 7: neutraliza márgenes heredados y pega cada label a su campo. */
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7,
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form {
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > h2 {
  display: none !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form :where(p, .form-row, .form-field, .field, .tarvos-form-field) {
  margin-top: 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > p {
  margin-bottom: 15px !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form label {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  margin: 0 !important;
  color: var(--tv7-ink) !important;
  font-size: .79rem !important;
  font-weight: 760 !important;
  line-height: 1.3 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form :where(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],select,textarea) {
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid #d9dde7 !important;
  border-radius: 11px !important;
  color: var(--tv7-ink) !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17,21,38,.02) !important;
  font-size: .95rem !important;
  line-height: 1.35 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form select {
  padding-right: 38px !important;
}

.tarvos-contact-page .tarvos-v5-contact-form textarea {
  min-height: 150px !important;
  resize: vertical !important;
}

.tarvos-contact-page .tarvos-v5-contact-form :where(input,select,textarea):focus {
  border-color: #9a87eb !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(114,84,232,.09) !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-not-valid-tip {
  margin-top: 5px !important;
  font-size: .74rem !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-list-item {
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 1px 8px 0 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form :where(input[type="submit"],button[type="submit"]) {
  min-height: 48px !important;
  margin-top: 4px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: var(--tv7-violet) !important;
  box-shadow: 0 10px 24px rgba(82,57,190,.16) !important;
  font-size: .9rem !important;
  font-weight: 780 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form :where(input[type="submit"],button[type="submit"]):hover {
  background: var(--tv7-violet-dark) !important;
}

.tarvos-contact-page .tarvos-v5-contact-form__privacy {
  margin: 14px 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--tv7-line) !important;
  font-size: .74rem !important;
  line-height: 1.5 !important;
}

/* Auto-servicio y sede: algo más compacto, sin grandes vacíos. */
.tarvos-contact-page .tarvos-v5-selfservice-grid a {
  min-height: 180px !important;
}

.tarvos-contact-page .tarvos-v5-contact-location__panel {
  background: #fafafd !important;
  box-shadow: none !important;
}

/* CTA final claro: se distingue del footer oscuro y no se mezcla con él. */
:is(.tarvos-services-page, .tarvos-contact-page) > section.tarvos-v7-final-cta {
  padding: clamp(54px, 5.8vw, 76px) 0 !important;
  border-top: 1px solid var(--tv7-line) !important;
  background: #fff !important;
  background-image: none !important;
}

:is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(34px, 5vw, 64px) !important;
  align-items: center !important;
  padding: clamp(30px, 4vw, 44px) !important;
  border: 1px solid #ddd7fb !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(114,84,232,.09), transparent 29%),
    linear-gradient(145deg, #fbfaff 0%, #f6f3ff 100%) !important;
  box-shadow: 0 14px 36px rgba(55,42,116,.055) !important;
}

:is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__copy {
  max-width: 780px !important;
}

:is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__copy h2 {
  max-width: 760px !important;
  margin: 0 !important;
  color: var(--tv7-ink) !important;
  font-size: clamp(2rem, 3.3vw, 3.1rem) !important;
  font-weight: 830 !important;
  letter-spacing: -.05em !important;
  line-height: 1.04 !important;
}

:is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__copy > p:last-child {
  max-width: 720px !important;
  margin: 14px 0 0 !important;
  color: var(--tv7-copy) !important;
  font-size: .95rem !important;
  line-height: 1.6 !important;
}

:is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 20px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Responsive */
@media (max-width: 1100px) {
  :is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero__grid,
  .tarvos-contact-page .tarvos-v5-contact-main__grid,
  :is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__panel {
    grid-template-columns: 1fr !important;
  }

  .tarvos-services-page .tarvos-v5-service-router,
  .tarvos-contact-page .tarvos-v5-contact-router {
    max-width: 720px !important;
  }

  :is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 900px) {
  .tarvos-services-page .tarvos-v5-catalog .tarvos-services-controls {
    grid-template-columns: 1fr !important;
  }

  .tarvos-services-page .tarvos-v5-catalog .tarvos-services-count {
    padding: 0 4px 3px !important;
  }

  .tarvos-services-page .tarvos-service-modal-source {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .tarvos-services-page .tarvos-service-modal__content h2 {
    max-width: none !important;
  }
}

@media (max-width: 700px) {
  :is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page {
    --tv5-gutter: 20px;
  }

  :is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page > section.tarvos-v5-hero {
    padding-top: 36px !important;
  }

  :is(.tarvos-services-page, .tarvos-contact-page).tarvos-institutional-page.tarvos-v5-page .tarvos-v5-hero h1 {
    font-size: clamp(2.65rem, 12vw, 3.75rem) !important;
  }

  .tarvos-services-page .tarvos-v5-catalog .tarvos-service-card__top {
    grid-template-columns: minmax(0,1fr) auto !important;
  }

  .tarvos-services-page .tarvos-v5-catalog .tarvos-service-status {
    max-width: 128px !important;
    font-size: .61rem !important;
  }

  .tarvos-services-page .tarvos-service-modal {
    width: calc(100% - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
  }

  .tarvos-services-page .tarvos-service-modal__panel {
    max-height: calc(100dvh - 24px) !important;
    padding: 28px 20px 24px !important;
  }

  .tarvos-services-page .tarvos-service-modal__content ul.tarvos-service-modal__feature-list {
    grid-template-columns: 1fr !important;
  }

  .tarvos-services-page .tarvos-service-modal__feature-list li {
    min-height: 0 !important;
  }

  .tarvos-contact-page .tarvos-v5-contact-form {
    padding: 24px 20px !important;
  }

  :is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__panel {
    padding: 26px 22px !important;
    border-radius: 20px !important;
  }

  :is(.tarvos-services-page, .tarvos-contact-page) .tarvos-v7-final-cta__actions {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* =========================================================
   ACADEMIA TARVOS · AJUSTES V8 · 2026-09-15
   Contacto: formulario compacto, etiquetas pegadas a campos.
   ========================================================= */
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7 h2,
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form h2 {
  display: none !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7,
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Neutraliza el espaciado automático de CF7/WordPress. */
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form p,
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > div > p {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  padding: 0 !important;
}

/* Primera fila: nombre + correo, sin huecos verticales extra. */
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > div {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > div > p {
  margin-bottom: 14px !important;
}

/* El texto de cada campo queda realmente unido al control. */
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form label:not([style]) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 4px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--tv7-ink) !important;
  font-size: .76rem !important;
  font-weight: 780 !important;
  line-height: 1.22 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* La información legal forma un bloque secundario, no compite con los campos. */
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > p:has(> strong) {
  margin: 3px 0 12px !important;
  padding: 13px 15px !important;
  border: 1px solid #e5e7ef !important;
  border-radius: 12px !important;
  color: #5d6880 !important;
  background: #f7f8fb !important;
  font-size: .79rem !important;
  line-height: 1.5 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > p:has(input[type="checkbox"]) {
  margin: 0 0 12px !important;
  color: #31384a !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > p:has(input[type="submit"]) {
  margin: 2px 0 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form__privacy {
  margin-top: 12px !important;
}

@media (max-width: 720px) {
  .tarvos-contact-page .tarvos-v5-contact-form .wpcf7-form > div {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}

/* =========================================================
   ACADEMIA TARVOS · AJUSTES V9 · 2026-09-15
   Contacto: normalización definitiva de Contact Form 7.
   Evita que estilos globales de formulario conviertan el formulario
   en una cuadrícula de dos columnas y desplacen los campos.
   ========================================================= */
.tarvos-contact-page .tarvos-v5-contact-form .wpcf7,
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Regla clave: el FORM nunca es la cuadrícula. Solo la fila nombre/correo. */
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  grid-auto-columns: auto !important;
  grid-auto-rows: auto !important;
  grid-auto-flow: row !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  align-items: initial !important;
  justify-items: stretch !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > h2 {
  display: none !important;
}

/* Todos los párrafos visibles ocupan el ancho completo. */
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form p {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

/* La única cuadrícula permitida es el contenedor que contiene nombre + email. */
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > div:has(input[type="email"]):has(input[type="text"]) {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > div:has(input[type="email"]):has(input[type="text"]) > p {
  width: auto !important;
  margin: 0 0 16px !important;
  min-width: 0 !important;
}

/* Etiqueta inmediatamente encima de su campo. */
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form label {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #171b2e !important;
  font-size: .78rem !important;
  font-weight: 780 !important;
  line-height: 1.28 !important;
  text-align: left !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form label:not(:has(input[type="checkbox"])) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 7px !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Mensaje: ancho completo y altura razonable. */
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form textarea {
  min-height: 168px !important;
}

/* Protección de datos: bloque secundario a ancho completo. */
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > p:has(> strong) {
  width: 100% !important;
  margin: 4px 0 12px !important;
  padding: 14px 16px !important;
  border: 1px solid #e3e6ee !important;
  border-radius: 12px !important;
  color: #5b657b !important;
  background: #f7f8fb !important;
  font-size: .78rem !important;
  line-height: 1.52 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > p:has(> strong) strong {
  color: #374057 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > p:has(input[type="checkbox"]) {
  width: 100% !important;
  margin: 0 0 14px !important;
  color: #30374a !important;
  font-size: .76rem !important;
  line-height: 1.45 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form input[type="checkbox"] {
  vertical-align: top !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > p:has(input[type="submit"]) {
  width: 100% !important;
  margin: 2px 0 0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form .wpcf7-spinner {
  margin: 10px 0 0 10px !important;
  vertical-align: middle !important;
}

.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form .wpcf7-response-output {
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  font-size: .8rem !important;
  line-height: 1.45 !important;
}

/* La segunda nota de privacidad ya no duplica visualmente el bloque legal. */
.tarvos-contact-page .tarvos-v5-contact-form__privacy {
  margin: 12px 0 0 !important;
  padding-top: 12px !important;
  border-top: 1px solid #e7e9f0 !important;
  color: #768096 !important;
  font-size: .72rem !important;
  line-height: 1.45 !important;
}

@media (max-width: 720px) {
  .tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form > div:has(input[type="email"]):has(input[type="text"]) {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}

/* =========================================================
   ACADEMIA TARVOS · CONTACTO V10 · 2026-09-17
   CF7 inserta saltos de línea según cómo esté guardado el formulario.
   Esta capa garantiza que etiqueta y control permanezcan unidos aunque
   la plantilla de CF7 contenga <br> automáticos o wrappers adicionales.
   ========================================================= */
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form label:not(:has(input[type="checkbox"])) > br {
  display: none !important;
}
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form label:not(:has(input[type="checkbox"])) > .wpcf7-form-control-wrap {
  margin-top: 6px !important;
}
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form label:not(:has(input[type="checkbox"])) {
  gap: 0 !important;
}
.tarvos-contact-page .tarvos-v5-contact-form .tarvos-v5-contact-form__body {
  width: 100% !important;
  min-width: 0 !important;
}
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form p:empty,
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form br:only-child {
  display: none !important;
}
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form :where(input, select, textarea):focus-visible {
  outline: 3px solid rgba(109, 70, 220, .18) !important;
  outline-offset: 1px !important;
  border-color: #8068dc !important;
}
.tarvos-contact-page .tarvos-v5-contact-form form.wpcf7-form p:has(> br:only-child) {
  display: none !important;
  margin: 0 !important;
}


/* =========================================================
   ACADEMIA TARVOS · CONTACTO V11 · 2026-09-17
   Reflujo estructural del CF7 + información básica completa.
   ========================================================= */
.tarvos-contact-page .tarvos-v7-contact-form form.wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
}

.tarvos-contact-page .tarvos-v7-contact-form form.wpcf7-form > * {
  min-width: 0 !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 15px 16px !important;
  width: 100% !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field--mensaje {
  grid-column: 1 / -1 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field label:not(:has(input[type="checkbox"])) {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  align-items: stretch !important;
  margin: 0 !important;
  color: #171b2e !important;
  font-size: .78rem !important;
  font-weight: 790 !important;
  line-height: 1.28 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field label > br {
  display: none !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field .wpcf7-form-control-wrap {
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field :where(input:not([type="checkbox"]):not([type="submit"]), select, textarea) {
  min-height: 54px !important;
  padding: 12px 14px !important;
  border: 1px solid #d9deea !important;
  border-radius: 12px !important;
  color: #1c2436 !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17, 23, 43, .02) !important;
  font-size: .94rem !important;
  line-height: 1.4 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field textarea {
  min-height: 156px !important;
  resize: vertical !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field :where(input, select, textarea):focus {
  border-color: #7758d9 !important;
  box-shadow: 0 0 0 4px rgba(109, 70, 220, .10) !important;
  outline: 0 !important;
}

.tarvos-contact-page .tarvos-contact-data-notice {
  margin: 18px 0 0;
  padding: 18px;
  border: 1px solid #e4e1ee;
  border-radius: 14px;
  color: #47536c;
  background: #fbfaff;
}

.tarvos-contact-page .tarvos-contact-data-notice__heading {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 14px;
}

.tarvos-contact-page .tarvos-contact-data-notice__heading > span {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: #6d46dc;
  font-size: .8rem;
  font-weight: 850;
}

.tarvos-contact-page .tarvos-contact-data-notice__heading p {
  margin: 0 0 2px !important;
  color: #6d46dc !important;
  font-size: .66rem !important;
  font-weight: 820 !important;
  letter-spacing: .09em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.tarvos-contact-page .tarvos-contact-data-notice__heading h3 {
  margin: 0 !important;
  color: #171b2e !important;
  font-family: var(--tarvos-font-sans, Inter, system-ui, sans-serif) !important;
  font-size: .98rem !important;
  font-weight: 820 !important;
  letter-spacing: -.02em !important;
  line-height: 1.28 !important;
}

.tarvos-contact-page .tarvos-contact-data-notice dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.tarvos-contact-page .tarvos-contact-data-notice dl > div {
  display: grid;
  grid-template-columns: minmax(105px, .32fr) minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid #ece9f3;
}

.tarvos-contact-page .tarvos-contact-data-notice dt,
.tarvos-contact-page .tarvos-contact-data-notice dd {
  margin: 0;
  font-size: .76rem;
  line-height: 1.48;
}

.tarvos-contact-page .tarvos-contact-data-notice dt {
  color: #252c3f;
  font-weight: 800;
}

.tarvos-contact-page .tarvos-contact-data-notice dd {
  color: #5a657b;
  font-weight: 520;
}

.tarvos-contact-page .tarvos-contact-data-notice__more {
  margin: 12px 0 0 !important;
  padding-top: 12px !important;
  border-top: 1px solid #e7e3f0;
  color: #5a657b !important;
  font-size: .76rem !important;
  line-height: 1.5 !important;
}

.tarvos-contact-page .tarvos-contact-data-notice a {
  color: #5b21b6 !important;
  font-weight: 760;
}

@media (max-width: 720px) {
  .tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-fields {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field--mensaje {
    grid-column: auto !important;
  }

  .tarvos-contact-page .tarvos-contact-data-notice {
    padding: 16px;
  }

  .tarvos-contact-page .tarvos-contact-data-notice dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

/* =========================================================
   TARVOS V14 · CONTACTO · 2026-09-18
   Una única capa final para CF7. Formulario compacto, campos unidos a
   sus etiquetas, legal por capas y cierre claro sin bloque oscuro.
   ========================================================= */
.tarvos-contact-page .tarvos-v5-contact-main__grid {
  grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1.45fr) !important;
  gap: clamp(34px, 5vw, 68px) !important;
}

.tarvos-contact-page .tarvos-v5-contact-brief {
  padding-top: 12px !important;
}

.tarvos-contact-page .tarvos-v5-contact-brief h2 {
  max-width: 10.5ch !important;
  font-size: clamp(2.15rem, 3.2vw, 3.2rem) !important;
}

.tarvos-contact-page .tarvos-v5-contact-form {
  padding: clamp(26px, 3vw, 38px) !important;
  border: 1px solid #e2e4ec !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 18px 54px rgba(29, 25, 55, .07) !important;
}

.tarvos-contact-page .tarvos-v5-contact-form > header {
  padding-bottom: 20px !important;
  border-bottom: 1px solid #e8e9f0 !important;
}

.tarvos-contact-page .tarvos-v5-contact-form__body {
  margin-top: 22px !important;
}

.tarvos-contact-page .tarvos-v7-contact-form form.wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field {
  min-width: 0 !important;
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field--mensaje {
  grid-column: 1 / -1 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field label:not(:has(input[type="checkbox"])),
.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field > label {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  margin: 0 !important;
  color: #171b2e !important;
  font-size: .79rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field label > br {
  display: none !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field :where(input:not([type="checkbox"]):not([type="submit"]), select, textarea) {
  display: block !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid #d9dde7 !important;
  border-radius: 13px !important;
  color: #1b2132 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: .95rem !important;
  line-height: 1.4 !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field textarea {
  min-height: 176px !important;
  resize: vertical !important;
}

.tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-field :where(input, select, textarea):focus {
  border-color: #7650e9 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 4px rgba(109, 70, 220, .10) !important;
}

.tarvos-contact-page .tarvos-cf7-context-hint {
  display: block !important;
  margin: 7px 0 0 !important;
  color: #6b7487 !important;
  font-size: .73rem !important;
  font-weight: 540 !important;
  line-height: 1.45 !important;
}

.tarvos-contact-page .tarvos-contact-data-notice {
  order: 20;
  margin: 20px 0 0 !important;
  overflow: hidden;
  border: 1px solid #e3e0ed !important;
  border-radius: 14px !important;
  color: #394158 !important;
  background: #faf9fe !important;
}

.tarvos-contact-page .tarvos-contact-data-notice > summary {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  gap: 11px;
  align-items: center;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.tarvos-contact-page .tarvos-contact-data-notice > summary::-webkit-details-marker {
  display: none;
}

.tarvos-contact-page .tarvos-contact-data-notice__icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #fff;
  background: #6d46dc;
  font-size: .8rem;
  font-weight: 850;
}

.tarvos-contact-page .tarvos-contact-data-notice > summary > span:nth-child(2) {
  display: grid;
  gap: 2px;
}

.tarvos-contact-page .tarvos-contact-data-notice > summary b {
  color: #23283a !important;
  font-size: .82rem !important;
  font-weight: 820 !important;
}

.tarvos-contact-page .tarvos-contact-data-notice > summary small {
  color: #6b7488 !important;
  font-size: .72rem !important;
  line-height: 1.35 !important;
}

.tarvos-contact-page .tarvos-contact-data-notice > summary > i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #ded9eb;
  border-radius: 999px;
  color: #6437d8;
  background: #fff;
  font-style: normal;
  font-weight: 800;
  transition: transform .18s ease;
}

.tarvos-contact-page .tarvos-contact-data-notice[open] > summary > i {
  transform: rotate(45deg);
}

.tarvos-contact-page .tarvos-contact-data-notice__content {
  padding: 2px 16px 16px;
  border-top: 1px solid #ebe8f2;
}

.tarvos-contact-page .tarvos-contact-data-notice__content h3 {
  margin: 15px 0 8px !important;
  color: #1b2030 !important;
  font-size: .95rem !important;
  font-weight: 820 !important;
}

.tarvos-contact-page .tarvos-contact-data-notice dl > div {
  grid-template-columns: minmax(105px, .28fr) minmax(0, 1fr) !important;
  padding: 9px 0 !important;
}

.tarvos-contact-page .tarvos-cf7-consent {
  order: 30;
  display: block !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  color: #343b4e !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

.tarvos-contact-page .tarvos-cf7-consent label {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  align-items: flex-start !important;
  color: #343b4e !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
}

.tarvos-contact-page .tarvos-cf7-consent input[type="checkbox"] {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
}

.tarvos-contact-page .tarvos-cf7-actions {
  order: 40;
  margin: 16px 0 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-cf7-actions :where(input[type="submit"], button[type="submit"]) {
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #7440ef, #6630dc) !important;
  box-shadow: 0 12px 30px rgba(104, 51, 220, .20) !important;
  font-size: .9rem !important;
  font-weight: 820 !important;
  cursor: pointer !important;
}

.tarvos-contact-page .tarvos-cf7-legal-summary {
  display: none !important;
}

/* El cierre de Contacto deja de ser un bloque oscuro. */
.tarvos-contact-page > section.tarvos-v7-final-cta {
  background: #fff !important;
}

.tarvos-contact-page .tarvos-v7-final-cta__panel {
  border: 1px solid #ded8f3 !important;
  background: linear-gradient(135deg, #f7f4ff 0%, #fbfaff 58%, #f0ebff 100%) !important;
  box-shadow: 0 18px 52px rgba(61, 37, 124, .08) !important;
}

.tarvos-contact-page .tarvos-v7-final-cta__copy .tarvos-v5-overline {
  color: #6938dc !important;
}

.tarvos-contact-page .tarvos-v7-final-cta__copy h2 {
  color: #171b2e !important;
}

.tarvos-contact-page .tarvos-v7-final-cta__copy > p:last-child {
  color: #5f687c !important;
}

.tarvos-contact-page .tarvos-v7-final-cta__actions .tarvos-v5-text-link {
  color: #5e2fd6 !important;
}

@media (max-width: 900px) {
  .tarvos-contact-page .tarvos-v5-contact-main__grid {
    grid-template-columns: 1fr !important;
  }

  .tarvos-contact-page .tarvos-v5-contact-brief h2 {
    max-width: 16ch !important;
  }
}

@media (max-width: 680px) {
  .tarvos-contact-page .tarvos-v7-contact-form .tarvos-cf7-fields {
    grid-template-columns: 1fr !important;
  }

  .tarvos-contact-page .tarvos-contact-data-notice dl > div {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }
}

/* =========================================================
   ACADEMIA TARVOS · CONTACTO V15 · 2026-09-18
   Reset estable de Contact Form 7. Sin reordenación DOM por JS.
   ========================================================= */
.tarvos-contact-page .tarvos-contact-form-v15 {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e6e7ee;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(17, 24, 39, .08);
}

.tarvos-contact-page .tarvos-contact-form-v15 > header {
  padding: clamp(28px, 3vw, 42px) clamp(24px, 3.4vw, 46px) 24px !important;
  border-bottom: 1px solid #ececf2 !important;
  background: linear-gradient(180deg, #fff 0%, #fbfaff 100%);
}

.tarvos-contact-page .tarvos-contact-form-v15 > header h2 {
  margin: 4px 0 8px !important;
  max-width: none !important;
  color: #111528 !important;
  font-size: clamp(2rem, 3.4vw, 3.2rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 > header > p:last-child {
  margin: 0 !important;
  max-width: 56rem !important;
  color: #5e687d !important;
  font-size: .98rem !important;
  line-height: 1.6 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 .tarvos-v5-contact-form__body {
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(24px, 3vw, 38px) clamp(24px, 3.4vw, 46px) clamp(28px, 3.4vw, 44px) !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 .wpcf7,
.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > h2,
.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > p:has(> strong) {
  display: none !important;
}

/* Las agrupaciones que ya entrega CF7 se mantienen; solo se maquetan. */
.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > div:has(> p) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > div:has(textarea) {
  grid-template-columns: 1fr !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form p {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form label:not(:has(input[type="checkbox"])) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  color: #1b2032 !important;
  font-size: .79rem !important;
  font-weight: 790 !important;
  line-height: 1.3 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form label > br {
  display: none !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid #d9ddea !important;
  border-radius: 13px !important;
  color: #171b2e !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17, 24, 39, .02) !important;
  font-size: .95rem !important;
  line-height: 1.35 !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select) {
  min-height: 54px !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 textarea {
  min-height: 170px !important;
  resize: vertical !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 :where(input, select, textarea):focus {
  outline: 0 !important;
  border-color: #7447e8 !important;
  box-shadow: 0 0 0 4px rgba(116, 71, 232, .11) !important;
}

/* Consentimiento: compacto y legible. */
.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > p:has(input[type="checkbox"]) {
  margin: 4px 0 18px !important;
  padding: 15px 16px !important;
  border: 1px solid #e8e6f0 !important;
  border-radius: 13px !important;
  background: #faf9fd !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > p:has(input[type="checkbox"]) label {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  margin: 0 !important;
  color: #394258 !important;
  font-size: .76rem !important;
  font-weight: 650 !important;
  line-height: 1.48 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 1px 0 0 !important;
  accent-color: #6e43e8;
}

/* Acción principal. */
.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > p:has(input[type="submit"]),
.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > p:has(button[type="submit"]) {
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 :where(input[type="submit"], button[type="submit"]) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 13px 22px !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #6840e7 0%, #7d42ef 100%) !important;
  box-shadow: 0 12px 28px rgba(108, 65, 231, .22) !important;
  font-size: .94rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 .wpcf7-spinner {
  display: block !important;
  margin: 12px auto 0 !important;
}

/* CF7 deja este bloque vacío en estado inicial: no debe verse como una barra. */
.tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form.init .wpcf7-response-output,
.tarvos-contact-page .tarvos-contact-form-v15 .wpcf7-response-output:empty {
  display: none !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  font-size: .8rem !important;
  line-height: 1.5 !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 .wpcf7-not-valid-tip {
  margin-top: 6px !important;
  font-size: .75rem !important;
}

/* Aviso legal propio: fuera del form, compacto y estable. */
.tarvos-contact-page .tarvos-contact-form-v15 .tarvos-contact-data-notice {
  margin: 18px 0 0 !important;
  border: 1px solid #e7e5ef !important;
  border-radius: 14px !important;
  background: #fbfaff !important;
  overflow: hidden !important;
}

.tarvos-contact-page .tarvos-contact-form-v15 .tarvos-contact-data-notice > summary {
  min-height: 66px !important;
  padding: 14px 16px !important;
  cursor: pointer !important;
}

/* Layout principal: el formulario gana espacio y el brief queda contenido. */
.tarvos-contact-page .tarvos-v5-contact-main__grid {
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.35fr) !important;
  gap: clamp(40px, 5vw, 86px) !important;
  align-items: start !important;
}

.tarvos-contact-page .tarvos-v5-contact-brief {
  max-width: 31rem !important;
  padding-top: 18px !important;
}

/* CTA directo: claro, sin heredar la tarjeta oscura histórica. */
.tarvos-contact-page > section.tarvos-contact-direct-v15 {
  padding: clamp(56px, 7vw, 92px) 0 !important;
  background: #fff !important;
}

.tarvos-contact-page .tarvos-contact-direct-v15__panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 32px !important;
  align-items: center !important;
  padding: clamp(28px, 4vw, 48px) !important;
  border: 1px solid #dfdaf0 !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #f7f3ff 0%, #ffffff 62%, #f2edff 100%) !important;
  box-shadow: 0 22px 64px rgba(58, 37, 116, .09) !important;
}

.tarvos-contact-page .tarvos-contact-direct-v15__copy h2 {
  margin: 6px 0 10px !important;
  max-width: 16ch !important;
  color: #111528 !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.tarvos-contact-page .tarvos-contact-direct-v15__copy > p:last-child {
  margin: 0 !important;
  max-width: 46rem !important;
  color: #59647a !important;
  font-size: .95rem !important;
  line-height: 1.65 !important;
}

.tarvos-contact-page .tarvos-contact-direct-v15__actions {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.tarvos-contact-page .tarvos-contact-direct-v15__actions .tarvos-v5-button--primary {
  color: #fff !important;
  background: #6e43e8 !important;
}

.tarvos-contact-page .tarvos-contact-direct-v15__actions .tarvos-v5-text-link {
  color: #5c33cb !important;
}

@media (max-width: 980px) {
  .tarvos-contact-page .tarvos-v5-contact-main__grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .tarvos-contact-page .tarvos-v5-contact-brief {
    max-width: none !important;
    padding-top: 0 !important;
  }

  .tarvos-contact-page .tarvos-contact-direct-v15__panel {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .tarvos-contact-page .tarvos-contact-form-v15 form.wpcf7-form > div:has(> p) {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .tarvos-contact-page .tarvos-contact-form-v15 > header,
  .tarvos-contact-page .tarvos-contact-form-v15 .tarvos-v5-contact-form__body {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .tarvos-contact-page .tarvos-contact-direct-v15__actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .tarvos-contact-page .tarvos-contact-direct-v15__actions a {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* =========================================================
   ACADEMIA TARVOS · CONTACTO V16 · 2026-09-18
   Layout definitivo del formulario CF7: una normalización única al
   cargar y una sola rejilla visual. Sin observers ni reflujo continuo.
   ========================================================= */
.tarvos-contact-page .tarvos-contact-form-v16 {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  border: 1px solid #e4e5ed !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 24px 72px rgba(22, 24, 45, .08) !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 > header {
  padding: 34px 38px 26px !important;
  border-bottom: 1px solid #ececf2 !important;
  background: linear-gradient(180deg, #fff 0%, #fcfbff 100%) !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 > header h2 {
  margin: 5px 0 9px !important;
  max-width: none !important;
  color: #111528 !important;
  font-size: clamp(2.2rem, 3vw, 3.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 > header > p:last-child {
  margin: 0 !important;
  color: #5b667c !important;
  font-size: .98rem !important;
  line-height: 1.6 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-v5-contact-form__body {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 30px 38px 36px !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .wpcf7,
.tarvos-contact-page .tarvos-contact-form-v16 form.wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-legacy-heading,
.tarvos-contact-page .tarvos-contact-form-v16 form.wpcf7-form > h2,
.tarvos-contact-page .tarvos-contact-form-v16 form.wpcf7-form > p:empty {
  display: none !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 20px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field--mensaje {
  grid-column: 1 / -1 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field label:not(:has(input[type="checkbox"])),
.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field > label {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  color: #171b2e !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field label > br {
  display: none !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  border: 1px solid #d9ddea !important;
  border-radius: 14px !important;
  color: #171b2e !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17, 24, 39, .02) !important;
  font-size: .96rem !important;
  line-height: 1.4 !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select) {
  min-height: 56px !important;
  padding: 13px 15px !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field textarea {
  min-height: 190px !important;
  padding: 15px !important;
  resize: vertical !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field :where(input, select, textarea):focus {
  outline: 0 !important;
  border-color: #7041e8 !important;
  box-shadow: 0 0 0 4px rgba(112, 65, 232, .11) !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-consent {
  display: block !important;
  width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid #e6e2f0 !important;
  border-radius: 14px !important;
  background: #faf9fd !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-consent label {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 11px !important;
  width: 100% !important;
  margin: 0 !important;
  color: #394258 !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  line-height: 1.48 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-consent input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  accent-color: #6e43e8 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-actions {
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-actions :where(input[type="submit"], button[type="submit"]) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 14px 22px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #6840e7 0%, #7d42ef 100%) !important;
  box-shadow: 0 14px 30px rgba(108, 65, 231, .22) !important;
  font-size: .95rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .wpcf7-spinner {
  display: block !important;
  margin: 12px auto 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 form.wpcf7-form.init .wpcf7-response-output,
.tarvos-contact-page .tarvos-contact-form-v16 .wpcf7-response-output:empty {
  display: none !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .wpcf7-response-output {
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  font-size: .82rem !important;
  line-height: 1.5 !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .wpcf7-not-valid-tip {
  display: block !important;
  margin-top: 6px !important;
  font-size: .75rem !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-contact-data-notice {
  margin: 18px 0 0 !important;
  border: 1px solid #e7e4ef !important;
  border-radius: 14px !important;
  background: #fbfaff !important;
  overflow: hidden !important;
}

.tarvos-contact-page .tarvos-contact-form-v16 .tarvos-contact-data-notice > summary {
  min-height: 64px !important;
  padding: 13px 15px !important;
}

/* El formulario tiene prioridad visual sobre el brief y gana anchura real. */
.tarvos-contact-page .tarvos-v5-contact-main__grid {
  grid-template-columns: minmax(260px, .62fr) minmax(620px, 1.38fr) !important;
  gap: clamp(42px, 5vw, 78px) !important;
  align-items: start !important;
}

.tarvos-contact-page .tarvos-v5-contact-brief {
  max-width: 29rem !important;
  padding-top: 18px !important;
}

@media (max-width: 1120px) {
  .tarvos-contact-page .tarvos-v5-contact-main__grid {
    grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr) !important;
  }
}

@media (max-width: 900px) {
  .tarvos-contact-page .tarvos-v5-contact-main__grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .tarvos-contact-page .tarvos-v5-contact-brief {
    max-width: none !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 720px) {
  .tarvos-contact-page .tarvos-contact-form-v16 > header,
  .tarvos-contact-page .tarvos-contact-form-v16 .tarvos-v5-contact-form__body {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-fields {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .tarvos-contact-page .tarvos-contact-form-v16 .tarvos-cf7-field--mensaje {
    grid-column: auto !important;
  }
}


/* =========================================================
   ACADEMIA TARVOS · CONTACTO V17 · 2026-09-18
   Aislamiento total de CF7 respecto a las generaciones antiguas.
   Flujo visual: 2x2 campos → mensaje completo → consentimiento → CTA.
   ========================================================= */
.tarvos-contact-page .tarvos-contact-form-v17 {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e4e5ed !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 24px 72px rgba(22, 24, 45, .08) !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 > header {
  padding: 34px 38px 26px !important;
  border-bottom: 1px solid #ececf2 !important;
  background: linear-gradient(180deg, #fff 0%, #fcfbff 100%) !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 > header h2 {
  margin: 5px 0 9px !important;
  max-width: none !important;
  color: #111528 !important;
  font-size: clamp(2.2rem, 3vw, 3.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 > header > p:last-child {
  margin: 0 !important;
  color: #5b667c !important;
  font-size: .98rem !important;
  line-height: 1.6 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-v5-contact-form__body {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 30px 38px 36px !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .wpcf7,
.tarvos-contact-page .tarvos-contact-form-v17 form.wpcf7-form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-contact-layout-v17 {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 20px !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-top-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 20px !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-message-row,
.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field--mensaje,
.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-consent,
.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-actions {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  grid-column: auto !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field label:not(:has(input[type="checkbox"])),
.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field > label {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 8px !important;
  color: #171b2e !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field label > br {
  display: none !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  border: 1px solid #d9ddea !important;
  border-radius: 14px !important;
  color: #171b2e !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17, 24, 39, .02) !important;
  font-size: .96rem !important;
  line-height: 1.4 !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select) {
  min-height: 56px !important;
  padding: 13px 15px !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field textarea {
  width: 100% !important;
  min-height: 180px !important;
  padding: 15px !important;
  resize: vertical !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-field :where(input, select, textarea):focus {
  outline: 0 !important;
  border-color: #7041e8 !important;
  box-shadow: 0 0 0 4px rgba(112, 65, 232, .11) !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-consent {
  padding: 15px 16px !important;
  border: 1px solid #e6e2f0 !important;
  border-radius: 14px !important;
  background: #faf9fd !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-consent label {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 11px !important;
  color: #394258 !important;
  font-size: .8rem !important;
  font-weight: 650 !important;
  line-height: 1.48 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-consent input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  accent-color: #6e43e8 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-actions :where(input[type="submit"], button[type="submit"]) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 14px 22px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #6840e7 0%, #7d42ef 100%) !important;
  box-shadow: 0 14px 30px rgba(108, 65, 231, .22) !important;
  font-size: .95rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-legacy-heading,
.tarvos-contact-page .tarvos-contact-form-v17 form.wpcf7-form > h2,
.tarvos-contact-page .tarvos-contact-form-v17 form.wpcf7-form > p:empty,
.tarvos-contact-page .tarvos-contact-form-v17 form.wpcf7-form.init .wpcf7-response-output,
.tarvos-contact-page .tarvos-contact-form-v17 .wpcf7-response-output:empty {
  display: none !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .wpcf7-response-output {
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  font-size: .82rem !important;
  line-height: 1.5 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .wpcf7-spinner {
  display: block !important;
  margin: 12px auto 0 !important;
}

.tarvos-contact-page .tarvos-contact-form-v17 .tarvos-contact-data-notice {
  margin: 18px 0 0 !important;
}

@media (max-width: 720px) {
  .tarvos-contact-page .tarvos-contact-form-v17 > header,
  .tarvos-contact-page .tarvos-contact-form-v17 .tarvos-v5-contact-form__body {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .tarvos-contact-page .tarvos-contact-form-v17 .tarvos-cf7-top-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
