@font-face {
font-family: 'Roboto';
src: url('../assets/fonts/font-75be45f9d2d223ca.woff2') format('woff2');
font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
font-family: 'Roboto';
src: url('../assets/fonts/font-1708a4aece7b9ae7.woff2') format('woff2');
font-weight: 700; font-style: normal; font-display: swap;
}

:root {
--brand-primary: #E31952; --brand-primary-deep: #C80F45;
--brand-secondary: #7835C3; --brand-secondary-dark: #49286F;
--bg: #FDFDFD; --surface: #FFFFFF; --surface-soft: #F5F5F7;
--surface-tint: #F3EEFB; --text: #343434; --text-soft: #555555;
--muted: #989898; --line: rgba(52,52,52,0.08);
--gradient-brand: linear-gradient(106deg, #7835C3 -13.45%, #49286F 99.9%);
--shadow-card: 0 16px 36px rgba(1,43,85,0.08);
--radius-sm: 12px; --radius-md: 20px; --radius-lg: 28px;
--space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
--space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px;
--max-width: 1240px; --reading-width: 800px;
--font-body: 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ========================================================================= /
/ SCOPE DE LA PÁGINA TYC: Todo el CSS está encapsulado para proteger el Header /
/ ========================================================================= /
.tyc-page-scope {
font-family: var(--font-body);
color: var(--text);
/ NUEVO FONDO EN CAPAS: Cortina blanca arriba + Colores originales abajo /
background:
/ Capa 1: Cortina blanca para ocultar la línea de HubSpot /
linear-gradient(180deg, #ffffff 0%, #ffffff 70px, transparent 200px),
/ Capa 2: Mancha morada original (bajada un poco en Y para que se vea) /
radial-gradient(circle at 0% 180px, rgba(228,215,243,0.7) 0%, transparent 28%),
/ Capa 3: Mancha roja original (bajada un poco en Y para que se vea) /
radial-gradient(circle at 100% 180px, rgba(227,25,82,0.08) 0%, transparent 25%),
/ Capa 4: Fondo base original */
linear-gradient(180deg, #ffffff 0%, #f4f1f9 100%);
-webkit-font-smoothing: antialiased;
min-height: 100vh;
}

/* --- FORCING HUBSPOT SECTIONS TO BE TRANSPARENT --- /
/ This targets the drag and drop wrappers inside the TyC scope /
.tyc-page-scope .row-fluid,
.tyc-page-scope .span12,
.tyc-page-scope [class="dnd_area-row-"] {
background-color: transparent !important;
background: none !important;
}
/* -------------------------------------------------- */

.tyc-page-scope *,
.tyc-page-scope *::before,
.tyc-page-scope *::after {
box-sizing: border-box;
}

.tyc-page-scope section { background-color: transparent !important; }
.tyc-page-scope img { max-width: 100%; height: auto; display: block; }
.tyc-page-scope a { text-decoration: none; }
.tyc-page-scope .wrapper { max-width: var(--max-width); margin: 0 auto; padding: 0 20px; }

/* Banner */
.tyc-page-scope .legal-banner-section { padding: 32px 0 0; }
.tyc-page-scope .legal-banner {
background: var(--gradient-brand); border-radius: 24px;
padding: 48px 56px; display: flex; align-items: center; gap: 36px;
overflow: hidden; position: relative; min-height: 220px;
}
.tyc-page-scope .legal-banner__blob { position: absolute; pointer-events: none; z-index: 0; }
.tyc-page-scope .legal-banner__blob--tl { top: -30px; left: -30px; width: 200px; height: 200px; opacity: 0.18; }
.tyc-page-scope .legal-banner__blob--br { bottom: -20px; right: -20px; width: 160px; height: 160px; opacity: 0.12; }
.tyc-page-scope .legal-banner__icon {
flex-shrink: 0; width: 64px; height: 64px;
background: rgba(255,255,255,0.15); border-radius: 18px;
display: flex; align-items: center; justify-content: center;
position: relative; z-index: 1;
}
.tyc-page-scope .legal-banner__icon svg { width: 32px; height: 32px; color: #fff; }
.tyc-page-scope .legal-banner__content { position: relative; z-index: 1; flex: 1; }
.tyc-page-scope .legal-banner__eyebrow {
font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
text-transform: uppercase; color: rgba(255,255,255,0.65); margin: 0 0 10px;
}
.tyc-page-scope .legal-banner__title {
font-size: 34px; font-weight: 700; line-height: 1.15;
letter-spacing: -0.02em; color: #fff; margin: 0;
}
.tyc-page-scope .legal-banner__subtitle {
font-size: 15px; color: rgba(255,255,255,0.75); margin: 10px 0 0; line-height: 1.5;
}

/* Breadcrumb */
.tyc-page-scope .legal-breadcrumb {
font-size: 13px; display: flex; align-items: center;
flex-wrap: wrap; gap: 4px; padding: 20px 0 16px;
}
.tyc-page-scope .legal-breadcrumb a { color: var(--text-soft); }
.tyc-page-scope .legal-breadcrumb a:hover { color: var(--brand-primary); }
.tyc-page-scope .legal-breadcrumb .sep { color: var(--muted); margin: 0 2px; }
.tyc-page-scope .legal-breadcrumb .current { color: var(--text); font-weight: 600; }

/* Content wrap */
.tyc-page-scope .legal-content-wrap {
max-width: var(--reading-width); margin: 0 auto;
padding-top: var(--space-10); padding-bottom: var(--space-16);
}
.tyc-page-scope .legal-card {
background: var(--surface); border-radius: var(--radius-lg);
box-shadow: var(--shadow-card); overflow: hidden;
}
.tyc-page-scope .legal-card__intro {
padding: 40px 48px 32px;
border-bottom: 1px solid var(--line);
}
.tyc-page-scope .legal-card__intro p {
font-size: 16px; line-height: 1.75; color: var(--text-soft); margin: 0;
}

/* Accordion */
.tyc-page-scope .accordion { list-style: none; margin: 0; padding: 0; }
.tyc-page-scope .accordion-item { border-bottom: 1px solid var(--line); }
.tyc-page-scope .accordion-item:last-child { border-bottom: none; }

.tyc-page-scope details summary {
display: flex; align-items: center; justify-content: space-between; gap: 16px;
padding: 22px 48px; cursor: pointer; list-style: none;
transition: background 0.15s;
}
.tyc-page-scope details summary::-webkit-details-marker { display: none; }
.tyc-page-scope details summary::marker { display: none; }
.tyc-page-scope details summary:hover { background: var(--surface-soft); }
.tyc-page-scope details[open] > summary { background: var(--surface-tint); }

.tyc-page-scope .accordion-num {
font-size: 11px; font-weight: 700; color: var(--brand-secondary);
background: var(--surface-tint); border-radius: 8px;
padding: 3px 9px; flex-shrink: 0; letter-spacing: 0.06em;
}
.tyc-page-scope details[open] > summary .accordion-num {
background: var(--brand-secondary); color: #fff;
}
.tyc-page-scope .accordion-title {
flex: 1; font-size: 15px; font-weight: 700; color: var(--text);
line-height: 1.4;
}
.tyc-page-scope .accordion-chevron {
flex-shrink: 0; width: 20px; height: 20px; color: var(--muted);
transition: transform 0.25s, color 0.15s;
}
.tyc-page-scope details[open] > summary .accordion-chevron {
transform: rotate(180deg); color: var(--brand-secondary);
}
.tyc-page-scope .accordion-body { padding: 8px 48px 32px; }

/* Prose */
.tyc-page-scope .legal-prose { font-size: 15px; line-height: 1.75; color: var(--text-soft); }
.tyc-page-scope .legal-prose p { margin: 0 0 16px; }
.tyc-page-scope .legal-prose p:last-child { margin-bottom: 0; }
.tyc-page-scope .legal-prose a { color: var(--brand-primary); text-decoration: underline; text-underline-offset: 2px; }
.tyc-page-scope .legal-prose a:hover { color: var(--brand-primary-deep); }
.tyc-page-scope .legal-prose strong { color: var(--text); font-weight: 700; }
.tyc-page-scope .legal-prose ul, .tyc-page-scope .legal-prose ol { margin: 0 0 16px; padding-left: 22px; }
.tyc-page-scope .legal-prose li { margin-bottom: 6px; }
.tyc-page-scope .legal-prose h3 {
font-size: 14px; font-weight: 700; color: var(--brand-secondary-dark);
margin: 20px 0 8px; text-transform: uppercase; letter-spacing: 0.04em;
}

/* Definition list */
.tyc-page-scope .def-list { margin: 0 0 16px; padding: 0; }
.tyc-page-scope .def-list dt {
font-weight: 700; color: var(--text); font-size: 14px; margin-top: 14px;
}
.tyc-page-scope .def-list dd {
margin: 4px 0 0 0; color: var(--text-soft); font-size: 14px; line-height: 1.6;
}

/* Notice */
.tyc-page-scope .legal-notice { margin-top: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); }
.tyc-page-scope .legal-notice__item {
display: flex; gap: 12px; align-items: flex-start;
padding: 14px 18px; background: var(--surface-soft);
border-radius: var(--radius-sm); font-size: 14px; line-height: 1.6; color: var(--text-soft);
}
.tyc-page-scope .legal-notice__item--accent { background: var(--surface-tint); border-left: 3px solid var(--brand-secondary); }
.tyc-page-scope .legal-notice__item--warn { background: #fff8f9; border-left: 3px solid var(--brand-primary); }
.tyc-page-scope .legal-notice__icon { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; }
.tyc-page-scope .legal-notice__icon--purple { color: var(--brand-secondary); }
.tyc-page-scope .legal-notice__icon--red { color: var(--brand-primary); }
.tyc-page-scope .legal-notice__item a { color: var(--brand-primary); text-decoration: underline; text-underline-offset: 2px; }

/* Responsive */
@media (max-width: 768px) {
.tyc-page-scope .legal-banner { padding: 32px 28px; gap: 20px; min-height: auto; }
.tyc-page-scope .legal-banner__title { font-size: 26px; }
.tyc-page-scope .legal-banner__icon { width: 52px; height: 52px; border-radius: 14px; }
.tyc-page-scope .legal-card__intro { padding: 28px 24px 24px; }
.tyc-page-scope details summary { padding: 18px 24px; }
.tyc-page-scope .accordion-body { padding: 6px 24px 24px; }
.tyc-page-scope .wrapper {padding: 0 0px;}
}
@media (max-width: 480px) {
.tyc-page-scope .legal-banner-section { padding: 16px 0 0; }
.tyc-page-scope .legal-banner { padding: 24px 20px; border-radius: 20px; }
.tyc-page-scope .legal-banner__title { font-size: 22px; }
.tyc-page-scope .legal-banner__icon { display: none; }
.tyc-page-scope .legal-banner__subtitle { display: none; }
.tyc-page-scope .legal-card__intro { padding: 24px 20px; }
.tyc-page-scope details summary { padding: 16px 20px; gap: 12px; }
.tyc-page-scope .accordion-body { padding: 4px 20px 20px; }
}