html:has(.tt-document) { scroll-behavior: smooth; scroll-padding-top: 100px; }
.tt-container { width: min(1160px, calc(100% - 64px)); }
.tt-hero { background: linear-gradient(115deg, var(--public-navy-950), #073a74); color: #fff; padding: 42px 0 48px; overflow: hidden; }
.tt-hero .tt-container { position: relative; }
.tt-breadcrumb { position: relative; z-index: 1; color: #c6d9f5 !important; font-size: 13px; text-decoration: none; }
.tt-breadcrumb span { padding-inline: 12px; }
.tt-eyebrow { font-size: 11px; font-weight: 750; letter-spacing: .16em; line-height: 1.6; }
.tt-hero .tt-eyebrow { color: #89e2ed; margin: 44px 0 20px; }
.tt-hero h1 { position: relative; z-index: 1; max-width: 900px; color: #fff; font-size: clamp(32px, 4.4vw, 58px); line-height: 1.2; letter-spacing: -.04em; margin-bottom: 20px; }
.tt-hero h1 span { display: block; max-width: 780px; font-size: clamp(23px, 2.6vw, 32px); line-height: 1.4; font-weight: 450; color: #d8e8ff; letter-spacing: -.015em; margin-top: 14px; text-wrap: balance; }
.tt-hero-bottom { position: relative; z-index: 1; display: flex; align-items: center; margin-top: 24px; }
.tt-hero-version { position: relative; z-index: 1; max-width: 780px; color: #d9e7fa; font-size: 14px; line-height: 1.65; margin: 0; text-wrap: balance; }
.tt-orbit { position: absolute; width: 200px; height: 200px; right: 12px; top: 60px; border: 1px solid #70a9e02b; border-radius: 50%; pointer-events: none; }
.tt-index { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 30px 48px; padding-block: 66px; }
.tt-index-intro .tt-eyebrow { color: #155a99; }
.tt-index h2 { font-size: 38px; letter-spacing: -.04em; line-height: 1.2; margin-bottom: 14px; }
.tt-index-intro > p:last-child { color: var(--public-muted); }
.tt-toc { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.tt-toc li { border-bottom: 1px solid var(--public-border); }
.tt-toc a { display: flex; gap: 12px; align-items: center; min-height: 67px; height: 100%; padding: 14px 0; text-decoration: none; font-size: 13px; line-height: 1.6; }
.tt-toc a:hover { color: #075ab5; }
.tt-number { color: #155a99; font-size: 11px; font-variant-numeric: tabular-nums; }
.tt-arrow { margin-left: auto; color: #075ab5; }
.tt-source-note { grid-column: 2; font-size: 12px; color: var(--public-muted); line-height: 1.7; margin: 0; }
.tt-body { border-top: 1px solid var(--public-border); }
.tt-section { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; padding-block: 62px; border-bottom: 1px solid var(--public-border); }
.tt-section-number { font-size: 60px; color: #2863a4; line-height: 1.15; font-weight: 300; letter-spacing: -.06em; }
.tt-section-content { max-width: 780px; min-width: 0; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.tt-section-content h2 { margin: 0 0 28px; font-size: 30px; line-height: 1.35; letter-spacing: -.035em; }
.tt-section-content h3 { font-size: 20px; line-height: 1.5; color: #124d8a; margin: 36px 0 12px; letter-spacing: -.015em; }
.tt-section-content p { margin: 0 0 18px; text-align: justify; text-indent: 2em; line-height: 1.6; hyphens: auto; }
.tt-section-content p:last-child { margin-bottom: 0; }
.tt-back-to-index { position: fixed; bottom: 22px; right: 22px; z-index: 25; display: inline-flex; gap: 12px; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid #9cb9db; border-radius: 28px; background: white; color: #104b89 !important; box-shadow: var(--public-shadow); text-decoration: none; font-size: 13px; }
.tt-back-to-index:hover { background: #e9f2ff; }
.tt-document [tabindex="-1"]:focus-visible { outline: 3px solid #075ab5; outline-offset: 5px; }
@media (max-width: 1000px) { .tt-index, .tt-section { grid-template-columns: 150px minmax(0, 1fr); gap: 26px; } .tt-toc { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .tt-container { width: calc(100% - 36px); } .tt-hero { padding-block: 28px 38px; } .tt-hero .tt-eyebrow { margin-top: 38px; } .tt-hero-bottom { align-items: start; flex-direction: column; gap: 22px; margin-top: 28px; } .tt-orbit { display: none; } .tt-index { display: block; padding-block: 38px; } .tt-index-intro { margin-bottom: 24px; } .tt-index h2 { font-size: 32px; } .tt-source-note { margin-top: 24px; } .tt-section { display: block; padding-block: 36px; } .tt-section-number { font-size: 32px; margin-bottom: 14px; } .tt-section-content { font-size: 16px; line-height: 1.8; } .tt-section-content h2 { font-size: 25px; } .tt-section-content h3 { font-size: 19px; margin-top: 28px; } .tt-back-to-index { bottom: 14px; right: 14px; } }
@media (prefers-reduced-motion: reduce) { html:has(.tt-document) { scroll-behavior: auto; } }
@page { size: A4; margin: 16mm; }
@media print { .public-header, .public-footer, .tt-back-to-index, .tt-breadcrumb, .tt-orbit, .tt-hero-bottom a { display: none !important; } .tt-container { width: 100%; } .tt-hero { background: white; color: black; padding: 0 0 18px; } .tt-hero h1, .tt-hero h1 span, .tt-hero p { color: black !important; } .tt-hero .tt-eyebrow { margin-top: 0; } .tt-hero h1 { font-size: 30px; } .tt-index, .tt-section { display: block; padding-block: 18px; } .tt-index { break-after: page; } .tt-toc { display: block; columns: 2; } .tt-toc li { break-inside: avoid; } .tt-toc a { min-height: 0; font-size: 10pt; padding-block: 4px; } .tt-section-number, .tt-arrow { display: none; } .tt-section-content { max-width: none; font: 11pt/1.5 Georgia, serif; } .tt-section-content h2 { font-size: 17pt; } .tt-section-content h3 { font-size: 12pt; } .tt-section-content :is(h2,h3) { break-after: avoid-page; } .tt-section-content p { widows: 3; orphans: 3; } }

/* CAPA OFICIAL TERATOOLS */
.tt-hero-image { width: 100%; max-width: 820px; margin: 32px auto; }
.tt-hero-image img { display: block; width: 100%; height: auto; border-radius: 12px; }
@media (max-width: 600px) { .tt-hero-image { margin: 24px auto; } }

.tt-slogan { margin: 20px 0 0; font-size: 20px; font-weight: 600; line-height: 1.5; }
