/* Pack original HerMaatOS: Tipografía y texto. Sin recursos externos. */

.res-text-gradient-headline,
.res-text-outline-display,
.res-text-marker-underline,
.res-text-layered-shadow,
.res-text-vertical-label,
.res-text-tracking-kicker,
.res-text-editorial-dropcap,
.res-text-split-weight,
.res-text-inline-highlight,
.res-text-capsule-label,
.res-text-terminal-caret,
.res-text-pullquote,
.res-text-tabular-stat,
.res-text-embossed-type,
.res-text-wavy-underline,
.res-text-super-subscript,
.res-text-chromatic-offset,
.res-text-soft-glow,
.res-text-stacked-label,
.res-text-inline-code {
  box-sizing: border-box;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}


.res-text-gradient-headline {
  --res-text-gradient-headline-size: 2rem;
  --res-text-gradient-headline-start: #67e8f9;
  --res-text-gradient-headline-end: #c4b5fd;
  margin: 0; font-size: var(--res-text-gradient-headline-size); line-height: 1.05; font-weight: 850; letter-spacing: -.055em; text-wrap: balance; color: transparent; background-image: linear-gradient(105deg,var(--res-text-gradient-headline-start),var(--res-text-gradient-headline-end)); background-clip: text; -webkit-background-clip: text;
}

.res-text-outline-display {
  --res-text-outline-display-size: 2rem;
  --res-text-outline-display-stroke: 1.25px;
  --res-text-outline-display-color: #a5f3fc;
  margin: 0; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: var(--res-text-outline-display-size); line-height: .92; font-weight: 900; letter-spacing: -.06em; color: transparent; -webkit-text-stroke: var(--res-text-outline-display-stroke) var(--res-text-outline-display-color); text-wrap: balance;
}

.res-text-marker-underline {
  --res-text-marker-underline-color: #fbbf24;
  --res-text-marker-underline-thickness: 5px;
  --res-text-marker-underline-duration: 650ms;
  position: relative; display: inline-block; width: fit-content; max-width: 100%; margin: 0; padding-bottom: .34em; font-size: 1.55rem; line-height: 1.1; font-weight: 800; letter-spacing: -.04em; text-wrap: balance;
}

.res-text-marker-underline::after { content: ""; position: absolute; left: 0; bottom: .1em; width: 100%; height: var(--res-text-marker-underline-thickness); border-radius: 999px; background: var(--res-text-marker-underline-color); transform-origin: left; animation: res-text-marker-underline var(--res-text-marker-underline-duration) cubic-bezier(.2,.75,.25,1) both; } @keyframes res-text-marker-underline { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.res-text-layered-shadow {
  --res-text-layered-shadow-color: #0f172a;
  --res-text-layered-shadow-step: 3px;
  --res-text-layered-shadow-deep-step: 6px;
  margin: 0; font-size: 1.7rem; line-height: 1.1; font-weight: 900; letter-spacing: -.045em; color: #f8fafc; text-shadow: var(--res-text-layered-shadow-step) var(--res-text-layered-shadow-step) 0 var(--res-text-layered-shadow-color), var(--res-text-layered-shadow-deep-step) var(--res-text-layered-shadow-deep-step) 0 rgba(15,23,42,.45);
}

.res-text-vertical-label {
  --res-text-vertical-label-spacing: 0.18em;
  display: inline-block; width: fit-content; min-height: 8rem; margin: 0; writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); font-size: .82rem; line-height: 1; font-weight: 750; letter-spacing: var(--res-text-vertical-label-spacing); text-transform: uppercase; color: #c4b5fd; border-inline-start: 2px solid currentColor; padding-inline-start: .7rem;
}

.res-text-tracking-kicker {
  --res-text-tracking-kicker-spacing: 0.2em;
  --res-text-tracking-kicker-size: 0.72rem;
  margin: 0; font-size: var(--res-text-tracking-kicker-size); line-height: 1.5; font-weight: 780; letter-spacing: var(--res-text-tracking-kicker-spacing); text-transform: uppercase; color: #a5f3fc;
}

.res-text-editorial-dropcap {
  --res-text-editorial-dropcap-color: #fbbf24;
  --res-text-editorial-dropcap-size: 3.7em;
  max-width: 30ch; margin: 0; font: 400 1rem/1.65 Georgia,"Times New Roman",serif; color: #e2e8f0;
}

.res-text-editorial-dropcap::first-letter { float: left; margin: .04em .12em 0 0; color: var(--res-text-editorial-dropcap-color); font: 800 var(--res-text-editorial-dropcap-size)/.78 Georgia,"Times New Roman",serif; }

.res-text-split-weight {
  --res-text-split-weight-size: 1.7rem;
  display: flex; flex-wrap: wrap; gap: .25em; margin: 0; font-size: var(--res-text-split-weight-size); line-height: 1.08; letter-spacing: -.05em; color: #f8fafc;
}

.res-text-split-weight > span { font-weight: 350; }
.res-text-split-weight > strong { font-weight: 850; }

.res-text-inline-highlight {
  --res-text-inline-highlight-color: #fde68a;
  --res-text-inline-highlight-ink: #422006;
  max-width: 34ch; margin: 0; font-size: 1.15rem; line-height: 1.65; font-weight: 500; color: #e2e8f0;
}

.res-text-inline-highlight > mark { padding: .08em .2em; border-radius: .18em; color: var(--res-text-inline-highlight-ink); background: var(--res-text-inline-highlight-color); box-decoration-break: clone; -webkit-box-decoration-break: clone; }

.res-text-capsule-label {
  --res-text-capsule-label-border: #67e8f9;
  --res-text-capsule-label-spacing: 0.14em;
  display: inline-flex; width: fit-content; align-items: center; min-height: 2.2rem; margin: 0; padding: .45rem .85rem; border: 1px solid var(--res-text-capsule-label-border); border-radius: 999px; font-size: .7rem; line-height: 1; font-weight: 800; letter-spacing: var(--res-text-capsule-label-spacing); text-transform: uppercase; color: #cffafe;
}

.res-text-terminal-caret {
  --res-text-terminal-caret-color: #4ade80;
  --res-text-terminal-caret-duration: 900ms;
  display: inline-flex; width: fit-content; align-items: center; margin: 0; font: 600 1rem/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; color: #e2e8f0;
}

 .res-text-terminal-caret::after { content: ""; display: inline-block; width: .58em; height: 1.08em; margin-left: .45em; background: var(--res-text-terminal-caret-color); animation: res-text-terminal-caret var(--res-text-terminal-caret-duration) steps(2,end) infinite; } @keyframes res-text-terminal-caret { 50% { opacity: 0; } }

.res-text-pullquote {
  --res-text-pullquote-mark: #c4b5fd;
  --res-text-pullquote-size: 1.25rem;
  display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .2rem .65rem; max-width: 34ch; margin: 0; padding: .2rem 0 .2rem 1rem; border-inline-start: 3px solid var(--res-text-pullquote-mark); color: #f1f5f9;
}

.res-text-pullquote > span { color: var(--res-text-pullquote-mark); font: 800 2.7rem/.85 Georgia,"Times New Roman",serif; }
.res-text-pullquote > p { margin: 0; font: italic 550 var(--res-text-pullquote-size)/1.55 Georgia,"Times New Roman",serif; }

.res-text-tabular-stat {
  --res-text-tabular-stat-size: 2.25rem;
  --res-text-tabular-stat-accent: #67e8f9;
  display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; margin: 0; color: #f8fafc;
}

.res-text-tabular-stat > strong { font-size: var(--res-text-tabular-stat-size); line-height: 1; font-weight: 780; letter-spacing: -.035em; font-variant-numeric: tabular-nums lining-nums; font-feature-settings: "tnum" 1, "lnum" 1; }
.res-text-tabular-stat > span { font-size: .78rem; color: var(--res-text-tabular-stat-accent); }

.res-text-embossed-type {
  --res-text-embossed-type-light: rgba(255,255,255,.48);
  --res-text-embossed-type-dark: #0f172a;
  margin: 0; font-size: 1.7rem; line-height: 1.1; font-weight: 850; letter-spacing: -.045em; color: #94a3b8; text-shadow: 0 1px 0 var(--res-text-embossed-type-light), 0 -1px 0 var(--res-text-embossed-type-dark), 1px 2px 2px rgba(2,6,23,.35);
}

.res-text-wavy-underline {
  --res-text-wavy-underline-color: #fb7185;
  --res-text-wavy-underline-offset: 0.22em;
  width: fit-content; max-width: 100%; margin: 0; padding-bottom: .25em; font-size: 1.2rem; line-height: 1.4; font-weight: 680; color: #f8fafc; text-decoration-line: underline; text-decoration-style: wavy; text-decoration-color: var(--res-text-wavy-underline-color); text-decoration-thickness: 2px; text-underline-offset: var(--res-text-wavy-underline-offset);
}

.res-text-super-subscript {
  --res-text-super-subscript-size: 2rem;
  --res-text-super-subscript-accent: #fbbf24;
  margin: 0; font-size: var(--res-text-super-subscript-size); line-height: 1; font-weight: 760; letter-spacing: -.045em; color: #f8fafc;
}

.res-text-super-subscript > sup, .res-text-super-subscript > sub { position: relative; font-size: .52em; line-height: 0; vertical-align: baseline; color: var(--res-text-super-subscript-accent); }
.res-text-super-subscript > sup { top: -.7em; }
.res-text-super-subscript > sub { bottom: -.15em; }

.res-text-chromatic-offset {
  --res-text-chromatic-offset-a: #22d3ee;
  --res-text-chromatic-offset-b: #fb7185;
  margin: 0; font-size: 1.55rem; line-height: 1.12; font-weight: 900; letter-spacing: -.045em; color: #f8fafc; text-shadow: -2px 1px 0 var(--res-text-chromatic-offset-a), 2px -1px 0 var(--res-text-chromatic-offset-b);
}

.res-text-soft-glow {
  --res-text-soft-glow-color: #a78bfa;
  --res-text-soft-glow-radius: 16px;
  margin: 0; font-size: 1.65rem; line-height: 1.1; font-weight: 780; letter-spacing: -.035em; color: #f5f3ff; text-shadow: 0 0 var(--res-text-soft-glow-radius) var(--res-text-soft-glow-color), 0 0 28px rgba(167,139,250,.28);
}

.res-text-stacked-label {
  --res-text-stacked-label-accent: #67e8f9;
  --res-text-stacked-label-gap: 0.42rem;
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--res-text-stacked-label-gap); margin: 0; color: #f8fafc;
}

.res-text-stacked-label > span { font-size: .66rem; line-height: 1.2; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; color: var(--res-text-stacked-label-accent); }
.res-text-stacked-label > strong { font-size: 1.55rem; line-height: 1.05; font-weight: 780; letter-spacing: -.04em; }

.res-text-inline-code {
  --res-text-inline-code-bg: #1e293b;
  --res-text-inline-code-ink: #bae6fd;
  max-width: 38ch; margin: 0; font-size: 1rem; line-height: 1.7; color: #cbd5e1;
}

.res-text-inline-code > code { padding: .16em .42em; border: 1px solid #334155; border-radius: .38em; background: var(--res-text-inline-code-bg); color: var(--res-text-inline-code-ink); font: 600 .88em/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) {
  .res-text-gradient-headline,
  .res-text-gradient-headline *,
  .res-text-gradient-headline::before,
  .res-text-gradient-headline::after,
  .res-text-outline-display,
  .res-text-outline-display *,
  .res-text-outline-display::before,
  .res-text-outline-display::after,
  .res-text-marker-underline,
  .res-text-marker-underline *,
  .res-text-marker-underline::before,
  .res-text-marker-underline::after,
  .res-text-layered-shadow,
  .res-text-layered-shadow *,
  .res-text-layered-shadow::before,
  .res-text-layered-shadow::after,
  .res-text-vertical-label,
  .res-text-vertical-label *,
  .res-text-vertical-label::before,
  .res-text-vertical-label::after,
  .res-text-tracking-kicker,
  .res-text-tracking-kicker *,
  .res-text-tracking-kicker::before,
  .res-text-tracking-kicker::after,
  .res-text-editorial-dropcap,
  .res-text-editorial-dropcap *,
  .res-text-editorial-dropcap::before,
  .res-text-editorial-dropcap::after,
  .res-text-split-weight,
  .res-text-split-weight *,
  .res-text-split-weight::before,
  .res-text-split-weight::after,
  .res-text-inline-highlight,
  .res-text-inline-highlight *,
  .res-text-inline-highlight::before,
  .res-text-inline-highlight::after,
  .res-text-capsule-label,
  .res-text-capsule-label *,
  .res-text-capsule-label::before,
  .res-text-capsule-label::after,
  .res-text-terminal-caret,
  .res-text-terminal-caret *,
  .res-text-terminal-caret::before,
  .res-text-terminal-caret::after,
  .res-text-pullquote,
  .res-text-pullquote *,
  .res-text-pullquote::before,
  .res-text-pullquote::after,
  .res-text-tabular-stat,
  .res-text-tabular-stat *,
  .res-text-tabular-stat::before,
  .res-text-tabular-stat::after,
  .res-text-embossed-type,
  .res-text-embossed-type *,
  .res-text-embossed-type::before,
  .res-text-embossed-type::after,
  .res-text-wavy-underline,
  .res-text-wavy-underline *,
  .res-text-wavy-underline::before,
  .res-text-wavy-underline::after,
  .res-text-super-subscript,
  .res-text-super-subscript *,
  .res-text-super-subscript::before,
  .res-text-super-subscript::after,
  .res-text-chromatic-offset,
  .res-text-chromatic-offset *,
  .res-text-chromatic-offset::before,
  .res-text-chromatic-offset::after,
  .res-text-soft-glow,
  .res-text-soft-glow *,
  .res-text-soft-glow::before,
  .res-text-soft-glow::after,
  .res-text-stacked-label,
  .res-text-stacked-label *,
  .res-text-stacked-label::before,
  .res-text-stacked-label::after,
  .res-text-inline-code,
  .res-text-inline-code *,
  .res-text-inline-code::before,
  .res-text-inline-code::after {
    animation: none !important;
    transition: none !important;
  }
}
