/* TAG Digital — estilos del tema (porte de los diseños aprobados). */
:root {
  --bg: #FFF8F3; --ink: #333333; --or: #ED6306; --or-t: #B85000; --mute: #64615E;
  --line: rgba(51,51,51,.2); --wrap: 1180px; --gut: clamp(20px, 5vw, 60px);
  --ease: cubic-bezier(.2,.8,.2,1);
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); }
body { font-family: "Metropolis", system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--ink); -webkit-font-smoothing: antialiased; }
a { color: var(--or); text-decoration: none; }
a:hover { color: var(--ink); }
::selection { background: var(--or); color: var(--bg); }
input, button, select, textarea { font-family: inherit; }
:focus-visible { outline: 2px solid var(--or); outline-offset: 2px; }
img { max-width: 100%; height: auto; display: block; }
[hidden] { display: none !important; }
@keyframes tagRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes stepIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.t-rise { animation: tagRise .6s var(--ease) both; }
.t-wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut); }
.t-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.t-rule { height: 2px; background: var(--ink); margin-top: clamp(26px, 4vh, 44px); }
.t-self-start { align-self: flex-start; }
.t-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* Botones, pastillas, etiquetas */
.t-btn { display: inline-block; border: 0; cursor: pointer; background: var(--or); color: var(--bg); font-size: 15.5px; font-weight: 700; padding: 16px 32px; border-radius: 999px; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.t-btn:hover { background: var(--ink); color: var(--bg); }
.t-btn:disabled { opacity: .55; cursor: wait; }
.t-btn--on-dark:hover { background: var(--bg); color: var(--or); }
.t-btn--light { background: var(--bg); color: var(--or); }
.t-btn--light:hover { background: var(--ink); color: var(--bg); }
.t-btn--ghost { background: transparent; border: 1.5px solid rgba(51,51,51,.3); color: var(--ink); font-weight: 600; }
.t-btn--ghost:hover { background: transparent; border-color: var(--or); color: var(--or); }
.t-btn--ghost-light { background: transparent; border: 1.5px solid rgba(255,248,243,.6); color: var(--bg); font-weight: 600; }
.t-btn--ghost-light:hover { background: transparent; border-color: var(--bg); color: var(--bg); }
.t-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.t-pill { border: 1px solid rgba(51,51,51,.28); background: transparent; color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .05em; padding: 14px 18px; border-radius: 999px; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.t-pill:hover { border-color: var(--or); color: var(--ink); }
.t-pill.is-on { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.t-kicker { font-size: 12px; font-weight: 700; letter-spacing: .09em; color: rgba(51,51,51,.5); }
.t-badge { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .1em; color: var(--bg); background: var(--or); padding: 8px 15px; border-radius: 999px; }
a.t-badge:hover { background: var(--ink); color: var(--bg); }
.t-badge--outline { color: var(--ink); background: transparent; border: 1.5px solid rgba(51,51,51,.3); padding: 7px 14px; }
.t-error { margin: 0; font-size: 13.5px; font-weight: 600; color: #B3261E; }
.t-error--dark { color: #FFB59E; }
.t-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: rgba(51,51,51,.7); max-width: 60ch; }
.t-consent input { margin-top: 2px; accent-color: var(--or); width: 16px; height: 16px; flex: 0 0 auto; }
.t-consent a { color: var(--or-t); text-decoration: underline; text-underline-offset: 2px; }
.t-consent--dark { color: rgba(255,248,243,.6); }
.t-consent--dark a { color: var(--bg); }

/* Navegación */
.t-nav { position: fixed; z-index: 90; top: clamp(10px, 1.6vh, 18px); left: clamp(10px, 2.2vw, 26px); right: clamp(10px, 2.2vw, 26px); display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 9px 9px clamp(14px, 1.8vw, 26px); background: var(--bg); border: 1px solid rgba(51,51,51,.14); border-radius: 999px; box-shadow: 0 10px 26px rgba(51,51,51,.13), 0 2px 6px rgba(51,51,51,.07); }
.admin-bar .t-nav { top: calc(32px + clamp(10px, 1.6vh, 18px)); }
.t-nav__logo { display: flex; align-items: center; flex: 0 0 auto; padding: 8px 0; }
.t-nav__logo img { height: clamp(28px, 2.6vw, 38px); width: auto; }
.t-nav__row { display: flex; align-items: center; gap: clamp(8px, 1.6vw, 26px); }
.t-nav__link { font-size: 13.5px; font-weight: 500; color: var(--ink); padding: 8px 2px; white-space: nowrap; }
.t-nav__link:hover { color: var(--or); }
.t-nav__link.is-active { color: var(--or); font-weight: 700; }
.t-nav__drop { position: relative; display: flex; align-items: center; }
.t-nav__menu { position: absolute; top: 100%; left: -14px; padding-top: 14px; display: none; }
.t-nav__drop:hover .t-nav__menu, .t-nav__drop:focus-within .t-nav__menu { display: block; }
.t-nav__menu-in { min-width: 268px; background: var(--bg); border: 1px solid rgba(51,51,51,.16); box-shadow: 0 18px 40px rgba(51,51,51,.16); display: flex; flex-direction: column; }
.t-nav__menu a, .t-nav__sheet > a:not(.t-btn) { padding: 13px 18px; font-size: 13.5px; font-weight: 600; color: var(--ink); border-bottom: 1px solid rgba(51,51,51,.1); }
.t-nav__menu a:hover, .t-nav__sheet > a:not(.t-btn):hover { background: var(--or); color: var(--bg); }
.t-nav__cta { background: var(--or); color: var(--bg); font-size: 13.5px; font-weight: 600; padding: 11px 20px; border-radius: 999px; white-space: nowrap; }
.t-nav__cta:hover { background: var(--ink); color: var(--bg); }
.t-nav__burger { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 46px; height: 46px; flex: 0 0 auto; border: 0; cursor: pointer; background: rgba(51,51,51,.07); border-radius: 999px; padding: 0; }
.t-nav__burger span { width: 20px; height: 2px; background: var(--ink); display: block; }
.t-nav.is-open .t-nav__burger { background: var(--or); }
.t-nav.is-open .t-nav__burger span { background: var(--bg); }
.t-nav__sheet { position: absolute; top: calc(100% + 10px); left: 0; right: 0; display: none; flex-direction: column; background: var(--bg); border: 1px solid rgba(51,51,51,.16); box-shadow: 0 20px 46px rgba(51,51,51,.2); max-height: 74vh; overflow-y: auto; }
.t-nav.is-open .t-nav__sheet { display: flex; }
.t-nav__sheet > a:not(.t-btn) { font-size: 15px; padding: 15px 18px; border-bottom: 0; border-top: 1px solid rgba(51,51,51,.12); }
.t-nav__sheet-label { font-size: 10.5px; font-weight: 800; letter-spacing: .09em; color: rgba(51,51,51,.45); padding: 14px 18px 8px; }
.t-nav__sheet-label--rule { border-top: 2px solid var(--ink); padding-top: 16px; }
.t-nav__sheet-cta { margin: 16px 18px 18px; text-align: center; font-size: 15px; }
@media (max-width: 899px) { .t-nav__row { display: none; } .t-nav__burger { display: flex; } }

/* Pie */
.t-foot { background: var(--ink); color: var(--bg); width: 100%; display: flex; flex-direction: column; gap: clamp(22px, 4vh, 44px); padding: clamp(44px, 7vw, 88px) clamp(20px, 4vw, 56px) clamp(24px, 3vw, 38px); }
.t-foot--panel { height: 100vh; justify-content: center; padding: clamp(96px, 15vh, 150px) clamp(20px, 3vw, 52px) clamp(64px, 10vh, 100px); border-left: 2px solid var(--ink); }
.t-foot__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: clamp(20px, 3vw, 48px); }
.t-foot__claim { font-size: clamp(26px, min(4vw, 7vh), 66px); font-weight: 800; letter-spacing: -.04em; line-height: .94; max-width: 16ch; }
.t-foot__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: clamp(22px, 3vw, 56px); align-items: start; border-top: 1px solid rgba(255,248,243,.22); padding-top: clamp(20px, 3vh, 36px); }
.t-foot__brand { display: flex; flex-direction: column; gap: 14px; }
.t-foot__brand img { height: 38px; width: auto; max-width: 190px; object-fit: contain; object-position: left center; }
.t-foot__brand p { margin: 0; font-size: 13.5px; line-height: 1.6; color: rgba(255,248,243,.68); max-width: 28ch; }
.t-foot__col { display: flex; flex-direction: column; gap: 2px; }
.t-foot__label { font-size: 11px; font-weight: 700; letter-spacing: .09em; color: rgba(255,248,243,.45); margin-bottom: 6px; }
.t-foot__col a { font-size: 13.5px; font-weight: 500; color: var(--bg); padding: 11px 0; display: block; }
.t-foot__col a:hover { color: var(--or); }
.t-foot__contact { gap: 6px; }
.t-foot__contact span { font-size: 13.5px; color: rgba(255,248,243,.68); }
.t-foot__col a.t-foot__mail { font-size: 14.5px; font-weight: 700; color: var(--or); }
.t-foot__col a.t-foot__mail:hover { color: var(--bg); }
.t-foot__col a.t-foot__tel { font-size: 14.5px; font-weight: 700; padding: 4px 0 8px; }
.t-foot__legal { padding-top: 16px; border-top: 1px solid rgba(255,248,243,.22); display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; font-size: 12px; color: rgba(255,248,243,.45); }
.t-foot__legal div { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.t-foot__legal a, .t-foot__legal button { color: rgba(255,248,243,.72); text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0; font-size: 12px; cursor: pointer; }
.t-foot__legal a:hover, .t-foot__legal button:hover { color: var(--or); }

/* Desplazamiento horizontal */
.hs-outer { position: relative; }
.hs-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.hs-track { position: absolute; top: 0; left: 0; height: 100vh; display: flex; align-items: stretch; will-change: transform; }
.hs-panel { position: relative; height: 100vh; display: flex; flex-direction: column; padding: clamp(96px, 15vh, 150px) clamp(20px, 3vw, 48px) clamp(70px, 11vh, 110px); }
.hs-panel-footer { height: 100vh; display: flex; }
.hs-progress { position: absolute; z-index: 70; left: clamp(16px, 4vw, 52px); right: clamp(16px, 4vw, 52px); bottom: 14px; display: flex; align-items: center; gap: 14px; }
.hs-progress__bar { flex: 1; height: 2px; background: rgba(51,51,51,.18); }
.hs-progress__bar i { display: block; height: 100%; width: 0; background: var(--or); }
.hs-progress__label { font-size: 11.5px; font-weight: 700; letter-spacing: .09em; color: rgba(51,51,51,.55); white-space: nowrap; }
.hs-outer.is-dark .hs-progress__bar { background: rgba(255,248,243,.28); }
.hs-outer.is-dark .hs-progress__bar i { background: var(--bg); }
.hs-outer.is-dark .hs-progress__label { color: rgba(255,248,243,.62); }
/* Modo apilado (v1.8): se aplica siempre que <html> NO tenga .tag-hs — móviles, tablets (táctiles),
   pantallas de poca altura, "reducir movimiento" o si el JS no cargó. El horizontal es una mejora, nunca un requisito. */
html:not(.tag-hs) .hs-outer { height: auto !important; }
html:not(.tag-hs) .hs-sticky { position: static; height: auto; overflow: visible; }
html:not(.tag-hs) .hs-track { position: static; flex-direction: row; flex-wrap: wrap; height: auto; transform: none !important; }
html:not(.tag-hs) .hs-track > * { flex: 0 0 auto !important; width: 100% !important; height: auto !important; min-height: 0 !important; }
html:not(.tag-hs) .hs-panel { padding-top: 44px; padding-bottom: 40px; }
html:not(.tag-hs) .hs-track > .hs-panel:first-child { padding-top: 104px; }
html:not(.tag-hs) .hs-progress { display: none; }
html:not(.tag-hs) .t-foot--panel { height: auto; padding-top: 44px; padding-bottom: 32px; }
html:not(.tag-hs) .t-card { min-height: 260px; border-top: 1px solid var(--line); }

/* Paneles de listado */
.t-intro { background: var(--bg); justify-content: center; gap: clamp(16px, 3vh, 34px); overflow: hidden; }
.t-display { margin: 0; font-size: clamp(34px, min(6vw, 11vh), 96px); line-height: .9; letter-spacing: -.042em; font-weight: 800; max-width: 13ch; position: relative; }
.t-intro__lead { margin: 0; font-size: clamp(15px, min(1.3vw, 2.4vh), 20px); line-height: 1.6; max-width: 40ch; position: relative; }
.t-intro .t-kicker, .t-intro .t-btn { position: relative; }
.t-count { font-size: 12.5px; font-weight: 600; color: rgba(51,51,51,.5); }
.t-count--rule { border-top: 2px solid var(--ink); padding-top: 14px; }
.t-glow { position: absolute; z-index: 0; width: 520px; height: 520px; left: 0; top: 0; margin: -260px 0 0 -260px; border-radius: 50%; background: radial-gradient(circle, rgba(237,99,6,.4) 0%, rgba(237,99,6,.1) 46%, rgba(237,99,6,0) 70%); filter: blur(22px); pointer-events: none; will-change: transform; }

.t-featured { background: var(--or); color: var(--bg); justify-content: space-between; padding-left: clamp(20px, 3vw, 46px); padding-right: clamp(20px, 3vw, 46px); border-left: 2px solid var(--ink); overflow: hidden; }
.t-featured:hover { color: var(--bg); }
.t-featured > * { position: relative; }
.t-featured__deco { position: absolute !important; right: -14%; top: 14%; width: 62%; height: 44%; border: 20px solid rgba(255,248,243,.16); }
.t-featured__kicker { font-size: 11.5px; font-weight: 700; letter-spacing: .09em; opacity: .9; }
.t-featured__title { font-size: clamp(28px, min(4.4vw, 8vh), 76px); font-weight: 800; letter-spacing: -.04em; line-height: .94; max-width: 16ch; }
.t-featured__desc { margin: clamp(16px, 2.6vh, 30px) 0 0; font-size: clamp(14px, 1.2vw, 19px); line-height: 1.6; max-width: 42ch; font-weight: 500; }
.t-featured__meta { font-size: 13px; font-weight: 700; letter-spacing: .04em; opacity: .9; }

.t-card { flex: 0 0 clamp(280px, 27vw, 400px); background: var(--bg); color: var(--ink); border-left: 1px solid var(--line); justify-content: flex-end; gap: 14px; padding-left: clamp(18px, 1.8vw, 30px); padding-right: clamp(18px, 1.8vw, 30px); overflow: hidden; transition: background .28s, color .28s; }
.t-card.is-tint { background: rgba(237,99,6,.07); }
.t-card:hover { background: var(--ink); color: var(--bg); }
.t-card > * { position: relative; }
.t-card--desc { flex-basis: clamp(300px, 30vw, 440px); }
.t-card__num { position: absolute !important; right: clamp(10px, 1.4vw, 24px); top: clamp(88px, 14vh, 140px); font-size: min(18vh, 12vw); font-weight: 800; letter-spacing: -.06em; line-height: .8; opacity: .1; }
.t-card__cat { font-size: 11px; font-weight: 800; letter-spacing: .09em; opacity: .72; }
.t-card__title { font-size: clamp(19px, 1.9vw, 30px); font-weight: 700; letter-spacing: -.03em; line-height: 1.08; }
.t-card__desc { margin: 0; font-size: 14.5px; line-height: 1.6; opacity: .82; }
.t-card__meta { font-size: 11.5px; font-weight: 600; letter-spacing: .05em; opacity: .6; }
.t-card__meta--strong { font-size: 12px; font-weight: 700; letter-spacing: .06em; opacity: .9; }
.t-card__list { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid currentColor; padding-top: 12px; }
.t-card__list span { font-size: 12.5px; line-height: 1.45; opacity: .7; }

.t-more { background: var(--bg); border-left: 1px solid var(--line); justify-content: center; align-items: flex-start; gap: 12px; }
.t-news, .t-next { justify-content: center; gap: clamp(16px, 2.6vh, 30px); padding-left: clamp(20px, 3vw, 46px); padding-right: clamp(20px, 3vw, 46px); border-left: 2px solid var(--ink); }
.t-news { background: var(--ink); color: var(--bg); }
.t-next { background: var(--or); color: var(--bg); }
.t-news__title, .t-next__title { font-size: clamp(26px, min(4vw, 7vh), 66px); font-weight: 800; letter-spacing: -.04em; line-height: .94; max-width: 15ch; }
.t-news__lead { margin: 0; font-size: clamp(14px, 1.2vw, 19px); line-height: 1.6; max-width: 38ch; color: rgba(255,248,243,.8); }
.t-next__lead { margin: 0; font-size: clamp(15px, 1.25vw, 20px); font-weight: 500; line-height: 1.6; max-width: 38ch; }
.t-news__form { max-width: 520px; display: flex; flex-direction: column; gap: 12px; }
.t-news__row { display: flex; flex-wrap: wrap; gap: 10px; }
.t-news__input { flex: 1 1 200px; background: transparent; border: 1.5px solid rgba(255,248,243,.32); color: var(--bg); font-size: 15px; padding: 15px 18px; border-radius: 999px; }
.t-news__input:focus { border-color: var(--or); outline: none; }
.t-news__ok { margin: 0; font-size: 17px; font-weight: 700; color: var(--or); }

/* Entrada */
.t-readbar { position: fixed; z-index: 95; top: 0; left: 0; right: 0; height: 3px; background: rgba(51,51,51,.1); }
.admin-bar .t-readbar { top: 32px; }
.t-readbar i { display: block; height: 100%; width: 0; background: var(--or); }
.t-post__head { padding-top: clamp(90px, 13vh, 140px); }
.t-post__date { font-size: 12.5px; font-weight: 600; color: var(--mute); }
.t-post__title { margin: clamp(20px, 3.4vh, 36px) 0 0; font-size: clamp(34px, 6vw, 78px); line-height: .94; letter-spacing: -.04em; font-weight: 800; max-width: 20ch; }
.t-post__lead { margin: clamp(18px, 2.6vh, 28px) 0 0; font-size: clamp(17px, 1.7vw, 24px); line-height: 1.5; font-weight: 500; max-width: 46ch; color: rgba(51,51,51,.8); }
.t-post__media { padding-top: clamp(24px, 4vh, 40px); }
.t-cover { position: relative; margin: 0; width: 100%; aspect-ratio: 16 / 9; border: 2px solid var(--ink); background: rgba(51,51,51,.06); overflow: hidden; }
.t-cover img { width: 100%; height: 100%; object-fit: cover; }
.t-post__body { padding-top: clamp(40px, 7vh, 76px); display: flex; flex-wrap: wrap; gap: clamp(30px, 5vw, 70px); }
.t-post__aside { flex: 0 1 190px; min-width: 170px; }
.t-post__sticky { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 22px; }
.t-aside-block { display: flex; flex-direction: column; gap: 5px; padding-top: 6px; border-top: 1px solid var(--line); }
.t-aside-block--strong { border-top: 2px solid var(--ink); }
.t-aside-label { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; color: var(--mute); }
.t-aside-label--dark { color: rgba(255,248,243,.5); font-size: 11.5px; font-weight: 700; letter-spacing: .09em; }
.t-aside-name { font-size: 14.5px; font-weight: 700; }
.t-aside-role { font-size: 13px; color: var(--mute); }
.t-toc { font-size: 13px; font-weight: 500; color: rgba(51,51,51,.72); line-height: 1.45; padding: 4px 0; }
.t-toc:hover { color: var(--or-t); }
.t-share { display: flex; flex-wrap: wrap; gap: 8px; }
.t-share__btn { border: 1.5px solid rgba(51,51,51,.3); cursor: pointer; background: transparent; color: var(--ink); font-size: 12.5px; font-weight: 700; padding: 11px 18px; border-radius: 999px; }
.t-share__btn:hover { border-color: var(--or); color: var(--or); }

/* Cuerpo editorial: estiliza los bloques nativos de WordPress */
.t-prose { flex: 1 1 460px; min-width: 0; max-width: 68ch; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.75; }
.t-prose > * { margin: 22px 0 0; }
.t-prose > *:first-child { margin-top: 0; }
.t-prose a { color: var(--or-t); text-decoration: underline; text-underline-offset: 3px; }
.t-prose a:hover { color: var(--ink); }
.t-prose h2 { margin-top: clamp(34px, 5vh, 52px); font-size: clamp(24px, 2.4vw, 34px); line-height: 1.12; letter-spacing: -.03em; font-weight: 800; scroll-margin-top: 100px; }
.t-prose h3 { margin-top: 32px; font-size: clamp(19px, 1.7vw, 24px); line-height: 1.2; letter-spacing: -.02em; font-weight: 700; }
.t-prose h2 + *, .t-prose h3 + * { margin-top: 16px; }
.t-prose ul, .t-prose ol { padding-left: 22px; display: flex; flex-direction: column; gap: 9px; }
.t-prose li { line-height: 1.7; }
.t-prose li::marker { color: var(--or); font-weight: 800; }
.t-prose blockquote, .t-prose .wp-block-quote, .t-prose .wp-block-pullquote { margin: clamp(34px, 5vh, 52px) 0 0; padding: 0 0 0 24px; border: 0; border-left: 3px solid var(--or); text-align: left; }
.t-prose blockquote p { margin: 0; font-size: clamp(20px, 2vw, 28px); line-height: 1.35; letter-spacing: -.02em; font-weight: 700; }
.t-prose blockquote cite { display: block; margin-top: 10px; font-size: 13px; font-style: normal; color: var(--mute); }
.t-prose figure, .t-prose .wp-block-image { margin-left: 0; margin-right: 0; }
.t-prose figure img, .t-prose .wp-block-image img { width: 100%; border: 1px solid rgba(51,51,51,.25); }
.t-prose figcaption, .t-prose .wp-element-caption { margin-top: 9px; font-size: 13px; line-height: 1.5; color: var(--mute); text-align: left; }
.t-prose code { font-size: .92em; background: rgba(51,51,51,.07); padding: 2px 6px; }
.t-prose pre { background: var(--ink); color: var(--bg); padding: 20px; overflow-x: auto; font-size: 14px; }
.t-prose pre code { background: none; padding: 0; }
.t-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.t-prose th { text-align: left; font-weight: 800; border-bottom: 2px solid var(--ink); padding: 10px 12px 10px 0; }
.t-prose td { border-bottom: 1px solid var(--line); padding: 10px 12px 10px 0; }
.t-prose hr { border: 0; height: 2px; background: var(--ink); margin: 40px 0; }
.t-prose .wp-block-button__link { background: var(--or); color: var(--bg); font-size: 15px; font-weight: 700; padding: 15px 28px; border-radius: 999px; text-decoration: none; }
.t-prose .wp-block-button__link:hover { background: var(--ink); color: var(--bg); }
.t-prose .wp-block-embed iframe, .t-prose iframe { max-width: 100%; }
.t-cta { margin-top: clamp(38px, 6vh, 60px) !important; background: var(--ink); color: var(--bg); padding: clamp(26px, 4vw, 40px); }
.t-cta__title { font-size: clamp(21px, 2.1vw, 30px); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; max-width: 24ch; }
.t-cta p { margin: 12px 0 0; font-size: 15.5px; line-height: 1.65; max-width: 44ch; color: rgba(255,248,243,.8); }
.t-cta .t-btn { margin-top: 20px; font-size: 14.5px; padding: 15px 28px; text-decoration: none; color: var(--bg); }
.t-cta .t-btn:hover { color: var(--or); }

.t-related { padding-top: clamp(56px, 9vh, 96px); padding-bottom: clamp(70px, 11vh, 110px); }
.t-related__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 14px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); }
.t-related__head h2 { margin: 0; font-size: clamp(20px, 2vw, 28px); font-weight: 800; letter-spacing: -.03em; }
.t-related__head a { font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--or-t); }
.t-related__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, max(240px, 30%)), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-top: 0; margin-top: 1px; }
.t-related__card { background: var(--bg); color: var(--ink); padding: clamp(20px, 2.4vw, 30px); display: flex; flex-direction: column; gap: 10px; min-height: 210px; transition: background .25s, color .25s; }
.t-related__card:hover { background: var(--or); color: var(--bg); }
.t-related__cat { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; opacity: .82; }
.t-related__title { font-size: clamp(17px, 1.6vw, 22px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.t-related__meta { font-size: 12.5px; font-weight: 600; opacity: .8; margin-top: auto; }

.t-post__head--page { padding-top: clamp(110px, 15vh, 160px); }
.t-page__body { max-width: 72ch; padding: clamp(36px, 6vh, 64px) 0 clamp(70px, 11vh, 110px); }

/* Ficha de descargable */
.t-desc__top { padding-top: clamp(90px, 13vh, 140px); display: flex; flex-wrap: wrap; gap: clamp(30px, 5vw, 64px); align-items: flex-start; }
.t-desc__main { flex: 1 1 420px; min-width: 0; }
.t-desc__title { margin: clamp(20px, 3.4vh, 34px) 0 0; font-size: clamp(32px, 5.4vw, 70px); line-height: .94; letter-spacing: -.04em; font-weight: 800; max-width: 18ch; }
.t-desc__lead { margin: clamp(18px, 2.6vh, 26px) 0 0; font-size: clamp(16px, 1.5vw, 21px); line-height: 1.6; font-weight: 500; max-width: 44ch; color: rgba(51,51,51,.8); }
.t-desc__h2 { margin: clamp(26px, 4vh, 40px) 0 0; font-size: clamp(19px, 1.8vw, 25px); font-weight: 800; letter-spacing: -.025em; }
.t-desc__list { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--line); }
.t-desc__list li { display: flex; gap: 16px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid rgba(51,51,51,.14); font-size: 15.5px; line-height: 1.55; font-weight: 500; }
.t-desc__list li span { font-size: 12px; font-weight: 800; color: var(--or); flex-shrink: 0; min-width: 24px; }
.t-desc__content { margin-top: 24px; font-size: 15.5px; line-height: 1.7; max-width: 60ch; }
.t-desc__side { flex: 0 1 420px; min-width: min(300px, 100%); display: flex; flex-direction: column; }
.t-cover--desc { border-bottom: 0; }
.t-dform { background: var(--ink); color: var(--bg); padding: clamp(24px, 3vw, 32px); transition: background .3s; }
.t-dform.is-done { background: var(--or); }
.t-dform__fields, .t-dform__ok { display: flex; flex-direction: column; gap: 16px; }
.t-dform__ok { animation: stepIn .45s var(--ease) both; }
.t-dform__title { font-size: clamp(19px, 1.8vw, 25px); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; }
.t-dform__sub { margin: 7px 0 0; font-size: 13.5px; line-height: 1.55; color: rgba(255,248,243,.68); }
.t-dfield { display: flex; flex-direction: column; gap: 6px; }
.t-dfield span { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; color: rgba(255,248,243,.6); }
.t-dfield input { background: transparent; border: 0; border-bottom: 2px solid rgba(255,248,243,.4); color: var(--bg); font-size: 15.5px; font-weight: 600; padding: 11px 0; border-radius: 0; }
.t-dfield input::placeholder { color: rgba(255,248,243,.45); }
.t-dfield input:focus { border-color: var(--or); outline: none; }
.t-dform .t-btn { margin-top: 4px; align-self: stretch; text-align: left; }
.t-dform__ok .t-btn { align-self: flex-start; }
.t-dform__note { font-size: 11.5px; line-height: 1.5; color: rgba(255,248,243,.85); }
.t-desc__serv { border: 2px solid var(--ink); border-top: 0; padding: 18px clamp(20px, 2.4vw, 28px); display: flex; flex-direction: column; gap: 10px; }
.t-desc__serv a { font-size: 16.5px; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; color: var(--or-t); }

/* Contacto */
.t-contact { position: relative; height: 100vh; border-left: 2px solid var(--ink); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.t-contact__main { background: var(--bg); padding: clamp(96px, 15vh, 150px) clamp(20px, 3vw, 56px) clamp(70px, 11vh, 110px); display: flex; flex-direction: column; justify-content: center; }
.t-contact__step { display: flex; flex-direction: column; gap: clamp(14px, 2.6vh, 28px); }
.t-contact__progress { display: flex; align-items: center; gap: 14px; font-size: 11.5px; font-weight: 700; letter-spacing: .09em; color: rgba(51,51,51,.5); }
.t-contact__bar { flex: 1; max-width: 240px; height: 2px; background: rgba(51,51,51,.18); }
.t-contact__bar i { display: block; height: 100%; width: 0; background: var(--or); transition: width .35s ease; }
.t-contact__q { margin: 0; font-size: clamp(28px, min(4.2vw, 7.4vh), 72px); line-height: .95; letter-spacing: -.04em; font-weight: 800; max-width: 16ch; animation: stepIn .45s var(--ease) both; }
.t-contact__h { margin: 0; font-size: clamp(14px, 1.15vw, 18px); line-height: 1.55; max-width: 42ch; color: rgba(51,51,51,.7); }
.t-contact__input { width: min(620px, 100%); background: transparent; border: 0; border-bottom: 2px solid rgba(51,51,51,.28); color: var(--ink); font-size: clamp(19px, 2.2vw, 34px); font-weight: 700; letter-spacing: -.02em; padding: 10px 0; border-radius: 0; }
.t-contact__input:focus { border-bottom-color: var(--or); outline: none; }
.t-contact__chips { display: flex; flex-wrap: wrap; gap: 10px; max-width: 660px; }
.t-chip { border: 1.5px solid rgba(51,51,51,.28); cursor: pointer; background: transparent; color: var(--ink); font-size: 14.5px; font-weight: 600; padding: 12px 21px; border-radius: 999px; transition: background .2s, color .2s, border-color .2s; }
.t-chip:hover { border-color: var(--or); }
.t-chip.is-on { background: var(--or); color: var(--bg); border-color: var(--or); }
.t-contact__actions { gap: 14px; margin-top: 4px; }
.t-contact__back { border: 0; background: transparent; cursor: pointer; font-size: 14px; font-weight: 600; color: rgba(51,51,51,.55); }
.t-contact__back:hover { color: var(--or); }
.t-contact__hint { font-size: 12.5px; color: rgba(51,51,51,.45); }
.t-contact__done { display: flex; flex-direction: column; gap: 18px; animation: stepIn .45s var(--ease) both; }
.t-contact__done-title { font-size: clamp(40px, min(6vw, 11vh), 96px); font-weight: 800; letter-spacing: -.045em; line-height: .9; color: var(--or); }
.t-contact__done p { margin: 0; font-size: clamp(15px, 1.35vw, 21px); line-height: 1.6; max-width: 38ch; }
.t-contact__aside { background: var(--ink); color: var(--bg); padding: clamp(96px, 15vh, 150px) clamp(18px, 2.2vw, 38px) clamp(70px, 11vh, 110px); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.t-contact__nav { display: flex; flex-direction: column; gap: 8px; }
.t-contact__nav button { text-align: left; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; gap: 13px; padding: 10px 0; color: rgba(255,248,243,.55); font-size: 14px; font-weight: 600; }
.t-contact__nav button:hover { color: var(--or); }
.t-contact__nav button span { flex: 0 0 auto; width: 25px; height: 25px; border: 1.5px solid currentColor; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 800; }
.t-contact__nav button.is-cur { color: var(--bg); }
.t-contact__nav button.is-ok span { background: var(--or); border-color: var(--or); color: var(--bg); }
.t-contact__info { display: flex; flex-direction: column; gap: 7px; font-size: 13px; color: rgba(255,248,243,.62); }
.t-contact__info a { color: rgba(255,248,243,.78); font-weight: 600; padding: 11px 0; }
.t-contact__info a:hover { color: var(--or); }
.t-contact__info a.t-contact__mail { color: var(--or); font-weight: 700; font-size: 14.5px; }
.t-contact__info a.t-contact__mail:hover { color: var(--bg); }
.t-contact__info a.t-contact__tel { color: var(--bg); font-weight: 700; font-size: 14.5px; }
.t-faq { background: var(--bg); border-left: 2px solid var(--ink); justify-content: center; gap: clamp(18px, 3.4vh, 40px); padding-left: clamp(20px, 3vw, 52px); padding-right: clamp(20px, 3vw, 52px); }
.t-faq__title { margin: 0; font-size: clamp(26px, min(3.6vw, 6.4vh), 58px); font-weight: 800; letter-spacing: -.038em; line-height: .98; max-width: 18ch; }
.t-faq__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.t-faq__item { background: var(--bg); padding: clamp(18px, 3vh, 32px) clamp(14px, 1.8vw, 26px); display: flex; flex-direction: column; gap: 10px; }
.t-faq__q { font-size: clamp(15px, 1.5vw, 23px); font-weight: 700; letter-spacing: -.02em; line-height: 1.14; }
.t-faq__item p { margin: 0; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.6; color: rgba(51,51,51,.82); }
html:not(.tag-hs) .t-contact { height: auto; }
html:not(.tag-hs) .t-contact__main, html:not(.tag-hs) .t-contact__aside { padding-top: 44px; padding-bottom: 40px; }

/* Aviso de cookies */
.t-cookies { position: fixed; z-index: 120; left: clamp(10px, 2.2vw, 26px); bottom: clamp(10px, 2vh, 20px); max-width: 520px; background: var(--bg); border: 2px solid var(--ink); box-shadow: 0 18px 40px rgba(51,51,51,.18); padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.t-cookies p { margin: 0; font-size: 13.5px; line-height: 1.55; }
.t-cookies a { color: var(--or-t); text-decoration: underline; }
.t-cookies__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.t-cookies .t-btn { font-size: 14px; padding: 12px 22px; }

/* ===== v1.3 · Home, servicios, herramientas ===== */
.t-or { color: var(--or); }
.t-h2 { margin: 0; font-size: clamp(28px, min(4vw, 6vh), 72px); line-height: .94; letter-spacing: -.035em; font-weight: 800; max-width: 22ch; }
.t-row--tight { gap: 8px; }
.t-btn--sm { font-size: 14.5px; padding: 14px 26px; }
.t-btn--xs { font-size: 13px; padding: 10px 18px; }
.t-btn--fade:hover { opacity: .86; }
.t-btn--line { background: transparent; border: 1.5px solid currentColor; color: inherit; font-size: 15px; font-weight: 600; padding: 15px 30px; opacity: .7; }
.t-btn--line:hover { background: transparent; color: inherit; opacity: 1; }
.t-btn--ink { background: var(--ink); color: var(--bg); font-size: 14.5px; font-weight: 600; padding: 15px 28px; }
.t-btn--ink:hover { background: var(--or); color: var(--bg); }
.t-btn--ink-light:hover { background: var(--bg); color: var(--or); }
.t-glow--lg { width: 560px; height: 560px; margin: -280px 0 0 -280px; }
.t-glow--follow { z-index: 1; width: 460px; height: 460px; margin: -230px 0 0 -230px; background: radial-gradient(circle, rgba(237,99,6,.5) 0%, rgba(237,99,6,.14) 45%, rgba(237,99,6,0) 70%); filter: blur(18px); }
.t-kicker--light { color: var(--bg); opacity: .85; }
.t-pill--soft { border-color: rgba(51,51,51,.26); font-size: 12.5px; font-weight: 600; letter-spacing: 0; cursor: pointer; }
.t-pill--soft:hover { color: var(--or); }
.t-pill--light { border-color: rgba(255,248,243,.45); color: var(--bg); font-size: 12.5px; font-weight: 600; letter-spacing: 0; cursor: pointer; }
.t-pill--light:hover { background: var(--bg); color: var(--or); border-color: var(--bg); }

/* Proceso (home y servicios) */
.t-proc { position: relative; }
.t-proc__line { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(51,51,51,.2); }
.t-srv-proc .t-proc__line { background: currentColor; opacity: .25; }
.t-srv-proc .t-proc__line i { opacity: 4; }
.t-proc__line i { display: block; height: 100%; width: 0; background: var(--or); }
.t-proc__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: clamp(16px, 2.4vw, 48px); padding-top: clamp(22px, 4vh, 40px); }
.t-proc__step { display: flex; flex-direction: column; gap: clamp(6px, 1.2vh, 12px); }
.t-proc__head { display: flex; align-items: baseline; gap: 12px; }
.t-proc__n { font-size: clamp(28px, 3.4vw, 56px); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.t-proc__t { font-size: clamp(17px, 1.8vw, 28px); font-weight: 700; letter-spacing: -.02em; }
.t-proc__step p { margin: 0; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.6; opacity: .82; max-width: 30ch; }
.t-proc__w { font-size: 11px; font-weight: 700; letter-spacing: .08em; opacity: .6; }

/* Home · hero */
.t-hero { position: relative; height: 100vh; background: var(--bg); overflow: hidden; }
.t-hero__base { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 12vh, 130px) clamp(20px, 4vw, 56px) clamp(172px, 20vh, 200px); }
.t-hero__title { margin: 0; font-size: clamp(36px, min(5.6vw, 9vh), 104px); line-height: .92; letter-spacing: -.038em; font-weight: 800; max-width: 17ch; text-wrap: balance; }
.t-hero__lead { margin: clamp(20px, 3.2vh, 40px) 0 0; font-size: clamp(14px, min(1.2vw, 2.3vh), 19px); line-height: 1.6; max-width: 58ch; text-wrap: pretty; }
.t-hero__base > .t-hero__lead { animation: tagRise .7s .12s var(--ease) both; }
.t-hero__lens { position: absolute; inset: 0; z-index: 2; background: var(--or); color: var(--bg); clip-path: circle(0px at 50% 50%); will-change: clip-path; pointer-events: none; }
.t-hero__lens .t-hero__lead { font-weight: 500; }
.t-hero__lead--stack { display: grid; }
.t-hero__lead--stack > span { grid-area: 1 / 1; }
.t-ghost-text { visibility: hidden; }
.t-hero__strip { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; }
.t-hero__bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 clamp(20px, 4vw, 56px) 18px; }
.t-hero__hint { font-size: 12.5px; font-weight: 600; letter-spacing: .08em; color: rgba(51,51,51,.5); }
.t-hero__metrics { background: var(--bg); border-top: 2px solid var(--ink); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(50%, 130px), 1fr)); }
.t-hero__metrics > div { padding: 18px clamp(14px, 2.6vw, 40px) 46px; border-left: 1px solid rgba(51,51,51,.18); }
.t-hero__mv { font-size: clamp(20px, 2.2vw, 34px); font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.t-hero__mk { font-size: 11px; font-weight: 600; letter-spacing: .05em; color: rgba(51,51,51,.55); margin-top: 6px; }

/* Home · servicios */
.t-hservs { position: relative; height: 100vh; background: var(--bg); border-left: 2px solid var(--ink); overflow: hidden; }
.t-hservs__in { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 12vh, 120px) clamp(20px, 4vw, 56px) clamp(40px, 8vh, 80px); }
.t-hservs__lead { margin: clamp(8px, 1.6vh, 20px) 0 clamp(14px, 3vh, 40px); font-size: clamp(14px, 1.15vw, 18px); line-height: 1.6; max-width: 60ch; }
.t-hservs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.t-hservs__card { background: var(--bg); color: var(--ink); padding: clamp(14px, 2.2vh, 34px) clamp(16px, 1.6vw, 30px); display: flex; flex-direction: column; gap: clamp(6px, 1.2vh, 10px); transition: background .25s, color .25s; }
.t-hservs__card:hover { background: var(--or); color: var(--bg); }
.t-hservs__t { font-size: clamp(18px, 1.9vw, 30px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; }
.t-hservs__card p { margin: 0; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.55; opacity: .82; max-width: 44ch; }
.t-hservs__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.t-hservs__tags span { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; padding: 6px 12px; border-radius: 999px; border: 1px solid currentColor; opacity: .7; }
.t-hservs__cta { background: var(--ink); color: var(--bg); padding: clamp(14px, 2.2vh, 34px) clamp(16px, 1.6vw, 30px); display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; font-size: clamp(18px, 1.9vw, 30px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; transition: background .25s; }
.t-hservs__cta:hover { background: var(--or); color: var(--bg); }
.t-hservs__cta svg { flex: 0 0 auto; }

/* Home · marcas */
.t-brands { background: var(--bg); border-left: 2px solid var(--ink); justify-content: center; padding: clamp(70px, 12vh, 120px) clamp(20px, 3vw, 44px) clamp(60px, 10vh, 90px); }
.t-brands__title { font-size: clamp(22px, 2.4vw, 40px); font-weight: 800; letter-spacing: -.03em; max-width: 20ch; line-height: 1.02; }
.t-brands__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(50%, max(150px, 30%)), 1fr)); gap: 1px; background: rgba(51,51,51,.18); border: 1px solid rgba(51,51,51,.18); margin-top: clamp(16px, 3vh, 40px); max-width: 620px; }
.t-brands__grid > div { background: var(--bg); aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; padding: 0; transition: background .25s; }
.t-brands__grid > div:hover { background: rgba(237,99,6,.07); }
.t-brands__grid img { max-width: 100%; max-height: 100%; width: auto; height: 100%; aspect-ratio: 1; object-fit: contain; filter: grayscale(1) brightness(.72) contrast(1.15); mix-blend-mode: multiply; opacity: .72; transition: filter .3s, opacity .3s; }
.t-brands__grid > div:hover img { filter: none; opacity: 1; }

/* Home · casos */
.t-casos { height: 100vh; background: var(--bg); border-left: 2px solid var(--ink); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.t-caso { position: relative; padding: clamp(70px, 12vh, 120px) clamp(20px, 2.2vw, 40px) clamp(36px, 6vh, 64px); display: flex; flex-direction: column; overflow: hidden; }
.t-caso p { margin: clamp(10px, 1.8vh, 18px) 0 0; font-size: clamp(13px, .95vw, 15px); line-height: 1.6; max-width: 36ch; }
.t-caso__k { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; }
.t-caso--or { background: var(--or); color: var(--bg); justify-content: flex-end; }
.t-caso--or .t-featured__deco { right: -14%; top: 8%; width: 72%; height: 38%; border-width: 22px; }
.t-caso__in { position: relative; }
.t-caso--or p { font-weight: 500; }
.t-caso__big { font-size: clamp(56px, min(6.4vw, 13vh), 140px); font-weight: 800; letter-spacing: -.05em; line-height: .85; margin-top: clamp(8px, 1.6vh, 14px); }
.t-caso__sub { font-size: clamp(15px, min(1.3vw, 2.6vh), 20px); font-weight: 700; margin-top: 6px; max-width: 24ch; line-height: 1.2; }
.t-caso__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: clamp(12px, 2vh, 20px); }
.t-caso__chips span { font-size: 11.5px; font-weight: 700; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--bg); }
.t-caso--ink { background: var(--ink); color: var(--bg); justify-content: space-between; gap: 18px; padding-bottom: clamp(28px, 5vh, 64px); }
.t-caso--ink .t-caso__k { color: rgba(255,248,243,.66); }
.t-caso--ink p { max-width: 34ch; color: rgba(255,248,243,.88); }
.t-caso__h { font-size: clamp(20px, min(1.9vw, 3.6vh), 32px); font-weight: 800; letter-spacing: -.025em; line-height: 1.06; margin-top: clamp(8px, 1.6vh, 14px); max-width: 18ch; }
.t-caso__h--lg { font-size: clamp(22px, min(2.4vw, 4.4vh), 42px); line-height: 1.02; }
.t-caso__stats { display: flex; flex-direction: column; gap: clamp(6px, 1.2vh, 16px); }
.t-caso__stats > div { border-top: 1px solid rgba(255,248,243,.22); padding-top: 8px; }
.t-caso__sv { font-size: clamp(22px, min(2.6vw, 4.4vh), 48px); font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--or); }
.t-caso__sk { font-size: 12px; font-weight: 600; letter-spacing: .04em; color: rgba(255,248,243,.72); margin-top: 4px; }
.t-caso--sand { background: var(--bg); border-left: 1px solid var(--line); justify-content: center; gap: clamp(10px, 2vh, 18px); }
.t-caso--sand .t-caso__k { color: rgba(51,51,51,.68); }
.t-caso--sand p { margin: 0; max-width: 34ch; color: rgba(51,51,51,.84); }
.t-caso__inline { display: flex; align-items: baseline; gap: 12px; }
.t-caso__inline span:first-child { font-size: clamp(34px, min(3.8vw, 7vh), 64px); font-weight: 800; letter-spacing: -.04em; color: var(--or); line-height: 1; }
.t-caso__inline span:last-child { font-size: 13.5px; font-weight: 600; color: rgba(51,51,51,.78); max-width: 14ch; }
.t-caso__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; border-top: 1px solid var(--line); padding-top: 12px; }
.t-caso__pair b { display: block; font-size: clamp(18px, 1.6vw, 26px); font-weight: 800; letter-spacing: -.03em; }
.t-caso__pair--or b { color: var(--or); }
.t-caso__pair span { display: block; font-size: 12px; font-weight: 600; color: rgba(51,51,51,.72); margin-top: 3px; }
.t-caso--device { display: grid; grid-template-rows: auto 1fr auto; gap: 14px; }
.t-caso--device p { margin-top: clamp(8px, 1.4vh, 12px); max-width: 36ch; }
.t-device-wrap { position: relative; display: flex; align-items: center; justify-content: center; perspective: 1200px; min-height: 160px; }
.t-device { position: relative; width: min(150px, 48%); height: 92%; max-height: 300px; aspect-ratio: 1 / 2; transform-style: preserve-3d; will-change: transform; }
.t-device__slab { position: absolute; inset: 0; border-radius: 22px; }
.t-device__front { position: absolute; inset: 0; border-radius: 22px; background: linear-gradient(135deg, #4a4746 0%, #2b2928 38%, #3d3a39 100%); transform: translateZ(13px); backface-visibility: hidden; padding: 7px; box-shadow: 0 30px 60px rgba(51,51,51,.3); }
.t-device__screen { position: relative; width: 100%; height: 100%; border-radius: 16px; background: var(--bg); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.t-device__screen img { width: 46%; }
.t-device__gloss { position: absolute; inset: -30%; background: linear-gradient(115deg, rgba(255,255,255,0) 34%, rgba(255,255,255,.8) 50%, rgba(255,255,255,0) 66%); will-change: transform; pointer-events: none; }
.t-device__back { position: absolute; inset: 0; border-radius: 22px; background: linear-gradient(135deg, #3f3c3b 0%, #262423 60%, #333131 100%); transform: rotateY(180deg) translateZ(13px); backface-visibility: hidden; display: flex; align-items: center; justify-content: center; }
.t-device__back img { width: 42%; opacity: .9; }

/* Home · diferenciales */
.t-difs { height: 100vh; background: var(--or); color: var(--bg); overflow: hidden; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 72px); padding: clamp(70px, 12vh, 120px) clamp(20px, 4vw, 56px) clamp(40px, 7vh, 80px); }
.t-difs__head { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 28px; }
.t-difs__k { font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.t-difs__title { font-size: clamp(34px, min(4.8vw, 9vh), 92px); font-weight: 800; letter-spacing: -.045em; line-height: .9; max-width: 11ch; margin-top: clamp(12px, 2vh, 20px); text-wrap: balance; }
.t-difs__list { display: flex; flex-direction: column; justify-content: center; border-bottom: 2px solid var(--bg); }
.t-difs__row { display: grid; grid-template-columns: clamp(52px, 6vw, 110px) minmax(0, 1fr); gap: clamp(12px, 2vw, 32px); align-items: baseline; border-top: 2px solid var(--bg); padding: clamp(14px, 2.8vh, 32px) 0; }
.t-difs__row > span { font-size: clamp(28px, min(3.6vw, 6.4vh), 64px); font-weight: 800; letter-spacing: -.05em; line-height: .9; }
.t-difs__t { font-size: clamp(19px, min(2vw, 3.6vh), 32px); font-weight: 800; letter-spacing: -.025em; line-height: 1.05; }
.t-difs__row p { margin: clamp(6px, 1.2vh, 12px) 0 0; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.6; font-weight: 500; max-width: 54ch; }

/* Home · loop */
.t-loop { background: var(--bg); justify-content: center; padding-left: clamp(20px, 4vw, 56px); padding-right: clamp(20px, 4vw, 56px); overflow: hidden; }
.t-loop__lead { margin: clamp(8px, 1.6vh, 20px) 0 clamp(16px, 3.4vh, 56px); font-size: clamp(14px, 1.15vw, 18px); line-height: 1.6; max-width: 62ch; color: rgba(51,51,51,.86); }
.t-loop__back { margin-left: calc(25% + clamp(4px, .6vw, 12px)); margin-top: clamp(14px, 2.4vh, 26px); }
.t-loop__arrow { position: relative; height: clamp(22px, 3.4vh, 36px); border: 2px solid var(--or); border-top: 0; }
.t-loop__arrow span { position: absolute; left: -7px; top: -9px; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 10px solid var(--or); }
.t-loop__it { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; padding-top: clamp(12px, 2vh, 20px); }
.t-loop__it > span { font-size: clamp(17px, 1.8vw, 28px); font-weight: 700; letter-spacing: -.02em; color: var(--or); }
.t-loop__it p { margin: 0; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.6; color: rgba(51,51,51,.82); max-width: 60ch; }

/* Home · diagnóstico */
.t-diag { height: 100vh; background: var(--bg); border-left: 2px solid var(--ink); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.t-diag__copy { padding: clamp(70px, 12vh, 120px) clamp(20px, 3vw, 44px) clamp(30px, 5vh, 56px); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.t-diag__title { margin: 0; font-size: clamp(28px, min(3.6vw, 6.4vh), 66px); line-height: .96; letter-spacing: -.035em; font-weight: 800; max-width: 18ch; text-wrap: balance; }
.t-diag__copy p { margin: 18px 0 0; font-size: clamp(14px, 1.15vw, 18px); line-height: 1.6; max-width: 42ch; }
.t-diag__contact { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; font-weight: 500; color: rgba(51,51,51,.78); }
.t-diag__mail { font-weight: 600; padding: 11px 0; }
.t-diag__tel { color: var(--ink); font-weight: 600; padding: 4px 0; }
.t-diag__form { background: var(--ink); color: var(--bg); padding: clamp(70px, 12vh, 120px) clamp(20px, 3vw, 44px) clamp(30px, 5vh, 56px); display: flex; flex-direction: column; justify-content: center; }
.t-diag__fields { display: flex; flex-direction: column; gap: clamp(9px, 1.5vh, 18px); }
.t-diag__fields .t-dfield input { font-size: 15px; font-weight: 500; padding: 10px 0; border-bottom-width: 1.5px; border-bottom-color: rgba(255,248,243,.32); }
.t-dfield select { background: transparent; border: 0; border-bottom: 1.5px solid rgba(255,248,243,.32); color: var(--bg); font-size: 15px; font-weight: 500; padding: 10px 0; border-radius: 0; }
.t-dfield select option { color: var(--ink); }
.t-diag__fields .t-btn { margin-top: 6px; align-self: stretch; text-align: left; font-size: 15px; }
.t-diag__ok { animation: stepIn .45s var(--ease) both; }
.t-diag__ok-title { font-size: clamp(40px, min(5vw, 9vh), 84px); font-weight: 800; letter-spacing: -.045em; line-height: .9; color: var(--or); }
.t-diag__ok p { margin: 16px 0 0; font-size: 16px; line-height: 1.6; max-width: 36ch; color: rgba(255,248,243,.85); }

/* Servicios */
.t-srv-hero { overflow: hidden; padding: clamp(96px, 15vh, 160px) clamp(20px, 4vw, 56px) clamp(70px, 11vh, 120px); }
.t-srv-hero__in { position: relative; z-index: 1; }
.t-srv-hero__kicker { font-size: 12px; font-weight: 700; letter-spacing: .09em; opacity: .55; }
.t-srv-hero__title { margin: 14px 0 0; font-size: clamp(38px, min(7.6vw, 13vh), 124px); line-height: .88; letter-spacing: -.042em; font-weight: 800; }
.t-srv-hero__lead { margin: clamp(18px, 3vh, 34px) 0 0; font-size: clamp(15px, min(1.35vw, 2.5vh), 21px); line-height: 1.55; max-width: 48ch; opacity: .9; animation: tagRise .6s .1s var(--ease) both; }
.t-srv-hero__ctas { margin-top: clamp(20px, 3.4vh, 38px); }
.t-srv-hero__ctas .t-btn { font-size: 15px; font-weight: 600; padding: 15px 30px; }
.t-srv-metrics { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(50%, 130px), 1fr)); border-top: 1px solid currentColor; }
.t-srv-metrics > div { padding: 18px clamp(16px, 2.6vw, 40px) 44px; border-left: 1px solid currentColor; }
.t-srv-metrics__v { font-size: clamp(22px, 2.6vw, 40px); font-weight: 800; letter-spacing: -.035em; line-height: 1; }
.t-srv-metrics__k { font-size: 11px; font-weight: 600; letter-spacing: .06em; opacity: .6; margin-top: 7px; }
.t-srv-claim { justify-content: center; padding: clamp(96px, 15vh, 150px) clamp(20px, 4vw, 56px) clamp(56px, 9vh, 100px); border-left: 2px solid var(--ink); }
.t-srv-claim__title { font-size: clamp(26px, min(4.4vw, 8vh), 78px); font-weight: 800; letter-spacing: -.04em; line-height: .94; max-width: 22ch; }
.t-srv-claim__grid { display: grid; gap: 1px; background: currentColor; margin-top: clamp(24px, 4.5vh, 56px); }
.t-srv-claim__grid > div { padding: clamp(18px, 3vh, 32px) clamp(16px, 2vw, 30px); display: flex; flex-direction: column; gap: 10px; }
.t-srv-claim__t { font-size: clamp(16px, 1.6vw, 24px); font-weight: 700; letter-spacing: -.02em; line-height: 1.12; }
.t-srv-claim__grid p { margin: 0; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.6; opacity: .86; }
.t-srv-inc { position: relative; height: 100vh; border-left: 2px solid var(--ink); overflow: hidden; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); align-items: stretch; }
.t-srv-inc__list { display: flex; flex-direction: column; justify-content: center; gap: clamp(12px, 2.2vh, 24px); padding: clamp(96px, 15vh, 150px) clamp(18px, 2.4vw, 44px) clamp(70px, 11vh, 110px); }
.t-srv-inc__list h2 { margin: 0; font-size: clamp(24px, min(3.4vw, 5.6vh), 56px); line-height: .96; letter-spacing: -.038em; font-weight: 800; }
.t-srv-inc__rows { position: relative; border-top: 1px solid currentColor; }
.t-srv-inc__marker { position: absolute; left: 0; width: 3px; top: 0; height: 0; transition: top .32s var(--ease), height .32s var(--ease); }
.t-srv-inc__rows button { width: 100%; text-align: left; border: 0; border-bottom: 1px solid currentColor; background: transparent; cursor: pointer; color: inherit; opacity: .42; padding: clamp(9px, 1.7vh, 18px) 0; display: grid; grid-template-columns: 42px 1fr; align-items: baseline; gap: 12px; transition: opacity .25s, padding-left .28s var(--ease); }
.t-srv-inc__rows button.is-on { opacity: 1; padding-left: 18px; }
.t-srv-inc__rows button span:first-child { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; }
.t-srv-inc__rows button span:last-child { font-size: clamp(16px, 1.7vw, 27px); font-weight: 700; letter-spacing: -.028em; line-height: 1.08; }
.t-srv-inc__panel { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: clamp(12px, 2.4vh, 26px); padding: clamp(96px, 15vh, 150px) clamp(20px, 2.8vw, 52px) clamp(70px, 11vh, 110px); }
.t-srv-inc__ghost { position: absolute; right: -2%; bottom: -8%; font-size: min(46vh, 34vw); font-weight: 800; letter-spacing: -.06em; line-height: .72; opacity: .16; pointer-events: none; }
.t-srv-inc__item { position: relative; display: flex; flex-direction: column; gap: clamp(12px, 2.2vh, 24px); animation: tagRise .42s var(--ease) both; }
.t-srv-inc__k { font-size: 11.5px; font-weight: 800; letter-spacing: .09em; opacity: .82; }
.t-srv-inc__t { font-size: clamp(26px, min(3.8vw, 6.6vh), 64px); font-weight: 800; letter-spacing: -.04em; line-height: .96; max-width: 14ch; }
.t-srv-inc__d { font-size: clamp(15px, 1.35vw, 21px); font-weight: 500; line-height: 1.6; max-width: 34ch; }
.t-srv-inc__dots { position: relative; display: flex; gap: 5px; margin-top: 4px; }
.t-srv-inc__dots span { height: 3px; width: 14px; background: currentColor; opacity: .4; transition: width .3s, opacity .3s; }
.t-srv-inc__dots span.is-on { width: 34px; opacity: 1; }
.t-srv-proc { justify-content: center; padding: clamp(96px, 15vh, 150px) clamp(20px, 4vw, 56px) clamp(56px, 9vh, 100px); border-left: 2px solid var(--ink); }
.t-srv-proc__title { margin: 0 0 clamp(24px, 4.4vh, 54px); font-size: clamp(26px, min(3.8vw, 6.4vh), 64px); line-height: .96; letter-spacing: -.035em; font-weight: 800; max-width: 18ch; }
.t-srv-proc .t-proc__n { font-size: clamp(26px, 3vw, 50px); }
.t-srv-proc .t-proc__t { font-size: clamp(16px, 1.7vw, 26px); }
.t-srv-proc .t-proc__line { opacity: 1; background: transparent; }
.t-srv-proc .t-proc__line::before { content: ""; position: absolute; inset: 0; background: currentColor; opacity: .25; }
.t-srv-proc .t-proc__line i { position: relative; opacity: 1; }
.t-srv-caso { position: relative; height: 100vh; border-left: 2px solid var(--ink); overflow: hidden; display: flex; flex-direction: column; }
.t-srv-caso__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: clamp(90px, 14vh, 140px) clamp(20px, 4vw, 56px) clamp(14px, 2.4vh, 26px); border-bottom: 1px solid currentColor; }
.t-srv-caso__kicker { font-size: 11.5px; font-weight: 800; letter-spacing: .1em; opacity: .62; }
.t-srv-caso__logo { height: clamp(26px, 3vh, 40px); display: flex; align-items: center; gap: 12px; }
.t-srv-caso__logo img { max-height: 100%; max-width: 190px; width: auto; object-fit: contain; object-position: right center; }
.t-srv-caso__name { font-size: clamp(15px, 1.5vw, 22px); font-weight: 800; letter-spacing: -.02em; }
.t-srv-caso__body { flex: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: stretch; }
.t-srv-caso__fig { display: flex; flex-direction: column; justify-content: center; padding: clamp(20px, 4vh, 48px) clamp(20px, 4vw, 56px); overflow: hidden; }
.t-srv-caso__v { font-size: min(19vh, 13vw); font-weight: 800; letter-spacing: -.05em; line-height: .86; white-space: nowrap; }
.t-srv-caso__k { margin-top: clamp(10px, 2vh, 22px); border-top: 2px solid currentColor; padding-top: clamp(10px, 1.8vh, 20px); font-size: clamp(16px, 1.8vw, 28px); font-weight: 700; letter-spacing: -.025em; line-height: 1.1; max-width: 22ch; }
.t-srv-caso__side { border-left: 1px solid currentColor; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: clamp(16px, 3vh, 32px); padding: clamp(20px, 4vh, 48px) clamp(20px, 3vw, 48px); }
.t-srv-caso__side p { margin: 0; font-size: clamp(17px, min(1.9vw, 3.4vh), 30px); font-weight: 600; line-height: 1.34; letter-spacing: -.02em; max-width: 30ch; }
.t-srv-caso__facts { align-self: stretch; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: currentColor; border: 1px solid currentColor; }
.t-srv-caso__facts > div { padding: clamp(11px, 1.9vh, 20px) clamp(12px, 1.4vw, 20px); display: flex; flex-direction: column; gap: 5px; }
.t-srv-caso__facts span:first-child { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; opacity: .55; }
.t-srv-caso__facts span:last-child { font-size: clamp(14px, 1.3vw, 19px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.t-srv-caso .t-btn { font-size: 14.5px; padding: 14px 28px; }
.t-srv-next { background: var(--bg); color: var(--ink); justify-content: center; gap: clamp(20px, 4vh, 46px); padding: clamp(96px, 15vh, 150px) clamp(20px, 4vw, 56px) clamp(56px, 9vh, 100px); border-left: 2px solid var(--ink); }
.t-srv-next__title { font-size: clamp(28px, min(4.6vw, 8vh), 84px); font-weight: 800; letter-spacing: -.042em; line-height: .92; max-width: 16ch; }
.t-srv-next__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.t-srv-next__grid a { background: var(--bg); color: var(--ink); padding: clamp(16px, 2.6vh, 26px) clamp(12px, 1.4vw, 22px); font-size: clamp(13px, 1.15vw, 18px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; display: flex; align-items: flex-end; min-height: 118px; transition: background .25s, color .25s; }
.t-srv-next__grid a:hover { background: var(--or); color: var(--bg); }

/* Herramientas */
.t-tool { height: 100vh; border-left: 2px solid var(--ink); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.t-tool__form { background: var(--bg); padding: clamp(96px, 15vh, 150px) clamp(20px, 2.6vw, 44px) clamp(70px, 11vh, 110px); display: flex; flex-direction: column; justify-content: center; gap: clamp(14px, 2.4vh, 26px); }
.t-tool__form--or { background: var(--or); color: var(--bg); }
.t-tool__title { font-size: clamp(26px, min(3.4vw, 6vh), 54px); font-weight: 800; letter-spacing: -.038em; line-height: .98; }
.t-tfield { display: flex; flex-direction: column; gap: 8px; }
.t-tfield > span { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: rgba(51,51,51,.6); }
.t-tfield input, .t-tfield textarea, .t-tfield select { background: transparent; border: 0; border-bottom: 2px solid rgba(51,51,51,.28); color: var(--ink); font-size: clamp(16px, 1.5vw, 22px); font-weight: 600; padding: 13px 0; border-radius: 0; resize: none; }
.t-tfield input:focus, .t-tfield textarea:focus, .t-tfield select:focus { outline: none; border-bottom-color: var(--or); }
.t-tfield--light > span { color: var(--bg); opacity: .8; }
.t-tfield--light input, .t-tfield--light textarea, .t-tfield--light select { color: var(--bg); border-bottom-color: rgba(255,248,243,.4); font-weight: 700; }
.t-tfield--light textarea { font-size: 15.5px; font-weight: 400; line-height: 1.5; }
.t-tfield--light input::placeholder, .t-tfield--light textarea::placeholder { color: rgba(255,248,243,.6); }
.t-tfield--light input:focus, .t-tfield--light textarea:focus, .t-tfield--light select:focus { border-bottom-color: var(--bg); }
.t-tfield--light select option { color: var(--ink); }
.t-tool__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; }
.t-tool__phone { display: grid; grid-template-columns: minmax(96px, 110px) minmax(0, 1fr); gap: 14px; }
.t-swatch { width: 44px; height: 44px; cursor: pointer; border: 2px solid rgba(51,51,51,.2); padding: 0; }
.t-swatch:hover, .t-swatch.is-on { border-color: var(--or); }
.t-seg { display: flex; gap: 6px; }
.t-seg button { flex: 1; cursor: pointer; border: 1px solid rgba(51,51,51,.26); background: transparent; color: var(--ink); font-size: 12.5px; font-weight: 700; padding: 14px 0; }
.t-seg button:hover { border-color: var(--or); }
.t-seg button.is-on { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.t-tool__hint { font-size: 12px; color: rgba(51,51,51,.5); }
.t-tool__preview { background: var(--ink); display: flex; align-items: center; justify-content: center; padding: clamp(96px, 15vh, 150px) clamp(18px, 2.2vw, 36px) clamp(70px, 11vh, 110px); }
.t-tool__qrframe { background: var(--bg); padding: clamp(16px, 2vw, 28px); max-width: 100%; }
.t-tool__qr { width: min(320px, 42vh); aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
.t-tool__qr--sm { width: clamp(96px, 13vh, 140px); flex: 0 0 auto; }
.t-tool__result { background: var(--bg); padding: clamp(96px, 15vh, 150px) clamp(18px, 2.4vw, 40px) clamp(70px, 11vh, 110px); display: flex; flex-direction: column; justify-content: center; gap: clamp(14px, 2.4vh, 24px); }
.t-tool__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: rgba(51,51,51,.55); }
.t-tool__link { border: 2px solid var(--ink); padding: 16px 18px; font-size: clamp(13px, 1.1vw, 16px); font-weight: 600; line-height: 1.45; word-break: break-all; }
.t-tool__link.is-muted { color: rgba(51,51,51,.45); }
.t-tool__waqr { display: flex; align-items: center; gap: 16px; border-top: 1px solid rgba(51,51,51,.18); padding-top: clamp(14px, 2.4vh, 24px); }
.t-tool__waqr p { margin: 0 0 8px; font-size: 13.5px; line-height: 1.5; color: rgba(51,51,51,.72); max-width: 26ch; }

/* Política de datos */
.t-prose section { scroll-margin-top: 100px; }
.t-prose section + section { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 32px; }
.t-prose section h3 { margin-top: 0; }
.t-prose section > * + * { margin-top: 12px; }
.t-legal-part { font-size: 11.5px; font-weight: 800; letter-spacing: .1em; color: var(--or-t); margin: 0; }
.t-legal-meta { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; color: rgba(51,51,51,.68); }
.t-legal-jump { display: flex; flex-wrap: wrap; gap: 10px; }
.t-prose .t-legal-jump a { background: var(--ink); color: var(--bg); font-size: 14px; font-weight: 700; padding: 13px 22px; border-radius: 999px; text-decoration: none; }
.t-prose .t-legal-jump a:hover { background: var(--or); color: var(--bg); }

/* Paneles apilados (móvil, tablet, pantallas bajas) */
html:not(.tag-hs) .t-hero { height: auto; min-height: min(100svh, 860px); display: flex; flex-direction: column; justify-content: center; }
html:not(.tag-hs) .t-hero__base { position: relative; padding: 104px var(--gut) 28px; }
html:not(.tag-hs) .t-hero__lens { display: none; }
html:not(.tag-hs) .t-hero__strip { position: static; }
html:not(.tag-hs) .t-hservs, html:not(.tag-hs) .t-casos, html:not(.tag-hs) .t-difs, html:not(.tag-hs) .t-diag, html:not(.tag-hs) .t-srv-inc, html:not(.tag-hs) .t-srv-caso, html:not(.tag-hs) .t-tool { height: auto; }
html:not(.tag-hs) .t-hservs__in { padding-top: 44px; padding-bottom: 40px; }
html:not(.tag-hs) .t-hservs__grid, html:not(.tag-hs) .t-casos, html:not(.tag-hs) .t-difs { grid-template-columns: minmax(0, 1fr); }
html:not(.tag-hs) .t-caso, html:not(.tag-hs) .t-diag__copy, html:not(.tag-hs) .t-diag__form, html:not(.tag-hs) .t-srv-inc__list, html:not(.tag-hs) .t-srv-inc__panel, html:not(.tag-hs) .t-tool__form, html:not(.tag-hs) .t-tool__preview, html:not(.tag-hs) .t-tool__result { padding-top: 44px; padding-bottom: 40px; }
html:not(.tag-hs) .t-caso--device { grid-template-rows: auto; }
html:not(.tag-hs) .t-device-wrap { min-height: 220px; }
html:not(.tag-hs) .t-difs { padding-top: 44px; padding-bottom: 40px; }
html:not(.tag-hs) .t-loop__back { margin-left: 0; }
html:not(.tag-hs) .t-loop__arrow { display: none; }
html:not(.tag-hs) .t-srv-hero { min-height: 100svh; padding-top: 104px; }
html:not(.tag-hs) .t-srv-metrics { position: static; margin-top: clamp(22px, 4vh, 40px); }
html:not(.tag-hs) .t-srv-caso__top { padding-top: 44px; }
html:not(.tag-hs) .t-srv-caso__side { border-left: 0; border-top: 1px solid currentColor; }
html:not(.tag-hs) .t-brands__pager { max-width: 620px; }

/* Tablets y portátiles en modo apilado (≥ 768 px): se aprovecha el ancho con 2–3 columnas. */
@media (min-width: 768px) {
  html:not(.tag-hs) .t-hservs__grid, html:not(.tag-hs) .t-casos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html:not(.tag-hs) .t-difs { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  html:not(.tag-hs) .hs-track > .t-card { width: 50% !important; }
  html:not(.tag-hs) .t-caso { min-height: 420px; }
  html:not(.tag-hs) .t-srv-inc { min-height: 560px; }
  html:not(.tag-hs) .t-hero__metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  html:not(.tag-hs) .t-hservs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html:not(.tag-hs) .hs-track > .t-card { width: 33.333% !important; }
}

/* Modo horizontal en portátiles de poca altura (768–860 px útiles, p. ej. 1366 × 768): textos y márgenes más compactos. */
@media (max-height: 860px) {
  html.tag-hs .hs-panel { padding-top: clamp(84px, 13vh, 110px); padding-bottom: clamp(56px, 9vh, 80px); }
  html.tag-hs .t-hero__metrics > div { padding-bottom: 34px; }
  html.tag-hs .t-hero__base { padding-bottom: 160px; }
}

/* Tablets en horizontal con menú completo: el desplegable de Servicios se abre también al tocar (focus-within). */
@media (hover: none) {
  .t-nav__drop:hover .t-nav__menu { display: none; }
  .t-nav__drop:focus-within .t-nav__menu { display: block; }
}

/* ===== v1.4 · Servicios con textos finales ===== */
.t-srv-hero { justify-content: center; }
.t-srv-hero__title { max-width: 14ch; }
.t-srv-label { font-size: 11.5px; font-weight: 800; letter-spacing: .1em; opacity: .8; }
.t-srv-desc { border-left: 2px solid var(--ink); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-content: center; gap: clamp(28px, 5vw, 90px); padding-left: clamp(20px, 4vw, 56px); padding-right: clamp(20px, 4vw, 56px); }
.t-srv-desc__main { display: flex; flex-direction: column; gap: clamp(14px, 2.4vh, 26px); }
.t-srv-desc__big { margin: 0; font-size: clamp(22px, min(2.6vw, 4.6vh), 44px); font-weight: 700; letter-spacing: -.03em; line-height: 1.16; max-width: 30ch; text-wrap: pretty; }
.t-srv-desc__p { margin: 0; font-size: clamp(14px, 1.15vw, 18px); line-height: 1.65; max-width: 58ch; opacity: .88; text-wrap: pretty; }
.t-srv-desc__para { align-self: end; border-top: 2px solid currentColor; padding-top: clamp(14px, 2.4vh, 24px); display: flex; flex-direction: column; gap: 12px; }
.t-srv-desc__para .t-srv-label { opacity: 1; }
.t-srv-desc__para p { margin: 0; font-size: clamp(15px, 1.3vw, 20px); font-weight: 500; line-height: 1.55; text-wrap: pretty; }
.t-srv-claim__title { max-width: none; }
.t-srv-claim__n { font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.t-proc__step .t-proc__n { font-size: clamp(26px, 3vw, 50px); }
.t-proc__step .t-proc__t { font-size: clamp(16px, 1.5vw, 23px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.t-srv-inc__fase { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; opacity: .62; padding: clamp(10px, 1.6vh, 16px) 0 6px; border-bottom: 1px solid currentColor; }
.t-srv-inc__rows.is-dense button { padding-top: clamp(6px, 1.1vh, 12px); padding-bottom: clamp(6px, 1.1vh, 12px); }
.t-srv-inc__rows.is-dense button span:last-child { font-size: clamp(15px, 1.4vw, 22px); }
.t-srv-casos { justify-content: center; gap: clamp(18px, 3vh, 36px); padding-left: clamp(20px, 4vw, 56px); padding-right: clamp(20px, 4vw, 56px); border-left: 2px solid var(--ink); }
.t-srv-casos__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 14px; padding-bottom: 14px; border-bottom: 2px solid currentColor; }
.t-srv-casos__head h2 { margin: 0; font-size: clamp(24px, min(3.4vw, 5.6vh), 56px); line-height: .96; letter-spacing: -.038em; font-weight: 800; }
.t-srv-casos__head a { font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.t-srv-casos__grid { display: grid; gap: 1px; background: currentColor; border: 1px solid currentColor; }
.t-srv-case { padding: clamp(18px, 3vh, 34px) clamp(16px, 2vw, 32px); display: flex; flex-direction: column; gap: clamp(8px, 1.4vh, 14px); }
.t-srv-case__k { font-size: 11px; font-weight: 800; letter-spacing: .1em; opacity: .7; }
.t-srv-case__v { font-size: clamp(44px, min(5.4vw, 11vh), 112px); font-weight: 800; letter-spacing: -.05em; line-height: .86; }
.t-srv-case__h { font-size: clamp(17px, min(1.7vw, 3.2vh), 26px); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; max-width: 24ch; }
.t-srv-case p { margin: 0; font-size: clamp(13px, 1vw, 15.5px); line-height: 1.6; opacity: .86; max-width: 42ch; }
.t-srv-case__m { list-style: none; margin: auto 0 0; padding: 10px 0 0; border-top: 1px solid currentColor; display: flex; flex-direction: column; gap: 6px; }
.t-srv-case__m li { font-size: 13px; font-weight: 700; letter-spacing: -.01em; }
html:not(.tag-hs) .t-srv-hero { min-height: auto; }
@media (max-width: 767px) {
  html:not(.tag-hs) .t-srv-desc { grid-template-columns: minmax(0, 1fr); }
}
html:not(.tag-hs) .t-srv-desc { padding-top: 44px; padding-bottom: 40px; }

/* ===== v1.5 · Logos de clientes paginados ===== */
.t-brands__pager { margin-top: clamp(16px, 3vh, 40px); width: 100%; max-width: min(620px, calc((100vh - 310px) * 4 / 3)); display: flex; flex-direction: column; gap: 14px; }
.t-brands__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.t-brands__track::-webkit-scrollbar { display: none; }
.t-brands__track:focus-visible { outline: 2px solid var(--or); outline-offset: 4px; }
.t-brands__track .t-brands__grid { flex: 0 0 100%; scroll-snap-align: start; margin-top: 0; max-width: none; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t-brands__grid > div[aria-hidden="true"]:hover { background: var(--bg); }
.t-brands__nav { display: flex; align-items: center; gap: 12px; }
.t-brands__arrow { width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid rgba(51,51,51,.3); background: transparent; color: var(--ink); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; transition: border-color .2s, color .2s, background .2s; }
.t-brands__arrow:hover { border-color: var(--or); color: var(--or); }
.t-brands__arrow:active { background: var(--or); border-color: var(--or); color: var(--bg); }
.t-brands__count { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: rgba(51,51,51,.6); min-width: 44px; text-align: center; }

/* ===== v1.6 · Preguntas frecuentes ===== */
.t-faq__q { margin: 0; }
.t-faq__title { max-width: 22ch; }

/* ===== v1.8 · Accesibilidad, SEO semántico y páginas nuevas ===== */

/* Saltar al contenido (visible solo con teclado) */
.t-skip { position: fixed; z-index: 200; left: 12px; top: -60px; background: var(--ink); color: var(--bg); font-size: 14px; font-weight: 700; padding: 12px 18px; border-radius: 999px; transition: top .2s; }
.t-skip:focus { top: 12px; color: var(--bg); }
main:focus { outline: none; }

/* Títulos que pasaron de <div>/<span> a <h2>/<h3>: mismo aspecto, sin márgenes del navegador */
.t-brands__title, .t-difs__t, .t-hservs__t, .t-featured__title, .t-card__title, .t-news__title, .t-next__title,
.t-srv-claim__t, .t-proc__t, .t-srv-case__h, .t-tool__title, .t-srv-label, .t-hero__title { margin: 0; }
.t-caso__h, .t-caso__sub, .t-difs__title { margin-left: 0; margin-right: 0; margin-bottom: 0; }
.t-foot__social { display: flex; flex-wrap: wrap; gap: 0 16px; }
.t-foot__social a { padding: 6px 0 !important; }
.t-card__title { display: block; }
.t-hero__kicker { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .09em; line-height: 1.3; text-transform: uppercase; opacity: .62; margin-bottom: clamp(14px, 2.4vh, 26px); }
.t-post__updated { font-size: 12.5px; font-weight: 600; color: var(--mute); }
.t-aside-link { font-size: 12.5px; font-weight: 700; color: var(--or-t); }

/* Turnstile: solo aparece si Cloudflare necesita una interacción */
.t-ts { position: fixed; z-index: 130; right: 12px; bottom: 12px; }
.t-ts:empty { display: none; }

/* Botón de pausa del carrusel de logos */
.t-brands__toggle { width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid rgba(51,51,51,.3); background: transparent; color: var(--ink); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; margin-left: auto; }
.t-brands__toggle:hover { border-color: var(--or); color: var(--or); }
.t-brands__toggle .i-play { display: none; }
.t-brands__toggle.is-paused .i-play { display: block; }
.t-brands__toggle.is-paused .i-pause { display: none; }

/* Hub de servicios y casos: tarjetas con más texto */
.t-card--srv { flex-basis: clamp(300px, 28vw, 420px); justify-content: space-between; padding-top: clamp(96px, 15vh, 150px); }
.t-card--srv .t-card__desc { font-size: 15px; }
.t-card__go { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; }
.t-case-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: clamp(28px, 5vh, 48px); }
.t-case-item { background: var(--bg); padding: clamp(22px, 3vw, 36px); display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 110px; }
.t-case-item__k { font-size: 11px; font-weight: 800; letter-spacing: .1em; color: var(--mute); }
.t-case-item__v { font-size: clamp(44px, 5vw, 80px); font-weight: 800; letter-spacing: -.05em; line-height: .86; color: var(--or); }
.t-case-item h2, .t-case-item h3 { margin: 0; font-size: clamp(19px, 1.8vw, 26px); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; }
.t-case-item p { margin: 0; font-size: 15px; line-height: 1.65; color: rgba(51,51,51,.84); }
.t-case-item ul { list-style: none; margin: auto 0 0; padding: 12px 0 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.t-case-item li { font-size: 13.5px; font-weight: 700; }
.t-case-item__srv { font-size: 12.5px; font-weight: 700; color: var(--or-t); }
.t-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); margin: clamp(28px, 5vh, 48px) 0 0; }
.t-facts > div { background: var(--bg); padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.t-facts dt { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; color: var(--mute); }
.t-facts dd { margin: 0; font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.t-404 { min-height: 80vh; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding-top: 120px; padding-bottom: 80px; }

/* Reducir movimiento: sin animaciones de entrada ni transiciones largas */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .t-glow { display: none; }
}
