/* FACTUM IUS — Release 2.5.1 · CSS consolidado */
/* Orden conservado: base legado -> design system -> servicios premium. */

/* ==========================================================================
   LEGACY BASE CONSOLIDATED
   ========================================================================== */
/* ─── RESET ─── */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

:root {
    --rc-blue: #0d2c4f;
    --rc-blue-soft: #153a64;
    --rc-gold: #b49b6a;
    --rc-gold-soft: #d8c797;
    --rc-ink: #182331;
    --rc-muted: #667085;
    --rc-line: #e5e7eb;
    --rc-bg: #f6f3ee;
    --rc-white: #ffffff;
    --rc-shadow: 0 24px 70px rgba(13, 44, 79, .12);
    --rc-shadow-soft: 0 14px 36px rgba(13, 44, 79, .08);
}

body {
    font-family: 'Lora', serif;
    background: var(--rc-bg);
    color: var(--rc-ink);
    line-height: 1.6;
    text-rendering: optimizeLegibility;
}

a { text-decoration: none; }

/* ─────────────────────────────────────────
   HEADER — MANTENIDO COMO EN TU BASE
───────────────────────────────────────── */
.site-header {
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 100;
}

.nav-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px 24px;
    display: flex;
    align-items: center;
}

.main-nav {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    gap: 30px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #1f2933;
}

.brand-logo-box {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #ffffff;
}

.brand-logo-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.brand-text strong {
    display: block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .02em;
}

.brand-text span {
    display: block;
    font-size: 13px;
    color: #6b7280;
}

.main-nav a {
    color: #374151;
    font-size: 16px;
    font-weight: 600;
    position: relative;
    padding-bottom: 4px;
}

.main-nav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #b49b6a;
    transition: width 0.3s ease;
}

.main-nav a:hover::after {
    width: 100%;
}


/* Menú desplegable de áreas de reclamación */
.nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

/* Puente invisible entre el botón y el panel para no perder el hover al bajar el cursor. */
.nav-dropdown::after {
    content: '';
    position: absolute;
    z-index: 999;
    top: 100%;
    left: 50%;
    width: 360px;
    height: 18px;
    transform: translateX(-50%);
}

.nav-dropdown-trigger {
    appearance: none;
    border: 0;
    background: transparent;
    color: #374151;
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 0 4px;
    cursor: pointer;
    position: relative;
}

.nav-dropdown-trigger::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #b49b6a;
    transition: width .25s ease;
}

.nav-dropdown:hover .nav-dropdown-trigger::after,
.nav-dropdown:focus-within .nav-dropdown-trigger::after,
.nav-dropdown.is-open .nav-dropdown-trigger::after {
    width: 100%;
}

.nav-dropdown-trigger svg { transition: transform .25s ease; }
.nav-dropdown:hover .nav-dropdown-trigger svg,
.nav-dropdown:focus-within .nav-dropdown-trigger svg,
.nav-dropdown.is-open .nav-dropdown-trigger svg { transform: rotate(180deg); }

.nav-dropdown-menu {
    position: absolute;
    z-index: 1000;
    top: calc(100% + 16px);
    left: 50%;
    width: 330px;
    transform: translate(-50%, 8px);
    padding: 10px;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(13,44,79,.10);
    box-shadow: 0 22px 55px rgba(13,44,79,.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.nav-dropdown-menu::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #0d2c4f, #b49b6a);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.main-nav .nav-dropdown-menu a {
    display: block;
    padding: 12px 14px;
    color: #0d2c4f;
    border-bottom: 1px solid rgba(13,44,79,.07);
}
.main-nav .nav-dropdown-menu a::after { display: none; }
.main-nav .nav-dropdown-menu a:hover { background: #fbf8f2; }
.main-nav .nav-dropdown-menu a span { display: block; font-weight: 700; }
.main-nav .nav-dropdown-menu a small { display: block; margin-top: 3px; color: #6b7280; font-size: 12px; font-weight: 500; }
.main-nav .nav-dropdown-menu .nav-dropdown-all { border-bottom: 0; display: flex; justify-content: space-between; align-items: center; color: #8a7043; }

.mobile-submenu-trigger,
.mobile-services-submenu { display: none; }


.nav-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.header-right-panel {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
}

.header-social-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-social-links .factum-social-link {
    color: var(--rc-blue);
}

.header-social-links .factum-social-link:hover {
    color: var(--rc-blue);
    background-color: transparent;
}

.header-social-links-wrapper {
    display: flex;
    align-items: center;
}


.header-mini-stats {
    display: flex;
    align-items: stretch;
    border: 1px solid rgba(13, 44, 79, .10);
    background: #fbfaf7;
    box-shadow: 0 10px 28px rgba(13, 44, 79, .05);
    overflow: hidden;
}

.header-mini-stat {
    min-width: 108px;
    padding: 8px 13px;
    display: grid;
    gap: 1px;
    border-left: 1px solid rgba(13, 44, 79, .08);
}

.header-mini-stat:first-child {
    border-left: 0;
}

.header-mini-stat span {
    color: #6b7280;
    font-size: 10px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: nowrap;
}

.header-mini-stat strong {
    color: #0d2c4f;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.02em;
    white-space: nowrap;
}

.header-mini-stat small {
    color: #b49b6a;
    font-size: 12px;
    margin-left: 1px;
}

.nav-cta {
    background: #0d2c4f;
    color: #fff;
    padding: 14px 22px;
    font-size: 16px;
    font-weight: 700;
    transition: background 0.3s ease;
}

.nav-cta:hover {
    background: #b49b6a;
}

.nav-social-cta {
    color: var(--rc-muted);
    padding: 8px 12px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.nav-social-cta:hover {
    color: var(--rc-blue);
    text-decoration: underline;
}

.mobile-menu-btn,
.mobile-menu { display: none; }

.mobile-menu {
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
    transition: max-height 0.4s ease-out, visibility 0.4s ease-out;
    background: #fff;
}

/* ─────────────────────────────────────────
   BOTONES — MANTENIDOS
───────────────────────────────────────── */
.rc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 16px 28px;
    font-weight: 700;
    border: 2px solid transparent;
    font-size: 16px;
    transition: all 0.3s ease;
}

.rc-btn-primary {
    background: #0d2c4f;
    color: #fff;
}

.rc-btn-primary:hover {
    background: #1f3e69;
}

.rc-btn-secondary {
    background: transparent;
    color: #0d2c4f;
    border-color: #0d2c4f;
}

.rc-btn-secondary:hover {
    background: #0d2c4f;
    color: #fff;
}

.rc-btn-light {
    background: #fff;
    color: #0d2c4f;
}

.rc-btn-light:hover {
    background: #f3f3f3;
}

/* ─────────────────────────────────────────
   HERO — NUEVO DISEÑO PROFESIONAL
───────────────────────────────────────── */
.rc-hero {
    position: relative;
    color: var(--rc-white);
    padding: 42px 0 38px;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 18%, rgba(180, 155, 106, .28), transparent 26%),
        linear-gradient(135deg, #071827 0%, var(--rc-blue) 48%, #0a223c 100%);
}

.rc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 64px 64px;
    opacity: .45;
    pointer-events: none;
}

.rc-hero::after {
    content: '';
    position: absolute;
    right: -160px;
    bottom: -230px;
    width: 560px;
    height: 560px;
    border-radius: 50%;
    border: 1px solid rgba(216, 199, 151, .28);
    box-shadow: inset 0 0 0 72px rgba(255,255,255,.025);
}

.rc-hero-inner {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
    gap: 44px;
    align-items: center;
    z-index: 1;
}

.rc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--rc-gold-soft);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .16em;
    margin-bottom: 16px;
}

.rc-eyebrow::before {
    content: '';
    width: 42px;
    height: 1px;
    background: var(--rc-gold-soft);
}

.rc-hero h1 {
    max-width: 760px;
    font-size: clamp(30px, 4vw, 40px);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.045em;
    margin-bottom: 18px;
}

.rc-hero p {
    max-width: 650px;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 1.62;
}

.rc-hero-actions {
    margin-top: 28px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.rc-diagnostic-card {
    position: relative;
    background: rgba(255, 255, 255, .96);
    color: var(--rc-ink);
    border: 1px solid rgba(255,255,255,.7);
    padding: 26px;
    box-shadow: 0 18px 54px rgba(13, 44, 79, .13);
    backdrop-filter: blur(18px);
}

.rc-diagnostic-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, var(--rc-gold), var(--rc-blue));
}

.rc-card-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    color: var(--rc-blue);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.rc-diagnostic-card h2 {
    font-size: 27px;
    line-height: 1.16;
    margin-bottom: 18px;
    letter-spacing: -.025em;
}

.rc-check-list {
    display: grid;
    gap: 9px;
    margin-bottom: 20px;
}

.rc-check-list div {
    position: relative;
    background: #f7f4ee;
    border: 1px solid rgba(180,155,106,.28);
    padding: 11px 14px 11px 38px;
    font-weight: 700;
    font-size: 14.5px;
    color: #233247;
}

.rc-check-list div::before {
    content: '✓';
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rc-gold);
    font-weight: 700;
}

.rc-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--rc-blue);
    font-weight: 700;
    font-size: 16px;
}

.rc-card-link::after { content: ''; color: var(--rc-gold); }


/* Puntos de confianza del hero */
.rc-hero-points {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rc-hero-points span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border: 1px solid rgba(216, 199, 151, .28);
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .88);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.rc-hero .rc-btn-secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .55);
}

.rc-hero .rc-btn-secondary:hover {
    background: #ffffff;
    color: var(--rc-blue);
    border-color: #ffffff;
}

/* ─────────────────────────────────────────
   STRIP
───────────────────────────────────────── */
.rc-strip {
    background: var(--rc-white);
    color: var(--rc-blue);
    padding: 22px 24px;
    border-bottom: 1px solid var(--rc-line);
    box-shadow: 0 12px 34px rgba(13, 44, 79, .04);
}

.rc-strip div {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 17px;
    font-weight: 700;
}

.rc-strip span {
    color: var(--rc-muted);
    font-weight: 400;
}

/* ─────────────────────────────────────────
   SECCIONES
───────────────────────────────────────── */
.rc-section, .rc-cases, .rc-documents, .rc-fees {
    scroll-margin-top: 80px;
}

.rc-section, .rc-documents {
    max-width: 1200px;
    margin: 0 auto;
    padding: 72px 24px;
}

.rc-section-head {
    max-width: 790px;
    margin: 0 auto 46px;
    text-align: center;
}

.rc-section-head span,
.rc-cases-text span,
.rc-final-cta span,
.rc-fees-head span {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 10px;
    color: var(--rc-gold);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .18em;
    margin-bottom: 14px;
}

.rc-section-head h2,
.rc-cases-text h2,
.rc-final-cta h2 {
    font-size: clamp(32px, 4.2vw, 48px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.035em;
    color: var(--rc-ink);
}

.rc-section-head p {
    margin-top: 16px;
    color: var(--rc-muted);
    font-size: 17px;
    line-height: 1.75;
}

/* ─────────────────────────────────────────
   PROCESO
───────────────────────────────────────── */
.rc-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    counter-reset: rc-step;
}

.rc-step {
    position: relative;
    background: var(--rc-white);
    padding: 30px 26px;
    border: 1px solid rgba(13,44,79,.08);
    box-shadow: var(--rc-shadow-soft);
    overflow: hidden;
}

.rc-step::after {
    content: '';
    position: absolute;
    right: -48px;
    top: -48px;
    width: 128px;
    height: 128px;
    border-radius: 50%;
    background: rgba(180,155,106,.12);
}

.rc-step span {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    color: var(--rc-blue);
    background: #f1eadc;
    border: 1px solid rgba(180, 155, 106, .35);
    font-weight: 700;
    margin-bottom: 18px;
    font-size: 16px;
}

.rc-step h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.22;
    color: var(--rc-blue);
}

.rc-step p {
    color: var(--rc-muted);
    font-size: 15px;
    line-height: 1.72;
}

/* ─────────────────────────────────────────
   CASOS
───────────────────────────────────────── */
.rc-cases {
    position: relative;
    background: #ffffff;
    border-top: 1px solid var(--rc-line);
    border-bottom: 1px solid var(--rc-line);
    padding: 72px 24px;
}

.rc-cases-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 52px;
    align-items: center;
}

.rc-cases-text h2 {
    white-space: nowrap;
    font-size: clamp(34px, 3.4vw, 46px);
}

.rc-cases-text p {
    margin-top: 20px;
    max-width: 570px;
    line-height: 1.78;
    font-size: 18px;
    color: var(--rc-muted);
}

.rc-cases-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.rc-cases-grid div,
.rc-cases-grid a {
    min-height: 118px;
    background: linear-gradient(180deg, #ffffff 0%, #fbf8f2 100%);
    border: 1px solid rgba(13,44,79,.08);
    padding: 24px;
    font-weight: 700;
    color: var(--rc-blue);
    font-size: 17px;
    line-height: 1.38;
    box-shadow: 0 12px 34px rgba(13,44,79,.06);
}

.rc-cases-grid div::before,
.rc-cases-grid a::before {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    background: var(--rc-gold);
    margin-bottom: 18px;
}

/* ─────────────────────────────────────────
   DOCUMENTOS
───────────────────────────────────────── */
.rc-doc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rc-doc-grid article {
    position: relative;
    background: var(--rc-white);
    border: 1px solid rgba(13,44,79,.08);
    padding: 34px 30px;
    box-shadow: var(--rc-shadow-soft);
    overflow: hidden;
}

.rc-doc-grid article::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--rc-blue), var(--rc-gold));
}

.rc-doc-grid strong {
    display: inline-flex;
    color: var(--rc-gold);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 24px;
}

.rc-doc-grid h3 {
    font-size: 25px;
    line-height: 1.16;
    font-weight: 700;
    margin-bottom: 14px;
    color: var(--rc-blue);
}

.rc-doc-grid p {
    color: var(--rc-muted);
    font-size: 16px;
    line-height: 1.74;
}

/* ─────────────────────────────────────────
   HONORARIOS — TABLA PREMIUM
───────────────────────────────────────── */
.rc-fees {
    position: relative;
    padding: 72px 24px;
    background:
        radial-gradient(circle at 12% 12%, rgba(180,155,106,.14), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7f3eb 100%);
    border-top: 1px solid var(--rc-line);
    border-bottom: 1px solid var(--rc-line);
    overflow: hidden;
}

.rc-fees::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(13,44,79,.032) 1px, transparent 1px),
        linear-gradient(0deg, rgba(13,44,79,.024) 1px, transparent 1px);
    background-size: 72px 72px;
    pointer-events: none;
}

.rc-fees-shell {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 0 auto;
}

.rc-fees-head {
    max-width: 830px;
    margin: 0 auto 34px;
    text-align: center;
}
.rc-fees-head span::before,
.rc-fees-head span::after {
    content: '';
    width: 34px;
    height: 1px;
    background: var(--rc-gold);
}

.rc-fees-head h2 {
    color: var(--rc-blue);
    font-size: clamp(34px, 4.4vw, 52px);
    line-height: 1.07;
    letter-spacing: -.04em;
    margin-bottom: 16px;
}

.rc-fees-head p {
    max-width: 760px;
    margin: 0 auto;
    color: var(--rc-muted);
    font-size: 18px;
    line-height: 1.72;
}

.rc-fees-main-table {
    background: #ffffff;
    border: 1px solid rgba(13,44,79,.10);
    box-shadow: var(--rc-shadow);
    overflow: hidden;
}

.rc-fees-table-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 30px;
    background: linear-gradient(135deg, #071827 0%, var(--rc-blue) 72%, #092139 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rc-fees-table-title::after {
    content: '';
    position: absolute;
    right: -60px;
    top: -90px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(216,199,151,.25);
    border-radius: 50%;
}

.rc-fees-table-title > div,
.rc-fees-table-title > strong {
    position: relative;
    z-index: 1;
}

.rc-fees-table-title span {
    display: block;
    color: var(--rc-gold-soft);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 8px;
}

.rc-fees-table-title h3 {
    font-size: 27px;
    line-height: 1.16;
    letter-spacing: -.025em;
}

.rc-fees-table-title > strong {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 16px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(216,199,151,.32);
    color: #ffffff;
    font-size: 14px;
    letter-spacing: .01em;
}

.rc-fees-main-table table,
.rc-fees-mini-table table {
    width: 100%;
    border-collapse: collapse;
}

.rc-fees-main-table thead th {
    padding: 16px 24px;
    background: #fbfaf7;
    border-bottom: 1px solid var(--rc-line);
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-align: left;
}

.rc-fees-main-table tbody td {
    padding: 22px 24px;
    border-bottom: 1px solid #edf0f2;
    color: #334155;
    font-size: 15.5px;
    line-height: 1.55;
    vertical-align: middle;
}

.rc-fees-main-table tbody tr:last-child td {
    border-bottom: none;
}

.rc-fees-main-table tbody tr:hover {
    background: #fffdf8;
}

.rc-fees-main-table tbody td:first-child strong {
    display: block;
    color: var(--rc-blue);
    font-size: 15px;
    line-height: 1.2;
    margin-bottom: 5px;
}

.rc-fees-main-table tbody td:first-child span {
    display: block;
    color: var(--rc-muted);
    font-size: 13.5px;
}

.rc-fees-main-table tbody td:last-child {
    width: 190px;
    text-align: right;
    white-space: normal;
}

.rc-fees-main-table tbody td:last-child strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 126px;
    min-height: 42px;
    padding: 9px 14px;
    background: #f1eadc;
    border: 1px solid rgba(180,155,106,.38);
    color: var(--rc-blue);
    font-size: 17px;
    font-weight: 700;
}

.rc-fees-secondary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 18px;
    margin-top: 18px;
}

.rc-fees-mini-table,
.rc-fees-note-premium {
    background: #ffffff;
    border: 1px solid rgba(13,44,79,.09);
    box-shadow: var(--rc-shadow-soft);
    overflow: hidden;
}

.rc-fees-mini-table h3 {
    padding: 18px 22px;
    background: #fbfaf7;
    border-bottom: 1px solid var(--rc-line);
    color: var(--rc-blue);
    font-size: 18px;
    line-height: 1.2;
}

.rc-fees-mini-table td {
    padding: 17px 22px;
    border-bottom: 1px solid #edf0f2;
    color: #334155;
    font-size: 15px;
}

.rc-fees-mini-table tr:last-child td {
    border-bottom: none;
}

.rc-fees-mini-table td:last-child {
    color: var(--rc-gold);
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.rc-fees-note-premium {
    padding: 26px 28px;
    border-left: 5px solid var(--rc-gold);
    background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%);
}

.rc-fees-note-premium span {
    display: block;
    color: var(--rc-gold);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 12px;
}

.rc-fees-note-premium p {
    color: var(--rc-muted);
    font-size: 15.5px;
    line-height: 1.72;
}

.rc-fees-philosophy {
    margin-top: 18px;
    background: linear-gradient(135deg, var(--rc-blue), #061726);
    color: var(--rc-white);
    padding: 34px 42px;
    text-align: center;
    box-shadow: var(--rc-shadow);
}

.rc-fees-philosophy blockquote {
    font-size: 22px;
    font-style: italic;
    font-weight: 600;
    line-height: 1.55;
    border: none;
    padding: 0;
    color: rgba(255,255,255,.94);
}

/* ─────────────────────────────────────────
   CTA FINAL
───────────────────────────────────────── */
.rc-final-cta {
    position: relative;
    max-width: 1200px;
    margin: 72px auto;
    background: linear-gradient(135deg, var(--rc-gold), #947947);
    color: var(--rc-white);
    padding: 46px 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 34px;
    overflow: hidden;
    box-shadow: var(--rc-shadow);
}

.rc-final-cta::after {
    content: '';
    position: absolute;
    right: -80px;
    top: -110px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.26);
}

.rc-final-cta-text,
.rc-final-cta > a {
    position: relative;
    z-index: 1;
}

.rc-final-cta > div > span {
    display: inline-block;
    margin-bottom: 18px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #f8f7f3;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    line-height: 1.3;
    position: relative;
    z-index: 2;
}

.rc-final-cta-text h2 {
    max-width: 760px;
    color: #ffffff;
}

.rc-final-cta p {
    margin-top: 14px;
    color: rgba(255,255,255,.84);
    font-size: 17px;
}

.rc-final-cta .rc-btn-light {
    flex-shrink: 0;
}

/* ─────────────────────────────────────────
   FOOTER
───────────────────────────────────────── */
.site-footer {
    background: #071827;
    color: #fff;
    padding: 30px 24px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #9ca3af;
    font-size: 14px;
}

.footer-bottom a { color: #9ca3af; }
.footer-bottom a:hover { color: #fff; }

@media (min-width: 901px) {
    .rc-section-head span,
    .rc-cases-text span,
    .rc-final-cta span,
    .rc-fees-head span {
        font-size: 20px;
    }
}


@media (max-width: 1140px) {
    .header-mini-stats {
        display: none;
    }
}

/* ─────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────── */
@media (max-width: 1050px) {
    .rc-timeline,
    .rc-doc-grid {
        grid-template-columns: repeat(2, 1fr);
        justify-content: center;
    }
}

#contacto-form {
    scroll-margin-top: 80px; /* Ajuste para el ancla del header fijo */
}
.rc-lead-form input, .rc-lead-form textarea {
    font-family: 'Lora', serif;
}

@media (max-width: 900px) {
    .nav-container { padding: 16px 20px; }

    .main-nav, .header-right-panel {
        display: none;
    }

    .mobile-menu-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        background: #fff;
        border: 1px solid #e5e7eb;
        width: 44px;
        height: 44px;
        color: #0d2c4f;
    }

    .mobile-menu.is-open {
        visibility: visible;
        max-height: 500px; /* Altura suficiente para el contenido */
        display: grid;
        gap: 12px;
        padding: 18px 24px 24px;
        border-top: 1px solid #e5e7eb;
    }

    .mobile-menu a {
        color: #1f2933;
        font-weight: 700;
        padding: 12px 0;
    }

    .mobile-cta {
        background: #0d2c4f;
        color: #fff !important;
        text-align: center;
        padding: 14px !important;
    }

    .rc-hero {
        padding: 48px 0 42px;
    }

    .rc-eyebrow {
        font-size: 12px;
        margin-bottom: 12px;
    }

    .rc-hero-inner {
        grid-template-columns: 1fr;
        gap: 22px;
        justify-items: center;

    }

    .rc-hero h1 {
        font-size: 32px;
        letter-spacing: -.035em;
    }

    .rc-diagnostic-card {
        width: 100%;
        max-width: 420px;
    }

    .rc-diagnostic-card h2 {
        font-size: 23px;
    }

    .rc-check-list div {
        font-size: 13px;
        padding: 10px 12px 10px 34px;
        white-space: nowrap;
    }

    .rc-hero p  { font-size: 16px; }

    .rc-hero-actions {
        flex-direction: column;
    }

    .rc-hero-actions .rc-btn {
        min-height: 44px;
        padding: 12px 20px;
        font-size: 14px;
    }

    .rc-hero-points {
        justify-content: center;
    }

    .rc-hero-points span {
        font-size: 12px;
        padding: 6px 10px;
        min-height: 0;
    }

    .rc-strip div {
        font-size: 14px;
        justify-content: center;
    }

    .rc-btn {
        width: 100%;
    }

    .rc-section,
    .rc-documents,
    .rc-cases,
    .rc-fees {
        padding: 72px 20px;
    }

    .rc-cases-inner,
    .rc-fees-grid,
    .footer-container {
        grid-template-columns: 1fr;
    }

    .rc-final-cta {
        margin: 0 20px 72px;
        padding: 24px 20px;
        flex-direction: column;
        align-items: flex-start;
    }

    .rc-final-cta-text h2 {
        font-size: 22px;
    }

    .rc-final-cta p {
        font-size: 14px;
        line-height: 1.65;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        font-size: 13px;
    }

    .rc-fees-main-table tbody td {
        font-size: 12px;
        padding: 16px 18px;
        line-height: 1.5;
    }

    .rc-fees-head p {
        font-size: 14px;
        line-height: 1.65;
    }

    .rc-fees-philosophy {
        padding: 24px 22px;
    }

    .rc-fees-philosophy blockquote {
        font-size: 17px;
    }

    .rc-fees-note-premium {
        padding: 20px 22px;
    }

    .rc-fees-note-premium span {
        margin-bottom: 8px;
    }

    .rc-fees-note-premium p {
        font-size: 12px;
        line-height: 1.65;
    }
}

@media (max-width: 640px) {
    .brand-text strong {
        font-size: 17px;
    }
    .brand-text span {
        font-size: 12px;
    }
    .brand-logo-box {
        width: 44px;
        height: 44px;
    }
    .rc-hero-inner {
        display: flex;
        flex-wrap: wrap;
        gap: 28px;
        align-items: center;
    }
    .rc-hero h1 {
        font-size: 34px;
    }
    .rc-hero p {
        font-size: 16px;
    }
    .rc-diagnostic-card {
        padding: 22px 20px;
    }
    .rc-diagnostic-card h2 {
        font-size: 24px;
    }

    .rc-timeline {
        grid-template-columns: 1fr;
    }

    .rc-step {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 8px 14px;
        padding: 14px 16px;
        min-height: 0;
    }

    .rc-step span {
        grid-row: span 2;
        width: 36px;
        height: 36px;
        margin-bottom: 0;
        font-size: 14px;
    }

    .rc-step h3 {
        font-size: 15px;
        margin-bottom: 0;
    }

    .rc-step p {
        font-size: 14px;
        line-height: 1.5;
        margin-top: -2px;
    }

    .rc-doc-grid {
        grid-template-columns: 1fr;
    }

    .rc-doc-grid article {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 8px 14px;
        padding: 14px 16px;
    }

    .rc-doc-grid strong {
        grid-row: span 2;
        width: 36px;
        height: 36px;
        display: grid;
        place-items: center;
        margin-bottom: 0;
        font-size: 14px;
    }

    .rc-doc-grid h3 {
        font-size: 15px;
        margin-bottom: 0;
    }

    .rc-doc-grid p {
        font-size: 14px;
        line-height: 1.5;
        margin-top: -2px;
    }

    .rc-cases-grid div {
        padding: 16px;
        min-height: 0;
        font-size: 12px;
    }

    .rc-cases-grid div::before {
        width: 28px;
        height: 3px;
        margin-bottom: 12px;
    }

    .rc-final-cta-text h2 { font-size: 20px; }

    .rc-final-cta > div > span {
        font-size: 10px;
        padding: 5px 8px;
        margin-bottom: 10px;
    }

    .rc-fees-main-table,
    .rc-fees-mini-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* FORMULARIO CLIENTE - PREMIUM RESPONSIVE */

.rc-form-page {
    background: #f4f1ec;
    padding: 58px 22px 80px;
}

.rc-form-header {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
}

.rc-form-header span {
    display: block;
    font-family: Arial, sans-serif;
    color: #7a5c3e;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 12px;
}

.rc-form-header h1 {
    font-size: 38px;
    line-height: 1.1;
    font-weight: 500;
    margin-bottom: 14px;
}

.rc-form-header p {
    font-family: Arial, sans-serif;
    color: #5b6470;
    font-size: 16px;
    line-height: 1.65;
}

.rc-form-layout {
    max-width: 1040px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
    align-items: start;
}

.rc-form-side {
    background: #081b33;
    color: #ffffff;
    padding: 24px;
    position: sticky;
    top: 92px;
}

.rc-form-side h2 {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 22px;
}

.rc-side-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,.14);
    font-family: Arial, sans-serif;
}

.rc-side-item strong {
    width: 30px;
    height: 30px;
    background: #f4f1ec;
    color: #7a5c3e;
    display: grid;
    place-items: center;
    font-size: 12px;
}

.rc-side-item span {
    font-size: 13px;
    font-weight: 800;
}

.rc-form-side p {
    margin-top: 20px;
    color: #d1d5db;
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.55;
}

.rc-lead-form {
    background: #fffdf8;
    border: 1px solid #d8cec2;
    padding: 30px;
    box-shadow: 16px 16px 0 rgba(122, 92, 62, .10);
}

.rc-form-section {
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid #d8cec2;
}

.rc-form-section:last-of-type {
    border-bottom: none;
    margin-bottom: 14px;
}

.rc-section-title {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 20px;
}

.rc-section-title span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    background: #f4f1ec;
    border: 1px solid #d8cec2;
    color: #7a5c3e;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
}

.rc-section-title h2 {
    font-size: 23px;
    font-weight: 500;
}

.rc-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.rc-field-full {
    grid-column: 1 / -1;
}

.rc-field label {
    display: block;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #081b33;
    margin-bottom: 8px;
}

.rc-field input,
.rc-field select,
.rc-field textarea {
    width: 100%;
    height: 48px;
    border: 1px solid #cfc3b7;
    background: #ffffff;
    padding: 0 13px;
    font-size: 15px;
    color: #1f2933;
    outline: none;
    font-family: Arial, sans-serif;
}

.rc-field textarea {
    height: auto;
    padding: 12px 13px;
}

.rc-field input:focus,
.rc-field select:focus,
.rc-field textarea:focus {
    border-color: #7a5c3e;
    box-shadow: 0 0 0 3px rgba(122,92,62,.12);
}

.rc-field.has-error input,
.rc-field.has-error select,
.rc-field.has-error textarea {
    border-color: #9f1d1d;
}


.rc-check-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.rc-check-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    background: #ffffff;
    border: 1px solid #cfc3b7;
    padding: 14px 16px;
    cursor: pointer;
    font-family: Arial, sans-serif;
    color: #1f2933;
    font-weight: 800;
    font-size: 14px;
}

.rc-check-card input {
    width: 18px;
    height: 18px;
    accent-color: #7a5c3e;
}

.rc-submit-btn {
    width: 100%;
    min-height: 54px;
    border: none;
    background: #081b33;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
}

.rc-form-note {
    margin-top: 14px;
    text-align: center;
    color: #5b6470;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.errorlist {
    list-style: none;
    color: #9f1d1d;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    margin-top: 6px;
}

.rc-form-error {
    background: #fff1f1;
    border: 1px solid #efb2b2;
    color: #9f1d1d;
    font-family: Arial, sans-serif;
    font-weight: 800;
    padding: 14px;
    margin-bottom: 22px;
}

@media (max-width: 900px) {
    .rc-form-page {
        padding: 42px 16px 64px;
    }

    .rc-form-header {
        text-align: left;
    }

    .rc-form-header h1 {
        font-size: 30px;
    }

    .rc-form-layout {
        grid-template-columns: 1fr;
        max-width: 100%;
    }

    .rc-form-side {
        position: static;
    }

    .rc-lead-form {
        padding: 22px;
        box-shadow: none;
    }

    .rc-form-grid,
    .rc-check-grid {
        grid-template-columns: 1fr;
    }
}

/* ─────────────────────────────────────────
   RESULTADO DE VALORACIÓN — FORMAL
───────────────────────────────────────── */
.rc-result-page {
    position: relative;
    padding: 72px 24px 96px;
    min-height: calc(100vh - 150px);
    background:
        radial-gradient(circle at 70% 10%, rgba(180,155,106,.18), transparent 28%),
        linear-gradient(180deg, #f7f3eb 0%, #ffffff 58%, #f6f3ee 100%);
}

.rc-result-page::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(13,44,79,.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(13,44,79,.025) 1px, transparent 1px);
    background-size: 72px 72px;
    pointer-events: none;
}

.rc-result-wrapper {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

.rc-result-card {
    background: #ffffff;
    border: 1px solid rgba(13,44,79,.09);
    box-shadow: var(--rc-shadow);
    padding: 42px;
    position: relative;
    overflow: hidden;
}

.rc-result-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--rc-blue), var(--rc-gold));
}

.rc-result-status {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.rc-result-check {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1eadc;
    border: 1px solid rgba(180,155,106,.45);
    color: var(--rc-blue);
    font-weight: 700;
    font-size: 18px;
}

.rc-result-label {
    margin-bottom: 0;
}

.rc-result-card h1 {
    color: var(--rc-blue);
    font-size: clamp(31px, 4vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
    margin-bottom: 14px;
}

.rc-result-intro {
    color: var(--rc-muted);
    font-size: 17px;
    line-height: 1.72;
    max-width: 690px;
    margin-bottom: 28px;
}

.rc-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 26px;
}

.rc-result-box {
    background: #fbfaf7;
    border: 1px solid rgba(13,44,79,.08);
    padding: 22px;
    position: relative;
}

.rc-result-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--rc-blue), var(--rc-gold));
}

.rc-result-box span {
    display: block;
    color: var(--rc-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 10px;
}

.rc-result-box strong {
    display: block;
    color: var(--rc-blue);
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.04em;
}

.rc-result-message {
    padding: 24px;
    border-left: 5px solid var(--rc-gold);
    background: linear-gradient(180deg, #ffffff, #fbfaf7);
    border-top: 1px solid rgba(13,44,79,.08);
    border-right: 1px solid rgba(13,44,79,.08);
    border-bottom: 1px solid rgba(13,44,79,.08);
    margin-bottom: 24px;
}

.rc-result-message h2 {
    color: var(--rc-blue);
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 8px;
}

.rc-result-message p {
    color: var(--rc-muted);
    font-size: 15.5px;
    line-height: 1.72;
}

.rc-result-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid rgba(13,44,79,.08);
    margin-bottom: 28px;
}

.rc-result-steps div {
    padding: 18px;
    background: #ffffff;
    border-left: 1px solid rgba(13,44,79,.08);
}

.rc-result-steps div:first-child {
    border-left: 0;
}

.rc-result-steps strong {
    display: block;
    color: var(--rc-gold);
    font-size: 13px;
    margin-bottom: 6px;
}

.rc-result-steps span {
    display: block;
    color: var(--rc-blue);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.rc-result-actions {
    display: flex;
    justify-content: flex-start;
}

@media (max-width: 980px) {
    .rc-form-layout {
        grid-template-columns: 1fr;
    }

    .rc-form-side {
        position: static;
    }

    .rc-form-side-card {
        padding: 26px;
    }

    .rc-side-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .rc-form-page,
    .rc-result-page {
        padding: 38px 18px 64px;
    }

    .rc-form-hero h1 {
        font-size: 32px;
    }

    .rc-form-hero p {
        font-size: 16px;
    }

    .rc-lead-form,
    .rc-result-card {
        padding: 26px 20px;
    }

    .rc-form-grid,
    .rc-check-grid,
    .rc-result-grid,
    .rc-result-steps,
    .rc-side-steps {
        grid-template-columns: 1fr;
    }

    .rc-section-title {
        gap: 12px;
    }

    .rc-section-title h2 {
        font-size: 21px;
    }

    .rc-result-steps div,
    .rc-result-steps div:first-child {
        border-left: 0;
        border-top: 1px solid rgba(13,44,79,.08);
    }

    .rc-result-steps div:first-child {
        border-top: 0;
    }
}


/* Ajustes responsive honorarios tabla */
@media (max-width: 900px) {
    .rc-fees-secondary-grid {
        grid-template-columns: 1fr;
    }

    .rc-fees-table-title {
        align-items: flex-start;
        flex-direction: column;
    }

}

@media (max-width: 640px) {
    .rc-fees {
        padding: 68px 18px;
    }

    .rc-fees-head {
        text-align: left;
    }

    .rc-fees-table-title {
        padding: 24px 22px;
    }

    .rc-fees-table-title h3 {
        font-size: 23px;
    }

    .rc-fees-philosophy {
        padding: 28px 22px;
    }

    .rc-fees-philosophy blockquote {
        font-size: 12px;
    }
}

/* ─────────────────────────────────────────
   HONORARIOS — TABLAS LADO A LADO
───────────────────────────────────────── */
.rc-fees-tables-row {
    display: flex;
    align-items: center;
    gap: 18px;
}

.rc-fees-tables-row .rc-fees-main-table {
    flex: 1;
    min-width: 0;
}

.rc-fees-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    font-weight: 1000;
    color: var(--rc-blue);
}

.rc-fees-table-title-small {
    min-height: 118px;
    padding: 26px 24px;
}

.rc-fees-table-title-small h3 {
    font-size: 24px;
}

.rc-fees-mini-table thead th {
    padding: 16px 20px;
    background: #fbfaf7;
    border-bottom: 1px solid var(--rc-line);
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-align: left;
}

.rc-fees-mini-table thead th:last-child,
.rc-fees-mini-table tbody td:last-child {
    text-align: right;
}

.rc-fees-note-wide {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 22px;
    align-items: center;
}

.rc-fees-note-wide span {
    margin-bottom: 0;
}

.rc-fees-note-wide p {
    margin: 0;
}

@media (max-width: 1050px) {
    .rc-fees-note-wide {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

@media (max-width: 640px) {
    .rc-fees-table-title,
    .rc-fees-table-title-small {
        flex-direction: column;
        align-items: flex-start;
        min-height: auto;
    }
}

@media (max-width: 900px) {
    .rc-fees-tables-row {
        flex-direction: column;
        align-items: center;
    }

    .rc-fees-main-table tbody td:last-child {
        width: auto;
        text-align: left;
    }
}

/* DIAGNÓSTICO POR PASOS */

.diagnosis-page {
    background: #f4f1ec;
    min-height: 80vh;
    padding: 62px 22px 90px;
}

.diagnosis-header {
    max-width: 820px;
    margin: 0 auto 34px;
    text-align: center;
}

.diagnosis-header span {
    display: block;
    font-family: Arial, sans-serif;
    color: #7a5c3e;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.diagnosis-header h1 {
    font-size: 46px;
    line-height: 1.08;
    font-weight: 500;
    margin-bottom: 14px;
}

.diagnosis-header p {
    font-family: Arial, sans-serif;
    color: #5b6470;
    font-size: 17px;
    line-height: 1.7;
}

.diagnosis-card {
    max-width: 760px;
    margin: 0 auto;
    background: #fffdf8;
    border: 1px solid #d8cec2;
    padding: 34px;
    box-shadow: 18px 18px 0 rgba(122, 92, 62, 0.10);
}

.diagnosis-progress {
    margin-bottom: 32px;
}

.progress-line {
    width: 100%;
    height: 8px;
    background: #e5dccf;
    overflow: hidden;
    margin-bottom: 10px;
}

.progress-line span {
    display: block;
    height: 100%;
    width: 25%;
    background: #7a5c3e;
    transition: 0.25s ease;
}

.diagnosis-progress p {
    font-family: Arial, sans-serif;
    color: #5b6470;
    font-size: 13px;
    font-weight: 700;
}

.diagnosis-step {
    display: none;
}

.diagnosis-step.active {
    display: block;
}

.diagnosis-step h2 {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 10px;
}

.step-help {
    font-family: Arial, sans-serif;
    color: #5b6470;
    line-height: 1.6;
    margin-bottom: 26px;
}

.diagnosis-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.field-block {
    margin-bottom: 18px;
}

.field-block label {
    display: block;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #081b33;
    margin-bottom: 8px;
}

.field-block input,
.field-block select,
.field-block textarea {
    width: 100%;
    height: 50px;
    border: 1px solid #cfc3b7;
    background: #ffffff;
    padding: 0 14px;
    font-size: 15px;
    color: #1f2933;
    outline: none;
    font-family: Arial, sans-serif;
}

.field-block input:focus,
.field-block select:focus,
.field-block textarea:focus {
    border-color: #7a5c3e;
    box-shadow: 0 0 0 3px rgba(122, 92, 62, 0.12);
}

.step-actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.diagnosis-btn {
    width: 100%;
    min-height: 54px;
    border: none;
    background: #081b33;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
}

.diagnosis-btn.secondary {
    background: #ffffff;
    color: #081b33;
    border: 1px solid #cfc3b7;
}

.estimate-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 26px 0;
}

.estimate-box div {
    background: #ffffff;
    border: 1px solid #d8cec2;
    padding: 24px;
}

.estimate-box span {
    display: block;
    font-family: Arial, sans-serif;
    color: #5b6470;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 10px;
}

.estimate-box strong {
    display: block;
    color: #7a5c3e;
    font-size: 34px;
    font-weight: 500;
}

.estimate-message {
    background: #081b33;
    color: #ffffff;
    padding: 22px;
    font-family: Arial, sans-serif;
    line-height: 1.6;
}

.estimate-message strong {
    color: #e6d4bb;
}

.check-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 8px;
}

.check-row label {
    display: flex;
    gap: 12px;
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfc3b7;
    padding: 16px;
    font-family: Arial, sans-serif;
    font-weight: 800;
}

.check-row input {
    width: 18px;
    height: 18px;
    accent-color: #7a5c3e;
}

.diagnosis-note {
    margin-top: 16px;
    text-align: center;
    color: #5b6470;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.diagnosis-error {
    background: #fff1f1;
    color: #9f1d1d;
    border: 1px solid #efb2b2;
    padding: 14px;
    margin-bottom: 22px;
    font-family: Arial, sans-serif;
    font-weight: 800;
}

.errorlist {
    list-style: none;
    color: #9f1d1d;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    margin-top: 6px;
}

@media (max-width: 800px) {
    .diagnosis-page {
        padding: 44px 16px 70px;
    }

    .diagnosis-header {
        text-align: left;
    }

    .diagnosis-header h1 {
        font-size: 34px;
    }

    .diagnosis-card {
        padding: 24px;
        box-shadow: none;
    }

    .diagnosis-grid,
    .estimate-box,
    .check-row {
        grid-template-columns: 1fr;
    }

    .step-actions {
        flex-direction: column;
    }

    .diagnosis-step h2 {
        font-size: 26px;
    }
}

/* ─────────────────────────────────────────
   PÁGINAS DE SERVICIO — FACTUM IUS PREMIUM
───────────────────────────────────────── */
.service-page {
    --service-accent: var(--rc-gold);
    background: var(--rc-bg);
}

.service-hero {
    position: relative;
    overflow: hidden;
    padding: 74px 24px 64px;
    color: var(--rc-white);
    background:
        radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--service-accent) 32%, transparent), transparent 28%),
        linear-gradient(135deg, #071827 0%, var(--rc-blue) 55%, #0a223c 100%);
}

.service-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 58px 58px;
    pointer-events: none;
}

.service-hero-shell {
    position: relative;
    z-index: 1;
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .7fr);
    gap: 56px;
    align-items: center;
}

.service-breadcrumb {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 18px;
    color: rgba(255,255,255,.68);
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.service-breadcrumb a { color: var(--rc-gold-soft); }

.service-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--rc-gold-soft);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.service-kicker::before {
    content: '';
    width: 36px;
    height: 1px;
    background: currentColor;
}

.service-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5.2vw, 68px);
    line-height: 1.01;
    letter-spacing: -.045em;
}

.service-hero-lead {
    max-width: 680px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.8);
    font-family: Arial, sans-serif;
    font-size: 18px;
    line-height: 1.72;
}

.service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.service-actions .rc-btn-primary {
    background: var(--service-accent);
    color: #071827;
}

.service-actions .rc-btn-primary:hover {
    filter: brightness(1.08);
}

.service-actions .rc-btn-secondary {
    border-color: rgba(255,255,255,.42);
    color: #fff;
}

.service-actions .rc-btn-secondary:hover {
    background: rgba(255,255,255,.1);
}

.service-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 24px;
    color: rgba(255,255,255,.78);
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.service-trust span::before {
    content: '✓';
    margin-right: 7px;
    color: var(--rc-gold-soft);
}

.service-hero-card {
    padding: 30px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    box-shadow: 20px 20px 0 rgba(0,0,0,.12);
    backdrop-filter: blur(10px);
}

.service-hero-card small {
    display: block;
    margin-bottom: 14px;
    color: var(--rc-gold-soft);
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.service-hero-card h2 {
    margin: 0 0 20px;
    color: #fff;
    font-size: 28px;
    line-height: 1.18;
}

.service-hero-card ul {
    list-style: none;
    display: grid;
    gap: 10px;
}

.service-hero-card li {
    padding: 12px 14px;
    border-left: 3px solid var(--service-accent);
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.88);
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.service-proof-strip {
    background: #fff;
    border-bottom: 1px solid var(--rc-line);
}

.service-proof-strip-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 20px 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.service-proof-item {
    padding: 8px 22px;
    border-left: 1px solid var(--rc-line);
}

.service-proof-item:first-child { border-left: 0; }

.service-proof-item strong {
    display: block;
    color: var(--rc-blue);
    font-size: 17px;
}

.service-proof-item span {
    color: var(--rc-muted);
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.service-section {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 82px 24px;
}

.service-heading {
    max-width: 760px;
    margin-bottom: 36px;
}

.service-heading.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.service-heading span {
    display: block;
    margin-bottom: 10px;
    color: var(--service-accent);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.service-heading h2 {
    margin: 0;
    color: var(--rc-blue);
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.service-heading p {
    margin-top: 14px;
    color: var(--rc-muted);
    font-family: Arial, sans-serif;
    font-size: 17px;
    line-height: 1.72;
}

.service-signs-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

/* Tarjetas compactas, alineadas con las “Áreas de reclamación” de la home */
.service-sign-card {
    position: relative;
    min-height: 132px;
    padding: 20px 22px;
    overflow: hidden;
    border: 1px solid rgba(13, 44, 79, .08);
    background: linear-gradient(180deg, #ffffff 0%, #fbf8f2 100%);
    box-shadow: 0 12px 34px rgba(13, 44, 79, .06);
}

.service-sign-card::before {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    margin-bottom: 14px;
    background: var(--service-accent, var(--rc-gold));
}

.service-sign-card::after {
    content: none;
}

.service-sign-number {
    position: absolute;
    top: 18px;
    right: 20px;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    background: transparent;
    color: color-mix(in srgb, var(--service-accent) 60%, var(--rc-blue));
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
}

.service-sign-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 7px;
    padding-right: 28px;
    color: var(--rc-blue);
    font-size: 18px;
    line-height: 1.3;
}

.service-sign-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--rc-muted);
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.service-focus {
    background: #fff;
    border-top: 1px solid var(--rc-line);
    border-bottom: 1px solid var(--rc-line);
}

.service-focus-shell {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 76px 24px;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 52px;
    align-items: center;
}

.service-focus-panel {
    padding: 34px;
    background: var(--rc-blue);
    color: #fff;
    box-shadow: 16px 16px 0 color-mix(in srgb, var(--service-accent) 30%, transparent);
}

.service-focus-panel span {
    color: var(--rc-gold-soft);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.service-focus-panel strong {
    display: block;
    margin-top: 14px;
    font-size: 32px;
    line-height: 1.15;
}

.service-focus-panel p {
    margin-top: 14px;
    color: rgba(255,255,255,.78);
    font-family: Arial, sans-serif;
    line-height: 1.68;
}

.service-focus-content h2 {
    margin: 0 0 20px;
    color: var(--rc-blue);
    font-size: clamp(32px, 4vw, 44px);
    line-height: 1.08;
}

.service-focus-content p,
.service-focus-content li {
    color: var(--rc-muted);
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.72;
}

.service-focus-content ul {
    margin-top: 18px;
    padding-left: 20px;
    display: grid;
    gap: 9px;
}

.service-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--rc-line);
    border-left: 1px solid var(--rc-line);
}

.service-process-card {
    padding: 26px;
    border-right: 1px solid var(--rc-line);
    border-bottom: 1px solid var(--rc-line);
    background: #fff;
}

.service-process-card strong {
    display: block;
    margin-bottom: 18px;
    color: var(--service-accent);
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.service-process-card h3 {
    margin: 0 0 10px;
    color: var(--rc-blue);
    font-size: 20px;
}

.service-process-card p {
    color: var(--rc-muted);
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.65;
}

.service-faq {
    width: min(900px, 100%);
    margin: 0 auto;
    padding: 72px 24px 82px;
}

.service-faq details {
    margin-top: 12px;
    border: 1px solid var(--rc-line);
    background: #fff;
    box-shadow: 0 8px 26px rgba(13,44,79,.05);
}

.service-faq summary {
    cursor: pointer;
    list-style: none;
    padding: 20px 22px;
    color: var(--rc-blue);
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 800;
}

.service-faq summary::-webkit-details-marker { display: none; }

.service-faq summary::after {
    content: '+';
    float: right;
    color: var(--service-accent);
    font-size: 22px;
}

.service-faq details[open] summary::after { content: '−'; }

.service-faq details p {
    padding: 0 22px 22px;
    color: var(--rc-muted);
    font-family: Arial, sans-serif;
    font-size: 15px;
    line-height: 1.72;
}

.service-cta {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto 76px;
    padding: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 86% 20%, rgba(180,155,106,.28), transparent 26%),
        var(--rc-blue);
}

.service-cta small {
    display: block;
    margin-bottom: 10px;
    color: var(--rc-gold-soft);
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.service-cta h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.08;
}

.service-cta p {
    margin-top: 10px;
    color: rgba(255,255,255,.75);
    font-family: Arial, sans-serif;
}

.service-cta .rc-btn-light {
    flex-shrink: 0;
}

.service-related {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 0 24px 82px;
}

.service-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.service-related a {
    padding: 22px;
    border: 1px solid var(--rc-line);
    background: #fff;
    color: var(--rc-blue);
    font-weight: 700;
    box-shadow: var(--rc-shadow-soft);
}

.service-related a span {
    display: block;
    margin-top: 6px;
    color: var(--rc-muted);
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
}

@media (max-width: 980px) {
    .service-hero-shell,
    .service-focus-shell {
        grid-template-columns: 1fr;
    }

    .service-signs-grid { grid-template-columns: repeat(2, 1fr); }
    .service-process-grid { grid-template-columns: repeat(2, 1fr); }
    .service-related-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .service-hero { padding: 54px 18px 48px; }
    .service-hero h1 { font-size: 40px; }
    .service-hero-lead { font-size: 16px; }
    .service-actions { flex-direction: column; }
    .service-actions .rc-btn { width: 100%; }
    .service-hero-card { padding: 24px; box-shadow: none; }
    .service-proof-strip-inner { grid-template-columns: 1fr; padding: 8px 18px; }
    .service-proof-item { border-left: 0; border-top: 1px solid var(--rc-line); padding: 14px 0; }
    .service-proof-item:first-child { border-top: 0; }
    .service-section { padding: 58px 18px; }
    .service-signs-grid,
    .service-process-grid { grid-template-columns: 1fr; }
    .service-focus-shell { padding: 58px 18px; }
    .service-focus-panel { padding: 26px; box-shadow: none; }
    .service-faq { padding: 58px 18px 64px; }
    .service-cta { padding: 30px 24px; flex-direction: column; align-items: flex-start; }
    .service-cta .rc-btn { width: 100%; }
    .service-related { padding: 0 18px 64px; }
}


/* ==========================================================
   SERVICIOS — MISMA RETÍCULA Y ADAPTABILIDAD QUE LA HOME
   Capa final compartida para mantener una experiencia uniforme.
========================================================== */
.service-page {
    width: 100%;
    overflow: clip;
    background: var(--rc-bg);
}

.service-hero {
    padding: 42px 0 38px;
    background:
        radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--service-accent) 28%, transparent), transparent 26%),
        linear-gradient(135deg, #071827 0%, var(--rc-blue) 48%, #0a223c 100%);
}

.service-hero-shell,
.service-proof-strip-inner,
.service-section,
.service-focus-shell,
.service-related {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.service-hero-shell {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
    gap: 44px;
    align-items: center;
}

.service-hero h1 {
    max-width: 760px;
    font-size: clamp(30px, 4vw, 40px);
    line-height: 1;
    letter-spacing: -.045em;
    margin-bottom: 18px;
}

.service-hero-lead {
    max-width: 650px;
    font-size: 18px;
    line-height: 1.62;
}

.service-hero-card {
    padding: 26px;
    border: 1px solid rgba(255,255,255,.7);
    background: rgba(255,255,255,.96);
    color: var(--rc-ink);
    box-shadow: 0 18px 54px rgba(13,44,79,.13);
    backdrop-filter: blur(18px);
}

.service-hero-card small { color: var(--rc-blue); }
.service-hero-card h2 { color: var(--rc-ink); font-size: 27px; }
.service-hero-card li {
    border-left-color: var(--service-accent);
    background: #f7f4ee;
    color: #233247;
}

.service-section { padding-top: 72px; padding-bottom: 72px; }
.service-focus-shell { padding-top: 72px; padding-bottom: 72px; }
.service-related { padding-bottom: 72px; }
.service-faq { max-width: 900px; }
.service-cta { max-width: 1164px; }

@media (max-width: 900px) {
    .service-hero { padding: 48px 0 42px; }
    .service-hero-shell,
    .service-focus-shell {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .service-hero-shell { justify-items: center; }
    .service-hero-shell > div { width: 100%; }
    .service-hero h1 { font-size: 32px; letter-spacing: -.035em; }
    .service-hero-lead { font-size: 16px; }
    .service-hero-card { width: 100%; max-width: 420px; }
    .service-actions { flex-direction: column; }
    .service-actions .rc-btn { width: 100%; min-height: 44px; padding: 12px 20px; font-size: 14px; }
    .service-trust { justify-content: center; }
    .service-signs-grid,
    .service-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-related-grid { grid-template-columns: 1fr; }
    .service-cta { margin-left: 20px; margin-right: 20px; width: auto; }
}

@media (max-width: 640px) {
    .service-hero-shell,
    .service-proof-strip-inner,
    .service-section,
    .service-focus-shell,
    .service-related,
    .service-faq {
        padding-left: 18px;
        padding-right: 18px;
    }
    .service-hero h1 { font-size: 34px; }
    .service-hero-card { padding: 22px 20px; box-shadow: none; }
    .service-hero-card h2 { font-size: 24px; }
    .service-proof-strip-inner { grid-template-columns: 1fr; padding-top: 8px; padding-bottom: 8px; }
    .service-proof-item { border-left: 0; border-top: 1px solid var(--rc-line); padding: 14px 0; }
    .service-proof-item:first-child { border-top: 0; }
    .service-section,
    .service-focus-shell { padding-top: 58px; padding-bottom: 58px; }
    .service-signs-grid,
    .service-process-grid { grid-template-columns: 1fr; }
    .service-heading h2,
    .service-focus-content h2 { font-size: 30px; }
    .service-focus-panel { padding: 26px; box-shadow: none; }
    .service-focus-panel strong { font-size: 27px; }
    .service-faq { padding-top: 58px; padding-bottom: 64px; }
    .service-faq summary { padding: 18px; font-size: 15px; }
    .service-faq details p { padding: 0 18px 18px; }
    .service-cta {
        margin: 0 18px 64px;
        padding: 30px 24px;
        flex-direction: column;
        align-items: flex-start;
    }
    .service-cta .rc-btn { width: 100%; }
    .service-related { padding-bottom: 64px; }
}

/* Ajuste visual de las cabeceras de servicios */
.service-hero-card {
    position: relative;
    overflow: hidden;
}

.service-hero-card::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--service-accent) 42%, #ffffff) 0%,
        var(--service-accent) 48%,
        color-mix(in srgb, var(--service-accent) 68%, #7a5522) 100%
    );
}

@media (max-width: 640px) {
    .service-hero-card::before {
        width: 4px;
    }
}


/* Accesos más claros a las áreas */
.rc-cases-grid a,
.rc-cases-grid .rc-case-coming {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.rc-cases-grid a:hover {
    transform: translateY(-4px);
    border-color: rgba(180,155,106,.42);
    box-shadow: 0 18px 42px rgba(13,44,79,.11);
}

.rc-cases-grid a > span,
.rc-cases-grid .rc-case-coming > span {
    display: block;
}

.rc-cases-grid a small,
.rc-cases-grid .rc-case-coming small {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 16px;
    color: #8a7043;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.rc-cases-grid a small b {
    font-size: 16px;
    transition: transform .22s ease;
}
.rc-cases-grid a:hover small b { transform: translateX(4px); }
.rc-cases-grid .rc-case-coming { opacity: .72; }
.rc-cases-grid .rc-case-coming small { color: #7b8490; }


@media (max-width: 900px) {
    .nav-dropdown::after { display: none; }

    .mobile-submenu-trigger {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        padding: 12px 0;
        border: 0;
        background: transparent;
        color: #1f2933;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
    }

    .mobile-submenu-trigger svg { transition: transform .2s ease; }
    .mobile-submenu-trigger.is-open svg { transform: rotate(180deg); }

    .mobile-services-submenu {
        display: block;
        max-height: 0;
        overflow: hidden;
        padding-left: 14px;
        border-left: 2px solid #b49b6a;
        opacity: 0;
        transition: max-height .28s ease, opacity .2s ease, margin .25s ease;
    }
    .mobile-services-submenu.is-open {
        max-height: 320px;
        opacity: 1;
        margin-bottom: 8px;
    }
    .mobile-services-submenu a {
        display: block;
        padding: 10px 0;
        font-size: 14px;
    }
    .mobile-services-submenu a small {
        display: block;
        margin-top: 2px;
        color: #7b8490;
        font-size: 11px;
        font-weight: 500;
    }
}

/* RELEASE 2.4.4 — DIAGNÓSTICO PREMIUM */
.diagnosis-shell{max-width:1180px;margin:0 auto}.diagnosis-eyebrow{display:inline-flex!important;align-items:center;justify-content:center;padding:7px 12px;border:1px solid #d7c6ae;background:rgba(255,255,255,.58);border-radius:999px}.diagnosis-header{max-width:760px}.diagnosis-header h1{font-size:clamp(34px,5vw,50px);letter-spacing:-.025em}.diagnosis-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.diagnosis-trust span{display:inline-flex!important;margin:0!important;padding:8px 11px;background:transparent;border:1px solid #ded5c9;color:#46515e!important;font-size:11px!important;letter-spacing:.04em!important;border-radius:999px}.diagnosis-card{max-width:820px;padding:38px;border-radius:22px;box-shadow:0 24px 70px rgba(8,27,51,.10)}.diagnosis-progress-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}.diagnosis-progress-top p{margin:0}.diagnosis-progress-top>span{font:700 12px/1.2 Arial,sans-serif;color:#7a5c3e;text-transform:uppercase;letter-spacing:.08em}.progress-line{height:5px;border-radius:999px}.progress-line span{border-radius:999px;background:linear-gradient(90deg,#8b6b47,#c3a77f)}.diagnosis-progress-labels{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;list-style:none;margin:14px 0 0;padding:0}.diagnosis-progress-labels li{font:700 11px/1.3 Arial,sans-serif;color:#9aa1a9;text-align:center}.diagnosis-progress-labels li.active{color:#7a5c3e}.diagnosis-progress-labels li.completed{color:#445467}.diagnosis-step-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px}.diagnosis-step-heading>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:#081b33;color:#fff;font:700 12px/1 Arial,sans-serif}.diagnosis-step-heading h2{margin:0 0 7px;font-size:clamp(25px,4vw,32px)}.diagnosis-step-heading p{margin:0;color:#5b6470;font:400 15px/1.6 Arial,sans-serif}.field-block small{display:block;margin-top:6px;color:#7c858e;font:400 12px/1.4 Arial,sans-serif}.field-block input,.field-block select,.field-block textarea{border-radius:12px;border-color:#d8d0c6;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.field-block.is-invalid input,.field-block.is-invalid select{border-color:#b74747;box-shadow:0 0 0 3px rgba(183,71,71,.10)}.input-with-suffix{position:relative}.input-with-suffix input{padding-right:44px}.input-with-suffix>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font:700 13px/1 Arial,sans-serif;color:#7a5c3e}.diagnosis-btn{border-radius:12px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.diagnosis-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,27,51,.15)}.diagnosis-btn.secondary:hover{box-shadow:0 8px 20px rgba(8,27,51,.08)}.diagnosis-inline-error{display:none;margin:12px 0 0;padding:11px 13px;border-radius:10px;background:#fff1f1;border:1px solid #efb2b2;color:#9f1d1d;font:700 12px/1.5 Arial,sans-serif}.diagnosis-inline-error.visible{display:block}.estimate-box div{border-radius:16px;background:linear-gradient(180deg,#fff,#fbfaf7)}.estimate-message{display:flex;gap:14px;align-items:flex-start;border-radius:16px}.estimate-message-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#e6d4bb;color:#081b33;font:700 14px/1 Arial,sans-serif}.estimate-message p{margin:0}.check-row label{border-radius:14px;align-items:flex-start}.check-row label>span{display:grid;gap:4px}.check-row label strong{color:#081b33;font-size:14px}.check-row label small{color:#6c7580;font-size:12px;font-weight:400;line-height:1.4}.diagnosis-privacy-card{display:flex;gap:16px;margin-top:22px;padding:20px;border:1px solid #dfd3c4;background:linear-gradient(135deg,#fbf8f2,#fff);border-radius:16px;transition:border-color .2s ease,box-shadow .2s ease}.diagnosis-privacy-card.is-invalid{border-color:#b74747;box-shadow:0 0 0 4px rgba(183,71,71,.09)}.diagnosis-privacy-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#b69a70;color:#fff;font:700 15px/1 Arial,sans-serif}.diagnosis-privacy-copy>strong{display:block;color:#081b33;margin-bottom:5px}.diagnosis-privacy-copy>p{margin:0 0 12px;color:#5b6470;font:400 13px/1.55 Arial,sans-serif}.diagnosis-consent{display:flex;gap:10px;align-items:flex-start;color:#253548;font:600 13px/1.5 Arial,sans-serif;cursor:pointer}.diagnosis-consent input{margin-top:3px;accent-color:#8b6b47}.diagnosis-consent a{color:#7a5c3e;text-decoration:underline;text-underline-offset:3px}.diagnosis-privacy-copy>small{display:block;margin-top:10px;color:#737c85;font:400 11px/1.5 Arial,sans-serif}.diagnosis-submit{background:linear-gradient(135deg,#081b33,#123354)}.diagnosis-grid-full{grid-column:1/-1}@media(max-width:800px){.diagnosis-card{padding:24px 20px;border-radius:18px}.diagnosis-trust{justify-content:flex-start}.diagnosis-progress-labels{display:none}.diagnosis-step-heading{gap:12px}.diagnosis-step-heading>span{flex-basis:34px;height:34px}.diagnosis-privacy-card{padding:16px}.diagnosis-progress-top>span{font-size:10px}}


/* Release 2.4.5 — diagnóstico directo y consentimiento premium */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.diagnosis-page{padding-top:clamp(24px,4vw,48px)!important}
.diagnosis-shell{max-width:900px!important}
.diagnosis-card{margin-top:0!important}
.diagnosis-privacy-card{background:#fbfaf7!important;border-color:#ddd5ca!important;box-shadow:none!important}
.diagnosis-privacy-icon{background:#f0e8dc!important;color:#7a5c3e!important;border:1px solid #ddcfbd!important}
.diagnosis-consent{position:relative;display:grid!important;grid-template-columns:22px 1fr;gap:11px!important;align-items:start!important;padding:12px 14px;border:1px solid #ddd5ca;border-radius:12px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.diagnosis-consent:hover{border-color:#bda98e;background:#fffdf9}
.diagnosis-consent input{position:absolute;opacity:0;pointer-events:none}
.diagnosis-checkbox{display:grid;width:20px;height:20px;border:1.5px solid #aa987f;border-radius:6px;background:#fff;transition:all .2s ease;margin-top:1px}
.diagnosis-consent input:focus-visible + .diagnosis-checkbox{outline:3px solid rgba(139,107,71,.18);outline-offset:2px}
.diagnosis-consent input:checked + .diagnosis-checkbox{background:#8b6b47;border-color:#8b6b47}
.diagnosis-consent input:checked + .diagnosis-checkbox::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);place-self:center;margin-top:-2px}
.diagnosis-privacy-card.is-invalid .diagnosis-consent{border-color:#b74747;background:#fffafa}
@media(max-width:800px){.diagnosis-page{padding-top:18px!important}.diagnosis-privacy-card{gap:12px}.diagnosis-consent{padding:11px 12px}}

/* ==========================================================================
   FACTUM DESIGN SYSTEM
   ========================================================================== */
/* FACTUM IUS — Design System 2.1
   Capa de componentes reutilizables. Se carga después de style.css para
   conservar la identidad visual existente sin duplicar reglas de página. */

:root {
    --factum-color-primary: var(--rc-blue, #0d2c4f);
    --factum-color-primary-soft: var(--rc-blue-soft, #153a64);
    --factum-color-accent: var(--rc-gold, #b49b6a);
    --factum-color-accent-soft: var(--rc-gold-soft, #d8c797);
    --factum-color-ink: var(--rc-ink, #182331);
    --factum-color-muted: var(--rc-muted, #667085);
    --factum-color-surface: var(--rc-white, #fff);
    --factum-color-canvas: var(--rc-bg, #f6f3ee);
    --factum-color-line: var(--rc-line, #e5e7eb);

    --factum-container: 1200px;
    --factum-radius-sm: 10px;
    --factum-radius-md: 16px;
    --factum-radius-lg: 22px;
    --factum-shadow-sm: 0 10px 28px rgba(13, 44, 79, .07);
    --factum-shadow-md: 0 18px 46px rgba(13, 44, 79, .11);
    --factum-shadow-lg: 0 28px 70px rgba(13, 44, 79, .15);
    --factum-transition: 280ms cubic-bezier(.2, .8, .2, 1);

    --factum-space-1: .5rem;
    --factum-space-2: .75rem;
    --factum-space-3: 1rem;
    --factum-space-4: 1.5rem;
    --factum-space-5: 2rem;
    --factum-space-6: 3rem;
    --factum-space-7: 4.5rem;
}

.factum-container {
    width: min(100% - 48px, var(--factum-container));
    margin-inline: auto;
}

.factum-section {
    position: relative;
    isolation: isolate;
}

.factum-section--soft {
    background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(246,243,238,.88));
}

.factum-button {
    border-radius: var(--factum-radius-sm);
    transition: transform var(--factum-transition), box-shadow var(--factum-transition),
                background-color var(--factum-transition), border-color var(--factum-transition),
                color var(--factum-transition);
}

.factum-button:hover {
    transform: translateY(-2px);
}

.factum-button:focus-visible,
.factum-card:focus-visible {
    outline: 3px solid rgba(180, 155, 106, .34);
    outline-offset: 4px;
}

.factum-button--primary {
    box-shadow: 0 10px 24px rgba(13, 44, 79, .16);
}

.factum-button--primary:hover {
    box-shadow: 0 16px 32px rgba(13, 44, 79, .22);
}

.factum-card-grid {
    align-items: stretch;
}

.factum-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--factum-radius-md);
    border: 1px solid rgba(13, 44, 79, .09);
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(250,247,241,.96));
    box-shadow: var(--factum-shadow-sm);
    transition: transform var(--factum-transition), box-shadow var(--factum-transition),
                border-color var(--factum-transition);
}

.factum-card::after {
    content: '';
    position: absolute;
    left: 24px;
    right: 24px;
    top: 0;
    height: 3px;
    border-radius: 0 0 99px 99px;
    background: linear-gradient(90deg, var(--factum-color-primary), var(--factum-color-accent));
    transform: scaleX(.34);
    transform-origin: left;
    opacity: .72;
    transition: transform var(--factum-transition), opacity var(--factum-transition);
}

.factum-card:hover {
    transform: translateY(-7px);
    border-color: rgba(180, 155, 106, .34);
    box-shadow: var(--factum-shadow-lg);
}

.factum-card:hover::after {
    transform: scaleX(1);
    opacity: 1;
}

.factum-card--service small {
    transition: color var(--factum-transition), transform var(--factum-transition);
}

.factum-card--service:hover small {
    color: var(--factum-color-accent);
}

.factum-card--service small b {
    display: inline-block;
    transition: transform var(--factum-transition);
}

.factum-card--service:hover small b {
    transform: translateX(6px);
}

.factum-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    width: fit-content;
    padding: .5rem .8rem;
    border: 1px solid rgba(180, 155, 106, .28);
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    color: var(--factum-color-primary);
    font-size: .80rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 640px) {
    .factum-container { width: min(100% - 30px, var(--factum-container)); }
    .factum-card { border-radius: var(--factum-radius-sm); }
    .factum-card:hover { transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce) {
    .factum-button,
    .factum-card,
    .factum-card::after,
    .factum-card--service small,
    .factum-card--service small b {
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   RELEASE 2.2 — HOME PREMIUM
========================================================= */
.factum-home-section {
    padding: 88px 0;
}

.factum-section-head {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.factum-section-head--left {
    margin: 0;
    text-align: left;
}

.factum-section-head > span,
.factum-panel-kicker,
.factum-card-label,
.factum-cta-premium span,
.factum-final-cta span {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--factum-color-accent);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.factum-section-head h2 {
    color: var(--factum-color-primary);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.factum-section-head p {
    margin-top: 16px;
    color: var(--factum-color-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.factum-badge--dark {
    border-color: rgba(216,199,151,.36);
    background: rgba(255,255,255,.07);
    color: #f4e8c7;
}

.factum-hero {
    padding: 78px 0 70px;
}

.factum-hero .rc-hero-inner {
    padding: 0;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .82fr);
    gap: 64px;
}

.factum-hero .rc-hero-left h1 {
    max-width: 760px;
    margin-top: 20px;
    font-size: clamp(2.25rem, 4.5vw, 4rem);
    line-height: .98;
}

.factum-hero-lead {
    max-width: 700px !important;
    font-size: 1.16rem !important;
}

.factum-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 20px;
}

.factum-hero-proof span {
    position: relative;
    padding-left: 20px;
    color: rgba(255,255,255,.8);
    font-size: .9rem;
    font-weight: 650;
}

.factum-hero-proof span::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--factum-color-accent-soft);
}

.factum-hero-panel {
    position: relative;
    overflow: hidden;
    padding: 34px 34px 30px 40px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,244,236,.96));
    color: var(--factum-color-ink);
    box-shadow: 0 30px 80px rgba(0,0,0,.22);
}

.factum-hero-panel::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, var(--factum-color-accent-soft), var(--factum-color-accent), var(--factum-color-primary));
}

.factum-hero-panel h2 {
    margin: 0 0 24px;
    color: var(--factum-color-primary);
    font-size: 1.75rem;
    line-height: 1.18;
}

.factum-check-list {
    display: grid;
    gap: 12px;
    margin: 0 0 26px;
    padding: 0;
    list-style: none;
}

.factum-check-list li {
    position: relative;
    padding: 12px 14px 12px 42px;
    border: 1px solid rgba(180,155,106,.22);
    border-radius: 12px;
    background: rgba(255,255,255,.66);
    color: #26364a;
    font-weight: 700;
}

.factum-check-list li::before {
    content: '✓';
    position: absolute;
    left: 15px;
    color: var(--factum-color-accent);
}

.factum-panel-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--factum-color-primary);
    font-weight: 800;
}

.factum-panel-link span {
    transition: transform var(--factum-transition);
}

.factum-panel-link:hover span {
    transform: translateX(5px);
}

.factum-trustbar {
    border-bottom: 1px solid rgba(13,44,79,.08);
    background: #fff;
}

.factum-trustbar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.factum-trustbar-grid > div {
    position: relative;
    min-height: 132px;
    padding: 28px 28px 28px 30px;
}

.factum-trustbar-grid > div + div {
    border-left: 1px solid rgba(13,44,79,.09);
}

.factum-trustbar-grid strong,
.factum-trustbar-grid span {
    display: block;
}

.factum-trustbar-grid strong {
    margin-bottom: 8px;
    color: var(--factum-color-primary);
    font-size: 1rem;
}

.factum-trustbar-grid span {
    color: var(--factum-color-muted);
    font-size: .9rem;
    line-height: 1.55;
}

.factum-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.factum-card--rich {
    display: flex;
    min-height: 290px;
    padding: 28px;
    flex-direction: column;
    color: inherit;
}

.factum-card-icon {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
    place-items: center;
    border: 1px solid rgba(180,155,106,.34);
    border-radius: 50%;
    background: #fff;
    color: var(--factum-color-primary);
    font-size: 1.2rem;
    font-weight: 800;
    box-shadow: 0 8px 22px rgba(13,44,79,.08);
    transition: transform var(--factum-transition);
}

.factum-card--rich:hover .factum-card-icon {
    transform: scale(1.08);
}

.factum-card--rich h3 {
    margin: 0 0 12px;
    color: var(--factum-color-primary);
    font-size: 1.35rem;
    line-height: 1.24;
}

.factum-card--rich p {
    margin: 0 0 24px;
    color: var(--factum-color-muted);
    line-height: 1.65;
}

.factum-card--rich small {
    margin-top: auto;
    color: var(--factum-color-primary);
    font-size: .9rem;
    font-weight: 800;
}

.factum-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.factum-timeline::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 9%;
    right: 9%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--factum-color-accent), transparent);
}

.factum-timeline article {
    position: relative;
    padding: 0 28px;
    text-align: center;
}

.factum-timeline article > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 64px;
    height: 64px;
    margin: 0 auto 22px;
    place-items: center;
    border: 1px solid rgba(180,155,106,.36);
    border-radius: 50%;
    background: #fff;
    color: var(--factum-color-primary);
    font-size: .82rem;
    font-weight: 800;
    box-shadow: var(--factum-shadow-sm);
}

.factum-timeline h3 {
    margin: 0 0 10px;
    color: var(--factum-color-primary);
    font-size: 1.12rem;
}

.factum-timeline p {
    color: var(--factum-color-muted);
    font-size: .94rem;
    line-height: 1.65;
}

.factum-why-layout,
.factum-faq-layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
    align-items: start;
}

.factum-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.factum-why-grid article {
    padding: 26px;
    border: 1px solid rgba(13,44,79,.09);
    border-radius: 16px;
    background: rgba(255,255,255,.8);
    box-shadow: var(--factum-shadow-sm);
}

.factum-why-grid strong {
    color: var(--factum-color-accent);
    font-size: .78rem;
    letter-spacing: .1em;
}

.factum-why-grid h3 {
    margin: 14px 0 10px;
    color: var(--factum-color-primary);
    font-size: 1.15rem;
}

.factum-why-grid p {
    color: var(--factum-color-muted);
    line-height: 1.65;
}

.factum-cta-premium {
    padding: 70px 0;
    background: linear-gradient(120deg, #efe5d3, #f8f3e9 48%, #e8dcc7);
}

.factum-cta-premium .factum-container,
.factum-final-cta .factum-container {
    display: flex;
    gap: 44px;
    align-items: center;
    justify-content: space-between;
}

.factum-cta-premium h2,
.factum-final-cta h2 {
    max-width: 780px;
    margin: 0 0 12px;
    color: var(--factum-color-primary);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.06;
}

.factum-cta-premium p,
.factum-final-cta p {
    max-width: 720px;
    color: var(--factum-color-muted);
    line-height: 1.7;
}

.factum-cta-premium .factum-button {
    flex: 0 0 auto;
    padding: 16px 24px;
    background: var(--factum-color-primary);
    color: #fff;
}

.factum-document-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.factum-document-grid article {
    padding: 30px;
    border-left: 3px solid var(--factum-color-accent);
    background: #fff;
    box-shadow: var(--factum-shadow-sm);
}

.factum-document-grid strong {
    color: var(--factum-color-accent);
    font-size: .8rem;
}

.factum-document-grid h3 {
    margin: 16px 0 8px;
    color: var(--factum-color-primary);
}

.factum-document-grid p {
    color: var(--factum-color-muted);
    line-height: 1.65;
}

.factum-faq {
    display: grid;
    gap: 12px;
}

.factum-faq details {
    border: 1px solid rgba(13,44,79,.09);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(13,44,79,.05);
}

.factum-faq summary {
    position: relative;
    padding: 20px 54px 20px 22px;
    color: var(--factum-color-primary);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.factum-faq summary::-webkit-details-marker { display: none; }
.factum-faq summary::after {
    content: '+';
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--factum-color-accent);
    font-size: 1.35rem;
}
.factum-faq details[open] summary::after { content: '−'; }
.factum-faq details p {
    margin: 0;
    padding: 0 22px 22px;
    color: var(--factum-color-muted);
    line-height: 1.7;
}

.factum-final-cta {
    padding: 72px 0;
    background: linear-gradient(135deg, #071827, var(--factum-color-primary));
}

.factum-final-cta h2,
.factum-final-cta p { color: #fff; }
.factum-final-cta p { opacity: .78; }
.factum-final-cta span { color: var(--factum-color-accent-soft); }

/* El formulario global adopta el lenguaje visual de la Home Premium. */
#contacto-form {
    background: linear-gradient(180deg, #fff, #f7f3ec);
}

#contacto-form .rc-form-header {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}

#contacto-form .rc-form-header h1 {
    color: var(--factum-color-primary);
    font-size: clamp(2rem, 4vw, 3rem);
}

#contacto-form .rc-lead-form {
    padding: 28px;
    border: 1px solid rgba(13,44,79,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--factum-shadow-md);
}

@media (max-width: 980px) {
    .factum-hero .rc-hero-inner,
    .factum-why-layout,
    .factum-faq-layout {
        grid-template-columns: 1fr;
    }
    .factum-hero-panel { max-width: 700px; }
    .factum-trustbar-grid { grid-template-columns: repeat(2, 1fr); }
    .factum-trustbar-grid > div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(13,44,79,.09); }
    .factum-trustbar-grid > div:nth-child(4) { border-top: 1px solid rgba(13,44,79,.09); }
    .factum-service-grid { grid-template-columns: repeat(2, 1fr); }
    .factum-timeline { grid-template-columns: repeat(2, 1fr); gap: 34px 0; }
    .factum-timeline::before { display: none; }
}

@media (max-width: 680px) {
    .factum-home-section { padding: 64px 0; }
    .factum-hero { padding: 56px 0 48px; }
    .factum-hero .rc-hero-inner { gap: 34px; }
    .factum-hero .rc-hero-left h1 { font-size: clamp(2.35rem, 11vw, 3.5rem); }
    .factum-hero-panel { padding: 28px 22px 24px 28px; border-radius: 16px; }
    .factum-trustbar-grid,
    .factum-service-grid,
    .factum-timeline,
    .factum-why-grid,
    .factum-document-grid {
        grid-template-columns: 1fr;
    }
    .factum-trustbar-grid > div {
        min-height: auto;
        padding: 22px 4px;
        border-left: 0 !important;
        border-top: 1px solid rgba(13,44,79,.09);
    }
    .factum-trustbar-grid > div:first-child { border-top: 0; }
    .factum-card--rich { min-height: 0; }
    .factum-timeline article { padding: 0 8px; }
    .factum-cta-premium .factum-container,
    .factum-final-cta .factum-container {
        align-items: stretch;
        flex-direction: column;
    }
    .factum-cta-premium .factum-button,
    .factum-final-cta .rc-btn { width: 100%; justify-content: center; }
    .factum-section-head--left { text-align: center; }
}

/* =========================================================
   RELEASE 2.2.1 — HOME FINAL
   Refinamiento minimalista, jerarquía y cierre visual.
========================================================= */
.factum-hero {
    padding: 66px 0 62px;
}

.factum-hero .rc-hero-inner {
    grid-template-columns: minmax(0, 1.04fr) minmax(330px, .78fr);
    gap: 58px;
    align-items: center;
}

.factum-hero .rc-hero-left h1 {
    max-width: 680px;
    margin-top: 18px;
    font-size: clamp(2rem, 4vw, 3.8rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.factum-hero-lead {
    max-width: 650px !important;
    margin-top: 20px !important;
    font-size: 1.08rem !important;
    line-height: 1.72 !important;
}

.factum-badge--dark {
    padding: .42rem .68rem;
    border-color: rgba(216,199,151,.28);
    background: rgba(255,255,255,.045);
    font-size: .80rem;
    letter-spacing: .12em;
}

.factum-hero-panel {
    padding: 30px 30px 27px 36px;
    border-radius: 18px;
    box-shadow: 0 24px 62px rgba(0,0,0,.18);
}

.factum-hero-panel::before { width: 4px; }
.factum-hero-panel h2 { font-size: 1.48rem; margin-bottom: 20px; }
.factum-check-list { gap: 8px; margin-bottom: 22px; }
.factum-check-list li {
    padding: 10px 12px 10px 38px;
    border-radius: 10px;
    font-size: .91rem;
    font-weight: 650;
}

.factum-trustbar-grid > div {
    min-height: 112px;
    padding: 23px 24px;
}

.factum-home-section { padding: 76px 0; }
.factum-section-head { margin-bottom: 34px; }
.factum-section-head h2 {
    font-size: clamp(1.85rem, 3.2vw, 2.75rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    text-wrap: balance;
}
.factum-section-head p { margin-top: 12px; font-size: 1rem; }

.factum-service-grid { gap: 18px; }
.factum-card--rich {
    min-height: 246px;
    padding: 23px;
    border-radius: 14px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 8px 24px rgba(13,44,79,.055);
}
.factum-card::after {
    left: 22px;
    right: auto;
    width: 46px;
    height: 2px;
    transform: none;
    opacity: .52;
}
.factum-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 38px rgba(13,44,79,.105);
}
.factum-card:hover::after { transform: none; opacity: .9; }
.factum-card-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 17px;
    font-size: 1rem;
    box-shadow: 0 5px 16px rgba(13,44,79,.06);
}
.factum-card--rich:hover .factum-card-icon { transform: scale(1.035); }
.factum-card-label { margin-bottom: 8px; font-size: .68rem; }
.factum-card--rich h3 { margin-bottom: 9px; font-size: 1.17rem; line-height: 1.3; }
.factum-card--rich p { margin-bottom: 18px; font-size: .92rem; line-height: 1.58; }
.factum-card--rich small { font-size: .82rem; }
.factum-card--service:hover small b { transform: translateX(4px); }

.factum-timeline article > span {
    width: 54px;
    height: 54px;
    margin-bottom: 18px;
    box-shadow: 0 7px 20px rgba(13,44,79,.06);
}
.factum-timeline::before { top: 27px; }
.factum-timeline article { padding: 0 22px; }
.factum-timeline h3 { font-size: 1.04rem; }
.factum-timeline p { font-size: .9rem; }

.factum-why-layout { gap: 58px; }
.factum-why-grid { gap: 14px; }
.factum-why-grid article {
    padding: 22px;
    border-radius: 13px;
    box-shadow: 0 7px 22px rgba(13,44,79,.045);
}
.factum-why-grid h3 { margin-top: 11px; font-size: 1.08rem; }
.factum-why-grid p { font-size: .92rem; }

.factum-cta-premium { padding: 58px 0; }
.factum-cta-premium h2,
.factum-final-cta h2 { font-size: clamp(1.9rem, 3.4vw, 2.85rem); }

.factum-document-grid { gap: 16px; }
.factum-document-grid article {
    padding: 25px;
    border-left-width: 2px;
    box-shadow: 0 7px 22px rgba(13,44,79,.045);
}

.factum-faq details { border-radius: 11px; box-shadow: 0 5px 18px rgba(13,44,79,.04); }
.factum-faq summary { padding: 18px 50px 18px 20px; font-size: .96rem; }
.factum-faq details p { padding: 0 20px 20px; font-size: .93rem; }

#contacto-form { padding-top: 64px !important; padding-bottom: 68px !important; }
#contacto-form .rc-form-header h2 {
    color: var(--factum-color-primary);
    font-size: clamp(1.9rem, 3.2vw, 2.65rem);
    line-height: 1.12;
}
#contacto-form .rc-form-header p { max-width: 650px; margin-inline: auto; }
#contacto-form .rc-lead-form {
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 14px 38px rgba(13,44,79,.085);
}

.factum-footer { padding-top: 0; }
.factum-footer-main {
    display: grid;
    grid-template-columns: 1.45fr .75fr .75fr 1fr;
    gap: 46px;
    padding: 54px 0 42px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.factum-footer-brand .brand { display: inline-flex; margin-bottom: 18px; }
.factum-footer-brand > p,
.factum-footer-action p {
    max-width: 340px;
    color: rgba(255,255,255,.67);
    font-size: .9rem;
    line-height: 1.65;
}
.factum-footer-links { display: flex; flex-direction: column; gap: 10px; }
.factum-footer-links strong,
.factum-footer-action strong {
    margin-bottom: 7px;
    color: #fff;
    font-size: .88rem;
    letter-spacing: .04em;
}
.factum-footer-links a {
    color: rgba(255,255,255,.66);
    font-size: .88rem;
    transition: color var(--factum-transition), transform var(--factum-transition);
}
.factum-footer-links a:hover { color: #fff; transform: translateX(3px); }
.factum-footer-action .factum-button {
    display: inline-flex;
    margin-top: 16px;
    padding: 11px 16px;
    background: var(--factum-color-accent-soft);
    color: var(--factum-color-primary);
    font-size: .86rem;
    font-weight: 800;
}
.factum-footer .footer-bottom { padding: 20px 0; }

@media (max-width: 980px) {
    .factum-footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
    .factum-footer-action { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .factum-hero { padding: 48px 0 44px; }
    .factum-hero .rc-hero-left h1 {
        max-width: 18ch;
        font-size: clamp(2.15rem, 10vw, 3rem);
        line-height: 1.07;
    }
    .factum-hero-lead { font-size: 1rem !important; }
    .factum-home-section { padding: 58px 0; }
    .factum-card--rich { padding: 21px; min-height: 0; }
    .factum-footer-main { grid-template-columns: 1fr; gap: 30px; padding: 42px 0 34px; }
    .factum-footer-action { grid-column: auto; }
    .factum-footer .footer-bottom { gap: 8px; align-items: flex-start; flex-direction: column; }
}


/* Release 2.2.2 — Footer identity refinement */
.factum-footer-brand .brand {
    align-items: center;
    gap: 14px;
}

.factum-footer-logo {
    width: 64px;
    height: 64px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    flex: 0 0 64px;
}

.factum-footer-logo img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 3px 10px rgba(198, 162, 92, 0.14));
}

.factum-footer .brand-text strong {
    color: #f7edd5;
    font-size: clamp(1.32rem, 1.7vw, 1.62rem);
    line-height: 1.05;
    letter-spacing: 0.015em;
    font-weight: 650;
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.18);
}

.factum-footer .brand-text span {
    color: #d9c493;
    margin-top: 6px;
    font-size: 0.88rem;
    letter-spacing: 0.025em;
}

@media (max-width: 640px) {
    .factum-footer-logo,
    .factum-footer-logo img {
        width: 56px;
        height: 56px;
    }
    .factum-footer-logo { flex-basis: 56px; }
}


/* Release 2.5 — Public Ready */
.factum-legal-advice{background:#fff;border-block:1px solid rgba(13,44,79,.07)}
.factum-advice-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(42px,7vw,92px);align-items:start}
.factum-advice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.factum-advice-grid article{padding:26px;border:1px solid rgba(13,44,79,.09);background:linear-gradient(145deg,#fff,#fbfaf7);border-radius:18px;box-shadow:0 12px 34px rgba(13,44,79,.045)}
.factum-advice-grid article>span{display:block;color:var(--factum-color-accent);font:800 11px/1 Arial,sans-serif;letter-spacing:.12em;margin-bottom:22px}
.factum-advice-grid h3{margin:0 0 9px;color:var(--factum-color-primary);font-size:1.12rem}
.factum-advice-grid p{margin:0;color:#68727c;font-size:.94rem;line-height:1.65}
.factum-text-link{display:inline-flex;margin-top:22px;color:var(--factum-color-primary);font-weight:800;text-decoration:none}.factum-text-link b{margin-left:8px;color:var(--factum-color-accent)}
.factum-success-page{min-height:72vh;padding:clamp(54px,8vw,96px) 20px;background:linear-gradient(180deg,#f7f4ee,#fff)}
.factum-success-shell{max-width:960px;margin:0 auto;text-align:center;padding:clamp(30px,5vw,58px);border:1px solid rgba(13,44,79,.09);background:rgba(255,255,255,.9);border-radius:24px;box-shadow:0 28px 80px rgba(13,44,79,.09)}
.factum-success-icon{width:58px;height:58px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:#17314c;color:#fff;font-size:26px;box-shadow:0 10px 24px rgba(23,49,76,.18)}
.factum-success-kicker{display:block;color:#9a8258;font:800 11px/1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;margin-bottom:13px}
.factum-success-shell h1{max-width:18ch;margin:0 auto 16px;color:#17314c;font-size:clamp(2rem,4.5vw,3.35rem);line-height:1.05;letter-spacing:-.04em}
.factum-success-lead{max-width:680px;margin:0 auto 28px;color:#65717c;font-size:1.05rem;line-height:1.7}
.factum-success-reference{display:inline-flex;align-items:center;gap:18px;margin:0 auto 34px;padding:14px 20px;border:1px solid #e7dfd2;background:#fbfaf7;border-radius:999px}
.factum-success-reference span{font:800 10px/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#7b858d}.factum-success-reference strong{color:#17314c;font-size:1.08rem;letter-spacing:.08em}
.factum-success-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left;margin:0 0 26px}
.factum-success-steps article{padding:22px;border:1px solid rgba(13,44,79,.08);background:#fff;border-radius:16px}.factum-success-steps span{color:#aa8d56;font:800 11px/1 Arial,sans-serif;letter-spacing:.1em}.factum-success-steps h2{font-size:1.02rem;margin:16px 0 7px;color:#17314c}.factum-success-steps p{font-size:.9rem;line-height:1.55;color:#6b747d;margin:0}
.factum-success-note{max-width:720px;margin:0 auto;padding:15px 18px;background:#f6f1e7;color:#6c747c;border-radius:12px;font-size:.88rem;line-height:1.55}
.factum-success-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.factum-success-privacy{margin-top:22px;color:#7b838b;font-size:.82rem}
@media(max-width:820px){.factum-advice-layout{grid-template-columns:1fr}.factum-success-steps{grid-template-columns:1fr}}
@media(max-width:620px){.factum-advice-grid{grid-template-columns:1fr}.factum-success-shell{padding:28px 20px;border-radius:18px}.factum-success-reference{flex-direction:column;gap:7px;border-radius:16px}.factum-success-actions .factum-button{width:100%}}

/* ==========================================================================
   SERVICES PREMIUM
   ========================================================================== */
/* FACTUM IUS — Release 2.3 · Servicios Premium */
.factum-service-premium{--service-shell:1200px;background:#fff}.factum-service-premium .service-hero{padding:clamp(62px,8vw,104px) 24px clamp(54px,7vw,88px);background:radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--service-accent) 18%,transparent),transparent 29%),linear-gradient(135deg,#f8f5ef 0%,#fff 55%,#f4f0e7 100%)}.factum-service-premium .service-hero-shell{width:min(100%,var(--service-shell));margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.78fr);gap:clamp(42px,6vw,78px);align-items:center}.factum-service-premium .service-kicker{display:inline-flex;padding:.45rem .72rem;border:1px solid color-mix(in srgb,var(--service-accent) 38%,transparent);border-radius:999px;background:rgba(255,255,255,.58);font-size:.72rem;letter-spacing:.13em}.factum-service-premium .service-hero h1{max-width:790px;margin-top:18px;font-size:clamp(2.55rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.factum-service-premium .service-hero-lead{max-width:690px;margin-top:22px;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.75}.factum-service-premium .service-hero-card{position:relative;overflow:hidden;padding:34px 34px 30px 39px;border:1px solid rgba(13,44,79,.1);border-radius:22px;background:rgba(255,255,255,.84);box-shadow:0 24px 68px rgba(13,44,79,.12);backdrop-filter:blur(12px)}.factum-service-premium .service-hero-card::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:4px;border-radius:0 8px 8px 0;background:linear-gradient(180deg,var(--service-accent),var(--rc-blue))}.factum-service-premium .service-hero-card h2{margin-top:10px;font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.15}.factum-service-premium .service-hero-card ul{margin-top:22px;display:grid;gap:11px}.factum-service-premium .service-hero-card li{position:relative;padding-left:23px}.factum-service-premium .service-hero-card li::before{content:"✓";position:absolute;left:0;color:var(--service-accent);font-weight:800}.factum-panel-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:25px;padding-top:18px;border-top:1px solid var(--rc-line)}.factum-panel-footer span{color:var(--rc-muted);font-size:.78rem;line-height:1.35}.factum-panel-footer a{color:var(--rc-blue);font-size:.82rem;font-weight:800;text-decoration:none;white-space:nowrap}.factum-service-premium .service-proof-strip{background:#fff;border-bottom:1px solid var(--rc-line)}.factum-service-premium .service-proof-strip-inner{width:min(100%,var(--service-shell));margin:auto}.factum-service-premium .service-section{width:min(100%,var(--service-shell));margin:auto;padding:clamp(68px,8vw,104px) 24px}.factum-service-premium .service-heading{max-width:760px}.factum-service-premium .service-heading.center{margin-inline:auto}.factum-service-premium .service-heading h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;text-wrap:balance}.factum-service-premium .service-signs-grid{gap:18px;margin-top:38px}.factum-service-premium .service-sign-card{min-height:0;padding:23px 22px 22px;border-radius:15px;border:1px solid rgba(13,44,79,.09);background:linear-gradient(145deg,#fff,#fbf8f2);box-shadow:0 10px 28px rgba(13,44,79,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.factum-service-premium .service-sign-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(13,44,79,.1);border-color:color-mix(in srgb,var(--service-accent) 42%,transparent)}.factum-service-premium .service-sign-card h3{margin-top:12px;font-size:1.06rem}.factum-service-premium .service-sign-card p{margin-top:7px;font-size:.9rem;line-height:1.55}.factum-service-premium .service-sign-number{font-size:.7rem}.factum-service-premium .service-focus{background:linear-gradient(180deg,#faf8f3,#fff)}.factum-service-premium .service-focus-shell{width:min(100%,var(--service-shell));margin:auto;padding:clamp(72px,8vw,106px) 24px}.factum-service-premium .service-focus-panel{border-radius:20px;box-shadow:14px 14px 0 color-mix(in srgb,var(--service-accent) 22%,transparent)}.factum-recovery{border-block:1px solid var(--rc-line);background:#0d2c4f;color:#fff}.factum-recovery-shell{width:min(100%,var(--service-shell));margin:auto;padding:clamp(72px,8vw,102px) 24px}.factum-recovery .service-heading span{color:#d8c797}.factum-recovery .service-heading h2{color:#fff}.factum-recovery .service-heading p{color:rgba(255,255,255,.72)}.factum-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}.factum-stat{min-height:150px;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.055)}.factum-stat strong{display:block;color:#f4e8c7;font-family:Georgia,'Times New Roman',serif;font-size:1.48rem;line-height:1.15}.factum-stat span{display:block;margin-top:12px;color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.55}.factum-timeline{position:relative;gap:18px}.factum-timeline::before{content:"";position:absolute;top:34px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--service-accent),transparent);z-index:0}.factum-timeline .service-process-card{position:relative;z-index:1;border-radius:16px;background:#fff}.factum-service-premium .service-faq{max-width:920px;margin:auto;padding:clamp(72px,8vw,106px) 24px}.factum-service-premium .service-faq details{border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(13,44,79,.05)}.factum-service-premium .service-cta{width:min(calc(100% - 48px),var(--service-shell));margin:0 auto clamp(72px,8vw,104px);border-radius:22px;box-shadow:0 24px 58px rgba(13,44,79,.16)}.factum-related-grid a{border-radius:15px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.factum-related-grid a:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(13,44,79,.09);border-color:color-mix(in srgb,var(--service-accent) 38%,transparent)}@media(max-width:900px){.factum-service-premium .service-hero-shell{grid-template-columns:1fr}.factum-service-premium .service-hero-card{max-width:none}.factum-stats-grid{grid-template-columns:repeat(2,1fr)}.factum-timeline::before{display:none}}@media(max-width:640px){.factum-service-premium .service-hero{padding:50px 18px 46px}.factum-service-premium .service-hero h1{font-size:clamp(2.2rem,12vw,3.25rem)}.factum-service-premium .service-hero-card{padding:27px 22px 24px 28px;border-radius:16px}.factum-panel-footer{align-items:flex-start;flex-direction:column}.factum-service-premium .service-section,.factum-service-premium .service-focus-shell,.factum-recovery-shell{padding-left:18px;padding-right:18px}.factum-stats-grid{grid-template-columns:1fr}.factum-stat{min-height:0}.factum-service-premium .service-cta{width:calc(100% - 36px);border-radius:16px}}@media(prefers-reduced-motion:reduce){.factum-service-premium .service-sign-card,.factum-related-grid a{transition:none!important}}

/* Release 2.3.1 — corrección de solapamiento cromático en heroes */
.factum-service-premium .service-hero {
    isolation: isolate;
    color: var(--rc-ink);
    background: linear-gradient(135deg, #f8f5ef 0%, #ffffff 58%, #f3eee5 100%);
}

.factum-service-premium .service-hero::before {
    display: none;
    content: none;
}

.factum-service-premium .service-hero-shell {
    position: relative;
    z-index: 1;
}

.factum-service-premium .service-kicker {
    color: var(--rc-blue);
    border-color: color-mix(in srgb, var(--service-accent) 42%, transparent);
    background: rgba(255, 255, 255, .72);
}

.factum-service-premium .service-kicker::before {
    background: var(--service-accent);
}

.factum-service-premium .service-hero h1 {
    color: var(--rc-ink);
}

.factum-service-premium .service-hero-lead {
    color: var(--rc-muted);
}

.factum-service-premium .service-actions .rc-btn-secondary {
    border-color: rgba(13, 44, 79, .22);
    color: var(--rc-blue);
    background: rgba(255, 255, 255, .66);
}

.factum-service-premium .service-actions .rc-btn-secondary:hover {
    border-color: rgba(13, 44, 79, .34);
    background: #fff;
}

.factum-service-premium .service-trust {
    color: var(--rc-muted);
}

.factum-service-premium .service-trust span::before {
    color: var(--service-accent);
}

/* =========================================================
   RELEASE 2.3.2 — SERVICIOS PREMIUM · PULIDO EDITORIAL
   Mejora visual sin alterar el contenido ni la arquitectura.
========================================================= */
.factum-service-premium {
    --service-ink: #10263f;
    --service-paper: #fbf9f5;
    --service-line: rgba(13, 44, 79, .105);
    --service-shadow: 0 20px 55px rgba(13, 44, 79, .09);
    color: var(--service-ink);
}

.factum-service-premium .service-hero {
    position: relative;
    overflow: hidden;
    padding-top: clamp(72px, 8.5vw, 112px);
    padding-bottom: clamp(66px, 7.5vw, 96px);
    border-bottom: 1px solid rgba(13, 44, 79, .07);
    background:
        radial-gradient(circle at 88% 7%, color-mix(in srgb, var(--service-accent) 13%, transparent) 0, transparent 31%),
        linear-gradient(135deg, #faf8f4 0%, #fff 58%, #f5f1e9 100%);
}

.factum-service-premium .service-hero::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -220px;
    bottom: -270px;
    border: 1px solid color-mix(in srgb, var(--service-accent) 18%, transparent);
    border-radius: 50%;
    pointer-events: none;
}

.factum-service-premium .service-hero-shell {
    grid-template-columns: minmax(0, 1.16fr) minmax(340px, .74fr);
    gap: clamp(48px, 6vw, 84px);
}

.factum-service-premium .service-kicker {
    gap: .55rem;
    padding: .48rem .78rem;
    border-color: color-mix(in srgb, var(--service-accent) 32%, transparent);
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 8px 24px rgba(13, 44, 79, .035);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.factum-service-premium .service-kicker::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--service-accent);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--service-accent) 14%, transparent);
}

.factum-service-premium .service-hero h1 {
    max-width: 720px;
    margin-top: 22px;
    color: var(--service-ink);
    font-size: clamp(2.6rem, 4.5vw, 4.25rem);
    line-height: 1.025;
    letter-spacing: -.042em;
}

.factum-service-premium .service-hero-lead {
    max-width: 650px;
    margin-top: 24px;
    color: #5e6976;
    font-size: clamp(1rem, 1.35vw, 1.12rem);
    line-height: 1.78;
}

.factum-service-premium .service-actions {
    margin-top: 31px;
    gap: 12px;
}

.factum-service-premium .service-actions .rc-btn {
    min-height: 48px;
    padding-inline: 22px;
    border-radius: 10px;
    font-size: .88rem;
    letter-spacing: .01em;
}

.factum-service-premium .service-actions .rc-btn-primary {
    box-shadow: 0 13px 28px rgba(13, 44, 79, .17);
}

.factum-service-premium .service-actions .rc-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(13, 44, 79, .22);
}

.factum-service-premium .service-trust {
    margin-top: 28px;
    gap: 18px;
}

.factum-service-premium .service-trust span {
    color: #6d7681;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .025em;
}

.factum-service-premium .service-trust span::before {
    color: var(--service-accent);
}

.factum-service-premium .service-hero-card {
    padding: 37px 35px 31px 42px;
    border: 1px solid rgba(13, 44, 79, .09);
    border-radius: 18px;
    background: linear-gradient(150deg, rgba(255,255,255,.97), rgba(250,247,240,.93));
    box-shadow: var(--service-shadow);
    backdrop-filter: blur(14px);
}

.factum-service-premium .service-hero-card::before {
    top: 30px;
    bottom: 30px;
    width: 3px;
    background: linear-gradient(180deg, var(--service-accent), color-mix(in srgb, var(--service-accent) 44%, var(--rc-blue)));
}

.factum-service-premium .service-hero-card small {
    color: color-mix(in srgb, var(--service-accent) 82%, #5a4b2d);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.factum-service-premium .service-hero-card h2 {
    margin-top: 13px;
    color: var(--service-ink);
    font-size: clamp(1.42rem, 2vw, 1.86rem);
    line-height: 1.17;
    letter-spacing: -.022em;
}

.factum-service-premium .service-hero-card ul {
    margin-top: 24px;
    gap: 13px;
}

.factum-service-premium .service-hero-card li {
    color: #586472;
    font-size: .91rem;
    line-height: 1.5;
}

.factum-service-premium .service-hero-card li::before {
    content: "";
    top: .48em;
    width: 8px;
    height: 8px;
    border: 2px solid var(--service-accent);
    border-radius: 50%;
}

.factum-panel-footer {
    margin-top: 27px;
    padding-top: 20px;
    border-top-color: rgba(13, 44, 79, .085);
}

.factum-panel-footer a {
    position: relative;
    color: var(--service-ink);
    font-size: .78rem;
}

.factum-panel-footer a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 1px;
    background: var(--service-accent);
    transform: scaleX(.35);
    transform-origin: left;
    transition: transform .25s ease;
}

.factum-panel-footer a:hover::after { transform: scaleX(1); }

.factum-service-premium .service-proof-strip {
    border-bottom: 1px solid rgba(13, 44, 79, .07);
    background: #fff;
}

.factum-service-premium .service-proof-strip-inner {
    padding-inline: 24px;
}

.factum-service-premium .service-proof-item {
    min-height: 118px;
    padding: 29px 34px;
}

.factum-service-premium .service-proof-item strong {
    color: var(--service-ink);
    font-size: .95rem;
    letter-spacing: -.01em;
}

.factum-service-premium .service-proof-item span {
    margin-top: 8px;
    color: #737d87;
    font-size: .84rem;
    line-height: 1.5;
}

.factum-service-premium .service-section {
    padding-top: clamp(78px, 8vw, 112px);
    padding-bottom: clamp(78px, 8vw, 112px);
}

.factum-service-premium .service-heading > span {
    margin-bottom: 13px;
    color: color-mix(in srgb, var(--service-accent) 80%, #715f3d);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.factum-service-premium .service-heading h2 {
    max-width: 730px;
    color: var(--service-ink);
    font-size: clamp(2rem, 3.55vw, 3.05rem);
    line-height: 1.08;
    letter-spacing: -.036em;
}

.factum-service-premium .service-heading p {
    max-width: 690px;
    margin-top: 17px;
    color: #69737e;
    font-size: 1rem;
    line-height: 1.72;
}

.factum-service-premium .service-signs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 42px;
}

.factum-service-premium .service-sign-card {
    position: relative;
    padding: 25px 24px 24px;
    border: 1px solid var(--service-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(13, 44, 79, .045);
}

.factum-service-premium .service-sign-card::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 0;
    width: 38px;
    height: 2px;
    border-radius: 0 0 8px 8px;
    background: var(--service-accent);
    opacity: .72;
    transition: width .25s ease, opacity .25s ease;
}

.factum-service-premium .service-sign-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--service-accent) 32%, transparent);
    box-shadow: 0 17px 36px rgba(13, 44, 79, .075);
}

.factum-service-premium .service-sign-card:hover::before {
    width: 58px;
    opacity: 1;
}

.factum-service-premium .service-sign-number {
    color: color-mix(in srgb, var(--service-accent) 75%, #705d39);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.factum-service-premium .service-sign-card h3 {
    margin-top: 14px;
    color: var(--service-ink);
    font-size: 1rem;
    letter-spacing: -.015em;
}

.factum-service-premium .service-sign-card p {
    margin-top: 8px;
    color: #6f7984;
    font-size: .86rem;
    line-height: 1.58;
}

.factum-service-premium .service-focus {
    border-block: 1px solid rgba(13, 44, 79, .065);
    background: linear-gradient(180deg, #faf8f4, #fff);
}

.factum-service-premium .service-focus-shell {
    gap: clamp(40px, 5vw, 78px);
}

.factum-service-premium .service-focus-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(32px, 4vw, 46px);
    border: 1px solid rgba(13, 44, 79, .09);
    border-radius: 16px;
    background: var(--service-ink);
    box-shadow: 12px 12px 0 color-mix(in srgb, var(--service-accent) 24%, transparent);
}

.factum-service-premium .service-focus-panel::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    right: -70px;
    bottom: -70px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.factum-service-premium .service-focus-panel span {
    color: #dac99d;
    font-size: .68rem;
    letter-spacing: .15em;
}

.factum-service-premium .service-focus-panel strong {
    color: #fff;
    font-size: clamp(1.75rem, 3vw, 2.55rem);
    letter-spacing: -.035em;
}

.factum-service-premium .service-focus-panel p {
    color: rgba(255,255,255,.7);
    line-height: 1.7;
}

.factum-service-premium .service-focus-content h2 {
    color: var(--service-ink);
    font-size: clamp(2rem, 3.5vw, 3rem);
    letter-spacing: -.035em;
}

.factum-service-premium .service-focus-content li {
    position: relative;
    padding-left: 22px;
    color: #66717c;
}

.factum-service-premium .service-focus-content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .65em;
    width: 8px;
    height: 1px;
    background: var(--service-accent);
}

.factum-recovery {
    position: relative;
    overflow: hidden;
    border-block: 0;
    background: linear-gradient(135deg, #0c2948 0%, #102f52 55%, #0b253f 100%);
}

.factum-recovery::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .32;
    background: radial-gradient(circle at 85% 0%, color-mix(in srgb, var(--service-accent) 34%, transparent), transparent 30%);
    pointer-events: none;
}

.factum-recovery-shell { position: relative; z-index: 1; }

.factum-stats-grid {
    gap: 13px;
    margin-top: 42px;
}

.factum-stat {
    min-height: 156px;
    padding: 27px 25px;
    border-color: rgba(255,255,255,.12);
    border-radius: 13px;
    background: rgba(255,255,255,.045);
    backdrop-filter: blur(8px);
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.factum-stat:hover {
    transform: translateY(-3px);
    border-color: rgba(216,199,151,.38);
    background: rgba(255,255,255,.075);
}

.factum-stat strong {
    font-size: 1.42rem;
    letter-spacing: -.02em;
}

.factum-stat span {
    margin-top: 14px;
    font-size: .84rem;
}

.factum-timeline { gap: 16px; margin-top: 42px; }

.factum-timeline::before {
    top: 37px;
    left: 10%;
    right: 10%;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--service-accent) 60%, transparent), transparent);
}

.factum-timeline .service-process-card {
    min-height: 190px;
    padding: 27px 24px;
    border: 1px solid rgba(13,44,79,.085);
    border-radius: 13px;
    box-shadow: 0 9px 28px rgba(13,44,79,.045);
}

.factum-timeline .service-process-card strong {
    display: inline-grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border: 1px solid color-mix(in srgb, var(--service-accent) 45%, transparent);
    border-radius: 50%;
    background: #fff;
    color: color-mix(in srgb, var(--service-accent) 78%, #695737);
    font-size: .65rem;
}

.factum-timeline .service-process-card h3 {
    margin-top: 21px;
    color: var(--service-ink);
    font-size: 1rem;
}

.factum-timeline .service-process-card p {
    color: #707a85;
    font-size: .86rem;
    line-height: 1.58;
}

.factum-service-premium .service-faq {
    max-width: 880px;
}

.factum-service-premium .service-faq details {
    overflow: hidden;
    margin-top: 11px;
    border: 1px solid rgba(13,44,79,.08);
    border-radius: 11px;
    box-shadow: none;
    transition: border-color .25s ease, box-shadow .25s ease;
}

.factum-service-premium .service-faq details:hover,
.factum-service-premium .service-faq details[open] {
    border-color: color-mix(in srgb, var(--service-accent) 35%, transparent);
    box-shadow: 0 11px 26px rgba(13,44,79,.055);
}

.factum-service-premium .service-faq summary {
    padding: 21px 23px;
    color: var(--service-ink);
    font-size: .96rem;
    font-weight: 700;
}

.factum-service-premium .service-faq details p {
    padding: 0 23px 22px;
    color: #68737e;
    line-height: 1.7;
}

.factum-service-premium .service-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(35px, 5vw, 54px);
    border: 1px solid rgba(13,44,79,.09);
    border-radius: 18px;
    background: linear-gradient(135deg, #f6f1e8 0%, #fff 72%);
    box-shadow: 0 22px 55px rgba(13,44,79,.095);
}

.factum-service-premium .service-cta::after {
    content: "";
    position: absolute;
    right: -100px;
    top: -110px;
    width: 260px;
    height: 260px;
    border: 1px solid color-mix(in srgb, var(--service-accent) 26%, transparent);
    border-radius: 50%;
}

.factum-service-premium .service-cta > * { position: relative; z-index: 1; }

.factum-service-premium .service-cta small {
    color: color-mix(in srgb, var(--service-accent) 80%, #6c5937);
    letter-spacing: .14em;
}

.factum-service-premium .service-cta h2 {
    max-width: 650px;
    color: var(--service-ink);
    font-size: clamp(1.9rem, 3.4vw, 3rem);
    letter-spacing: -.035em;
}

.factum-service-premium .service-cta p { color: #67727d; }

.factum-service-premium .service-related {
    padding-top: 0;
}

.factum-related-grid {
    gap: 14px;
    margin-top: 34px;
}

.factum-related-grid a {
    position: relative;
    overflow: hidden;
    min-height: 145px;
    padding: 25px 24px;
    border: 1px solid rgba(13,44,79,.085);
    border-radius: 13px;
    background: linear-gradient(150deg, #fff, #fbf8f2);
    box-shadow: 0 8px 24px rgba(13,44,79,.045);
}

.factum-related-grid a::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 0;
    width: 40px;
    height: 2px;
    background: var(--service-accent);
    opacity: .7;
    transition: width .25s ease;
}

.factum-related-grid a:hover::before { width: 64px; }

.factum-related-grid a:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(13,44,79,.075);
}

.factum-related-grid a > span {
    margin-top: 12px;
    color: #707a84;
    font-size: .86rem;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .factum-service-premium .service-hero-shell {
        grid-template-columns: 1fr;
        gap: 38px;
    }
    .factum-service-premium .service-hero-card { max-width: 680px; }
    .factum-service-premium .service-signs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .factum-service-premium .service-hero {
        padding-top: 52px;
        padding-bottom: 52px;
    }
    .factum-service-premium .service-hero h1 {
        font-size: clamp(2.15rem, 11vw, 3rem);
        letter-spacing: -.035em;
    }
    .factum-service-premium .service-hero-card {
        padding: 29px 23px 25px 29px;
        border-radius: 14px;
    }
    .factum-service-premium .service-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .factum-service-premium .service-actions .rc-btn { width: 100%; }
    .factum-service-premium .service-trust { gap: 10px 16px; }
    .factum-service-premium .service-proof-item { min-height: 0; padding: 17px 0; }
    .factum-service-premium .service-signs-grid { grid-template-columns: 1fr; gap: 12px; }
    .factum-service-premium .service-sign-card { padding: 23px 21px 21px; }
    .factum-service-premium .service-focus-panel { box-shadow: 8px 8px 0 color-mix(in srgb, var(--service-accent) 22%, transparent); }
    .factum-timeline .service-process-card { min-height: 0; }
    .factum-service-premium .service-cta { padding: 31px 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .factum-service-premium .service-sign-card::before,
    .factum-panel-footer a::after,
    .factum-stat,
    .factum-related-grid a::before {
        transition: none !important;
    }
}

/* Release 2.3.3 — Alcance del análisis: paleta neutra y editorial */
.factum-recovery {
    border-block: 1px solid rgba(13, 44, 79, .08);
    background: linear-gradient(180deg, #f7f4ee 0%, #fbfaf7 100%);
    color: #18324d;
}

.factum-recovery::before {
    opacity: .16;
    background:
        radial-gradient(circle at 88% 8%, rgba(190, 168, 123, .18), transparent 28%),
        linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent);
}

.factum-recovery .service-heading span {
    color: #9a8258;
}

.factum-recovery .service-heading h2 {
    color: #17314c;
}

.factum-recovery .service-heading p {
    color: #69737d;
}

.factum-stat {
    min-height: 146px;
    padding: 25px 23px;
    border: 1px solid rgba(13, 44, 79, .09);
    background: rgba(255,255,255,.78);
    box-shadow: 0 10px 30px rgba(13, 44, 79, .045);
    backdrop-filter: none;
}

.factum-stat:hover {
    transform: translateY(-2px);
    border-color: rgba(154, 130, 88, .28);
    background: #fff;
    box-shadow: 0 16px 36px rgba(13, 44, 79, .07);
}

.factum-stat strong {
    color: #243b52;
    font-size: 1.34rem;
    font-weight: 600;
}

.factum-stat span {
    color: #717b84;
}


/* Release 2.5 — Datos más claros y documentación */
.factum-service-premium .service-proof-strip{background:#fff;border-block:1px solid rgba(13,44,79,.08)}
.factum-service-premium .service-proof-strip-inner{gap:0}
.factum-service-premium .service-proof-item{position:relative;padding:22px 30px;min-height:96px}
.factum-service-premium .service-proof-item+ .service-proof-item{border-left:1px solid rgba(13,44,79,.08)}
.factum-service-premium .service-proof-item strong{font-size:1rem;color:#17314c}.factum-service-premium .service-proof-item span{font-size:.87rem;line-height:1.55;color:#707981}
.factum-service-premium .service-signs-grid{gap:14px}.factum-service-premium .service-sign-card{min-height:0;padding:22px 20px;border-radius:15px}.factum-service-premium .service-sign-card h3{font-size:1rem}.factum-service-premium .service-sign-card p{font-size:.87rem;line-height:1.52}
.factum-service-premium .factum-stats-grid{gap:12px}.factum-service-premium .factum-stat{min-height:126px;padding:22px 20px;border-radius:15px}.factum-service-premium .factum-stat strong{font-size:1.12rem}.factum-service-premium .factum-stat span{font-size:.84rem;line-height:1.5}
.service-documents{padding:clamp(64px,8vw,96px) 20px;background:#fff;border-block:1px solid rgba(13,44,79,.07)}
.service-documents-shell{max-width:1200px;margin:0 auto}.service-documents-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px}.service-documents-grid article{padding:24px 22px;border:1px solid rgba(13,44,79,.09);border-radius:16px;background:linear-gradient(145deg,#fff,#fbfaf7);box-shadow:0 10px 28px rgba(13,44,79,.04)}.service-documents-grid article>span{display:block;color:#aa8d56;font:800 11px/1 Arial,sans-serif;letter-spacing:.1em;margin-bottom:22px}.service-documents-grid h3{font-size:1.03rem;color:#17314c;margin:0 0 8px}.service-documents-grid p{font-size:.88rem;line-height:1.55;color:#707981;margin:0}
@media(max-width:900px){.service-documents-grid{grid-template-columns:repeat(2,1fr)}.factum-service-premium .service-proof-item+ .service-proof-item{border-left:0}}
@media(max-width:560px){.service-documents-grid{grid-template-columns:1fr}.service-documents{padding:54px 18px}.factum-service-premium .service-proof-item{padding:17px 0}}

/* ==========================================================================
   RELEASE 2.5.1 — AJUSTES FINALES
   ========================================================================== */

/* Elimina el círculo decorativo de las listas del panel lateral de servicios. */
.factum-service-premium .service-hero-card li::before {
    content: none;
    display: none;
}

.factum-service-premium .service-hero-card li {
    padding-left: 14px;
}

/* RELEASE 2.5.2 — navegación móvil desplazable */
@media (max-width: 900px) {
    .mobile-menu.is-open {
        /* El menú puede crecer hasta el espacio visible bajo la cabecera. */
        max-height: calc(100dvh - 77px);
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #c9b389 transparent;
    }

    .mobile-menu.is-open::-webkit-scrollbar {
        width: 5px;
    }

    .mobile-menu.is-open::-webkit-scrollbar-thumb {
        background: #c9b389;
        border-radius: 999px;
    }

    .mobile-services-submenu.is-open {
        /* Permite mostrar todas las áreas sin recortar el submenú. */
        max-height: 560px;
    }

    .mobile-menu .mobile-cta {
        margin-bottom: 6px;
    }
}


/* Release 3.0 — SEO, accesibilidad y bloques semánticos */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;color:#111827;padding:.75rem 1rem;border-radius:.5rem;box-shadow:0 8px 30px rgba(15,23,42,.18);font-weight:700}.skip-link:focus{top:1rem}.service-entities{padding:clamp(3.5rem,7vw,6rem) 1.25rem;background:#faf8f3}.service-entities-shell{max-width:1200px;margin:0 auto}.service-entities-list{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.service-entities-list li{padding:1rem 1.1rem;border:1px solid rgba(180,155,106,.28);border-radius:14px;background:rgba(255,255,255,.82);color:#172033;font-weight:650;box-shadow:0 8px 24px rgba(24,31,43,.04)}@media(max-width:800px){.service-entities-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.service-entities-list{grid-template-columns:1fr}}

/* Release 3.0.1 — enlaces sociales del footer */
.factum-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.factum-social-link {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    color: #f4e8c7;
    background: rgba(255, 255, 255, .055);
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease;
}

.factum-social-link svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.factum-social-link:hover,
.factum-social-link:focus-visible {
    color: #fff;
    border-color: rgba(216, 199, 151, .7);
    background: rgba(216, 199, 151, .14);
    transform: translateY(-3px);
    outline: none;
}

.factum-social-link:focus-visible {
    box-shadow: 0 0 0 3px rgba(216, 199, 151, .24);
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 640px) {
    .factum-social-links { margin-top: 17px; }
    .factum-social-link { width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .factum-social-link { transition: none; }
}

/* Release 4.0 · Calculadora de intereses abusivos */
.calculator-page{padding:clamp(46px,7vw,88px) 20px;background:linear-gradient(180deg,#f7f4ed 0%,#fff 58%,#f4f0e7 100%);min-height:70vh}.calculator-shell{width:min(900px,100%);margin:0 auto}.calculator-header{text-align:center;max-width:720px;margin:0 auto 30px}.calculator-kicker{display:inline-block;margin-bottom:12px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#9a7b43;font-weight:700}.calculator-header h1{font-size:clamp(2rem,4.4vw,3.35rem);line-height:1.06;margin:0 0 14px;color:#142033}.calculator-header p{margin:0;color:#667080;font-size:1.02rem;line-height:1.7}.calculator-card{background:rgba(255,255,255,.96);border:1px solid rgba(155,126,70,.2);border-radius:26px;padding:clamp(22px,4vw,42px);box-shadow:0 22px 70px rgba(20,32,51,.1)}.calculator-progress{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:30px}.calculator-progress span{font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:#8b93a0;padding:7px 12px;border-radius:999px;background:#f3f0e9}.calculator-progress .active{color:#6f5426;background:#eee4cf}.calculator-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.calculator-field{display:flex;flex-direction:column;gap:8px}.calculator-field label{font-weight:700;color:#253247;font-size:.93rem}.calculator-field small{color:#7b8491;line-height:1.45}.calculator-input{width:100%;min-height:52px;border:1px solid #d7d8da;border-radius:14px;background:#fff;padding:0 15px;font:inherit;color:#1d2939;outline:none;transition:.2s}.calculator-input:focus{border-color:#aa8a4f;box-shadow:0 0 0 4px rgba(170,138,79,.12)}.calculator-suffix{position:relative}.calculator-suffix .calculator-input{padding-right:72px}.calculator-suffix>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:.82rem;color:#7c8490}.calculator-primary{display:inline-flex;justify-content:center;align-items:center;min-height:50px;border:0;border-radius:14px;background:#17243a;color:#fff;padding:0 22px;font-weight:750;font-size:.95rem;cursor:pointer;text-decoration:none;transition:.22s}.calculator-primary:hover{transform:translateY(-2px);background:#24344e}.calculator-card form>.calculator-primary{width:100%;margin-top:24px}.calculator-error{min-height:22px;margin-top:14px;color:#a53838;font-size:.9rem}.calculator-result,.calculator-verdict{margin-top:30px;border-top:1px solid #ece7dc;padding-top:30px}.calculator-result>span{display:block;text-align:center;color:#7e8793;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem}.calculator-result>strong{display:block;text-align:center;color:#17243a;font-size:clamp(2rem,5vw,3.5rem);font-family:Georgia,serif;margin:8px 0}.calculator-result>p{text-align:center;color:#667080}.calculator-compare{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:20px}.calculator-verdict{padding:28px;border:1px solid #e5dece;border-radius:20px;background:#faf8f3}.calculator-verdict>span{display:inline-block;padding:6px 10px;border-radius:999px;background:#ece7dd;color:#6e5b35;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:800}.calculator-verdict h2{margin:13px 0 8px;color:#17243a;font-size:1.55rem}.calculator-verdict p{color:#667080;line-height:1.65}.calculator-verdict.high{border-color:#d9b9aa;background:#fff8f5}.calculator-verdict.review{border-color:#dacba7;background:#fffdf5}.calculator-link{margin-top:12px}.calculator-disclaimer{max-width:760px;margin:20px auto 0;text-align:center;color:#7d8490;font-size:.82rem;line-height:1.6}@media(max-width:700px){.calculator-grid,.calculator-compare{grid-template-columns:1fr}.calculator-primary{width:100%}.calculator-page{padding-left:14px;padding-right:14px}.calculator-card{border-radius:20px}.calculator-header{text-align:left}.calculator-progress{justify-content:flex-start}}

/* Release 4.2 — calculadora privada y cabecera simplificada */
.calculator-field--wide {
    grid-column: 1 / -1;
}
.calculator-loading {
    margin-top: 24px;
    padding: 28px;
    border: 1px solid rgba(180, 155, 106, .28);
    background: linear-gradient(145deg, #fff, #fbf8f2);
    text-align: center;
}
.calculator-loading-spinner {
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto 14px;
    border: 3px solid rgba(13, 44, 79, .12);
    border-top-color: #b49b6a;
    border-radius: 50%;
    animation: factum-spin .8s linear infinite;
}
.calculator-loading strong {
    display: block;
    color: #0d2c4f;
    font-size: 18px;
}
.calculator-loading p {
    margin: 8px auto 0;
    max-width: 520px;
    color: #6b7280;
}
@keyframes factum-spin { to { transform: rotate(360deg); } }
@media (max-width: 720px) {
    .calculator-field--wide { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .calculator-loading-spinner { animation: none; }
}


/* Release 4.2.1 · pantalla de cuota orientativa restaurada */
.calculator-result--premium {
    margin-top: 28px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid rgba(180, 155, 106, .28);
    border-radius: 22px;
    background: linear-gradient(145deg, #fffdf8 0%, #f8f3e8 100%);
    box-shadow: 0 18px 48px rgba(20, 32, 51, .08);
}
.calculator-result--premium > span { color: #8f713c; font-weight: 800; }
.calculator-result--premium > strong { color: #142033; }
.calculator-result--premium .calculator-compare { margin-top: 28px; }
.calculator-result--premium .calculator-primary { min-width: 230px; }
.calculator-manual-link { color: #7b5d2e; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) {
    .calculator-result--premium { border-radius: 18px; padding: 22px 18px; }
    .calculator-result--premium .calculator-primary { min-width: 0; width: 100%; }
}

/* Formulario privado de cliente · identidad visual Factum IUS */
.client-intake-page{
    padding:64px 20px 90px;
    background:linear-gradient(180deg,var(--rc-bg) 0%,#ffffff 36%,#f7f4ee 100%);
}
.client-intake-shell{max-width:980px;margin:0 auto}
.client-intake-header{text-align:center;max-width:760px;margin:0 auto 34px}
.client-intake-kicker{
    display:inline-block;
    color:var(--rc-gold);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:12px;
}
.client-intake-header h1{
    font-family:Georgia,'Times New Roman',serif;
    color:var(--rc-blue);
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:1.08;
    margin:0 0 16px;
}
.client-intake-header p{color:var(--rc-muted);font-size:1.05rem;line-height:1.7;margin:0}
.client-intake-form{display:grid;gap:20px}
.client-form-section{
    background:var(--rc-white);
    border:1px solid rgba(13,44,79,.10);
    border-radius:20px;
    padding:30px;
    box-shadow:var(--rc-shadow-soft);
}
.client-section-heading{
    display:flex;
    gap:16px;
    align-items:flex-start;
    padding-bottom:22px;
    margin-bottom:24px;
    border-bottom:1px solid rgba(13,44,79,.10);
}
.client-section-heading>span{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;
    background:var(--rc-blue);
    color:var(--rc-gold-soft);
    font-weight:800;
    border:1px solid rgba(216,199,151,.32);
}
.client-section-heading h2{
    font-family:Georgia,'Times New Roman',serif;
    color:var(--rc-blue);
    font-size:1.55rem;
    margin:0 0 5px;
}
.client-section-heading p{color:var(--rc-muted);margin:0;line-height:1.55}
.client-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.client-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.client-field-full{grid-column:1/-1}
.client-field label{color:var(--rc-ink);font-weight:700;font-size:.94rem}
.client-field input,.client-field select,.client-field textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #d8dde3;
    border-radius:11px;
    background:#fff;
    padding:14px 15px;
    font:inherit;
    color:var(--rc-ink);
    outline:none;
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.client-field input:hover,.client-field select:hover,.client-field textarea:hover{border-color:#b9c4cf}
.client-field input:focus,.client-field select:focus,.client-field textarea:focus{
    border-color:var(--rc-gold);
    box-shadow:0 0 0 3px rgba(180,155,106,.16);
    background:#fffefa;
}
.client-field small{color:var(--rc-muted);font-size:.82rem;line-height:1.4}
.client-field .errorlist,.client-privacy-card .errorlist{list-style:none;padding:0;margin:0;color:#a42035;font-size:.85rem;font-weight:600}
.client-input-suffix{position:relative}
.client-input-suffix input{padding-right:45px}
.client-input-suffix>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--rc-blue-soft);font-weight:800;pointer-events:none}
.client-document-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}
.client-document-checks label{
    display:flex;
    gap:12px;
    align-items:flex-start;
    border:1px solid rgba(13,44,79,.12);
    border-radius:13px;
    padding:17px;
    cursor:pointer;
    background:#fbfaf7;
    transition:border-color .2s,box-shadow .2s,transform .2s;
}
.client-document-checks label:hover{border-color:rgba(180,155,106,.75);box-shadow:0 8px 22px rgba(13,44,79,.06);transform:translateY(-1px)}
.client-document-checks input{margin-top:4px;accent-color:var(--rc-blue)}
.client-document-checks span{display:flex;flex-direction:column;gap:4px}
.client-document-checks strong{color:var(--rc-blue)}
.client-document-checks small{color:var(--rc-muted);line-height:1.4}
.client-privacy-card{
    display:flex;
    gap:15px;
    background:linear-gradient(145deg,#f7f3ea,#fffdf8);
    border:1px solid rgba(180,155,106,.40);
    border-radius:17px;
    padding:22px;
    color:var(--rc-ink);
}
.client-privacy-card strong{color:var(--rc-blue);font-family:Georgia,'Times New Roman',serif;font-size:1.1rem}
.client-privacy-card p{margin:5px 0 12px;color:var(--rc-muted)}
.client-consent{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.client-consent input{margin-top:5px;accent-color:var(--rc-blue)}
.client-consent a{color:var(--rc-blue);font-weight:800;text-decoration:underline;text-decoration-color:var(--rc-gold);text-underline-offset:3px}
.client-submit-btn{
    border:1px solid var(--rc-blue);
    border-radius:12px;
    background:var(--rc-blue);
    color:#fff;
    padding:17px 24px;
    font-size:1.02rem;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(13,44,79,.22);
    transition:transform .2s,box-shadow .2s,background .2s;
}
.client-submit-btn:hover{background:var(--rc-blue-soft);transform:translateY(-1px);box-shadow:0 16px 34px rgba(13,44,79,.26)}
.client-submit-btn:focus-visible{outline:3px solid rgba(180,155,106,.55);outline-offset:3px}
.client-submit-note{text-align:center;color:var(--rc-muted);margin:-7px 0 0;font-size:.9rem}
.client-form-alert{background:#fff4f4;border:1px solid #e5aeb6;color:#8b1e31;border-radius:12px;padding:14px 18px;margin-bottom:18px}
@media(max-width:720px){
    .client-intake-page{padding:38px 14px 65px}
    .client-form-section{padding:22px 17px;border-radius:16px}
    .client-form-grid,.client-document-checks{grid-template-columns:1fr}
    .client-field-full{grid-column:auto}
    .client-section-heading{gap:12px}
    .client-section-heading>span{width:36px;height:36px;flex-basis:36px}
    .client-section-heading h2{font-size:1.3rem}
    .client-intake-header h1{font-size:2.15rem}
}


/* Campos condicionales para opciones «Otro» */
[data-other-field][hidden]{display:none!important}

/* Titulares adicionales · formularios públicos y formulario privado */
.public-holder-section{
    margin:22px 0;
    padding:22px;
    border:1px solid rgba(13,44,79,.12);
    border-radius:17px;
    background:linear-gradient(145deg,#fbfaf7 0%,#ffffff 100%);
    box-shadow:0 10px 28px rgba(13,44,79,.06);
}
.public-holder-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}
.public-holder-heading>div{min-width:0}
.public-holder-kicker{
    display:block;
    margin-bottom:5px;
    color:var(--rc-gold);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.public-holder-heading h3{
    margin:0 0 5px;
    color:var(--rc-blue);
    font-family:Georgia,'Times New Roman',serif;
    font-size:1.28rem;
}
.public-holder-heading p{
    margin:0;
    max-width:610px;
    color:var(--rc-muted);
    font-size:.9rem;
    line-height:1.55;
}
.public-holder-add{
    flex:0 0 auto;
    min-height:43px;
    padding:10px 15px;
    border:1px solid rgba(13,44,79,.22);
    border-radius:10px;
    background:#fff;
    color:var(--rc-blue);
    font:inherit;
    font-size:.88rem;
    font-weight:800;
    cursor:pointer;
    transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;
}
.public-holder-add:hover{
    border-color:var(--rc-gold);
    background:#fffdf8;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(13,44,79,.08);
}
.public-holder-list{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:0;
}
.public-holder-section.has-holders .public-holder-list{margin-top:18px}
.public-holder-list:empty{display:none}
.public-holder-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(13,44,79,.12);
    border-radius:14px;
    background:#fff;
}
.public-holder-card[hidden]{display:none!important}
.public-holder-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 15px;
    border-bottom:1px solid rgba(13,44,79,.09);
    background:#fbfaf7;
}
.public-holder-card-head>div{display:flex;align-items:baseline;gap:8px}
.public-holder-card-head span{
    color:var(--rc-gold);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.public-holder-card-head strong{color:var(--rc-blue);font-size:.95rem}
.public-holder-card-head i{font-style:normal}
.public-holder-remove{
    padding:7px 10px;
    border:1px solid #e7bdc4;
    border-radius:8px;
    background:#fff;
    color:#98283a;
    font:inherit;
    font-size:.78rem;
    font-weight:800;
    cursor:pointer;
}
.public-holder-remove:hover{background:#fff3f5}
.public-holder-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:17px;
}
.public-holder-field{display:flex;min-width:0;flex-direction:column;gap:7px}
.public-holder-field-wide{grid-column:1/-1}
.public-holder-field label{color:var(--rc-ink);font-size:.88rem;font-weight:700}
.public-holder-field input{
    width:100%;
    min-height:44px;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #d8dde3;
    border-radius:10px;
    background:#fff;
    color:var(--rc-ink);
    font:inherit;
    outline:none;
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.public-holder-field input:hover{border-color:#b9c4cf}
.public-holder-field input:focus{
    border-color:var(--rc-gold);
    background:#fffefa;
    box-shadow:0 0 0 3px rgba(180,155,106,.16);
}
.public-holder-field.is-invalid input,
.public-holder-field input[aria-invalid="true"]{
    border-color:#b43a4d;
    box-shadow:0 0 0 3px rgba(180,58,77,.1);
}
.public-holder-field .errorlist{
    margin:0;
    padding:0;
    list-style:none;
    color:#a42035;
    font-size:.8rem;
    font-weight:700;
}
.public-holder-delete{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}
.public-holder-alert{
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid #e5aeb6;
    border-radius:11px;
    background:#fff4f4;
    color:#8b1e31;
    font-size:.86rem;
}
.public-holder-alert strong{display:block;margin-bottom:3px}
.diagnosis-step .public-holder-section{margin:22px 0 18px;padding:18px}
.diagnosis-step .public-holder-heading h3{font-size:1.1rem}
.diagnosis-step .public-holder-heading p{font-size:.84rem}
.diagnosis-step .public-holder-grid{gap:13px;padding:15px}

@media(max-width:720px){
    .public-holder-section{padding:18px 15px}
    .public-holder-heading{align-items:stretch;flex-direction:column;gap:14px}
    .public-holder-add{width:100%}
    .public-holder-grid{grid-template-columns:1fr;padding:14px}
    .public-holder-field-wide{grid-column:auto}
    .public-holder-card-head{padding:11px 12px}
    .public-holder-card-head>div{align-items:flex-start;flex-direction:column;gap:2px}
}

/* Titularidad contractual — formularios públicos/privados */
.public-holder-mode{
    margin:22px 0 18px;
    padding:20px;
    border:1px solid rgba(18,42,66,.12);
    border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);
}
.public-holder-mode-copy h3{margin:4px 0 5px;color:var(--rc-blue);font-size:1.08rem}
.public-holder-mode-copy p{margin:0;color:var(--rc-muted);font-size:.88rem;line-height:1.55}
.public-holder-mode-options ul{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:16px 0 0;
    padding:0;
    list-style:none;
}
.public-holder-mode-options li{margin:0}
.public-holder-mode-options label{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:52px;
    padding:12px 14px;
    border:1px solid rgba(18,42,66,.14);
    border-radius:13px;
    background:#fff;
    color:var(--rc-ink);
    font-weight:700;
    cursor:pointer;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.public-holder-mode-options label:hover{border-color:rgba(159,126,73,.58);transform:translateY(-1px)}
.public-holder-mode-options label:has(input:checked){border-color:var(--rc-gold);box-shadow:0 0 0 3px rgba(159,126,73,.11)}
.public-holder-mode-options input{accent-color:var(--rc-gold)}
.public-holder-field label small{font-weight:500;color:var(--rc-muted)}
@media (max-width:720px){.public-holder-mode-options ul{grid-template-columns:1fr}.public-holder-mode{padding:17px 15px}}
.public-holder-mode.is-invalid{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.08)}
.public-holder-mode .errorlist{margin:10px 0 0;padding:0;list-style:none;color:#b42318;font-size:.84rem;font-weight:700}

/* ==========================================================================
   FACTUM IUS — PUBLIC SERVICES V4.1 · 2026-08-26
   Compact, mobile-first, minimal and SVG-only iconography. Scoped to public pages.
   ========================================================================== */
.service-v4,
.services-hub-v4 {
    --sv4-accent: #b49b6a;
    --sv4-ink: #10263f;
    --sv4-muted: #647184;
    --sv4-paper: #fbfaf7;
    --sv4-line: rgba(16, 38, 63, .13);
    --sv4-soft: rgba(180, 155, 106, .10);
    background: #fff;
    color: var(--sv4-ink);
}
.service-v4 *, .services-hub-v4 * { box-sizing: border-box; }
.sv4-shell { width: min(100% - 32px, 1160px); margin-inline: auto; }

/* Breadcrumbs */
.sv4-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding-top:14px; color:var(--sv4-muted); font-size:.76rem; }
.sv4-breadcrumbs a { color:var(--sv4-muted); text-decoration:underline; text-underline-offset:3px; }
.sv4-breadcrumbs span[aria-hidden="true"] { opacity:.5; }
.sv4-eyebrow { display:inline-block; color:#796842; font-size:.69rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }

/* Hero: deliberately compact so proposition + CTAs fit in the first viewport. */
.sv4-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--sv4-line); background:var(--sv4-paper); }
.sv4-hero-grid { display:grid; gap:24px; padding:26px 0 34px; }
.sv4-hero-copy h1 { max-width:780px; margin-top:9px; color:var(--sv4-ink); font-size:clamp(1.95rem,8.7vw,3rem); line-height:1.06; letter-spacing:-.03em; text-wrap:balance; }
.sv4-hero-copy > p { max-width:700px; margin-top:13px; color:#4d5c70; font-size:.96rem; line-height:1.62; }
.sv4-actions { display:flex; flex-direction:column; gap:9px; margin-top:18px; }
.sv4-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:8px; padding:10px 16px; border:1px solid var(--sv4-ink); border-radius:7px; font:inherit; font-size:.88rem; font-weight:800; line-height:1.2; text-align:center; transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease; }
.sv4-button:hover { transform:translateY(-1px); }
.sv4-button:focus-visible,.sv4-text-link:focus-visible,.sv4-breadcrumbs a:focus-visible,.sv4-related a:focus-visible,.sv4-faq summary:focus-visible { outline:3px solid rgba(180,155,106,.45); outline-offset:3px; }
.sv4-button--primary { background:var(--sv4-ink); color:#fff; }
.sv4-button--primary:hover { background:#173b62; }
.sv4-button--secondary { background:transparent; color:var(--sv4-ink); border-color:rgba(16,38,63,.25); }
.sv4-button--secondary:hover { background:#fff; border-color:var(--sv4-ink); }
.sv4-button--whatsapp { background:#fff; color:var(--sv4-ink); border-color:rgba(16,38,63,.22); }
.sv4-microcopy { margin-top:9px!important; color:var(--sv4-muted)!important; font-size:.76rem!important; line-height:1.45!important; }
.sv4-hero-aside { align-self:end; border-top:2px solid var(--sv4-accent); padding-top:14px; }
.sv4-hero-aside small { color:#796842; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sv4-hero-aside h2 { margin-top:6px; color:var(--sv4-ink); font-size:1.16rem; line-height:1.2; }
.sv4-hero-aside ul { display:grid; gap:6px; margin-top:12px; list-style:none; }
.sv4-hero-aside li { position:relative; padding-left:15px; color:#526175; font-size:.84rem; line-height:1.42; }
.sv4-hero-aside li::before { content:""; position:absolute; left:0; top:.55em; width:5px; height:5px; border-radius:50%; background:var(--sv4-accent); }

/* Compact trust strip */
.sv4-trustline { border-bottom:1px solid var(--sv4-line); background:#fff; }
.sv4-trustline .sv4-shell { display:grid; gap:0; }
.sv4-trustline span { padding:9px 0; border-bottom:1px solid var(--sv4-line); color:#516074; font-size:.74rem; line-height:1.4; }
.sv4-trustline span:last-child { border-bottom:0; }
.sv4-trustline strong { color:var(--sv4-ink); }

/* Sections stay visually generous, but each one is designed to fit comfortably in one glance. */
.sv4-section { padding:44px 0; }
.sv4-section--soft { background:var(--sv4-paper); }
.sv4-section--dark { background:var(--sv4-ink); color:#fff; }
.sv4-section--line { border-block:1px solid var(--sv4-line); }
.sv4-section-head { max-width:720px; }
.sv4-section-head--center { margin-inline:auto; text-align:left; }
.sv4-section-head h2 { margin-top:7px; color:inherit; font-size:clamp(1.55rem,7.2vw,2.25rem); line-height:1.1; letter-spacing:-.022em; text-wrap:balance; }
.sv4-section-head p { margin-top:10px; color:var(--sv4-muted); font-size:.91rem; line-height:1.58; }
.sv4-section--dark .sv4-section-head p { color:rgba(255,255,255,.72); }
.sv4-section--dark .sv4-eyebrow { color:#dbcda9; }

.sv4-editorial-grid { display:grid; gap:24px; margin-top:22px; }
.sv4-editorial-copy p { color:#536175; line-height:1.58; }
.sv4-editorial-copy p + p { margin-top:10px; }
.sv4-editorial-list { border-top:1px solid var(--sv4-line); }
.sv4-editorial-list article { display:grid; grid-template-columns:30px 1fr; gap:10px; padding:13px 0; border-bottom:1px solid var(--sv4-line); }
.sv4-editorial-list article > span { color:#8b7749; font-size:.69rem; font-weight:900; letter-spacing:.06em; }
.sv4-editorial-list h3 { font-size:.96rem; line-height:1.28; }
.sv4-editorial-list p { margin-top:3px; color:var(--sv4-muted); font-size:.83rem; line-height:1.48; }

.sv4-checklist { display:grid; gap:0; margin-top:20px; border-top:1px solid var(--sv4-line); }
.sv4-checklist li { display:grid; grid-template-columns:20px 1fr; gap:9px; padding:11px 0; border-bottom:1px solid var(--sv4-line); color:#526175; font-size:.9rem; line-height:1.48; list-style:none; }
.sv4-checklist li::before { content:""; width:16px; height:16px; margin-top:2px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 3.2 3.2L16 5.8' fill='none' stroke='%23876f3b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.sv4-split { display:grid; gap:26px; align-items:start; }
.sv4-statement { position:relative; padding:18px 0 2px; border-top:2px solid var(--sv4-accent); }
.sv4-statement strong { display:block; max-width:560px; color:var(--sv4-ink); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.45rem,6.3vw,2.05rem); font-weight:600; line-height:1.16; }
.sv4-statement p { margin-top:9px; color:var(--sv4-muted); font-size:.9rem; line-height:1.52; }
.sv4-data-rail { display:grid; gap:0; border-top:1px solid var(--sv4-line); }
.sv4-data-rail div { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--sv4-line); }
.sv4-data-rail dt { color:var(--sv4-ink); font-size:.9rem; font-weight:800; }
.sv4-data-rail dd { color:var(--sv4-muted); font-size:.78rem; text-align:right; }

.sv4-flow { display:grid; gap:0; margin-top:20px; counter-reset:flow; border-top:1px solid var(--sv4-line); }
.sv4-flow li { position:relative; display:grid; grid-template-columns:36px 1fr; gap:9px; padding:13px 0; border-bottom:1px solid var(--sv4-line); list-style:none; }
.sv4-flow li::before { counter-increment:flow; content:"0" counter(flow); color:#8b7749; font-weight:900; font-size:.7rem; }
.sv4-flow h3 { font-size:.94rem; line-height:1.28; }
.sv4-flow p { margin-top:3px; color:var(--sv4-muted); font-size:.81rem; line-height:1.45; }

.sv4-docs { display:grid; gap:0; margin-top:18px; border-top:1px solid var(--sv4-line); }
.sv4-docs article { padding:14px 0; border-bottom:1px solid var(--sv4-line); }
.sv4-docs span { color:#8b7749; font-size:.68rem; font-weight:900; }
.sv4-docs h3 { margin-top:5px; font-size:.96rem; }
.sv4-docs p { margin-top:4px; color:var(--sv4-muted); font-size:.81rem; line-height:1.46; }
.sv4-note { margin-top:18px; padding:12px 0 12px 14px; border-left:3px solid var(--sv4-accent); }
.sv4-note strong { display:block; font-size:.88rem; }
.sv4-note p { margin-top:3px; color:var(--sv4-muted); font-size:.81rem; line-height:1.48; }

.sv4-duality { display:grid; gap:18px; margin-top:18px; }
.sv4-duality article { padding-top:13px; border-top:1px solid rgba(255,255,255,.22); }
.sv4-duality small { color:#dbcda9; font-size:.7rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.sv4-duality h3 { margin-top:6px; color:#fff; font-size:1.08rem; line-height:1.25; }
.sv4-duality p { margin-top:5px; color:rgba(255,255,255,.73); font-size:.83rem; line-height:1.5; }
.sv4-review { display:grid; gap:8px; margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.76); font-size:.76rem; line-height:1.45; }
.sv4-review strong { color:#fff; }

.sv4-faq { max-width:860px; margin-inline:auto; }
.sv4-faq-list { margin-top:18px; border-top:1px solid var(--sv4-line); }
.sv4-faq details { border-bottom:1px solid var(--sv4-line); }
.sv4-faq summary { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:14px; padding:11px 0; color:var(--sv4-ink); cursor:pointer; font-size:.9rem; font-weight:800; line-height:1.35; list-style:none; }
.sv4-faq summary::-webkit-details-marker { display:none; }
.sv4-faq summary::after { content:""; flex:0 0 18px; width:18px; height:18px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 4v12M4 10h12' fill='none' stroke='%238b7749' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.sv4-faq details[open] summary::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h12' fill='none' stroke='%238b7749' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.sv4-faq details p { padding:0 26px 13px 0; color:var(--sv4-muted); font-size:.84rem; line-height:1.52; }

.sv4-cta-wrap { padding:0 0 44px; background:#fff; }
.sv4-cta { display:grid; gap:18px; padding:23px 20px; background:var(--sv4-ink); color:#fff; }
.sv4-cta h2 { max-width:670px; color:#fff; font-size:clamp(1.5rem,6.8vw,2.1rem); line-height:1.1; }
.sv4-cta p { max-width:630px; margin-top:7px; color:rgba(255,255,255,.74); font-size:.86rem; line-height:1.5; }
.sv4-cta .sv4-actions { margin-top:0; }
.sv4-cta .sv4-button--primary { background:#fff; color:var(--sv4-ink); border-color:#fff; }
.sv4-cta .sv4-button--secondary,.sv4-cta .sv4-button--whatsapp { color:#fff; border-color:rgba(255,255,255,.35); background:transparent; }

.sv4-related { padding:40px 0 46px; border-top:1px solid var(--sv4-line); }
.sv4-related-grid { display:grid; gap:0; margin-top:17px; border-top:1px solid var(--sv4-line); }
.sv4-related a { display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; padding:13px 0; border-bottom:1px solid var(--sv4-line); color:var(--sv4-ink); font-size:.9rem; font-weight:800; }
.sv4-related a:hover { color:#173b62; }
.sv4-link-icon { width:18px; height:18px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 6l4 4-4 4' fill='none' stroke='%238b7749' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* Hub */
.services-hub-v4 .sv4-hero-copy h1 { max-width:860px; }
.sv4-hub-intro { max-width:720px; }
.sv4-hub-list { margin-top:22px; border-top:1px solid var(--sv4-line); }
.sv4-hub-item { display:grid; gap:7px; padding:16px 0; border-bottom:1px solid var(--sv4-line); }
.sv4-hub-item small { color:#8b7749; font-size:.67rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.sv4-hub-item h2 { font-size:clamp(1.2rem,5.4vw,1.6rem); line-height:1.16; }
.sv4-hub-item p { max-width:700px; color:var(--sv4-muted); font-size:.84rem; line-height:1.48; }
.sv4-hub-item a { display:inline-flex; width:fit-content; align-items:center; gap:7px; margin-top:1px; color:var(--sv4-ink); font-size:.86rem; font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.sv4-hub-item a::after { content:""; width:16px; height:16px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 6l4 4-4 4' fill='none' stroke='%238b7749' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.sv4-hub-secondary { display:grid; gap:0; margin-top:17px; border-top:1px solid var(--sv4-line); }
.sv4-hub-secondary a { padding:12px 0; border-bottom:1px solid var(--sv4-line); color:var(--sv4-ink); font-size:.9rem; font-weight:800; }
.sv4-hub-secondary a span { display:block; margin-top:3px; color:var(--sv4-muted); font-size:.78rem; font-weight:400; line-height:1.42; }

/* Page accents: deliberately subtle. */
.service-v4--revolving { --sv4-accent:#a88d58; }
.service-v4--microcreditos { --sv4-accent:#927b58; }
.service-v4--prestamos { --sv4-accent:#6e8799; }
.service-v4--hipoteca { --sv4-accent:#8e8771; }
.service-v4--comisiones { --sv4-accent:#8a735f; }
.service-v4--lineas { --sv4-accent:#718a82; }

@media (min-width:640px) {
    .sv4-actions { flex-direction:row; flex-wrap:wrap; }
    .sv4-button { width:auto; min-width:164px; }
    .sv4-trustline .sv4-shell { grid-template-columns:repeat(3,1fr); }
    .sv4-trustline span { padding:10px 14px; border-right:1px solid var(--sv4-line); border-bottom:0; }
    .sv4-trustline span:first-child { padding-left:0; }
    .sv4-trustline span:last-child { border-right:0; }
    .sv4-docs { grid-template-columns:repeat(2,1fr); }
    .sv4-docs article:nth-child(odd) { padding-right:18px; border-right:1px solid var(--sv4-line); }
    .sv4-docs article:nth-child(even) { padding-left:18px; }
    .sv4-duality { grid-template-columns:repeat(2,1fr); gap:24px; }
    .sv4-review { grid-template-columns:repeat(2,1fr); }
    .sv4-cta { padding:26px 28px; }
}

@media (min-width:860px) {
    .sv4-shell { width:min(100% - 56px,1160px); }
    .sv4-breadcrumbs { padding-top:17px; }
    .sv4-hero-grid { grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr); gap:50px; align-items:end; padding:38px 0 45px; }
    .sv4-hero-copy h1 { font-size:clamp(2.7rem,4.5vw,3.65rem); }
    .sv4-hero-copy > p { font-size:1rem; }
    .sv4-section { padding:56px 0; }
    .sv4-section-head--center { text-align:center; }
    .sv4-editorial-grid { grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:54px; align-items:start; margin-top:24px; }
    .sv4-split { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:56px; }
    .sv4-flow { grid-template-columns:repeat(4,1fr); border-left:1px solid var(--sv4-line); }
    .sv4-split .sv4-flow { grid-template-columns:repeat(2,1fr); }
    .sv4-flow li { grid-template-columns:1fr; align-content:start; min-height:0; padding:16px; border-right:1px solid var(--sv4-line); }
    .sv4-flow li::before { margin-bottom:7px; }
    .sv4-docs { grid-template-columns:repeat(4,1fr); border-left:1px solid var(--sv4-line); }
    .sv4-docs article,.sv4-docs article:nth-child(odd),.sv4-docs article:nth-child(even) { padding:16px; border-right:1px solid var(--sv4-line); }
    .sv4-duality { gap:42px; }
    .sv4-cta { grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:30px 34px; }
    .sv4-cta .sv4-actions { justify-content:flex-end; }
    .sv4-cta-wrap { padding-bottom:56px; }
    .sv4-related { padding:48px 0 54px; }
    .sv4-related-grid { grid-template-columns:repeat(3,1fr); border-left:1px solid var(--sv4-line); }
    .sv4-related a { min-height:62px; padding:15px 16px; border-right:1px solid var(--sv4-line); }
    .sv4-hub-item { grid-template-columns:130px minmax(0,1fr) auto; gap:24px; align-items:center; padding:17px 0; }
    .sv4-hub-item p { max-width:620px; }
    .sv4-hub-item a { white-space:nowrap; }
    .sv4-hub-secondary { grid-template-columns:repeat(2,1fr); border-left:1px solid var(--sv4-line); }
    .sv4-hub-secondary a { padding:15px 17px; border-right:1px solid var(--sv4-line); }
}

@media (prefers-reduced-motion:reduce) {
    .sv4-button { transition:none; }
    .sv4-button:hover { transform:none; }
}


/* ==========================================================================
   FACTUM IUS — VISUAL SYSTEM V5 · 2026-08-26
   Integral public redesign: compact, minimal, editorial, mobile-first.
   No external fonts or decorative JS. Icons are SVG only.
   ========================================================================== */
:root{
    --fi-ink:#142437;
    --fi-ink-2:#223447;
    --fi-paper:#f4f0e8;
    --fi-paper-2:#faf8f4;
    --fi-white:#fff;
    --fi-muted:#657181;
    --fi-line:rgba(20,36,55,.14);
    --fi-line-dark:rgba(255,255,255,.16);
    --fi-gold:#9c8556;
    --fi-gold-soft:#d8caa9;
    --fi-whatsapp:#168c51;
    --fi-danger:#a33b32;
    --fi-shell:min(1160px,calc(100% - 32px));
}
html{scroll-padding-top:78px}
body.fi-site{
    margin:0;
    background:var(--fi-white);
    color:var(--fi-ink);
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
}
body.fi-site h1,body.fi-site h2,body.fi-site h3,body.fi-site p{margin:0}
body.fi-site h1,body.fi-site h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.025em}
body.fi-site a{color:inherit}
body.fi-site button,body.fi-site input,body.fi-site textarea,body.fi-site select{font:inherit}
.fi-shell{width:var(--fi-shell);margin-inline:auto}
.fi-eyebrow{display:inline-block;color:var(--fi-gold);font-size:.69rem;font-weight:800;line-height:1.25;letter-spacing:.12em;text-transform:uppercase}
.fi-eyebrow--light{color:var(--fi-gold-soft)}
.fi-section{padding:54px 0;background:#fff}
.fi-section--soft{background:var(--fi-paper-2);border-block:1px solid var(--fi-line)}
.fi-section-head{max-width:690px}
.fi-section-head h2{margin-top:7px;color:var(--fi-ink);font-size:clamp(1.75rem,5.6vw,2.55rem);line-height:1.08;text-wrap:balance}
.fi-section-head>p{margin-top:9px;color:var(--fi-muted);font-size:.94rem;line-height:1.55}
.fi-section-head--split{display:grid;gap:10px;max-width:none}
.fi-section-head--split>p{max-width:520px;margin-top:0}

/* Header */
.site-header.fi-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid var(--fi-line);backdrop-filter:saturate(135%) blur(10px)}
.fi-nav-shell{width:min(1240px,calc(100% - 32px));min-height:70px;margin-inline:auto;display:flex;align-items:center;gap:26px}
.fi-brand{display:inline-flex;align-items:center;gap:10px;color:var(--fi-ink);flex:0 0 auto}
.fi-brand-mark{width:44px;height:44px;display:grid;place-items:center;overflow:visible;flex:0 0 auto}
.fi-brand-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(74,54,19,.08))}
.fi-brand-copy{display:grid;gap:0;line-height:1.08}
.fi-brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:1.03rem;font-weight:600;letter-spacing:.01em}
.fi-brand-copy small{margin-top:3px;color:var(--fi-muted);font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fi-main-nav{display:flex;align-items:center;justify-content:center;gap:24px;flex:1}
.fi-main-nav .fi-nav-link{padding:8px 0;border:0;background:transparent;color:#334456;font-size:.84rem;font-weight:700;line-height:1;cursor:pointer;position:relative}
.fi-main-nav a.fi-nav-link::after,.fi-main-nav .fi-nav-link::after{content:"";position:absolute;left:0;bottom:1px;width:0;height:1px;background:var(--fi-gold);transition:width .18s ease}
.fi-main-nav a.fi-nav-link:hover::after,.fi-main-nav .fi-nav-link:hover::after,.fi-nav-dropdown.is-open>.fi-nav-link::after{width:100%}
.fi-main-nav .fi-nav-link svg{width:14px;height:14px;margin-left:4px;vertical-align:-2px}
.fi-nav-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.fi-header-cta{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:9px 15px;border:1px solid var(--fi-ink);background:var(--fi-ink);color:#fff;font-size:.8rem;font-weight:800;border-radius:4px}
.fi-header-cta:hover{background:#263c52}
.fi-icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--fi-line);border-radius:4px;background:#fff;color:var(--fi-ink)}
.fi-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.fi-icon-button--whatsapp{color:var(--fi-whatsapp)}
.fi-icon-button:hover{border-color:rgba(20,36,55,.34);background:var(--fi-paper-2)}
.fi-nav-dropdown{position:relative;display:flex;align-items:center}
.fi-nav-dropdown::after{content:"";position:absolute;top:100%;left:50%;width:390px;height:14px;transform:translateX(-50%)}
.fi-dropdown.nav-dropdown-menu{top:calc(100% + 12px);width:350px;padding:7px;border:1px solid var(--fi-line);border-radius:5px;background:#fff;box-shadow:0 16px 40px rgba(20,36,55,.12)}
.fi-dropdown.nav-dropdown-menu::before{display:none}
.fi-main-nav .fi-dropdown a{padding:9px 10px;border-bottom:1px solid var(--fi-line);border-radius:3px;color:var(--fi-ink)}
.fi-main-nav .fi-dropdown a:hover{background:var(--fi-paper-2)}
.fi-main-nav .fi-dropdown a span{font-size:.82rem;font-weight:800}
.fi-main-nav .fi-dropdown a small{margin-top:2px;color:var(--fi-muted);font-size:.69rem;line-height:1.3}
.fi-main-nav .fi-dropdown .nav-dropdown-all{display:flex;align-items:center;justify-content:space-between;border-bottom:0;color:#705f3e}
.fi-main-nav .fi-dropdown .nav-dropdown-all svg{width:17px;height:17px}
.mobile-menu-btn.fi-menu-button,.fi-mobile-menu{display:none}

/* Buttons and text links */
.fi-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.fi-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border:1px solid var(--fi-ink);border-radius:4px;font-size:.84rem;font-weight:800;line-height:1.2;text-align:center;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.fi-button:hover{transform:translateY(-1px)}
.fi-button--primary{background:var(--fi-ink);color:#fff}.fi-button--primary:hover{background:#263c52}
.fi-button--whatsapp{background:#fff;border-color:rgba(22,140,81,.35);color:#166f45}
.fi-button--whatsapp svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.fi-button--light{background:#fff;color:var(--fi-ink);border-color:#fff}
.fi-button--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.fi-text-link{display:inline-flex;width:fit-content;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(11,41,71,.12);border-radius:999px;background:#fff;color:var(--fi-navy);font-size:.82rem;font-weight:800;text-decoration:none;box-shadow:0 8px 18px rgba(11,41,71,.04);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}
.fi-text-link:hover{border-color:rgba(194,162,99,.55);box-shadow:0 12px 24px rgba(11,41,71,.08);transform:translateY(-1px);color:#8e6d34}
.fi-text-link svg{width:17px;height:17px;color:#a58950;flex:0 0 auto}
.fi-button:focus-visible,.fi-text-link:focus-visible,.fi-nav-link:focus-visible,.fi-icon-button:focus-visible{outline:3px solid rgba(156,133,86,.38);outline-offset:3px}

/* Home hero */
.fi-hero{background:var(--fi-paper);border-bottom:1px solid var(--fi-line)}
.fi-hero-grid{display:grid;gap:28px;padding:38px 0 40px}
.fi-hero-copy h1{max-width:780px;margin-top:10px;color:var(--fi-ink);font-size:clamp(2.15rem,9vw,3.7rem);line-height:1.02;text-wrap:balance}
.fi-hero-copy>p{max-width:680px;margin-top:14px;color:#4f5e6d;font-size:.98rem;line-height:1.6}
.fi-proofline{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;padding-top:13px;border-top:1px solid var(--fi-line);color:#536273;font-size:.72rem;font-weight:700}
.fi-proofline span{display:inline-flex;align-items:center;gap:7px}
.fi-proofline span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--fi-gold)}
.fi-hero-aside{align-self:end;border-top:2px solid var(--fi-gold);padding-top:14px}
.fi-aside-label{color:var(--fi-gold);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.fi-aside-row{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--fi-line)}
.fi-aside-row>strong{color:var(--fi-gold);font-size:.67rem;letter-spacing:.06em}
.fi-aside-row h2{font-family:inherit;font-size:.96rem;font-weight:800;letter-spacing:0}
.fi-aside-row p{margin-top:3px;color:var(--fi-muted);font-size:.79rem;line-height:1.45}
.fi-aside-note{margin-top:11px;color:#526171;font-size:.76rem;line-height:1.45}
.fi-trust-strip{background:#fff;border-bottom:1px solid var(--fi-line)}
.fi-trust-grid{display:grid}
.fi-trust-grid>div{padding:12px 0;border-bottom:1px solid var(--fi-line)}
.fi-trust-grid>div:last-child{border-bottom:0}
.fi-trust-grid strong{display:block;color:var(--fi-ink);font-size:.76rem;font-weight:850}
.fi-trust-grid span{display:block;margin-top:1px;color:var(--fi-muted);font-size:.7rem}

/* Services index: rows, not card wall */
.fi-service-index{display:grid;margin-top:22px;border-top:1px solid var(--fi-line)}
.fi-service-index>a{min-height:70px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--fi-line);color:var(--fi-ink)}
.fi-service-index>a:hover{background:rgba(244,240,232,.45)}
.fi-service-icon{width:34px;height:34px;display:grid;place-items:center;color:#776642}
.fi-service-icon svg{width:24px;height:24px}
.fi-service-index a small{display:block;color:var(--fi-gold);font-size:.64rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.fi-service-index a strong{display:block;margin-top:2px;font-size:.88rem;line-height:1.28}
.fi-service-index .fi-arrow{width:18px;height:18px;color:var(--fi-gold)}

/* Team / brand difference */
.fi-team-section{background:var(--fi-ink);color:#fff}
.fi-team-grid{display:grid;gap:28px}
.fi-team-intro h2{margin-top:8px;color:#fff;font-size:clamp(1.8rem,6vw,2.7rem);line-height:1.06;text-wrap:balance}
.fi-team-intro p{max-width:610px;margin-top:10px;color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.55}
.fi-people{border-top:1px solid var(--fi-line-dark)}
.fi-people article{display:grid;grid-template-columns:36px 1fr;gap:11px;padding:16px 0;border-bottom:1px solid var(--fi-line-dark)}
.fi-person-initial{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(216,202,169,.5);border-radius:50%;color:var(--fi-gold-soft);font-family:Georgia,"Times New Roman",serif;font-size:.85rem}
.fi-people small{color:var(--fi-gold-soft);font-size:.63rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.fi-people h3{margin-top:2px;color:#fff;font-size:1rem}
.fi-people p{margin-top:4px;color:rgba(255,255,255,.68);font-size:.79rem;line-height:1.5}

/* Process */
.fi-process{display:grid;margin-top:22px;border-top:1px solid var(--fi-line);list-style:none}
.fi-process li{padding:14px 0;border-bottom:1px solid var(--fi-line)}
.fi-process li>span{color:var(--fi-gold);font-size:.66rem;font-weight:900;letter-spacing:.08em}
.fi-process h3{margin-top:5px;font-size:.91rem;line-height:1.28}
.fi-process p{margin-top:3px;color:var(--fi-muted);font-size:.78rem;line-height:1.45}

/* Documents */
.fi-docs-layout{display:grid;gap:24px}
.fi-docs-layout>div:first-child h2{margin-top:7px;font-size:clamp(1.75rem,5.6vw,2.45rem);line-height:1.08}
.fi-docs-layout>div:first-child p{max-width:580px;margin-top:9px;color:var(--fi-muted);font-size:.9rem;line-height:1.55}
.fi-docs-list{border-top:1px solid var(--fi-line)}
.fi-docs-list>div{display:grid;grid-template-columns:35px 1fr;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--fi-line)}
.fi-docs-list svg{width:23px;height:23px;color:var(--fi-gold)}
.fi-docs-list strong{display:block;font-size:.84rem}.fi-docs-list small{display:block;margin-top:1px;color:var(--fi-muted);font-size:.72rem}

/* Fees */
.fi-fees-section{background:#fff}
.fi-fees-grid{display:grid;gap:18px;margin-top:22px}
.fi-fee-block{border-top:2px solid var(--fi-gold)}
.fi-fee-block>small{display:block;padding:11px 0 7px;color:#776642;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.fi-fee-block dl{margin:0;border-top:1px solid var(--fi-line)}
.fi-fee-block dl>div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--fi-line)}
.fi-fee-block dt{font-size:.8rem;color:#455467}.fi-fee-block dd{margin:0;color:var(--fi-ink);font-size:.82rem;font-weight:850}
.fi-fees-note{margin-top:14px;color:var(--fi-muted);font-size:.73rem;line-height:1.45}

/* FAQ */
.fi-faq-layout{display:grid;gap:20px}
.fi-faq{border-top:1px solid var(--fi-line)}
.fi-faq details{border-bottom:1px solid var(--fi-line)}
.fi-faq summary{min-height:48px;display:grid;grid-template-columns:1fr 20px;gap:14px;align-items:center;padding:10px 0;color:var(--fi-ink);font-size:.83rem;font-weight:800;line-height:1.35;cursor:pointer;list-style:none}
.fi-faq summary::-webkit-details-marker{display:none}.fi-faq summary svg{width:19px;height:19px;color:var(--fi-gold);transition:transform .15s ease}.fi-faq details[open] summary svg{transform:rotate(45deg)}
.fi-faq details p{padding:0 28px 12px 0;color:var(--fi-muted);font-size:.8rem;line-height:1.52}

/* Final CTA */
.fi-final-cta{padding:42px 0;background:var(--fi-ink);color:#fff}
.fi-final-grid{display:grid;gap:18px}
.fi-final-grid h2{max-width:720px;margin-top:7px;color:#fff;font-size:clamp(1.7rem,6vw,2.55rem);line-height:1.07}
.fi-final-grid p{max-width:580px;margin-top:8px;color:rgba(255,255,255,.7);font-size:.88rem}
.fi-final-grid .fi-actions{margin-top:0}

/* Dedicated contact page */
.fi-contact-page{padding:20px 0 56px;background:var(--fi-paper-2);min-height:70vh}
.fi-breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0 22px;color:var(--fi-muted);font-size:.7rem}
.fi-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.fi-breadcrumbs span{opacity:.75}
.fi-contact-grid{display:grid;gap:28px}
.fi-contact-copy h1{margin-top:8px;font-size:clamp(2.2rem,9vw,3.65rem);line-height:1.02}
.fi-contact-copy>p{max-width:610px;margin-top:12px;color:#4f5e6d;font-size:.94rem;line-height:1.58}
.fi-contact-channels{display:grid;margin-top:22px;border-top:1px solid var(--fi-line)}
.fi-channel{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--fi-line)}
.fi-channel>svg{width:22px;height:22px;color:var(--fi-gold)}
.fi-channel--whatsapp>svg{color:var(--fi-whatsapp);fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.fi-channel strong{display:block;font-size:.82rem}.fi-channel small{display:block;margin-top:1px;color:var(--fi-muted);font-size:.72rem;line-height:1.35}
.fi-contact-trust{margin-top:20px;border-top:1px solid var(--fi-line)}
.fi-contact-trust>div{display:grid;grid-template-columns:31px 1fr;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--fi-line)}
.fi-contact-trust svg{width:21px;height:21px;color:var(--fi-gold)}
.fi-contact-trust strong{display:block;font-size:.78rem}.fi-contact-trust small{display:block;margin-top:1px;color:var(--fi-muted);font-size:.69rem}
.fi-contact-form-wrap{padding:20px;background:#fff;border:1px solid var(--fi-line);border-radius:5px}
.fi-contact-form-head>span{color:var(--fi-gold);font-size:.65rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.fi-contact-form-head h2{margin-top:5px;font-size:1.45rem;line-height:1.12}
.fi-contact-form-head p{margin-top:6px;color:var(--fi-muted);font-size:.75rem;line-height:1.4}.fi-contact-form-head a{text-decoration:underline;text-underline-offset:3px}
.fi-contact-form{margin-top:17px}.fi-form-grid{display:grid;gap:13px}.fi-field{display:grid;gap:6px}.fi-field label{color:#344657;font-size:.73rem;font-weight:800}.fi-field label small{color:var(--fi-muted);font-weight:500}
.fi-field input,.fi-field textarea{width:100%;min-height:44px;border:1px solid rgba(20,36,55,.2);border-radius:4px;background:#fff;color:var(--fi-ink);padding:10px 11px;outline:none}.fi-field textarea{min-height:98px;resize:vertical}.fi-field input:focus,.fi-field textarea:focus{border-color:var(--fi-gold);box-shadow:0 0 0 3px rgba(156,133,86,.12)}
.fi-field .errorlist,.fi-consent .errorlist{margin:0;padding:0;list-style:none;color:var(--fi-danger);font-size:.7rem;font-weight:700}
.fi-form-alert{margin:13px 0;padding:9px 11px;border-left:3px solid var(--fi-danger);background:#fff5f3;color:#7e2e27;font-size:.75rem;font-weight:700}
.fi-consent{display:grid;grid-template-columns:25px 1fr;gap:9px;margin-top:15px;padding:12px 0;border-block:1px solid var(--fi-line)}
.fi-consent>svg{width:21px;height:21px;color:var(--fi-gold)}.fi-consent strong{display:block;font-size:.76rem}.fi-consent label{display:flex;gap:8px;align-items:flex-start;margin-top:6px;color:#536273;font-size:.7rem;line-height:1.42}.fi-consent input{margin-top:2px;accent-color:var(--fi-ink)}.fi-consent a{text-decoration:underline;text-underline-offset:2px}.fi-consent small{display:block;margin-top:6px;color:var(--fi-muted);font-size:.64rem}.fi-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.fi-button--submit{width:100%;margin-top:15px}.fi-form-note{margin-top:7px;color:var(--fi-muted);font-size:.67rem;text-align:center}

/* Footer */
.fi-footer{background:#0f1d2c;color:#fff;border-top:0}
.fi-footer-shell{width:var(--fi-shell);margin-inline:auto;padding:38px 0 20px}
.fi-footer-top{display:grid;gap:28px}
.fi-brand--footer{color:#fff}.fi-brand--footer .fi-brand-copy small{color:rgba(255,255,255,.56)}
.fi-footer-brand>p{max-width:350px;margin-top:11px;color:rgba(255,255,255,.58);font-size:.76rem;line-height:1.5}
.fi-footer .factum-social-links{margin-top:14px;gap:7px}.fi-footer .factum-social-link{width:34px;height:34px;border-color:rgba(255,255,255,.15);color:var(--fi-gold-soft);background:transparent}.fi-footer .factum-social-link svg{width:16px;height:16px}
.fi-footer-links{display:grid;align-content:start;gap:7px}.fi-footer-links>strong,.fi-footer-contact>strong{margin-bottom:2px;color:var(--fi-gold-soft);font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.fi-footer-links a{width:fit-content;color:rgba(255,255,255,.7);font-size:.75rem}.fi-footer-links a:hover{color:#fff}
.fi-footer-contact>p{max-width:280px;margin-top:4px;color:rgba(255,255,255,.58);font-size:.73rem;line-height:1.45}.fi-footer-email,.fi-footer-whatsapp{display:flex;width:fit-content;align-items:center;gap:7px;margin-top:10px;color:rgba(255,255,255,.78);font-size:.72rem;font-weight:750}.fi-footer-email svg,.fi-footer-whatsapp svg{width:17px;height:17px}.fi-footer-whatsapp{color:#8ad6aa}.fi-footer-whatsapp svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.fi-footer-bottom{display:grid;gap:8px;margin-top:28px;padding-top:15px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.45);font-size:.64rem;line-height:1.4}.fi-footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px}.fi-footer-bottom a{color:rgba(255,255,255,.62)}

/* Services V4 visually absorbed into V5 */
.service-v4,.services-hub-v4{--sv4-accent:var(--fi-gold);--sv4-ink:var(--fi-ink);--sv4-muted:var(--fi-muted);--sv4-paper:var(--fi-paper-2);--sv4-line:var(--fi-line);background:#fff;color:var(--fi-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.sv4-shell{width:var(--fi-shell)}
.sv4-hero{background:var(--fi-paper-2)}
.sv4-hero-copy h1,.sv4-section-head h2,.sv4-statement strong,.sv4-cta h2,.sv4-hub-item h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.sv4-hero-copy h1{font-size:clamp(2.05rem,8vw,3.25rem);line-height:1.03}.sv4-hero-grid{padding:28px 0 34px}.sv4-section{padding:48px 0}.sv4-button{min-height:44px;border-radius:4px}.sv4-button--primary{background:var(--fi-ink)}.sv4-button--primary:hover{background:#263c52}.sv4-hero-aside{border-top-color:var(--fi-gold)}.sv4-hero-aside li::before{border-radius:0;width:5px;height:1px;top:.72em}.sv4-cta{border-radius:4px;background:var(--fi-ink)}.sv4-related{padding:42px 0 48px}.sv4-faq summary{min-height:46px}.sv4-whatsapp,.sv4-button--whatsapp{border-radius:4px}

/* Calculator + public diagnosis + client form: same visual language */
.calculator-page,.diagnosis-page,.client-intake-page{background:var(--fi-paper-2)!important;color:var(--fi-ink)}
.calculator-page{padding:38px 16px 52px}.calculator-header{margin-bottom:20px}.calculator-header h1{color:var(--fi-ink);font-size:clamp(2rem,7vw,2.9rem);line-height:1.04}.calculator-header p{color:var(--fi-muted);font-size:.87rem}.calculator-kicker{color:var(--fi-gold)}.calculator-card{border:1px solid var(--fi-line);border-radius:5px!important;box-shadow:none!important;background:#fff}.calculator-primary{border-radius:4px!important;background:var(--fi-ink)!important}.calculator-field input,.calculator-field select,.calculator-input{border-radius:4px!important;border-color:rgba(20,36,55,.2)!important}.calculator-disclaimer{color:var(--fi-muted)!important;font-size:.68rem!important}
.diagnosis-page{padding:28px 16px 52px!important}.diagnosis-shell{max-width:850px}.diagnosis-card{border:1px solid var(--fi-line)!important;border-radius:5px!important;box-shadow:none!important}.diagnosis-progress{background:var(--fi-paper-2)!important;border-radius:4px!important}.diagnosis-step-heading>span{color:var(--fi-gold)!important}.diagnosis-step-heading h2{color:var(--fi-ink)!important}.diagnosis-btn,.diagnosis-submit-btn{border-radius:4px!important;background:var(--fi-ink)!important}.field-block input,.field-block select,.field-block textarea{border-radius:4px!important}.diagnosis-privacy-card,.diagnosis-privacy-copy{border-radius:4px!important;background:var(--fi-paper-2)!important}
.client-intake-page{padding:36px 16px 58px!important}.client-intake-header h1{color:var(--fi-ink)!important;font-size:clamp(2rem,7vw,2.9rem)!important}.client-intake-kicker{color:var(--fi-gold)!important}.client-intake-form{box-shadow:none!important}.client-form-section,.client-privacy-card{border-radius:5px!important;border-color:var(--fi-line)!important;box-shadow:none!important}.client-section-heading>span{color:var(--fi-gold)!important}.client-submit-btn{border-radius:4px!important;background:var(--fi-ink)!important}.client-privacy-icon{width:34px!important;height:34px!important;border-radius:4px!important}.client-privacy-icon svg{width:20px;height:20px;color:var(--fi-gold)}

/* Confirmation pages: clean and SVG based */
.factum-success-page{background:var(--fi-paper-2)!important;padding:42px 16px 58px!important}.factum-success-shell{box-shadow:none!important;border:1px solid var(--fi-line)!important;border-radius:5px!important}.factum-success-icon{border-radius:50%!important;background:var(--fi-ink)!important;color:#fff!important}.factum-success-icon svg{width:28px;height:28px}.factum-success-steps article{box-shadow:none!important;border-color:var(--fi-line)!important;border-radius:4px!important}.factum-success-privacy{display:flex!important;align-items:center;justify-content:center;gap:7px}.factum-success-privacy svg{width:17px;height:17px;flex:0 0 auto;color:var(--fi-gold)}

/* Legal pages share the visual system without changing legal copy */
.legal-page,.legal-shell{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;color:var(--fi-ink)!important}.legal-page{max-width:860px!important;padding:40px 20px 62px!important}.legal-page h1,.legal-shell article h1{color:var(--fi-ink)!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;letter-spacing:-.025em!important}.legal-page h1{font-size:clamp(2rem,7vw,2.9rem)!important}.legal-page h2,.legal-shell h2{color:var(--fi-ink)!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}.legal-page p,.legal-page li,.legal-shell article{color:#4e5c6b!important}.legal-shell{max-width:980px!important;padding:40px 20px 62px!important}.legal-shell article>header{border-bottom-color:var(--fi-line)!important}.legal-shell article>header>p:first-child{color:var(--fi-gold)!important}.legal-shell aside{border-color:rgba(156,133,86,.25)!important;border-left-color:var(--fi-gold)!important;border-radius:4px!important;background:var(--fi-paper-2)!important}.legal-shell .table-responsive{border-radius:4px!important;border-color:var(--fi-line)!important}.legal-shell a{color:#705f3e!important}

/* Responsive */
@media(min-width:680px){
    .fi-section-head--split{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:end;gap:36px}
    .fi-service-index{grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--fi-line)}
    .fi-service-index>a{padding:11px 13px;border-right:1px solid var(--fi-line)}
    .fi-trust-grid{grid-template-columns:repeat(3,1fr);border-left:1px solid var(--fi-line)}
    .fi-trust-grid>div{padding:12px 14px;border-right:1px solid var(--fi-line);border-bottom:0}
    .fi-process{grid-template-columns:repeat(4,1fr);border-left:1px solid var(--fi-line)}
    .fi-process li{padding:14px;border-right:1px solid var(--fi-line);border-bottom:1px solid var(--fi-line)}
    .fi-docs-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:48px;align-items:start}
    .fi-fees-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
    .fi-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fi-field--full{grid-column:1/-1}
    .fi-footer-top{grid-template-columns:minmax(220px,1.25fr) .72fr .72fr 1fr;gap:34px}.fi-footer-bottom{grid-template-columns:auto auto 1fr;align-items:center}.fi-footer-bottom>span:last-child{text-align:right}
}
@media(min-width:900px){
    .fi-hero-grid{grid-template-columns:minmax(0,1.42fr) minmax(270px,.58fr);gap:58px;align-items:end;padding:46px 0 48px}
    .fi-hero-copy h1{font-size:clamp(3rem,4.65vw,4rem)}
    .fi-team-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
    .fi-faq-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:58px;align-items:start}
    .fi-final-grid{grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center}.fi-final-grid .fi-actions{justify-content:flex-end}
    .fi-contact-page{padding:24px 0 64px}.fi-contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:66px;align-items:start}.fi-contact-form-wrap{padding:26px}
    .sv4-hero-grid{grid-template-columns:minmax(0,1.42fr) minmax(270px,.58fr);gap:54px;padding:34px 0 40px}.sv4-hero-copy h1{font-size:clamp(2.65rem,4.2vw,3.45rem)}.sv4-section{padding:52px 0}
}
@media(max-width:980px){
    .fi-main-nav,.fi-nav-actions{display:none}.mobile-menu-btn.fi-menu-button{display:grid;width:42px;height:42px;margin-left:auto;place-items:center;border:1px solid var(--fi-line);border-radius:4px;background:#fff;color:var(--fi-ink)}.fi-menu-button svg{width:22px;height:22px}.fi-mobile-menu{display:block;max-height:0;overflow:hidden;visibility:hidden;background:#fff;border-top:1px solid transparent;transition:max-height .22s ease,visibility .22s ease}.fi-mobile-menu.is-open{max-height:calc(100dvh - 70px);visibility:visible;overflow:auto;border-top-color:var(--fi-line);padding:8px 16px 14px}.fi-mobile-menu>a,.fi-mobile-menu>.mobile-submenu-trigger{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;padding:9px 0;border:0;border-bottom:1px solid var(--fi-line);background:#fff;color:var(--fi-ink);font-size:.82rem;font-weight:750;text-align:left}.fi-mobile-menu>.mobile-submenu-trigger svg{width:17px;height:17px;transition:transform .16s ease}.fi-mobile-menu>.mobile-submenu-trigger.is-open svg{transform:rotate(180deg)}.fi-mobile-menu .mobile-services-submenu{display:grid;max-height:0;overflow:hidden;background:var(--fi-paper-2);transition:max-height .2s ease}.fi-mobile-menu .mobile-services-submenu.is-open{max-height:420px}.fi-mobile-menu .mobile-services-submenu a{padding:9px 12px;border-bottom:1px solid var(--fi-line);color:#435363;font-size:.76rem;font-weight:700}.fi-mobile-menu .mobile-cta{margin-top:9px!important;justify-content:center!important;border-bottom:0!important;border-radius:4px;background:var(--fi-ink)!important;color:#fff!important}.fi-mobile-menu .fi-mobile-whatsapp{justify-content:flex-start!important;gap:8px;color:#167043!important}.fi-mobile-whatsapp svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
}
@media(max-width:679px){
    :root{--fi-shell:min(100% - 28px,1160px)}
    .fi-nav-shell{width:calc(100% - 28px);min-height:66px}.fi-brand-mark{width:39px;height:39px}.fi-brand-copy strong{font-size:.98rem}.fi-brand-copy small{font-size:.58rem}
    .fi-section{padding:42px 0}.fi-hero-grid{padding:30px 0 34px}.fi-hero-copy h1{font-size:clamp(2.05rem,10.6vw,2.85rem)}.fi-actions{display:grid;grid-template-columns:1fr}.fi-button{width:100%}
    .fi-section-head h2{font-size:clamp(1.65rem,8.5vw,2.2rem)}
    .fi-team-grid{gap:22px}.fi-team-intro h2{font-size:clamp(1.75rem,9vw,2.35rem)}
    .fi-final-cta{padding:36px 0}.fi-final-grid h2{font-size:clamp(1.65rem,8.5vw,2.2rem)}
    .fi-contact-page{padding-top:14px}.fi-contact-form-wrap{padding:17px}.fi-contact-copy h1{font-size:clamp(2rem,10.5vw,2.8rem)}
    .fi-footer-shell{padding-top:32px}.fi-footer-top{gap:24px}
    .sv4-actions{display:grid!important;grid-template-columns:1fr!important}.sv4-button{width:100%!important}.sv4-hero-grid{padding:24px 0 30px}.sv4-section{padding:40px 0}.sv4-hero-copy h1{font-size:clamp(1.95rem,9.8vw,2.65rem)}
    .calculator-page,.diagnosis-page,.client-intake-page{padding-left:14px!important;padding-right:14px!important}
}
@media(prefers-reduced-motion:reduce){.fi-button,.fi-main-nav .fi-nav-link::after,.fi-mobile-menu,.fi-faq summary svg{transition:none!important}.fi-button:hover{transform:none!important}}

/* ==========================================================================
   FACTUM IUS — VISUAL SYSTEM V5.1 · CSS STABILITY PATCH · 2026-08-26
   Fixes anchor specificity, desktop dropdown layout and hero proportions.
   ========================================================================== */

/*
 * body.fi-site a { color: inherit; } intentionally normalises links, but its
 * specificity is higher than the component classes below. Explicitly scope
 * interactive components so their accessible text colours cannot be lost.
 */
body.fi-site a.fi-header-cta,
body.fi-site a.fi-button--primary {
    color: #fff;
}
body.fi-site a.fi-header-cta:hover,
body.fi-site a.fi-button--primary:hover {
    color: #fff;
}
body.fi-site a.fi-button--whatsapp {
    color: #166f45;
}
body.fi-site a.fi-button--light {
    color: var(--fi-ink);
}
body.fi-site a.fi-button--ghost-light {
    color: #fff;
}
body.fi-site a.fi-icon-button--whatsapp {
    color: var(--fi-whatsapp);
}
body.fi-site a.fi-footer-whatsapp {
    color: inherit;
}

/* Desktop dropdown: every service is a real row, never inline text. */
.fi-main-nav .fi-dropdown.nav-dropdown-menu {
    width: min(390px, calc(100vw - 32px));
    padding: 8px;
}
.fi-main-nav .fi-dropdown.nav-dropdown-menu > a {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    padding: 10px 12px;
    line-height: 1.25;
    white-space: normal;
}
.fi-main-nav .fi-dropdown.nav-dropdown-menu > a > span,
.fi-main-nav .fi-dropdown.nav-dropdown-menu > a > small {
    display: block;
    min-width: 0;
}
.fi-main-nav .fi-dropdown.nav-dropdown-menu > a > span {
    color: var(--fi-ink);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.25;
}
.fi-main-nav .fi-dropdown.nav-dropdown-menu > a > small {
    margin: 0;
    color: var(--fi-muted);
    font-size: .69rem;
    font-weight: 500;
    line-height: 1.35;
}
.fi-main-nav .fi-dropdown.nav-dropdown-menu > a.nav-dropdown-all {
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    gap: 10px;
    color: #705f3e;
    font-size: .8rem;
    font-weight: 800;
}
.fi-main-nav .fi-dropdown.nav-dropdown-menu > a.nav-dropdown-all svg {
    width: 18px;
    height: 18px;
}

/* Prevent legacy dropdown rules from creating an oversized hover bridge. */
.fi-nav-dropdown::after {
    width: min(390px, calc(100vw - 32px));
}

/* Header alignment and predictable CTA width on wide screens. */
.fi-nav-shell {
    gap: 24px;
}
.fi-main-nav {
    min-width: 0;
    gap: clamp(16px, 1.45vw, 24px);
}
.fi-nav-actions {
    min-width: max-content;
}
body.fi-site a.fi-header-cta {
    min-width: 132px;
    white-space: nowrap;
}

/* A calmer desktop hero: enough hierarchy without dominating the first view. */
@media (min-width: 1100px) {
    .fi-hero-grid {
        grid-template-columns: minmax(0, 1.5fr) minmax(300px, .58fr);
        gap: 48px;
        padding: 40px 0 42px;
    }
    .fi-hero-copy h1 {
        max-width: 760px;
        font-size: clamp(3rem, 3.55vw, 3.45rem);
        line-height: 1.035;
    }
    .fi-hero-copy > p {
        max-width: 700px;
        font-size: .96rem;
    }
}

/* Medium desktop/laptop: avoid menu collisions before switching to mobile. */
@media (min-width: 981px) and (max-width: 1180px) {
    .fi-nav-shell {
        width: min(100% - 24px, 1240px);
        gap: 16px;
    }
    .fi-brand-copy small {
        display: none;
    }
    .fi-main-nav {
        gap: 14px;
    }
    .fi-main-nav .fi-nav-link {
        font-size: .78rem;
    }
    body.fi-site a.fi-header-cta {
        min-width: 118px;
        padding-inline: 12px;
        font-size: .76rem;
    }
}

/* ==========================================================================
   FACTUM IUS — VISUAL SYSTEM V6 · 2026-08-26
   Dirección visual: despacho jurídico premium, sereno y muy escaneable.
   Inspiración de composición: contraste navy/ivory, jerarquía editorial,
   bloques cortos y paneles de apoyo. No replica ninguna referencia externa.
   ========================================================================== */
:root{
    --fi-navy:#0b2947;
    --fi-navy-2:#113657;
    --fi-navy-3:#173f63;
    --fi-ivory:#f7f3ec;
    --fi-ivory-2:#fbf9f5;
    --fi-gold-v6:#c2a263;
    --fi-gold-v6-soft:#e5d7b9;
    --fi-copy:#435367;
    --fi-border:rgba(13,42,70,.14);
    --fi-border-light:rgba(255,255,255,.16);
    --fi-radius:18px;
    --fi-radius-sm:10px;
    --fi-shadow-v6:0 24px 70px rgba(5,28,51,.13);
}

body.fi-site{
    background:#fff;
    color:var(--fi-navy);
}
body.fi-site h1,
body.fi-site h2{
    text-wrap:balance;
}
body.fi-site p{
    text-wrap:pretty;
}

/* ---------- Header: light, quiet and brand-led ---------- */
.site-header.fi-header{
    background:rgba(255,255,255,.985);
    border-bottom:1px solid rgba(11,41,71,.11);
    box-shadow:0 4px 18px rgba(11,41,71,.035);
}
.fi-nav-shell{
    min-height:76px;
}
.fi-brand-mark{
    width:48px;
    height:48px;
}
.fi-brand-copy strong{
    color:var(--fi-navy);
    font-size:1.08rem;
}
.fi-brand-copy small{
    color:#7a8490;
    letter-spacing:.12em;
}
.fi-main-nav .fi-nav-link{
    color:#2d4155;
    font-size:.85rem;
}
.fi-header-cta{
    min-height:44px;
    padding-inline:18px;
    border-radius:8px;
    border-color:var(--fi-navy);
    background:var(--fi-navy);
}
.fi-header-cta:hover{
    background:var(--fi-navy-2);
}
.fi-icon-button{
    width:44px;
    height:44px;
    border-radius:8px;
}
.fi-dropdown.nav-dropdown-menu{
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(5,28,51,.16);
}
.fi-main-nav .fi-dropdown a{
    border-radius:7px;
}

/* ---------- Global rhythm: fewer, clearer things per viewport ---------- */
.fi-section,
.sv4-section{
    padding-block:clamp(46px,5vw,68px);
}
.fi-section--soft,
.sv4-section--soft{
    background:var(--fi-ivory-2);
}
.fi-section-head h2,
.sv4-section-head h2{
    max-width:18ch;
    color:var(--fi-navy);
}
.fi-section-head>p,
.sv4-section-head p{
    max-width:58ch;
    color:#617083;
}
.fi-eyebrow,
.sv4-eyebrow{
    color:#9a7c43;
    letter-spacing:.13em;
}

/* ---------- HOME HERO ---------- */
.fi-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 78% 18%,rgba(194,162,99,.16),transparent 28%),
        linear-gradient(135deg,#071d32 0%,var(--fi-navy) 52%,#123b61 100%);
    border-bottom:0;
}
.fi-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:
        linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);
    background-size:60px 60px;
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 68%,transparent 100%);
}
.fi-hero::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:520px;
    height:520px;
    right:-260px;
    bottom:-300px;
    border:1px solid rgba(194,162,99,.28);
    border-radius:50%;
}
.fi-hero-grid{
    min-height:min(650px,calc(100vh - 76px));
    align-items:center;
    gap:clamp(34px,5vw,72px);
    padding-block:clamp(46px,6vw,74px);
}
.fi-hero-copy{
    align-self:center;
}
.fi-hero-copy .fi-eyebrow{
    padding:7px 13px;
    border:1px solid rgba(229,215,185,.36);
    border-radius:999px;
    color:#ead9b5;
    background:rgba(255,255,255,.025);
    font-size:.68rem;
}
.fi-hero-copy h1{
    max-width:13ch;
    margin-top:22px;
    color:#fff;
    font-size:clamp(2.7rem,5vw,4.65rem);
    line-height:.99;
    letter-spacing:-.04em;
}
.fi-hero-copy>p{
    max-width:62ch;
    margin-top:24px;
    color:rgba(255,255,255,.8);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1rem,1.35vw,1.16rem);
    line-height:1.65;
}
.fi-hero .fi-actions{
    margin-top:30px;
    gap:12px;
}
body.fi-site .fi-hero a.fi-button--primary{
    min-height:52px;
    padding-inline:24px;
    border-color:#f6f0e5;
    background:#f6f0e5;
    color:var(--fi-navy);
    border-radius:9px;
}
body.fi-site .fi-hero a.fi-button--primary:hover{
    border-color:#fff;
    background:#fff;
    color:var(--fi-navy);
}
body.fi-site .fi-hero a.fi-button--whatsapp{
    min-height:52px;
    padding-inline:22px;
    border-color:rgba(255,255,255,.4);
    background:rgba(255,255,255,.035);
    color:#fff;
    border-radius:9px;
}
body.fi-site .fi-hero a.fi-button--whatsapp:hover{
    background:rgba(255,255,255,.1);
    color:#fff;
}
.fi-hero .fi-button--whatsapp svg{
    color:#72d79b;
}
.fi-proofline{
    max-width:680px;
    margin-top:26px;
    padding-top:18px;
    border-color:rgba(255,255,255,.16);
    color:rgba(255,255,255,.74);
    gap:10px 24px;
}
.fi-proofline span::before{
    background:var(--fi-gold-v6);
}
.fi-hero-aside{
    align-self:center;
    position:relative;
    padding:30px 28px 24px;
    border:1px solid rgba(194,162,99,.25);
    border-left:4px solid var(--fi-gold-v6);
    border-radius:22px;
    background:rgba(250,248,244,.98);
    color:var(--fi-navy);
    box-shadow:var(--fi-shadow-v6);
}
.fi-aside-label{
    color:#a2854d;
    font-size:.7rem;
    letter-spacing:.16em;
}
.fi-aside-title{
    max-width:20ch;
    margin-top:14px!important;
    margin-bottom:18px!important;
    color:var(--fi-navy)!important;
    font-size:clamp(1.35rem,2vw,1.75rem)!important;
    line-height:1.16;
}
.fi-aside-row{
    grid-template-columns:32px minmax(0,1fr);
    gap:12px;
    margin-top:10px;
    padding:13px 14px;
    border:1px solid rgba(11,41,71,.11);
    border-radius:11px;
    background:#fff;
}
.fi-aside-row:first-of-type{
    margin-top:0;
}
.fi-aside-row>strong{
    padding-top:2px;
    color:#ae8a49;
    font-size:.68rem;
}
.fi-aside-row h3{
    color:var(--fi-navy);
    font-family:inherit;
    font-size:.92rem;
    font-weight:800;
    line-height:1.3;
}
.fi-aside-row p{
    margin-top:3px!important;
    color:#667386;
    font-size:.76rem;
    line-height:1.42;
}
.fi-aside-note{
    margin-top:15px;
    color:#667386;
    font-size:.72rem;
}

/* ---------- Home trust strip ---------- */
.fi-trust-strip{
    border-bottom:1px solid var(--fi-border);
    background:#fff;
}
.fi-trust-grid{
    max-width:1000px;
}
.fi-trust-grid>div{
    padding-block:16px;
}
.fi-trust-grid strong{
    color:var(--fi-navy);
    font-size:.78rem;
}
.fi-trust-grid span{
    color:#738092;
    font-size:.7rem;
}

/* ---------- Home service index: compact editorial rows ---------- */
.fi-service-index{
    margin-top:30px;
    border-top:1px solid var(--fi-border);
}
.fi-service-index>a{
    min-height:88px;
    padding:14px 16px;
    border-color:var(--fi-border);
    background:transparent;
    transition:background .18s ease,transform .18s ease;
}
.fi-service-index>a:hover{
    background:#fff;
    transform:translateY(-1px);
}
.fi-service-icon{
    width:42px;
    height:42px;
    border:1px solid rgba(194,162,99,.34);
    border-radius:10px;
    background:#fff;
    color:#a17f41;
}
.fi-service-icon svg{
    width:22px;
    height:22px;
}
.fi-service-index a small{
    color:#9a7c43;
}
.fi-service-index a strong{
    max-width:30ch;
    color:var(--fi-navy);
    font-size:.94rem;
}

/* ---------- Team: navy editorial, not a wall of cards ---------- */
.fi-team-section{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#071d32,var(--fi-navy));
}
.fi-team-section::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-220px;
    top:-240px;
    border:1px solid rgba(194,162,99,.2);
    border-radius:50%;
}
.fi-team-intro h2{
    max-width:15ch;
    font-size:clamp(2rem,3.7vw,3.2rem);
}
.fi-team-intro p{
    max-width:52ch;
    font-size:.94rem;
}
.fi-people{
    border-top:1px solid rgba(255,255,255,.16);
}
.fi-people article{
    padding:18px 0;
    border-color:rgba(255,255,255,.16);
}
.fi-person-initial{
    width:42px;
    height:42px;
    border:1px solid rgba(229,215,185,.35);
    border-radius:10px;
    background:rgba(255,255,255,.04);
    color:#e6d1a7;
}

/* ---------- Process / docs / fees ---------- */
.fi-process{
    margin-top:30px;
    border-color:var(--fi-border);
}
.fi-process li{
    min-height:150px;
    padding:20px;
    border-color:var(--fi-border);
    background:#fff;
}
.fi-process li>span{
    color:#aa8849;
}
.fi-process h3{
    margin-top:16px;
    color:var(--fi-navy);
    font-size:.96rem;
}
.fi-process p{
    margin-top:5px;
    color:#6d7989;
    font-size:.8rem;
}
.fi-docs-layout{
    align-items:center;
}
.fi-docs-layout>div:first-child h2{
    max-width:15ch;
    margin-top:8px;
    color:var(--fi-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.8rem,3.2vw,2.65rem);
    line-height:1.08;
}
.fi-docs-layout>div:first-child p{
    max-width:54ch;
    margin-top:12px;
    color:#667386;
}
.fi-docs-list{
    border-top:1px solid var(--fi-border);
}
.fi-docs-list>div{
    padding:15px 0;
    border-color:var(--fi-border);
}
.fi-docs-list svg{
    width:22px;
    height:22px;
    color:#a88749;
}
.fi-fees-section{
    background:#fff;
}
.fi-fees-grid{
    margin-top:30px;
}
.fi-fee-block{
    padding:22px;
    border:1px solid var(--fi-border);
    border-radius:14px;
    background:var(--fi-ivory-2);
}
.fi-fee-block dl div{
    border-color:var(--fi-border);
}
.fi-fees-note{
    margin-top:18px;
    padding-left:14px;
    border-left:2px solid var(--fi-gold-v6);
    color:#6b7787;
}

/* ---------- FAQs ---------- */
.fi-faq details,
.sv4-faq-list details{
    border-color:var(--fi-border);
    background:#fff;
}
.fi-faq summary,
.sv4-faq-list summary{
    min-height:58px;
    padding-block:14px;
    color:var(--fi-navy);
    font-size:.9rem;
}
.fi-faq details p,
.sv4-faq-list details p{
    max-width:70ch;
    color:#687587;
}

/* ---------- Home final CTA ---------- */
.fi-final-cta{
    position:relative;
    overflow:hidden;
    padding:56px 0;
    background:linear-gradient(135deg,#08213a,var(--fi-navy-2));
}
.fi-final-grid h2{
    max-width:16ch;
    font-size:clamp(1.9rem,3.4vw,2.9rem);
}
.fi-final-grid p{
    max-width:54ch;
}
.fi-final-cta .fi-button{
    min-height:50px;
    border-radius:9px;
}

/* ========================================================================== 
   SERVICE PAGES / RECLAMACIONES HUB
   ========================================================================== */
.service-v4,
.services-hub-v4{
    --sv4-ink:var(--fi-navy);
    --sv4-paper:var(--fi-ivory-2);
    --sv4-accent:var(--fi-gold-v6);
    --sv4-line:var(--fi-border);
    --sv4-muted:#667587;
}
.sv4-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 16%,rgba(194,162,99,.16),transparent 27%),
        linear-gradient(135deg,#071d32 0%,var(--fi-navy) 56%,#123b61 100%);
    color:#fff;
}
.sv4-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background-image:
        linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.7) 70%,transparent);
}
.sv4-breadcrumbs{
    padding-top:18px;
    color:rgba(255,255,255,.58);
}
.sv4-breadcrumbs a{
    color:rgba(255,255,255,.76);
}
.sv4-hero-grid{
    align-items:center;
    gap:clamp(34px,5vw,70px);
    padding:34px 0 58px;
}
.sv4-hero-copy .sv4-eyebrow{
    display:inline-flex;
    width:fit-content;
    padding:7px 13px;
    border:1px solid rgba(229,215,185,.34);
    border-radius:999px;
    color:#ead9b5;
    background:rgba(255,255,255,.025);
}
.sv4-hero-copy h1{
    max-width:15ch;
    margin-top:18px;
    color:#fff;
    font-size:clamp(2.4rem,4.3vw,4rem);
    line-height:1.01;
    letter-spacing:-.038em;
}
.sv4-hero-copy>p{
    max-width:64ch;
    margin-top:20px;
    color:rgba(255,255,255,.78);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(.98rem,1.25vw,1.1rem);
    line-height:1.65;
}
.sv4-actions{
    gap:11px;
    margin-top:26px;
}
.sv4-button{
    min-height:50px;
    padding:11px 20px;
    border-radius:9px;
}
body.fi-site .sv4-hero a.sv4-button--primary{
    border-color:#f6f0e5;
    background:#f6f0e5;
    color:var(--fi-navy);
}
body.fi-site .sv4-hero a.sv4-button--primary:hover{
    background:#fff;
    color:var(--fi-navy);
}
body.fi-site .sv4-hero a.sv4-button--whatsapp{
    border-color:rgba(255,255,255,.38);
    background:rgba(255,255,255,.035);
    color:#fff;
}
body.fi-site .sv4-hero a.sv4-button--whatsapp:hover{
    background:rgba(255,255,255,.09);
    color:#fff;
}
.sv4-whatsapp-icon{
    width:18px;
    height:18px;
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sv4-hero .sv4-whatsapp-icon{
    color:#72d79b;
}
.sv4-microcopy{
    max-width:64ch;
    color:rgba(255,255,255,.6);
}
.sv4-hero-aside{
    align-self:center;
    padding:28px;
    border:1px solid rgba(194,162,99,.24);
    border-left:4px solid var(--fi-gold-v6);
    border-top:1px solid rgba(194,162,99,.24);
    border-radius:22px;
    background:rgba(250,248,244,.985);
    color:var(--fi-navy);
    box-shadow:var(--fi-shadow-v6);
}
.sv4-hero-aside small{
    color:#9a7c43;
    letter-spacing:.13em;
}
.sv4-hero-aside h2{
    max-width:22ch;
    margin-top:10px;
    color:var(--fi-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.3rem,2vw,1.7rem);
    font-weight:600;
    line-height:1.18;
}
.sv4-hero-aside ul{
    gap:9px;
    margin-top:20px;
}
.sv4-hero-aside li{
    min-height:46px;
    display:flex;
    align-items:center;
    padding:10px 12px 10px 28px;
    border:1px solid rgba(11,41,71,.1);
    border-radius:10px;
    background:#fff;
    color:#536276;
    font-size:.8rem;
}
.sv4-hero-aside li::before{
    left:12px;
    top:50%;
    width:7px;
    height:1px;
    border-radius:0;
    background:var(--fi-gold-v6);
    transform:translateY(-50%);
}

.sv4-trustline{
    border-bottom:1px solid var(--fi-border);
    background:#fff;
}
.sv4-trustline .sv4-shell{
    padding-block:13px;
}
.sv4-trustline span{
    color:#657386;
}

/* Editorial content: avoid large text clumps */
.sv4-editorial-grid,
.sv4-split{
    gap:clamp(30px,5vw,64px);
}
.sv4-statement{
    padding:22px;
    border:1px solid rgba(194,162,99,.24);
    border-left:3px solid var(--fi-gold-v6);
    border-radius:14px;
    background:var(--fi-ivory-2);
}
.sv4-statement strong{
    max-width:22ch;
    display:block;
    color:var(--fi-navy);
    font-size:clamp(1.35rem,2.6vw,2.1rem);
    line-height:1.15;
}
.sv4-statement p{
    max-width:54ch;
    margin-top:12px;
    color:#667587;
    font-size:.88rem;
}
.sv4-editorial-list{
    border-top:1px solid var(--fi-border);
}
.sv4-editorial-list article{
    padding-block:15px;
    border-color:var(--fi-border);
}
.sv4-editorial-list h3{
    color:var(--fi-navy);
}
.sv4-data-rail{
    border:1px solid var(--fi-border);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
.sv4-data-rail div{
    padding:13px 15px;
    border-color:var(--fi-border);
}
.sv4-data-rail div:last-child{
    border-bottom:0;
}
.sv4-docs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    border-top:0;
}
.sv4-docs article{
    padding:18px;
    border:1px solid var(--fi-border);
    border-radius:12px;
    background:#fff;
}
.sv4-note{
    margin-top:16px;
    padding:15px 18px;
    border:1px solid rgba(194,162,99,.27);
    border-radius:12px;
    background:var(--fi-ivory-2);
}
.sv4-checklist{
    border:1px solid var(--fi-border);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
.sv4-checklist li{
    padding:13px 15px;
    border-color:var(--fi-border);
}

/* One dark authority band per service */
.sv4-section--dark{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#071d32,var(--fi-navy));
}
.sv4-section--dark::after{
    content:"";
    position:absolute;
    width:460px;
    height:460px;
    right:-250px;
    bottom:-280px;
    border:1px solid rgba(194,162,99,.18);
    border-radius:50%;
}
.sv4-section--dark .sv4-section-head h2{
    max-width:17ch;
    color:#fff;
}
.sv4-duality{
    gap:10px;
}
.sv4-duality article{
    padding:18px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:rgba(255,255,255,.04);
}
.sv4-duality h3{
    color:#fff;
}
.sv4-duality p{
    color:rgba(255,255,255,.68);
}
.sv4-review{
    margin-top:14px;
    padding-top:14px;
    border-color:rgba(255,255,255,.15);
    color:rgba(255,255,255,.66);
}

.sv4-flow{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    border:1px solid var(--fi-border);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
}
.sv4-flow li{
    grid-template-columns:1fr;
    min-height:145px;
    padding:18px;
    border-right:1px solid var(--fi-border);
    border-bottom:0;
}
.sv4-flow li:last-child{
    border-right:0;
}
.sv4-flow li::before{
    color:#a48345;
}
.sv4-flow h3{
    margin-top:12px;
    color:var(--fi-navy);
}
.sv4-flow p{
    color:#6a7788;
}
.sv4-faq{
    gap:clamp(30px,5vw,64px);
}
.sv4-faq-list{
    border-top:1px solid var(--fi-border);
}
.sv4-faq-list details{
    border-bottom:1px solid var(--fi-border);
}

/* Service CTA: large message, little noise */
.sv4-cta-wrap{
    padding:0 0 58px;
    background:#fff;
}
.sv4-cta{
    gap:28px;
    padding:34px;
    border-radius:18px;
    background:linear-gradient(135deg,#071d32,var(--fi-navy-2));
}
.sv4-cta h2{
    max-width:19ch;
    font-size:clamp(1.7rem,3vw,2.55rem);
}
.sv4-cta p{
    max-width:58ch;
}
.sv4-cta .sv4-button--primary{
    border-color:#f6f0e5;
    background:#f6f0e5;
    color:var(--fi-navy);
}
.sv4-cta .sv4-button--whatsapp{
    border-color:rgba(255,255,255,.38);
    color:#fff;
}
.sv4-cta .sv4-whatsapp-icon{
    color:#72d79b;
}
.sv4-related{
    background:var(--fi-ivory-2);
}
.sv4-related-grid{
    gap:12px;
}
.sv4-related-grid>a,
.sv4-hub-item{
    border:1px solid var(--fi-border);
    border-radius:12px;
    background:#fff;
}

/* ========================================================================== 
   CONTACT PAGE
   ========================================================================== */
.fi-contact-page{
    position:relative;
    padding:0 0 70px;
    background:
        linear-gradient(180deg,var(--fi-navy) 0 430px,var(--fi-ivory-2) 430px 100%);
}
.fi-contact-page .fi-breadcrumbs{
    padding-top:20px;
    color:rgba(255,255,255,.58);
}
.fi-contact-page .fi-breadcrumbs a{
    color:rgba(255,255,255,.78);
}
.fi-contact-grid{
    padding-top:30px;
    align-items:start;
    gap:clamp(32px,5vw,70px);
}
.fi-contact-copy{
    padding-top:22px;
    color:#fff;
}
.fi-contact-copy .fi-eyebrow{
    padding:7px 12px;
    border:1px solid rgba(229,215,185,.32);
    border-radius:999px;
    color:#ead9b5;
}
.fi-contact-copy h1{
    max-width:10ch;
    margin-top:20px;
    color:#fff;
    font-size:clamp(2.6rem,4.8vw,4.3rem);
    line-height:1;
}
.fi-contact-copy>p{
    max-width:55ch;
    margin-top:20px;
    color:rgba(255,255,255,.76);
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.04rem;
}
.fi-contact-channels{
    margin-top:28px;
    border-color:rgba(255,255,255,.16);
}
.fi-channel{
    min-height:68px;
    padding:13px 0;
    border-color:rgba(255,255,255,.16);
    color:#fff;
}
.fi-channel svg{
    color:#e0c58c;
}
.fi-channel small{
    color:rgba(255,255,255,.58);
}
.fi-channel--whatsapp svg{
    color:#72d79b;
}
.fi-contact-trust{
    border-color:rgba(255,255,255,.16);
}
.fi-contact-trust>div{
    border-color:rgba(255,255,255,.16);
}
.fi-contact-trust svg{
    color:#e0c58c;
}
.fi-contact-trust strong{
    color:#fff;
}
.fi-contact-trust small{
    color:rgba(255,255,255,.58);
}
.fi-contact-form-wrap{
    margin-top:0;
    padding:30px;
    border:1px solid rgba(194,162,99,.22);
    border-left:4px solid var(--fi-gold-v6);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--fi-shadow-v6);
}
.fi-contact-form-head h2{
    max-width:20ch;
    color:var(--fi-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.55rem,2.3vw,2rem);
}
.fi-contact-form-head p{
    max-width:54ch;
    font-size:.78rem;
}
.fi-contact-form{
    margin-top:22px;
}
.fi-field input,
.fi-field textarea,
.fi-field select{
    min-height:48px;
    border:1px solid rgba(11,41,71,.18);
    border-radius:9px;
    background:#fff;
}
.fi-field textarea{
    min-height:124px;
}
.fi-consent{
    border:1px solid var(--fi-border);
    border-radius:11px;
    background:var(--fi-ivory-2);
}
body.fi-site .fi-contact-form .fi-button--primary{
    min-height:50px;
    border-radius:9px;
    background:var(--fi-navy);
    color:#fff;
}

/* ========================================================================== 
   CALCULATOR
   ========================================================================== */
.calculator-page{
    padding:46px 16px 70px!important;
    background:
        linear-gradient(180deg,var(--fi-navy) 0 350px,var(--fi-ivory-2) 350px 100%)!important;
}
.calculator-header{
    max-width:760px;
    margin-bottom:30px;
}
.calculator-kicker{
    padding:7px 12px;
    border:1px solid rgba(229,215,185,.32);
    border-radius:999px;
    color:#ead9b5!important;
}
.calculator-header h1{
    max-width:16ch;
    margin-inline:auto;
    color:#fff!important;
    font-size:clamp(2.45rem,4.5vw,3.8rem)!important;
    line-height:1!important;
}
.calculator-header p{
    max-width:60ch;
    margin-inline:auto!important;
    color:rgba(255,255,255,.72)!important;
}
.calculator-card{
    padding:clamp(24px,4vw,38px)!important;
    border:1px solid rgba(194,162,99,.24)!important;
    border-left:4px solid var(--fi-gold-v6)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:var(--fi-shadow-v6)!important;
}
.calculator-progress{
    color:#9d8048!important;
}
.calculator-field input,
.calculator-field select,
.calculator-input{
    min-height:50px;
    border-radius:9px!important;
    background:#fff!important;
}
.calculator-primary{
    min-height:50px;
    border-radius:9px!important;
    background:var(--fi-navy)!important;
}
.calculator-result{
    border-radius:14px!important;
    background:var(--fi-ivory-2)!important;
}
.calculator-disclaimer{
    max-width:760px;
    margin:18px auto 0!important;
    color:#6a7686!important;
}

/* ========================================================================== 
   DIAGNOSIS / ESTUDIAR MI CASO
   ========================================================================== */
.diagnosis-page{
    padding:0 16px 70px!important;
    background:
        linear-gradient(180deg,var(--fi-navy) 0 390px,var(--fi-ivory-2) 390px 100%)!important;
}
.diagnosis-shell{
    max-width:940px!important;
}
.diagnosis-header{
    max-width:760px;
    margin:0 auto;
    padding:50px 0 30px;
    text-align:center;
}
.diagnosis-eyebrow{
    padding:7px 12px!important;
    border:1px solid rgba(229,215,185,.32)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.025)!important;
    color:#ead9b5!important;
    font-size:.7rem!important;
    font-weight:800!important;
    letter-spacing:.13em!important;
    text-transform:uppercase;
}
.diagnosis-header h1{
    max-width:15ch;
    margin:18px auto 0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.45rem,4.5vw,3.8rem);
    line-height:1;
    font-weight:500;
}
.diagnosis-header p{
    max-width:62ch;
    margin:18px auto 0;
    color:rgba(255,255,255,.72);
    font-size:.95rem;
    line-height:1.6;
}
.diagnosis-trust{
    margin-top:22px;
}
.diagnosis-trust span{
    border-color:rgba(255,255,255,.18)!important;
    color:rgba(255,255,255,.72)!important;
    background:rgba(255,255,255,.025)!important;
}
.diagnosis-card{
    padding:clamp(24px,4vw,40px)!important;
    border:1px solid rgba(194,162,99,.24)!important;
    border-left:4px solid var(--fi-gold-v6)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:var(--fi-shadow-v6)!important;
}
.diagnosis-progress{
    padding:15px 18px!important;
    border:1px solid var(--fi-border);
    border-radius:11px!important;
    background:var(--fi-ivory-2)!important;
}
.progress-line{
    background:#e6e0d6!important;
}
.progress-line span{
    background:var(--fi-gold-v6)!important;
}
.diagnosis-step-heading>span{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid rgba(194,162,99,.35);
    border-radius:9px;
    background:var(--fi-ivory-2)!important;
    color:#997a41!important;
}
.diagnosis-step-heading h2{
    max-width:22ch;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.55rem,2.5vw,2rem);
    font-weight:600;
}
.field-block input,
.field-block select,
.field-block textarea{
    min-height:50px;
    border-radius:9px!important;
    border-color:rgba(11,41,71,.18)!important;
}
.diagnosis-btn{
    min-height:50px;
    border-radius:9px!important;
    background:var(--fi-navy)!important;
}
.diagnosis-btn.secondary{
    border:1px solid var(--fi-border)!important;
    background:#fff!important;
    color:var(--fi-navy)!important;
}
.diagnosis-privacy-card{
    border-radius:12px!important;
    background:var(--fi-ivory-2)!important;
}

/* ========================================================================== 
   PRIVATE CLIENT FORM (public-facing route, noindex)
   ========================================================================== */
.client-intake-page{
    padding:0 16px 72px!important;
    background:
        linear-gradient(180deg,var(--fi-navy) 0 330px,var(--fi-ivory-2) 330px 100%)!important;
}
.client-intake-shell{
    max-width:940px!important;
}
.client-intake-header{
    max-width:760px!important;
    margin:0 auto!important;
    padding:48px 0 28px!important;
    text-align:center!important;
}
.client-intake-kicker{
    display:inline-block;
    padding:7px 12px;
    border:1px solid rgba(229,215,185,.32);
    border-radius:999px;
    color:#ead9b5!important;
}
.client-intake-header h1{
    max-width:16ch;
    margin:17px auto 0!important;
    color:#fff!important;
    font-size:clamp(2.35rem,4.4vw,3.6rem)!important;
    line-height:1!important;
}
.client-intake-header p{
    max-width:58ch;
    margin:16px auto 0!important;
    color:rgba(255,255,255,.7)!important;
}
.client-intake-form{
    display:grid;
    gap:14px;
}
.client-form-section,
.client-privacy-card{
    padding:clamp(20px,3vw,28px)!important;
    border:1px solid var(--fi-border)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:none!important;
}
.client-form-section:first-of-type{
    border-left:4px solid var(--fi-gold-v6)!important;
}
.client-section-heading>span{
    display:grid!important;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid rgba(194,162,99,.32);
    border-radius:9px;
    background:var(--fi-ivory-2);
    color:#98783e!important;
}
.client-section-heading h2{
    color:var(--fi-navy)!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.35rem,2vw,1.75rem)!important;
}
.client-field input,
.client-field select,
.client-field textarea{
    min-height:50px!important;
    border-radius:9px!important;
    border-color:rgba(11,41,71,.18)!important;
}
.client-document-checks label{
    border-radius:10px!important;
    border-color:var(--fi-border)!important;
}
.client-submit-btn{
    min-height:52px!important;
    border-radius:9px!important;
    background:var(--fi-navy)!important;
}

/* ========================================================================== 
   SUCCESS PAGES
   ========================================================================== */
.factum-success-page{
    padding:58px 16px 72px!important;
    background:
        radial-gradient(circle at 78% 15%,rgba(194,162,99,.12),transparent 25%),
        linear-gradient(180deg,var(--fi-navy) 0 230px,var(--fi-ivory-2) 230px 100%)!important;
}
.factum-success-shell{
    max-width:900px!important;
    padding:clamp(28px,5vw,52px)!important;
    border:1px solid rgba(194,162,99,.24)!important;
    border-top:4px solid var(--fi-gold-v6)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:var(--fi-shadow-v6)!important;
}
.factum-success-shell h1{
    color:var(--fi-navy)!important;
}
.factum-success-steps article{
    border-radius:12px!important;
    background:var(--fi-ivory-2)!important;
}
.factum-success-actions .factum-button,
.factum-success-actions .fi-button{
    border-radius:9px!important;
}

/* ========================================================================== 
   LEGAL PAGES
   ========================================================================== */
.legal-page,
.legal-shell{
    margin-top:36px!important;
    margin-bottom:64px!important;
    padding:clamp(26px,4vw,48px)!important;
    border:1px solid var(--fi-border);
    border-top:4px solid var(--fi-gold-v6);
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 50px rgba(5,28,51,.055);
}
body:has(.legal-page),
body:has(.legal-shell){
    background:var(--fi-ivory-2);
}
.legal-page h1,
.legal-shell article h1{
    max-width:16ch;
    color:var(--fi-navy)!important;
    font-size:clamp(2.3rem,4vw,3.4rem)!important;
    line-height:1.02;
}
.legal-page h2,
.legal-shell h2{
    padding-top:12px;
    border-top:1px solid var(--fi-border);
    color:var(--fi-navy)!important;
    font-size:clamp(1.25rem,2vw,1.6rem)!important;
}
.legal-page p,
.legal-page li,
.legal-shell article{
    max-width:78ch;
    color:#526174!important;
    line-height:1.72!important;
}

/* ---------- Footer ---------- */
.fi-footer{
    background:#071d32;
    color:#fff;
}
.fi-footer-shell{
    padding-top:46px;
}
.fi-footer-brand p,
.fi-footer-contact p{
    color:rgba(255,255,255,.62);
}
.fi-footer-links strong,
.fi-footer-contact>strong{
    color:#ead9b5;
}
.fi-footer-links a,
.fi-footer-email,
.fi-footer-whatsapp{
    color:rgba(255,255,255,.76)!important;
}
.fi-footer-bottom{
    border-color:rgba(255,255,255,.14);
    color:rgba(255,255,255,.5);
}

/* ========================================================================== 
   Responsive V6
   ========================================================================== */
@media(min-width:900px){
    .fi-hero-grid,
    .sv4-hero-grid{
        grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
    }
    .fi-contact-grid{
        grid-template-columns:minmax(0,.85fr) minmax(470px,1.15fr);
    }
    .sv4-cta{
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
    }
}

@media(max-width:899px){
    .fi-hero-grid{
        min-height:auto;
    }
    .fi-hero-copy h1,
    .sv4-hero-copy h1{
        max-width:16ch;
    }
    .sv4-flow{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .sv4-flow li:nth-child(2){
        border-right:0;
    }
    .sv4-flow li:nth-child(-n+2){
        border-bottom:1px solid var(--fi-border);
    }
    .fi-contact-page{
        background:linear-gradient(180deg,var(--fi-navy) 0 600px,var(--fi-ivory-2) 600px 100%);
    }
    .fi-contact-form-wrap{
        margin-top:10px;
    }
}

@media(max-width:679px){
    .fi-nav-shell{
        min-height:68px;
    }
    .fi-brand-mark{
        width:42px;
        height:42px;
    }
    .fi-hero-grid,
    .sv4-hero-grid{
        padding-block:34px 42px;
    }
    .fi-hero-copy h1{
        margin-top:16px;
        font-size:clamp(2.35rem,11vw,3.2rem);
    }
    .sv4-hero-copy h1{
        margin-top:16px;
        font-size:clamp(2.2rem,10.5vw,3rem);
    }
    .fi-hero-copy>p,
    .sv4-hero-copy>p{
        margin-top:16px;
        font-size:.95rem;
        line-height:1.58;
    }
    .fi-hero .fi-actions,
    .sv4-actions{
        margin-top:22px;
    }
    .fi-hero-aside,
    .sv4-hero-aside{
        padding:20px 18px;
        border-radius:16px;
    }
    .fi-aside-row{
        padding:11px 12px;
    }
    .fi-service-index>a{
        min-height:78px;
        padding-inline:8px;
    }
    .fi-service-icon{
        width:38px;
        height:38px;
    }
    .fi-process li{
        min-height:auto;
        padding:17px 0;
    }
    .fi-fee-block{
        padding:18px;
    }
    .sv4-docs{
        grid-template-columns:1fr;
    }
    .sv4-flow{
        grid-template-columns:1fr;
    }
    .sv4-flow li{
        min-height:auto;
        border-right:0!important;
        border-bottom:1px solid var(--fi-border)!important;
    }
    .sv4-flow li:last-child{
        border-bottom:0!important;
    }
    .sv4-cta{
        padding:24px 20px;
        border-radius:14px;
    }
    .fi-contact-page{
        background:linear-gradient(180deg,var(--fi-navy) 0 650px,var(--fi-ivory-2) 650px 100%);
    }
    .fi-contact-copy{
        padding-top:12px;
    }
    .fi-contact-copy h1{
        font-size:clamp(2.3rem,11vw,3.1rem);
    }
    .fi-contact-form-wrap{
        padding:21px 18px;
        border-radius:15px;
    }
    .calculator-page,
    .diagnosis-page,
    .client-intake-page{
        padding-inline:14px!important;
    }
    .calculator-card,
    .diagnosis-card,
    .factum-success-shell{
        border-radius:15px!important;
    }
    .diagnosis-header,
    .client-intake-header{
        padding-top:36px!important;
    }
    .diagnosis-header h1,
    .client-intake-header h1{
        font-size:clamp(2.2rem,10.5vw,3rem)!important;
    }
    .diagnosis-trust{
        justify-content:center;
    }
    .legal-page,
    .legal-shell{
        width:calc(100% - 28px)!important;
        margin:22px auto 46px!important;
        padding:22px 18px!important;
        border-radius:14px;
    }
}

/* Contact/error status page */
.factum-status-page{
    min-height:66vh;
    display:grid;
    place-items:center;
    padding:58px 16px 72px;
    background:
        radial-gradient(circle at 78% 15%,rgba(194,162,99,.12),transparent 25%),
        linear-gradient(180deg,var(--fi-navy) 0 220px,var(--fi-ivory-2) 220px 100%);
}
.factum-status-card{
    width:min(700px,100%);
    padding:clamp(28px,5vw,48px);
    border:1px solid rgba(194,162,99,.24);
    border-top:4px solid var(--fi-gold-v6);
    border-radius:20px;
    background:#fff;
    text-align:center;
    box-shadow:var(--fi-shadow-v6);
}
.factum-status-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    margin:0 auto 16px;
    border-radius:14px;
    background:var(--fi-ivory);
    color:#9a6a45;
}
.factum-status-icon svg{width:26px;height:26px}
.factum-status-kicker{
    color:#9a7c43;
    font-size:.7rem;
    font-weight:850;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.factum-status-card h1{
    max-width:14ch;
    margin:12px auto 0;
    color:var(--fi-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.04;
    font-weight:500;
}
.factum-status-card>p{
    max-width:58ch;
    margin:14px auto 0;
    color:#667587;
}
.factum-status-errors{
    margin:20px auto;
    padding:14px 16px;
    border:1px solid rgba(163,59,50,.22);
    border-radius:10px;
    background:#fff8f7;
    color:#8c3b35;
    text-align:left;
    font-size:.82rem;
}
.factum-button{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 20px;
    border:1px solid var(--fi-navy);
    border-radius:9px;
    font-size:.84rem;
    font-weight:800;
}
body.fi-site a.factum-button--primary{
    background:var(--fi-navy);
    color:#fff;
}
body.fi-site a.factum-button--secondary{
    background:#fff;
    color:var(--fi-navy);
}
.estimate-message-icon svg{width:16px;height:16px;display:block}

/* ========================================================================== 
   FACTUM IUS — V7 COMPACT VIEWPORT · 2026-08-26
   Regla de diseño: cada sección debe comprenderse de un vistazo.
   Reduce altura y ruido sin ocultar contenido ni comprometer accesibilidad.
   ========================================================================== */

/* Ritmo general más compacto */
.fi-section,
.sv4-section{
    padding-block:clamp(34px,3.7vw,48px);
}
.fi-section-head h2,
.sv4-section-head h2{
    font-size:clamp(1.7rem,2.7vw,2.45rem);
    line-height:1.04;
}
.fi-section-head>p,
.sv4-section-head p{
    margin-top:7px;
    font-size:.84rem;
    line-height:1.48;
}
.fi-eyebrow,
.sv4-eyebrow{
    font-size:.64rem;
}

/* Home: primer pantallazo completo y equilibrado */
.fi-hero-grid{
    min-height:auto;
    gap:clamp(28px,4vw,52px);
    padding-block:36px 38px;
}
.fi-hero-copy h1{
    max-width:14ch;
    margin-top:15px;
    font-size:clamp(2.6rem,4.25vw,3.85rem);
    line-height:.98;
}
.fi-hero-copy>p{
    max-width:59ch;
    margin-top:15px;
    font-size:1rem;
    line-height:1.52;
}
.fi-hero .fi-actions{
    margin-top:20px;
}
body.fi-site .fi-hero a.fi-button--primary,
body.fi-site .fi-hero a.fi-button--whatsapp{
    min-height:46px;
    padding-inline:19px;
}
.fi-proofline{
    margin-top:18px;
    padding-top:13px;
    font-size:.72rem;
}
.fi-hero-aside{
    padding:20px 20px 17px;
    border-radius:17px;
}
.fi-aside-title{
    margin-top:8px!important;
    margin-bottom:11px!important;
    font-size:clamp(1.2rem,1.7vw,1.48rem)!important;
}
.fi-aside-row{
    grid-template-columns:25px minmax(0,1fr);
    gap:8px;
    margin-top:7px;
    padding:8px 10px;
}
.fi-aside-row h3{
    font-size:.82rem;
}
.fi-aside-row p{
    margin-top:1px!important;
    font-size:.68rem;
    line-height:1.34;
}
.fi-aside-note{
    margin-top:9px;
    font-size:.65rem;
    line-height:1.35;
}
.fi-trust-grid>div{
    padding-block:10px;
}

/* Home: información útil más visible por pantalla */
.fi-service-index{
    margin-top:18px;
}
.fi-service-index>a{
    min-height:66px;
    padding:9px 11px;
}
.fi-service-icon{
    width:34px;
    height:34px;
    border-radius:8px;
}
.fi-service-icon svg{
    width:18px;
    height:18px;
}
.fi-service-index a strong{
    font-size:.82rem;
}
.fi-team-intro h2{
    font-size:clamp(1.8rem,2.8vw,2.55rem);
}
.fi-team-intro p{
    margin-top:9px;
    font-size:.84rem;
    line-height:1.48;
}
.fi-people article{
    padding:12px 0;
}
.fi-people p{
    font-size:.72rem;
    line-height:1.42;
}
.fi-person-initial{
    width:36px;
    height:36px;
}
.fi-process{
    margin-top:18px;
}
.fi-process li{
    min-height:112px;
    padding:14px;
}
.fi-process h3{
    margin-top:8px;
    font-size:.86rem;
}
.fi-process p{
    font-size:.72rem;
    line-height:1.38;
}
.fi-docs-layout{
    gap:34px;
}
.fi-docs-layout>div:first-child h2{
    font-size:clamp(1.7rem,2.55vw,2.25rem);
}
.fi-docs-layout>div:first-child p{
    margin-top:8px;
    font-size:.82rem;
    line-height:1.45;
}
.fi-docs-list>div{
    padding:10px 0;
}
.fi-fees-grid{
    margin-top:18px;
    gap:18px;
}
.fi-fee-block{
    padding:16px 18px;
    border-radius:11px;
}
.fi-fees-note{
    margin-top:12px;
    font-size:.72rem;
    line-height:1.4;
}
.fi-faq summary,
.sv4-faq-list summary{
    min-height:46px;
    padding-block:10px;
    font-size:.82rem;
}
.fi-faq details p,
.sv4-faq-list details p{
    font-size:.76rem;
    line-height:1.45;
}
.fi-final-cta{
    padding:36px 0;
}
.fi-final-grid h2{
    font-size:clamp(1.7rem,2.7vw,2.35rem);
}
.fi-final-grid p{
    font-size:.8rem;
}

/* Servicios: heroes y secciones dentro de una pantalla normal */
.sv4-breadcrumbs{
    padding-top:12px;
    font-size:.7rem;
}
.sv4-hero-grid{
    gap:clamp(28px,4vw,48px);
    padding:22px 0 34px;
}
.sv4-hero-copy h1{
    margin-top:13px;
    font-size:clamp(2.35rem,3.75vw,3.35rem);
}
.sv4-hero-copy>p{
    margin-top:13px;
    font-size:.94rem;
    line-height:1.5;
}
.sv4-actions{
    margin-top:18px;
}
.sv4-button{
    min-height:46px;
    padding:9px 17px;
}
.sv4-microcopy{
    margin-top:9px!important;
    font-size:.68rem!important;
    line-height:1.38!important;
}
.sv4-hero-aside{
    padding:18px;
    border-radius:17px;
}
.sv4-hero-aside h2{
    margin-top:7px;
    font-size:clamp(1.15rem,1.65vw,1.4rem);
}
.sv4-hero-aside ul{
    gap:6px;
    margin-top:12px;
}
.sv4-hero-aside li{
    min-height:36px;
    padding:7px 9px 7px 24px;
    font-size:.72rem;
    line-height:1.3;
}
.sv4-hero-aside li::before{
    left:10px;
}
.sv4-trustline .sv4-shell{
    padding-block:7px;
}
.sv4-trustline span{
    font-size:.68rem;
    line-height:1.3;
}
.sv4-editorial-grid,
.sv4-split{
    gap:clamp(24px,3.8vw,44px);
}
.sv4-statement{
    padding:16px 18px;
    border-radius:11px;
}
.sv4-statement strong{
    font-size:clamp(1.25rem,2vw,1.75rem);
}
.sv4-statement p{
    margin-top:8px;
    font-size:.78rem;
    line-height:1.42;
}
.sv4-editorial-list article{
    padding-block:9px;
}
.sv4-editorial-list h3{
    font-size:.85rem;
}
.sv4-editorial-list p{
    font-size:.74rem;
    line-height:1.38;
}
.sv4-data-rail div{
    padding:8px 11px;
}
.sv4-data-rail dt{
    font-size:.8rem;
}
.sv4-data-rail dd{
    font-size:.7rem;
}
.sv4-docs{
    margin-top:13px;
    gap:8px;
}
.sv4-docs article{
    padding:13px;
    border-radius:10px;
}
.sv4-docs h3{
    margin-top:3px;
    font-size:.86rem;
}
.sv4-docs p{
    margin-top:2px;
    font-size:.72rem;
    line-height:1.36;
}
.sv4-note{
    margin-top:10px;
    padding:11px 14px;
    font-size:.75rem;
}
.sv4-duality article{
    padding:14px;
}
.sv4-duality h3{
    font-size:.87rem;
}
.sv4-duality p{
    margin-top:4px;
    font-size:.72rem;
    line-height:1.38;
}
.sv4-review{
    margin-top:9px;
    padding-top:9px;
    font-size:.68rem;
}
.sv4-flow li{
    min-height:106px;
    padding:13px;
}
.sv4-flow h3{
    margin-top:7px;
    font-size:.82rem;
}
.sv4-flow p{
    margin-top:3px;
    font-size:.7rem;
    line-height:1.34;
}
.sv4-faq-list{
    margin-top:11px;
}
.sv4-cta-wrap{
    padding-bottom:38px;
}
.sv4-cta{
    gap:20px;
    padding:23px 26px;
    border-radius:14px;
}
.sv4-cta h2{
    font-size:clamp(1.5rem,2.4vw,2rem);
}
.sv4-cta p{
    margin-top:7px;
    font-size:.78rem;
    line-height:1.4;
}
.sv4-related{
    padding:32px 0 36px!important;
}
.sv4-related-grid{
    margin-top:12px;
}
.sv4-related-grid>a{
    min-height:50px!important;
    padding:10px 13px!important;
    font-size:.78rem;
}
.sv4-hub-list{
    margin-top:14px;
}
.sv4-hub-item{
    padding:11px 0;
}
.sv4-hub-item h2{
    font-size:1.15rem;
}
.sv4-hub-item p{
    font-size:.74rem;
    line-height:1.38;
}

/* Contacto: dos columnas completas sin una pared de scroll */
.fi-contact-page{
    padding-bottom:44px;
    background:linear-gradient(180deg,var(--fi-navy) 0 360px,var(--fi-ivory-2) 360px 100%);
}
.fi-contact-page .fi-breadcrumbs{
    padding-top:12px;
}
.fi-contact-grid{
    padding-top:18px;
    gap:clamp(28px,4vw,48px);
}
.fi-contact-copy{
    padding-top:10px;
}
.fi-contact-copy h1{
    margin-top:13px;
    font-size:clamp(2.35rem,4vw,3.55rem);
}
.fi-contact-copy>p{
    margin-top:12px;
    font-size:.92rem;
    line-height:1.48;
}
.fi-contact-channels{
    margin-top:17px;
}
.fi-channel{
    min-height:54px;
    padding:9px 0;
}
.fi-channel strong{
    font-size:.76rem;
}
.fi-channel small{
    font-size:.66rem;
}
.fi-contact-trust{
    margin-top:11px;
}
.fi-contact-trust>div{
    padding:7px 0;
}
.fi-contact-form-wrap{
    padding:21px 23px;
    border-radius:16px;
}
.fi-contact-form-head h2{
    font-size:clamp(1.35rem,1.9vw,1.7rem);
}
.fi-contact-form{
    margin-top:14px;
}
.fi-form-grid{
    gap:9px;
}
.fi-field{
    gap:4px;
}
.fi-field input,
.fi-field select{
    min-height:44px;
}
.fi-field textarea{
    min-height:88px;
}
.fi-consent{
    padding:10px!important;
}
body.fi-site .fi-contact-form .fi-button--primary{
    min-height:46px;
}

/* Formularios y calculadora: menos espacio ceremonial, más contenido visible */
.calculator-page{
    padding:30px 16px 46px!important;
    background:linear-gradient(180deg,var(--fi-navy) 0 280px,var(--fi-ivory-2) 280px 100%)!important;
}
.calculator-header{
    margin-bottom:18px;
}
.calculator-header h1{
    font-size:clamp(2.15rem,3.7vw,3.15rem)!important;
}
.calculator-header p{
    font-size:.82rem!important;
}
.calculator-card{
    padding:22px 26px!important;
    border-radius:16px!important;
}
.calculator-field input,
.calculator-field select,
.calculator-input,
.calculator-primary{
    min-height:46px!important;
}
.calculator-disclaimer{
    margin-top:10px!important;
}
.diagnosis-page{
    padding-bottom:48px!important;
    background:linear-gradient(180deg,var(--fi-navy) 0 315px,var(--fi-ivory-2) 315px 100%)!important;
}
.diagnosis-header{
    padding:32px 0 20px;
}
.diagnosis-header h1{
    margin-top:13px;
    font-size:clamp(2.2rem,3.7vw,3.15rem);
}
.diagnosis-header p{
    margin-top:11px;
    font-size:.84rem;
    line-height:1.45;
}
.diagnosis-trust{
    margin-top:13px;
}
.diagnosis-card{
    padding:22px 26px!important;
    border-radius:16px!important;
}
.diagnosis-progress{
    padding:10px 13px!important;
}
.field-block input,
.field-block select,
.field-block textarea,
.diagnosis-btn{
    min-height:46px;
}
.client-intake-page{
    padding-bottom:50px!important;
    background:linear-gradient(180deg,var(--fi-navy) 0 270px,var(--fi-ivory-2) 270px 100%)!important;
}
.client-intake-header{
    padding:32px 0 18px!important;
}
.client-intake-header h1{
    margin-top:12px!important;
    font-size:clamp(2.1rem,3.6vw,3rem)!important;
}
.client-intake-header p{
    margin-top:10px!important;
    font-size:.82rem!important;
}
.client-form-section,
.client-privacy-card{
    padding:18px 21px!important;
}
.client-field input,
.client-field select,
.client-field textarea,
.client-submit-btn{
    min-height:46px!important;
}
.factum-success-page{
    padding:38px 16px 48px!important;
}
.factum-success-shell{
    padding:28px 32px!important;
    border-radius:16px!important;
}

/* Legales: no ocultamos ni acortamos contenido; solo mejoramos densidad de lectura */
.legal-page,
.legal-shell{
    margin-top:24px!important;
    margin-bottom:42px!important;
    padding:28px 32px!important;
}
.legal-page h1,
.legal-shell article h1{
    font-size:clamp(2rem,3.2vw,2.75rem)!important;
}
.legal-page h2,
.legal-shell h2{
    margin-top:22px!important;
    padding-top:9px;
}
.legal-page p,
.legal-page li,
.legal-shell article{
    line-height:1.58!important;
}

/* Escritorio: favorecer panorámica completa de cada bloque */
@media(min-width:900px){
    .fi-service-index{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .fi-team-grid{
        gap:44px;
        align-items:center;
    }
    .fi-docs-layout{
        gap:40px;
        align-items:center;
    }
    .fi-fees-grid{
        gap:18px;
    }
    .fi-faq-layout{
        grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);
        gap:42px;
    }
    .fi-faq{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:24px;
        border-top:0;
    }
    .fi-faq details{
        border-top:1px solid var(--fi-border);
    }
    .sv4-hero-grid{
        grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
    }
    .sv4-editorial-list{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:22px;
        border-top:0;
    }
    .sv4-editorial-list article{
        border-top:1px solid var(--fi-border);
    }
    .sv4-docs{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .sv4-faq{
        max-width:1100px;
    }
    .sv4-faq-list{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:28px;
        border-top:0;
    }
    .sv4-faq-list details{
        border-top:1px solid var(--fi-border);
    }
    .fi-contact-grid{
        grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);
        gap:44px;
    }
}

/* Tablet: mantener claridad sin comprimir en exceso */
@media(min-width:680px) and (max-width:899px){
    .fi-section,
    .sv4-section{
        padding-block:38px;
    }
    .fi-service-index{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .sv4-docs{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* Móvil: secciones cortas, pero controles cómodos */
@media(max-width:679px){
    .fi-section,
    .sv4-section{
        padding-block:32px;
    }
    .fi-hero-grid,
    .sv4-hero-grid{
        padding-block:27px 32px;
        gap:24px;
    }
    .fi-hero-copy h1{
        font-size:clamp(2.1rem,10.2vw,2.8rem);
    }
    .sv4-hero-copy h1{
        font-size:clamp(2rem,9.7vw,2.65rem);
    }
    .fi-hero-copy>p,
    .sv4-hero-copy>p{
        font-size:.89rem;
        line-height:1.48;
    }
    .fi-hero-aside,
    .sv4-hero-aside{
        padding:16px;
        border-radius:14px;
    }
    .fi-aside-row p{
        font-size:.64rem;
        line-height:1.3;
    }
    .fi-aside-row{
        min-height:40px;
        align-items:center;
    }
    .fi-service-index>a{
        min-height:62px;
    }
    .fi-process li{
        min-height:auto;
        padding:12px 0;
    }
    .fi-faq,
    .sv4-faq-list{
        display:block;
    }
    .sv4-editorial-list{
        display:block;
    }
    .sv4-hero-aside li{
        min-height:38px;
    }
    .sv4-flow li{
        min-height:auto;
        padding:12px;
    }
    .fi-contact-page{
        background:linear-gradient(180deg,var(--fi-navy) 0 555px,var(--fi-ivory-2) 555px 100%);
    }
    .fi-contact-grid{
        padding-top:14px;
    }
    .fi-contact-copy h1{
        font-size:clamp(2.15rem,10vw,2.8rem);
    }
    .fi-contact-form-wrap,
    .calculator-card,
    .diagnosis-card,
    .factum-success-shell{
        padding:18px 16px!important;
    }
    .legal-page,
    .legal-shell{
        padding:20px 17px!important;
    }
}


/* SEO editorial + EEAT: señales visibles sin alargar las secciones */
.sv4-source-line{margin-top:8px!important;color:#6b7786!important;font-size:.72rem!important;line-height:1.42!important}
.sv4-source-line a{color:var(--sv4-ink);font-weight:750;text-decoration:underline;text-decoration-color:rgba(139,119,73,.5);text-underline-offset:3px}
.sv4-section--dark .sv4-review a{color:#f0e4c4;text-decoration:underline;text-underline-offset:3px}
.fi-editorial-review{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.68);font-size:.7rem;line-height:1.45}
.fi-editorial-review strong{color:#fff}
@media(min-width:900px){
  .sv4-source-line{max-width:620px}
  .fi-editorial-review{max-width:620px}
}

/* ========================================================================== 
   FACTUM IUS — V8 H1 HOME REFINADO · 2026-08-26
   H1 más contenido, con mayor interlineado y mejor lectura de un vistazo.
   Solo presentación: no cambia contenido ni jerarquía SEO.
   ========================================================================== */
.fi-hero-copy h1{
    max-width:18ch;
    font-size:clamp(2.3rem,3vw,3.05rem);
    line-height:1.09;
    letter-spacing:-.025em;
}

@media(max-width:679px){
    .fi-hero-copy h1{
        max-width:16ch;
        font-size:clamp(2rem,8.4vw,2.45rem);
        line-height:1.09;
        letter-spacing:-.02em;
    }
}


/* ---------- Home hero aside premium refinement ---------- */
.fi-home .fi-hero-aside{
    align-self:center;
    position:relative;
    overflow:hidden;
    padding:32px 30px 26px;
    border:1px solid rgba(194,162,99,.24);
    border-radius:24px;
    background:linear-gradient(180deg,#fbf8f2 0%,#ffffff 100%);
    box-shadow:0 18px 42px rgba(9,32,58,.11);
}
.fi-home .fi-hero-aside::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:linear-gradient(180deg,#d7b06b 0%,#b98f46 100%);
}
.fi-home .fi-aside-title{
    max-width:14ch;
    margin:0 0 18px!important;
    color:var(--fi-navy)!important;
    font-size:clamp(1.4rem,2vw,1.82rem)!important;
    line-height:1.08;
    letter-spacing:-.02em;
    text-wrap:balance;
}
.fi-home .fi-aside-row{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:16px;
    margin-top:14px;
    padding:16px 18px;
    border:1px solid rgba(194,162,99,.18);
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 20px rgba(11,41,71,.05);
}
.fi-home .fi-aside-row:first-of-type{
    margin-top:0;
}
.fi-home .fi-aside-row>strong{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border-radius:999px;
    background:rgba(194,162,99,.13);
    color:#9e7937;
    font-size:.73rem;
    font-weight:800;
    letter-spacing:.08em;
    line-height:1;
}
.fi-home .fi-aside-row h3{
    margin:0;
    color:var(--fi-navy);
    font-size:.98rem;
    font-weight:800;
    line-height:1.38;
    letter-spacing:-.01em;
}
@media (max-width: 1023px){
    .fi-home .fi-hero-aside{
        padding:24px 22px 20px;
        border-radius:20px;
    }
    .fi-home .fi-aside-title{
        margin-bottom:14px!important;
        font-size:clamp(1.22rem,2.5vw,1.5rem)!important;
    }
    .fi-home .fi-aside-row{
        grid-template-columns:38px minmax(0,1fr);
        gap:12px;
        margin-top:10px;
        padding:12px 14px;
        border-radius:12px;
    }
    .fi-home .fi-aside-row>strong{
        width:30px;
        height:30px;
        font-size:.68rem;
    }
    .fi-home .fi-aside-row h3{
        font-size:.86rem;
        line-height:1.34;
    }
}
@media (max-width: 767px){
    .fi-home .fi-hero-aside{
        padding:18px 17px 16px;
        border-radius:16px;
    }
    .fi-home .fi-aside-title{
        max-width:none;
        margin-bottom:12px!important;
        font-size:1.16rem!important;
        line-height:1.12;
    }
    .fi-home .fi-aside-row{
        grid-template-columns:34px minmax(0,1fr);
        gap:11px;
        margin-top:9px;
        padding:11px 12px;
        border-radius:11px;
    }
    .fi-home .fi-aside-row>strong{
        width:28px;
        height:28px;
        font-size:.65rem;
    }
    .fi-home .fi-aside-row h3{
        font-size:.8rem;
        line-height:1.34;
    }
}


/* ---------- Home areas: clear, concise and SEO-friendly ---------- */
.fi-home .fi-areas-section{
    background:#f8f5ef;
}
.fi-home .fi-areas-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:18px;
}
.fi-home .fi-areas-head>div{
    max-width:780px;
}
.fi-home .fi-areas-head h2{
    margin-top:5px;
    color:var(--fi-navy);
    font-size:clamp(1.8rem,3vw,2.5rem);
    line-height:1.08;
    letter-spacing:-.025em;
}
.fi-home .fi-areas-head p{
    max-width:760px;
    margin-top:8px;
    color:#647286;
    font-size:.9rem;
    line-height:1.48;
}
.fi-home .fi-areas-all{
    flex:0 0 auto;
    margin:0 0 2px;
    white-space:nowrap;
}
.fi-home .fi-service-index--areas{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:0;
    border:0;
}
.fi-home .fi-service-index--areas>a{
    min-height:104px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 18px;
    align-items:center;
    gap:14px;
    padding:16px;
    border:1px solid rgba(11,41,71,.11);
    border-radius:14px;
    background:#fff;
    color:var(--fi-navy);
    box-shadow:0 8px 22px rgba(11,41,71,.035);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.fi-home .fi-service-index--areas>a:hover{
    border-color:rgba(194,162,99,.55);
    background:#fff;
    box-shadow:0 12px 28px rgba(11,41,71,.07);
    transform:translateY(-2px);
}
.fi-home .fi-service-index--areas .fi-service-icon{
    width:40px;
    height:40px;
    border:1px solid rgba(194,162,99,.28);
    border-radius:11px;
    background:#fcfaf6;
    color:#a17f41;
}
.fi-home .fi-service-index--areas .fi-service-icon svg{
    width:19px;
    height:19px;
}
.fi-home .fi-service-copy{
    min-width:0;
}
.fi-home .fi-service-copy h3{
    margin:0;
    color:var(--fi-navy);
    font-family:inherit;
    font-size:.94rem;
    font-weight:800;
    line-height:1.22;
    letter-spacing:-.01em;
}
.fi-home .fi-service-copy p{
    margin:5px 0 0;
    color:#6c7889;
    font-size:.76rem;
    line-height:1.38;
}
.fi-home .fi-service-index--areas .fi-arrow{
    width:17px;
    height:17px;
    color:#a58950;
}
.fi-home .fi-areas-help{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:15px;
    padding-top:14px;
    border-top:1px solid rgba(11,41,71,.1);
    color:#657286;
    font-size:.8rem;
}
.fi-home .fi-areas-help a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border:1px solid rgba(11,41,71,.12);
    border-radius:999px;
    background:#fff;
    color:var(--fi-navy);
    font-weight:800;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(11,41,71,.04);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
.fi-home .fi-areas-help a:hover{
    border-color:rgba(194,162,99,.55);
    box-shadow:0 12px 24px rgba(11,41,71,.08);
    transform:translateY(-1px);
    color:#8e6d34;
}
.fi-home .fi-areas-help svg{
    width:16px;
    height:16px;
    color:#a58950;
}
@media (max-width: 1023px){
    .fi-home .fi-areas-head{
        align-items:flex-start;
    }
    .fi-home .fi-service-index--areas{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 767px){
    .fi-home .fi-areas-head{
        display:block;
        margin-bottom:14px;
    }
    .fi-home .fi-areas-head h2{
        font-size:1.72rem;
    }
    .fi-home .fi-areas-head p{
        margin-top:7px;
        font-size:.84rem;
    }
    .fi-home .fi-areas-all{
        display:inline-flex;
        margin-top:10px;
    }
    .fi-home .fi-service-index--areas{
        grid-template-columns:1fr;
        gap:8px;
    }
    .fi-home .fi-service-index--areas>a{
        min-height:78px;
        grid-template-columns:36px minmax(0,1fr) 16px;
        gap:11px;
        padding:12px 13px;
        border-radius:12px;
    }
    .fi-home .fi-service-index--areas .fi-service-icon{
        width:36px;
        height:36px;
        border-radius:9px;
    }
    .fi-home .fi-service-copy h3{
        font-size:.88rem;
    }
    .fi-home .fi-service-copy p{
        margin-top:3px;
        font-size:.72rem;
    }
    .fi-home .fi-areas-help{
        display:block;
        margin-top:12px;
        padding-top:12px;
    }
    .fi-home .fi-areas-help a{
        margin-top:5px;
    }
}

@media (max-width: 767px){
    .fi-text-link,
    .fi-home .fi-areas-help a{
        padding:9px 12px;
        font-size:.78rem;
    }
}


/* ---------- Home hero final spacing + lighter aside copy ---------- */
.fi-home .fi-hero-copy .fi-eyebrow{
    margin-bottom:0;
}
.fi-home .fi-hero-copy h1{
    margin-top:24px;
}
.fi-home .fi-hero-copy>p{
    margin-top:22px;
}
.fi-home .fi-aside-row h3{
    font-weight:500;
}
@media (max-width: 1023px){
    .fi-home .fi-hero-copy h1{
        margin-top:20px;
    }
    .fi-home .fi-hero-copy>p{
        margin-top:18px;
    }
    .fi-home .fi-aside-row h3{
        font-weight:500;
    }
}
@media (max-width: 767px){
    .fi-home .fi-hero-copy h1{
        margin-top:18px;
    }
    .fi-home .fi-hero-copy>p{
        margin-top:16px;
    }
    .fi-home .fi-aside-row h3{
        font-weight:500;
    }
}


/* ---------- Home: quiénes somos, compacto y de confianza ---------- */
.fi-about-section{
    background:#fff;
}
.fi-about-head{
    max-width:820px;
}
.fi-about-head h2{
    max-width:19ch;
    margin-top:10px;
    color:var(--fi-navy);
    font-size:clamp(1.9rem,3.2vw,2.8rem);
    line-height:1.08;
    letter-spacing:-.035em;
    text-wrap:balance;
}
.fi-about-head>p{
    max-width:66ch;
    margin-top:13px;
    color:#647286;
    font-size:.9rem;
    line-height:1.55;
}
.fi-about-people{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
    gap:16px;
    margin-top:24px;
}
.fi-about-person{
    min-width:0;
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:16px;
    align-items:start;
    padding:22px;
    border:1px solid rgba(11,41,71,.1);
    border-radius:16px;
    background:#fbfaf7;
}
.fi-about-person--legal{
    border-color:rgba(194,162,99,.32);
    background:linear-gradient(145deg,#fbf7ef,#fff);
}
.fi-about-person-mark{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border:1px solid rgba(194,162,99,.3);
    border-radius:14px;
    background:#fff;
    color:#9a7537;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.15rem;
}
.fi-about-person-copy>span{
    display:block;
    color:#9a7537;
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.1em;
    line-height:1.35;
    text-transform:uppercase;
}
.fi-about-person-copy h3{
    margin-top:4px;
    color:var(--fi-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.28rem;
    line-height:1.15;
}
.fi-about-person-copy p{
    max-width:58ch;
    margin-top:8px;
    color:#647286;
    font-size:.8rem;
    line-height:1.5;
}
.fi-about-person-copy .fi-about-role-note{
    margin-top:10px;
    color:#35465a;
    font-weight:650;
}
@media(max-width:900px){
    .fi-about-people{
        grid-template-columns:1fr;
    }
    .fi-about-head h2{
        max-width:22ch;
    }
}
@media(max-width:640px){
    .fi-about-head h2{
        margin-top:8px;
        font-size:clamp(1.65rem,8vw,2.15rem);
    }
    .fi-about-head>p{
        margin-top:10px;
        font-size:.84rem;
    }
    .fi-about-people{
        gap:10px;
        margin-top:18px;
    }
    .fi-about-person{
        grid-template-columns:44px minmax(0,1fr);
        gap:12px;
        padding:16px;
        border-radius:13px;
    }
    .fi-about-person-mark{
        width:42px;
        height:42px;
        border-radius:11px;
        font-size:.95rem;
    }
    .fi-about-person-copy h3{
        font-size:1.12rem;
    }
    .fi-about-person-copy p{
        font-size:.76rem;
        line-height:1.46;
    }
}


/* ---------- Home about section refined ---------- */
.fi-about-section{
    background:linear-gradient(180deg,#f7f3eb 0%,#fbfaf7 100%);
}
.fi-about-frame{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:28px;
    align-items:start;
    padding:32px;
    border:1px solid rgba(194,162,99,.18);
    border-radius:28px;
    background:rgba(255,255,255,.82);
    box-shadow:0 22px 50px rgba(12,34,60,.06);
}
.fi-about-intro{
    min-width:0;
    display:grid;
    gap:18px;
    align-content:start;
}
.fi-about-head{
    max-width:36rem;
}
.fi-about-head h2{
    max-width:15ch;
    margin-top:12px;
    color:var(--fi-navy);
    font-size:clamp(2rem,3.2vw,3rem);
    line-height:1.03;
    letter-spacing:-.04em;
    text-wrap:balance;
}
.fi-about-head>p{
    max-width:58ch;
    margin-top:14px;
    color:#5f6f82;
    font-size:.94rem;
    line-height:1.62;
}
.fi-about-points{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.fi-about-points span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 14px;
    border:1px solid rgba(11,41,71,.1);
    border-radius:999px;
    background:#fff;
    color:var(--fi-navy);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.01em;
}
.fi-about-people{
    display:grid;
    gap:14px;
    margin-top:0;
}
.fi-about-person{
    min-width:0;
    display:grid;
    grid-template-columns:60px minmax(0,1fr);
    gap:16px;
    align-items:start;
    padding:24px;
    border:1px solid rgba(11,41,71,.08);
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 24px rgba(12,34,60,.03);
}
.fi-about-person--legal{
    border-color:rgba(194,162,99,.26);
    background:linear-gradient(145deg,#fffdfa 0%,#ffffff 100%);
}
.fi-about-person--operations{
    background:linear-gradient(145deg,#f9fafb 0%,#ffffff 100%);
}
.fi-about-person-mark{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border:1px solid rgba(194,162,99,.28);
    border-radius:18px;
    background:#fbf7ef;
    color:#9a7537;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.16rem;
}
.fi-about-person-copy>span{
    display:block;
    color:#977338;
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.11em;
    line-height:1.35;
    text-transform:uppercase;
}
.fi-about-person-copy h3{
    margin-top:4px;
    color:var(--fi-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.34rem;
    line-height:1.12;
}
.fi-about-person-copy p{
    max-width:58ch;
    margin-top:8px;
    color:#647286;
    font-size:.82rem;
    line-height:1.58;
}
.fi-about-person-copy .fi-about-role-note{
    margin-top:11px;
    padding-top:11px;
    border-top:1px solid rgba(11,41,71,.08);
    color:#36475c;
    font-weight:600;
}
@media (max-width: 980px){
    .fi-about-frame{
        grid-template-columns:1fr;
        gap:18px;
        padding:24px;
    }
    .fi-about-head h2{
        max-width:18ch;
    }
}
@media (max-width: 640px){
    .fi-about-section{
        background:#fbfaf7;
    }
    .fi-about-frame{
        gap:16px;
        padding:18px;
        border-radius:20px;
    }
    .fi-about-intro{
        gap:14px;
    }
    .fi-about-head h2{
        margin-top:9px;
        font-size:clamp(1.68rem,8vw,2.2rem);
    }
    .fi-about-head>p{
        margin-top:11px;
        font-size:.84rem;
        line-height:1.56;
    }
    .fi-about-points{
        gap:8px;
    }
    .fi-about-points span{
        min-height:32px;
        padding:0 12px;
        font-size:.72rem;
    }
    .fi-about-people{
        gap:10px;
    }
    .fi-about-person{
        grid-template-columns:46px minmax(0,1fr);
        gap:12px;
        padding:17px;
        border-radius:16px;
    }
    .fi-about-person-mark{
        width:42px;
        height:42px;
        border-radius:14px;
        font-size:.98rem;
    }
    .fi-about-person-copy h3{
        font-size:1.14rem;
    }
    .fi-about-person-copy p{
        font-size:.77rem;
        line-height:1.5;
    }
    .fi-about-person-copy .fi-about-role-note{
        margin-top:9px;
        padding-top:9px;
    }
}


/* ---------- Home about section fullscreen blue refinement ---------- */
.fi-about-section{
    position:relative;
    display:flex;
    align-items:center;
    min-height:100vh;
    background:linear-gradient(180deg,#d8e3ef 0%,#cfdae8 100%);
}
.fi-about-section .fi-shell{
    width:100%;
}
.fi-about-frame{
    display:grid;
    grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
    gap:34px;
    align-items:center;
    min-height:min(78vh,860px);
    padding:40px;
    border:1px solid rgba(28,58,94,.12);
    border-radius:30px;
    background:rgba(247,250,253,.78);
    box-shadow:0 28px 60px rgba(18,41,71,.08);
    backdrop-filter:blur(6px);
}
.fi-about-intro{
    min-width:0;
    display:grid;
    gap:18px;
    align-content:center;
}
.fi-about-head{
    max-width:38rem;
}
.fi-about-head .fi-eyebrow{
    border-color:rgba(28,58,94,.14);
    background:rgba(255,255,255,.5);
    color:#3f5873;
}
.fi-about-head h2{
    max-width:13ch;
    margin-top:12px;
    color:#132a44;
    font-size:clamp(2.3rem,4.2vw,4rem);
    line-height:1.02;
    letter-spacing:-.045em;
    text-wrap:balance;
}
.fi-about-head>p{
    max-width:56ch;
    margin-top:16px;
    color:#4a6178;
    font-size:1rem;
    line-height:1.66;
}
.fi-about-points{
    display:flex;
    flex-wrap:wrap;
    gap:11px;
}
.fi-about-points span{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 15px;
    border:1px solid rgba(28,58,94,.12);
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:#1b3755;
    font-size:.77rem;
    font-weight:700;
    letter-spacing:.01em;
}
.fi-about-people{
    display:grid;
    gap:15px;
    margin-top:0;
}
.fi-about-person{
    min-width:0;
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:18px;
    align-items:start;
    padding:26px;
    border:1px solid rgba(28,58,94,.1);
    border-radius:24px;
    background:rgba(255,255,255,.92);
    box-shadow:0 12px 26px rgba(18,41,71,.04);
}
.fi-about-person--legal{
    border-color:rgba(28,58,94,.14);
    background:linear-gradient(145deg,rgba(255,255,255,.98) 0%,rgba(244,248,252,.96) 100%);
}
.fi-about-person--operations{
    background:linear-gradient(145deg,rgba(247,250,253,.92) 0%,rgba(255,255,255,.96) 100%);
}
.fi-about-person-mark{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border:1px solid rgba(28,58,94,.12);
    border-radius:20px;
    background:linear-gradient(180deg,#eaf1f7 0%,#f7fafc 100%);
    color:#37506d;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.2rem;
}
.fi-about-person-copy>span{
    display:block;
    color:#5a6f85;
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.11em;
    line-height:1.35;
    text-transform:uppercase;
}
.fi-about-person-copy h3{
    margin-top:4px;
    color:#132a44;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.4rem;
    line-height:1.12;
}
.fi-about-person-copy p{
    max-width:58ch;
    margin-top:9px;
    color:#53697f;
    font-size:.84rem;
    line-height:1.58;
}
.fi-about-person-copy .fi-about-role-note{
    margin-top:11px;
    padding-top:11px;
    border-top:1px solid rgba(28,58,94,.08);
    color:#2b4562;
    font-weight:600;
}
@media (max-width: 1100px){
    .fi-about-section{
        min-height:auto;
    }
    .fi-about-frame{
        min-height:auto;
        grid-template-columns:1fr;
        gap:20px;
        padding:28px;
    }
    .fi-about-head h2{
        max-width:16ch;
        font-size:clamp(2rem,5vw,3.2rem);
    }
}
@media (max-width: 767px){
    .fi-about-section{
        min-height:auto;
        background:linear-gradient(180deg,#dce6f0 0%,#d2deea 100%);
    }
    .fi-about-frame{
        gap:16px;
        padding:18px;
        border-radius:20px;
    }
    .fi-about-intro{
        gap:14px;
    }
    .fi-about-head h2{
        max-width:14ch;
        margin-top:9px;
        font-size:clamp(1.8rem,9vw,2.45rem);
    }
    .fi-about-head>p{
        margin-top:12px;
        font-size:.87rem;
        line-height:1.58;
    }
    .fi-about-points{
        gap:8px;
    }
    .fi-about-points span{
        min-height:34px;
        padding:0 12px;
        font-size:.72rem;
    }
    .fi-about-person{
        grid-template-columns:46px minmax(0,1fr);
        gap:12px;
        padding:18px;
        border-radius:17px;
    }
    .fi-about-person-mark{
        width:42px;
        height:42px;
        border-radius:14px;
        font-size:.98rem;
    }
    .fi-about-person-copy h3{
        font-size:1.16rem;
    }
    .fi-about-person-copy p{
        font-size:.78rem;
        line-height:1.5;
    }
}


/* ---------- Home about: real people, one-glance layout ---------- */
.fi-about-section{
    background:#d6e1ec;
    color:#17324d;
}
.fi-about-layout{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:clamp(32px,5vw,72px);
    align-items:center;
    padding-block:42px;
}
.fi-about-head{
    max-width:34rem;
}
.fi-eyebrow--about{
    color:#516a82;
}
.fi-about-head h2{
    max-width:12ch;
    margin-top:11px;
    color:#17324d;
    font-size:clamp(2rem,3.5vw,3.35rem);
    line-height:1.02;
    letter-spacing:-.04em;
    text-wrap:balance;
}
.fi-about-head>p{
    max-width:52ch;
    margin-top:14px;
    color:#536b82;
    font-size:.92rem;
    line-height:1.58;
}
.fi-about-profiles{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.fi-profile-card{
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(23,50,77,.1);
    border-radius:18px;
    background:rgba(255,255,255,.86);
    box-shadow:0 10px 26px rgba(23,50,77,.05);
}
.fi-profile-photo{
    position:relative;
    width:100%;
    aspect-ratio:4/5;
    overflow:hidden;
    background:#c7d5e2;
}
.fi-profile-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}
.fi-profile-photo--placeholder{
    display:grid;
    place-items:center;
    background:linear-gradient(160deg,#b8c9d9 0%,#dce5ee 55%,#c7d5e2 100%);
}
.fi-profile-photo--placeholder::after{
    content:"Foto";
    position:absolute;
    right:12px;
    bottom:10px;
    color:rgba(23,50,77,.55);
    font-size:.62rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.fi-profile-photo--placeholder>span{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border:1px solid rgba(23,50,77,.16);
    border-radius:50%;
    background:rgba(255,255,255,.5);
    color:#39566f;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.3rem;
}
.fi-profile-copy{
    padding:16px 17px 18px;
}
.fi-profile-copy>span{
    display:block;
    color:#687f94;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.09em;
    line-height:1.35;
    text-transform:uppercase;
}
.fi-profile-copy h3{
    margin-top:4px;
    color:#17324d;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.28rem;
    line-height:1.1;
}
.fi-profile-copy p{
    margin-top:7px;
    color:#5c7186;
    font-size:.76rem;
    line-height:1.45;
}
@media (max-width: 900px){
    .fi-about-layout{
        grid-template-columns:1fr;
        gap:24px;
        padding-block:34px;
    }
    .fi-about-head h2{
        max-width:17ch;
    }
    .fi-about-profiles{
        max-width:700px;
    }
}
@media (max-width: 640px){
    .fi-about-layout{
        gap:18px;
        padding-block:30px;
    }
    .fi-about-head h2{
        max-width:14ch;
        font-size:clamp(1.7rem,8vw,2.25rem);
    }
    .fi-about-head>p{
        margin-top:10px;
        font-size:.84rem;
    }
    .fi-about-profiles{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .fi-profile-card{
        border-radius:14px;
    }
    .fi-profile-copy{
        padding:12px 12px 14px;
    }
    .fi-profile-copy>span{
        font-size:.55rem;
        letter-spacing:.07em;
    }
    .fi-profile-copy h3{
        font-size:1.05rem;
    }
    .fi-profile-copy p{
        font-size:.68rem;
        line-height:1.4;
    }
    .fi-profile-photo--placeholder>span{
        width:46px;
        height:46px;
        font-size:1.05rem;
    }
}

/* =============================================================
   FACTUM IUS — Visual direction inspired by the approved reference
   Clean legal editorial system: ivory / white / gold / deep navy
   ============================================================= */
:root{
    --ref-bg:#fffdfa;
    --ref-paper:#faf7f1;
    --ref-paper-2:#f5efe5;
    --ref-ink:#181b20;
    --ref-copy:#555d66;
    --ref-gold:#b88938;
    --ref-gold-2:#cda552;
    --ref-gold-soft:#e7d6b4;
    --ref-line:#e8dfd1;
    --ref-navy:#172b40;
}
body.fi-site{
    background:var(--ref-bg);
    color:var(--ref-ink);
}
.site-header.fi-header{
    background:rgba(255,253,250,.97)!important;
    border-bottom:1px solid var(--ref-line)!important;
    box-shadow:none!important;
}
.fi-brand-copy strong{color:var(--ref-ink)!important}
.fi-brand-copy small{color:#9c7b3d!important}
.fi-main-nav a.fi-nav-link,
.fi-main-nav .fi-nav-link{color:#252a31!important;font-weight:650!important}
.fi-main-nav a.fi-nav-link::after,
.fi-main-nav .fi-nav-link::after{background:var(--ref-gold)!important;height:2px!important}
body.fi-site a.fi-header-cta,
.fi-header-cta{
    border-color:var(--ref-gold)!important;
    background:linear-gradient(180deg,#c59945,#ad7d2c)!important;
    color:#fff!important;
    border-radius:5px!important;
    box-shadow:0 5px 14px rgba(176,129,47,.16)!important;
}
body.fi-site a.fi-header-cta:hover,
.fi-header-cta:hover{background:#a97729!important}
.fi-icon-button{
    border-color:#ded4c5!important;
    background:#fff!important;
    color:var(--ref-ink)!important;
    border-radius:5px!important;
}
.fi-icon-button--whatsapp{color:#1f7f4d!important}
.fi-dropdown.nav-dropdown-menu{
    border-color:var(--ref-line)!important;
    border-radius:7px!important;
    box-shadow:0 18px 45px rgba(34,30,23,.09)!important;
}

/* Home hero — light, editorial and compact */
.fi-home .fi-hero{
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(255,253,250,.99) 0%,rgba(255,253,250,.97) 51%,rgba(247,241,231,.93) 100%)!important;
    border-bottom:1px solid var(--ref-line)!important;
    color:var(--ref-ink)!important;
}
.fi-home .fi-hero::before{
    content:"";
    position:absolute;
    inset:0 0 0 auto;
    width:48%;
    background:radial-gradient(circle at 55% 48%,rgba(184,137,56,.09),transparent 56%);
    pointer-events:none;
}
.fi-home .fi-hero::after{display:none!important}
.fi-home .fi-hero-grid{
    min-height:auto!important;
    grid-template-columns:minmax(0,1.05fr) minmax(310px,.72fr)!important;
    gap:clamp(34px,5vw,66px)!important;
    align-items:center!important;
    padding-block:46px 48px!important;
}
.fi-home .fi-hero-copy .fi-eyebrow{
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#98702c!important;
    font-size:.67rem!important;
    letter-spacing:.14em!important;
}
.fi-home .fi-hero-copy h1{
    max-width:13ch!important;
    margin-top:18px!important;
    color:var(--ref-ink)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(2.55rem,4.5vw,4.15rem)!important;
    font-weight:500!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
}
.fi-home .fi-hero-copy>p{
    max-width:61ch!important;
    margin-top:19px!important;
    color:#525b64!important;
    font-family:inherit!important;
    font-size:.96rem!important;
    line-height:1.58!important;
}
.fi-home .fi-hero .fi-actions{margin-top:24px!important;gap:10px!important}
body.fi-site .fi-home .fi-hero a.fi-button--primary{
    min-height:47px!important;
    padding-inline:22px!important;
    border:1px solid var(--ref-gold)!important;
    border-radius:5px!important;
    background:linear-gradient(180deg,#c59945,#ad7d2c)!important;
    color:#fff!important;
    box-shadow:0 6px 15px rgba(176,129,47,.13)!important;
}
body.fi-site .fi-home .fi-hero a.fi-button--primary:hover{background:#a97729!important}
body.fi-site .fi-home .fi-hero a.fi-button--whatsapp{
    min-height:47px!important;
    padding-inline:20px!important;
    border:1px solid #cfd3d4!important;
    border-radius:5px!important;
    background:#fff!important;
    color:#20262b!important;
    box-shadow:none!important;
}
body.fi-site .fi-home .fi-hero a.fi-button--whatsapp:hover{
    border-color:#9fa6a8!important;
    background:#fbfbfa!important;
    color:#20262b!important;
}
.fi-home .fi-hero .fi-button--whatsapp svg{color:#1f7f4d!important}
.fi-home .fi-hero-aside{
    min-height:315px;
    align-self:center!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    position:relative!important;
    overflow:hidden!important;
    padding:25px 25px 22px!important;
    border:1px solid #e1d4bd!important;
    border-left:1px solid #e1d4bd!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.85)!important;
    color:var(--ref-ink)!important;
    box-shadow:0 12px 32px rgba(42,34,23,.06)!important;
}
.fi-home .fi-hero-aside::before{
    content:""!important;
    position:absolute!important;
    inset:auto -22px -32px auto!important;
    width:185px!important;
    height:185px!important;
    background:url("img/factum-ius-isotipo-256.png") center/contain no-repeat!important;
    opacity:.055!important;
    pointer-events:none!important;
}
.fi-home .fi-hero-aside::after{display:none!important}
.fi-home .fi-aside-title{
    max-width:none!important;
    margin:0 0 13px!important;
    color:#292d31!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:1.4rem!important;
    font-weight:500!important;
    line-height:1.15!important;
    letter-spacing:-.02em!important;
}
.fi-home .fi-aside-row{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:9px!important;
    margin-top:0!important;
    padding:10px 0!important;
    border:0!important;
    border-bottom:1px solid var(--ref-line)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.fi-home .fi-aside-row:last-child{border-bottom:0!important}
.fi-home .fi-aside-row>strong{
    width:auto!important;
    height:auto!important;
    display:block!important;
    padding-top:3px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--ref-gold)!important;
    font-size:.66rem!important;
    letter-spacing:.08em!important;
}
.fi-home .fi-aside-row h3{
    color:#343a40!important;
    font-size:.86rem!important;
    font-weight:500!important;
    line-height:1.38!important;
}

/* Compact trust strip */
.fi-trust-strip{background:#fff!important;border-color:var(--ref-line)!important}
.fi-trust-grid{max-width:900px!important}
.fi-trust-grid>div{border-color:var(--ref-line)!important;text-align:center!important;padding:11px 13px!important}
.fi-trust-grid strong{color:#2c3135!important;font-family:Georgia,"Times New Roman",serif!important;font-size:.8rem!important;font-weight:600!important}
.fi-trust-grid span{color:#747a80!important;font-size:.68rem!important}

/* Sections — white/ivory, thin gold accents */
.fi-section{padding-block:38px!important}
.fi-section--soft,
.fi-areas-section{background:#fff!important;border-color:var(--ref-line)!important}
.fi-eyebrow{color:#a7792d!important}
.fi-section-head h2,
.fi-areas-head h2,
.fi-docs-layout h2,
.fi-fees-section h2,
.fi-faq-layout h2{
    color:#22262a!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-weight:500!important;
    letter-spacing:-.025em!important;
}
.fi-section-head>p,
.fi-areas-head p{color:#697078!important}
.fi-home .fi-service-index--areas{gap:10px!important}
.fi-home .fi-service-index--areas>a{
    min-height:108px!important;
    border:1px solid #e6ddce!important;
    border-radius:5px!important;
    background:#fff!important;
    box-shadow:none!important;
    transform:none!important;
}
.fi-home .fi-service-index--areas>a:hover{
    border-color:#c6a15f!important;
    background:#fffdf9!important;
    box-shadow:0 8px 20px rgba(75,59,30,.05)!important;
    transform:none!important;
}
.fi-home .fi-service-index--areas .fi-service-icon{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#b18437!important;
}
.fi-home .fi-service-copy h3{
    color:#272c31!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:.98rem!important;
    font-weight:600!important;
}
.fi-home .fi-service-copy p{color:#697078!important}
.fi-home .fi-service-index--areas .fi-arrow{color:#b18437!important}
.fi-text-link,
.fi-home .fi-areas-help a{
    border:1px solid #d8cab2!important;
    border-radius:5px!important;
    background:#fff!important;
    color:#383d41!important;
    box-shadow:none!important;
}
.fi-text-link:hover,
.fi-home .fi-areas-help a:hover{border-color:#b88938!important;color:#8b6524!important;transform:none!important}
.fi-home .fi-areas-help{border-color:var(--ref-line)!important}

/* Who is behind Factum — no external floating card; compact profile strip */
.fi-about-section{
    min-height:auto!important;
    display:block!important;
    background:#f7f2e9!important;
    border-block:1px solid var(--ref-line)!important;
}
.fi-about-layout{
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
    gap:28px!important;
    align-items:center!important;
}
.fi-about-head h2{
    max-width:12ch!important;
    color:#24282c!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(2rem,3.3vw,2.9rem)!important;
    font-weight:500!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
}
.fi-about-head>p{max-width:46ch!important;color:#657078!important;font-size:.86rem!important;line-height:1.55!important}
.fi-about-profiles{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
}
.fi-profile-card{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
    padding:12px!important;
    border:1px solid #e0d5c4!important;
    border-radius:6px!important;
    background:#fff!important;
    box-shadow:none!important;
}
.fi-profile-photo{
    width:92px!important;
    height:118px!important;
    min-height:118px!important;
    border:0!important;
    border-radius:4px!important;
    background:linear-gradient(160deg,#ece4d7,#f8f5ef)!important;
    overflow:hidden!important;
}
.fi-profile-photo--placeholder span{
    font-family:Georgia,"Times New Roman",serif!important;
    color:#b58a3f!important;
    font-size:1.6rem!important;
}
.fi-profile-copy>span{color:#9d772f!important;font-size:.59rem!important;letter-spacing:.09em!important}
.fi-profile-copy h3{
    margin-top:3px!important;
    color:#25292d!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:1.15rem!important;
    font-weight:600!important;
}
.fi-profile-copy p{margin-top:5px!important;color:#656c73!important;font-size:.72rem!important;line-height:1.42!important}

/* Process / docs / fees / FAQ */
.fi-process{border-color:var(--ref-line)!important}
.fi-process li{border-color:var(--ref-line)!important;text-align:center!important;padding:16px 14px!important}
.fi-process li>span{color:#b18437!important}
.fi-process h3{font-family:Georgia,"Times New Roman",serif!important;color:#2c3034!important;font-weight:600!important}
.fi-process p{color:#72787e!important}
.fi-docs-list,
.fi-docs-list>div{border-color:var(--ref-line)!important}
.fi-docs-list svg{color:#b18437!important}
.fi-fee-block{border-top-color:#b88938!important}
.fi-fee-block dl,
.fi-fee-block dl>div{border-color:var(--ref-line)!important}
.fi-fee-block dd{color:#8f6725!important}
.fi-faq,
.fi-faq details{border-color:var(--ref-line)!important}
.fi-faq summary{color:#303438!important;font-weight:650!important}
.fi-faq summary svg{color:#b18437!important}
.fi-final-cta{
    padding:30px 0!important;
    border-block:1px solid #d7c7aa!important;
    background:#fbf7ef!important;
    color:#25292d!important;
}
.fi-final-cta h2{color:#25292d!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}
.fi-final-cta p{color:#666e75!important}
.fi-final-cta .fi-eyebrow--light{color:#a7792d!important}
.fi-final-cta .fi-button--light{
    border-color:var(--ref-gold)!important;
    background:linear-gradient(180deg,#c59945,#ad7d2c)!important;
    color:#fff!important;
}
.fi-final-cta .fi-button--ghost-light{border-color:#c8c9c8!important;background:#fff!important;color:#282d31!important}

/* Footer */
.fi-footer{
    background:#1c1d1d!important;
    color:#f5f0e7!important;
    border-top:3px solid #a87b2d!important;
}
.fi-footer p,.fi-footer a{color:#d4d0c8!important}
.fi-footer-links>strong,.fi-footer-contact>strong{color:#e7d6b4!important}
.fi-footer a:hover{color:#fff!important}
.fi-footer-whatsapp svg{color:#4ab879!important}

/* Service pages — inherit the same elegant light visual language */
.service-v4,
.sv4-page{background:#fffdfa!important;color:#252a2f!important}
.sv4-hero{
    background:linear-gradient(100deg,#fffdfa 0%,#fffdfa 58%,#f7f0e5 100%)!important;
    color:#252a2f!important;
    border-bottom:1px solid var(--ref-line)!important;
}
.sv4-hero::before,.sv4-hero::after{opacity:.04!important}
.sv4-hero-copy .sv4-eyebrow,.sv4-eyebrow{color:#a7792d!important}
.sv4-hero-copy h1{
    color:#22262a!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-weight:500!important;
    letter-spacing:-.04em!important;
}
.sv4-hero-copy>p{color:#5d656d!important}
.sv4-breadcrumbs,.sv4-breadcrumbs a{color:#777a7d!important}
.sv4-button--primary{
    border-color:var(--ref-gold)!important;
    background:linear-gradient(180deg,#c59945,#ad7d2c)!important;
    color:#fff!important;
}
.sv4-button--whatsapp{
    border-color:#cfd3d4!important;
    background:#fff!important;
    color:#252a2f!important;
}
.sv4-button--whatsapp .sv4-whatsapp-icon{color:#1f7f4d!important}
.sv4-hero-aside{
    border:1px solid #dfd2bc!important;
    border-left:1px solid #dfd2bc!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#2c3034!important;
    box-shadow:0 12px 30px rgba(45,36,24,.06)!important;
}
.sv4-hero-aside h2{color:#2c3034!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}
.sv4-hero-aside small{color:#a7792d!important}
.sv4-hero-aside li{color:#5f676e!important}
.sv4-section,.sv4-section--soft{background:#fffdfa!important}
.sv4-section--soft{border-color:var(--ref-line)!important}
.sv4-section h2,.sv4-heading h2{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;color:#272b2f!important}
.sv4-sign-card,.sv4-process-card,.sv4-related-grid a{
    border-color:#e5dbcc!important;
    border-radius:6px!important;
    background:#fff!important;
    box-shadow:none!important;
}
.sv4-sign-number,.sv4-process-card>span{color:#b18437!important}
.sv4-cta-wrap{background:#fffdfa!important}
.sv4-cta{
    border:1px solid #dccbaa!important;
    border-radius:7px!important;
    background:#fbf6ed!important;
    color:#2c3034!important;
    box-shadow:none!important;
}
.sv4-cta h2{color:#2c3034!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}
.sv4-cta p{color:#656c73!important}

/* Contact / forms / calculator */
.fi-contact-page{background:#fbf8f2!important}
.fi-contact-form-wrap,.calculator-card{
    border-color:#e1d7c8!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:0 14px 35px rgba(47,37,23,.05)!important;
}
.fi-contact-copy h1{
    color:#25292d!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-weight:500!important;
}
.fi-channel,.fi-contact-trust>div{border-color:var(--ref-line)!important}
.fi-channel>svg,.fi-contact-trust svg{color:#b18437!important}
.calculator-primary{
    border-radius:5px!important;
    background:linear-gradient(180deg,#c59945,#ad7d2c)!important;
    color:#fff!important;
}
.calculator-primary:hover{background:#a97729!important}

@media(max-width:1023px){
    .fi-home .fi-hero-grid{grid-template-columns:1fr!important;padding-block:36px!important}
    .fi-home .fi-hero-aside{min-height:auto!important}
    .fi-about-layout{grid-template-columns:1fr!important}
    .fi-about-head h2{max-width:18ch!important}
}
@media(max-width:767px){
    .fi-section{padding-block:30px!important}
    .fi-home .fi-hero-grid{padding-block:30px 32px!important;gap:24px!important}
    .fi-home .fi-hero-copy h1{max-width:14ch!important;font-size:clamp(2rem,10vw,2.7rem)!important;margin-top:15px!important}
    .fi-home .fi-hero-copy>p{font-size:.88rem!important;margin-top:14px!important}
    .fi-home .fi-hero .fi-actions{display:grid!important;grid-template-columns:1fr!important;margin-top:20px!important}
    .fi-home .fi-hero-aside{padding:18px!important;border-radius:6px!important}
    .fi-home .fi-service-index--areas{grid-template-columns:1fr!important}
    .fi-about-profiles{grid-template-columns:1fr!important}
    .fi-profile-card{grid-template-columns:78px minmax(0,1fr)!important;padding:10px!important}
    .fi-profile-photo{width:78px!important;height:100px!important;min-height:100px!important}
    .fi-about-head h2{font-size:clamp(1.75rem,8vw,2.25rem)!important}
}

/* ========================================================================== */
/* FACTUM IUS — HOME REFERENCE 2026                                           */
/* ========================================================================== */
:root{
    --ref-gold:#b9872f;
    --ref-gold-dark:#9e7024;
    --ref-ink:#171717;
    --ref-muted:#5d5d5d;
    --ref-line:#e7ddcb;
    --ref-cream:#fbfaf7;
    --ref-dark:#191a18;
}
.ref-home{background:#fff;color:var(--ref-ink);font-family:Arial,Helvetica,sans-serif}
.ref-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.ref-home h1,.ref-home h2,.ref-home h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.ref-home a{text-decoration:none}

/* Header, intentionally close to supplied reference */
body.fi-site .fi-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid #eee7da;box-shadow:none;backdrop-filter:blur(12px)}
body.fi-site .fi-nav-shell{min-height:76px;width:min(1180px,calc(100% - 40px));padding:0}
body.fi-site .fi-brand-mark{width:58px;height:58px}
body.fi-site .fi-brand-mark img{width:58px;height:58px;object-fit:contain}
body.fi-site .fi-brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:500;letter-spacing:.01em;color:#202020}
body.fi-site .fi-brand-copy small{margin-top:1px;color:var(--ref-gold);font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
body.fi-site .fi-main-nav{gap:26px}
body.fi-site .fi-nav-link{position:relative;color:#242424;font-family:Georgia,"Times New Roman",serif;font-size:.82rem;font-weight:500}
body.fi-site .fi-nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:1px;background:var(--ref-gold);transform:scaleX(0);transition:transform .18s ease}
body.fi-site .fi-nav-link:hover::after{transform:scaleX(1)}
body.fi-site .fi-header-cta{min-height:42px;padding:0 18px;border:1px solid var(--ref-gold);border-radius:3px;background:var(--ref-gold);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:.82rem;font-weight:700;box-shadow:0 4px 12px rgba(185,135,47,.18)}
body.fi-site .fi-header-cta:hover{background:var(--ref-gold-dark);border-color:var(--ref-gold-dark);color:#fff}
body.fi-site .fi-icon-button--whatsapp{display:none}

.ref-hero{background:linear-gradient(90deg,#fff 0%,#fff 51%,#f7f3eb 51%,#f7f3eb 100%);border-bottom:1px solid #efe9df}
.ref-hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);min-height:480px;align-items:stretch}
.ref-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:46px 42px 38px 0}
.ref-kicker{display:block;margin-bottom:12px;color:#7e6332;font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ref-hero h1{max-width:610px;margin:0;color:#171717;font-size:clamp(2.75rem,5vw,4.8rem);line-height:.97;letter-spacing:-.045em;text-wrap:balance}
.ref-hero-copy>p{max-width:620px;margin:16px 0 0;color:#3e3e3e;font-size:.94rem;line-height:1.58}
.ref-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ref-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border-radius:3px;font-family:Georgia,"Times New Roman",serif;font-size:.84rem;font-weight:700;transition:.18s ease}
.ref-btn svg{width:19px;height:19px}
.ref-btn--gold{border:1px solid var(--ref-gold);background:var(--ref-gold);color:#fff;box-shadow:0 5px 14px rgba(185,135,47,.16)}
.ref-btn--gold:hover{background:var(--ref-gold-dark);border-color:var(--ref-gold-dark);color:#fff}
.ref-btn--outline{border:1px solid #bcb8b0;background:#fff;color:#161616}
.ref-btn--outline:hover{border-color:var(--ref-gold);color:#805e22;background:#fff}
.ref-hero-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:26px;max-width:620px}
.ref-hero-benefits>div{display:grid;justify-items:center;text-align:center;gap:7px;color:#222}
.ref-hero-benefits svg{width:29px;height:29px;color:var(--ref-gold)}
.ref-hero-benefits span{font-size:.69rem;line-height:1.35}
.ref-hero-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:480px;padding:50px;background:radial-gradient(circle at 55% 38%,rgba(255,255,255,.95),rgba(248,243,233,.88) 38%,rgba(234,224,206,.72) 100%);border-left:1px solid rgba(185,135,47,.1)}
.ref-hero-visual::before,.ref-hero-visual::after{content:"";position:absolute;border:1px solid rgba(185,135,47,.13);border-radius:50%}
.ref-hero-visual::before{width:430px;height:430px;right:-120px;top:-140px}
.ref-hero-visual::after{width:300px;height:300px;left:-100px;bottom:-130px}
.ref-hero-visual-glow{position:absolute;inset:0;background:linear-gradient(135deg,transparent 20%,rgba(255,255,255,.55),transparent 70%);pointer-events:none}
.ref-hero-visual img{position:relative;z-index:1;width:190px;height:190px;object-fit:contain;filter:drop-shadow(0 15px 20px rgba(87,63,27,.08))}
.ref-visual-line{position:relative;z-index:1;width:76px;height:1px;margin:15px 0;background:var(--ref-gold)}
.ref-hero-visual strong{position:relative;z-index:1;font-family:Georgia,"Times New Roman",serif;color:#182d46;font-size:1.7rem;font-weight:500;letter-spacing:.08em}
.ref-hero-visual span{position:relative;z-index:1;margin-top:5px;color:#99732d;font-size:.64rem;font-weight:800;letter-spacing:.16em}
.ref-hero-visual small{position:relative;z-index:1;margin-top:12px;color:#657080;font-size:.76rem}

.ref-section{padding:34px 0;background:#fff}
.ref-section:nth-of-type(even){background:var(--ref-cream)}
.ref-section-title{text-align:center;margin-bottom:20px}
.ref-section-title>span{display:block;color:#272727;font-family:Georgia,"Times New Roman",serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.03em}
.ref-section-title>span::after{content:"";display:block;width:34px;height:1.5px;margin:7px auto 0;background:var(--ref-gold)}
.ref-section-title h2{margin:6px 0 0;color:#171717;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.05}
.ref-section-title p{max-width:700px;margin:9px auto 0;color:#606060;font-size:.8rem;line-height:1.5}

.ref-area-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ref-area-card{min-height:176px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 12px 16px;border:1px solid var(--ref-line);background:#fff;color:#171717;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.ref-area-card:hover{border-color:#cba861;transform:translateY(-2px);box-shadow:0 8px 18px rgba(92,68,28,.05)}
.ref-area-card svg{width:38px;height:38px;color:var(--ref-gold)}
.ref-area-card h3{margin:13px 0 0;font-size:.94rem;line-height:1.12}
.ref-area-card p{margin:7px 0 0;color:#5e5e5e;font-size:.68rem;line-height:1.46}

.ref-process-section{background:#fff!important}
.ref-process{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;list-style:none;margin:0;padding:0 24px}
.ref-process::before{content:"";position:absolute;left:17%;right:17%;top:30px;border-top:1px dotted #c9c1b3}
.ref-process li{position:relative;z-index:1;text-align:center;padding:0 18px}
.ref-process b{position:absolute;top:1px;left:4px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #dccaa8;border-radius:50%;background:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.1rem;font-weight:500}
.ref-process svg{width:48px;height:48px;color:var(--ref-gold);background:#fff}
.ref-process h3{margin:11px 0 0;font-size:.92rem}
.ref-process p{max-width:280px;margin:7px auto 0;color:#5e5e5e;font-size:.7rem;line-height:1.5}
.ref-center-action{text-align:center;margin-top:20px}

.ref-why-section{background:var(--ref-cream)!important}
.ref-why-wrap{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:16px;padding:22px;border:1px solid var(--ref-line);background:#fff}
.ref-why-main{min-width:0}
.ref-why-main .ref-section-title{margin-bottom:15px}
.ref-why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #eee7db}
.ref-why-grid article{text-align:center;padding:18px 14px 8px;border-right:1px solid #eee7db}
.ref-why-grid article:last-child{border-right:0}
.ref-why-grid svg{width:39px;height:39px;color:var(--ref-gold)}
.ref-why-grid h3{margin:9px 0 0;font-size:.9rem;line-height:1.18}
.ref-why-grid p{margin:6px 0 0;color:#606060;font-size:.66rem;line-height:1.45}
.ref-team-box{padding:16px;border:1px solid var(--ref-line);background:#fff}
.ref-team-box>h3{text-align:center;margin:0 0 10px;font-size:.83rem;text-transform:uppercase;letter-spacing:.04em}
.ref-team-box article{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #eee7db}
.ref-team-photo{width:54px;height:68px;display:grid;place-items:center;overflow:hidden;border:1px solid #ded4c3;background:linear-gradient(180deg,#f4eee4,#e9dfcf);color:#9a7130;font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}
.ref-team-box strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:.86rem;font-weight:700}
.ref-team-box small{display:block;margin-top:2px;color:#8c692d;font-size:.59rem;font-weight:800;line-height:1.3;text-transform:uppercase}
.ref-team-box p{margin:4px 0 0;color:#606060;font-size:.6rem;line-height:1.35}

.ref-fees-section{background:#fff!important}
.ref-fees-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:900px;margin:0 auto}
.ref-fees-grid article{border:1px solid var(--ref-line);background:#fff;padding:16px 18px}
.ref-fees-grid article>small{display:block;margin-bottom:8px;color:#936b27;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ref-fees-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid #eee7db;font-size:.72rem}
.ref-fees-grid strong{font-family:Georgia,"Times New Roman",serif;font-size:.82rem;color:#222}

.ref-faq-section{background:var(--ref-cream)!important}
.ref-faq{max-width:860px;margin:0 auto;border:1px solid var(--ref-line);background:#fff}
.ref-faq details+details{border-top:1px solid var(--ref-line)}
.ref-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;cursor:pointer;font-family:Georgia,"Times New Roman",serif;font-size:.8rem;list-style:none}
.ref-faq summary::-webkit-details-marker{display:none}
.ref-faq summary svg{width:16px;height:16px;color:#565656;transition:transform .18s ease}
.ref-faq details[open] summary svg{transform:rotate(180deg)}
.ref-faq details p{margin:0;padding:0 18px 14px;color:#606060;font-size:.72rem;line-height:1.5}

.ref-final-cta{padding:18px 0 28px;background:#fff}
.ref-final-box{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:18px 24px;border:1px solid #d8bf8a;background:#fff}
.ref-final-icon{width:62px;height:62px;display:grid;place-items:center;border:1px solid #d8bf8a;border-radius:50%;color:var(--ref-gold)}
.ref-final-icon svg{width:38px;height:38px}
.ref-final-box h2{margin:0;font-size:1.3rem}
.ref-final-box p{margin:3px 0 0;color:#5d5d5d;font-size:.75rem}

/* Footer closer to reference */
body.fi-site .fi-footer{background:linear-gradient(180deg,#1e1f1d,#171816);border-top:0;color:#fff}
body.fi-site .fi-footer-shell{width:min(1180px,calc(100% - 40px))}
body.fi-site .fi-footer-top{padding-top:28px;padding-bottom:20px}
body.fi-site .fi-brand--footer .fi-brand-copy strong{color:#fff}
body.fi-site .fi-footer-links strong,body.fi-site .fi-footer-contact>strong{color:#d8bd87;font-family:Georgia,"Times New Roman",serif;font-weight:500}
body.fi-site .fi-footer a,body.fi-site .fi-footer p,body.fi-site .fi-footer span{font-size:.72rem}

@media(max-width:1050px){
  .ref-area-grid{grid-template-columns:repeat(3,1fr)}
  .ref-hero-grid{grid-template-columns:1fr 1fr}
  .ref-why-wrap{grid-template-columns:1fr}
  .ref-team-box{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .ref-team-box>h3{grid-column:1/-1}
  .ref-team-box article{border-top:1px solid var(--ref-line)}
}
@media(max-width:820px){
  body.fi-site .fi-nav-shell{width:min(100% - 28px,1180px);min-height:68px}
  body.fi-site .fi-brand-mark{width:50px;height:50px}body.fi-site .fi-brand-mark img{width:50px;height:50px}
  body.fi-site .fi-brand-copy strong{font-size:1.2rem}
  .ref-shell{width:min(100% - 28px,1180px)}
  .ref-hero{background:#fff}
  .ref-hero-grid{grid-template-columns:1fr;min-height:auto}
  .ref-hero-copy{padding:34px 0 24px}
  .ref-hero h1{max-width:14ch;font-size:clamp(2.4rem,10vw,3.8rem)}
  .ref-hero-visual{min-height:300px;border-left:0;border-top:1px solid #eee7da}
  .ref-process{gap:12px;padding:0}.ref-process::before{display:none}.ref-process b{position:static;margin:0 auto 8px}.ref-process svg{width:40px;height:40px}
  .ref-why-grid{grid-template-columns:repeat(2,1fr)}.ref-why-grid article:nth-child(2){border-right:0}.ref-why-grid article:nth-child(-n+2){border-bottom:1px solid #eee7db}
  .ref-final-box{grid-template-columns:62px 1fr}.ref-final-box .ref-btn{width:100%}
}
@media(max-width:600px){
  .ref-shell{width:min(100% - 22px,1180px)}
  .ref-section{padding:28px 0}
  .ref-hero-copy{padding-top:28px}
  .ref-kicker{font-size:.61rem}
  .ref-hero h1{font-size:clamp(2.2rem,12vw,3rem);line-height:.98}
  .ref-hero-copy>p{font-size:.85rem}
  .ref-actions{display:grid;grid-template-columns:1fr}.ref-btn{width:100%}
  .ref-hero-benefits{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}
  .ref-hero-visual{min-height:250px;padding:28px}.ref-hero-visual img{width:140px;height:140px}.ref-hero-visual strong{font-size:1.35rem}
  .ref-area-grid{grid-template-columns:repeat(2,1fr);gap:8px}.ref-area-card{min-height:160px;padding:16px 9px 13px}.ref-area-card h3{font-size:.84rem}.ref-area-card p{font-size:.63rem}
  .ref-process{grid-template-columns:1fr;gap:22px}.ref-process li{padding:0}.ref-process p{max-width:310px}
  .ref-why-wrap{padding:14px}.ref-why-grid{grid-template-columns:1fr 1fr}.ref-why-grid article{padding:14px 9px 10px}.ref-why-grid h3{font-size:.82rem}.ref-why-grid p{font-size:.61rem}
  .ref-team-box{grid-template-columns:1fr}.ref-team-box>h3{grid-column:auto}.ref-team-box article{grid-template-columns:50px 1fr}.ref-team-photo{width:48px;height:60px}
  .ref-fees-grid{grid-template-columns:1fr}.ref-fees-grid article>div{font-size:.68rem}
  .ref-final-box{grid-template-columns:1fr;text-align:center}.ref-final-icon{margin:0 auto}.ref-final-box h2{font-size:1.18rem}
}


/* ---------- Reference home: smaller H1 + one-glance sections ---------- */
.ref-hero-grid{
    min-height:400px;
}
.ref-hero-copy{
    padding:34px 38px 28px 0;
}
.ref-kicker{
    margin-bottom:10px;
}
.ref-hero h1{
    max-width:560px;
    font-size:clamp(2.15rem,3.35vw,3.25rem);
    line-height:1.01;
    letter-spacing:-.035em;
}
.ref-hero-copy>p{
    max-width:600px;
    margin-top:13px;
    font-size:.9rem;
    line-height:1.52;
}
.ref-actions{
    margin-top:18px;
}
.ref-hero-benefits{
    margin-top:20px;
    gap:6px;
}
.ref-hero-benefits svg{
    width:26px;
    height:26px;
}
.ref-hero-visual{
    min-height:400px;
    padding:34px;
}
.ref-hero-visual img{
    width:160px;
    height:160px;
}
.ref-hero-visual strong{
    font-size:1.5rem;
}
.ref-section{
    padding:28px 0;
}
.ref-section-title{
    margin-bottom:16px;
}
.ref-area-card{
    min-height:154px;
    padding:16px 10px 13px;
}
.ref-area-card svg{
    width:34px;
    height:34px;
}
.ref-area-card h3{
    margin-top:10px;
}
.ref-area-card p{
    margin-top:5px;
}
.ref-process{
    gap:24px;
}
.ref-process svg{
    width:43px;
    height:43px;
}
.ref-process h3{
    margin-top:8px;
}
.ref-center-action{
    margin-top:16px;
}
.ref-why-wrap{
    padding:18px;
}
.ref-why-grid article{
    padding:14px 12px 6px;
}
.ref-why-grid svg{
    width:35px;
    height:35px;
}
.ref-team-box article{
    padding:9px 0;
}
.ref-final-icon svg{
    width:36px;
    height:36px;
}
@media(max-width:820px){
    .ref-hero-copy{
        padding:28px 0 22px;
    }
    .ref-hero h1{
        max-width:15ch;
        font-size:clamp(2rem,7.5vw,2.75rem);
    }
    .ref-hero-visual{
        min-height:250px;
    }
}
@media(max-width:600px){
    .ref-section{
        padding:24px 0;
    }
    .ref-hero-copy{
        padding-top:24px;
    }
    .ref-hero h1{
        font-size:clamp(1.9rem,9vw,2.45rem);
        line-height:1.02;
    }
    .ref-hero-copy>p{
        font-size:.82rem;
        line-height:1.5;
    }
    .ref-hero-benefits{
        margin-top:18px;
    }
    .ref-hero-visual{
        min-height:220px;
        padding:22px;
    }
    .ref-hero-visual img{
        width:120px;
        height:120px;
    }
    .ref-area-card{
        min-height:145px;
    }
}


/* ---------- Home only: WhatsApp CTA + reclamaciones en fila ---------- */
.factum-hero .factum-home-whatsapp{
    display:inline-flex;
    align-items:center;
    gap:9px;
}
.factum-hero .factum-home-whatsapp svg{
    width:19px;
    height:19px;
    flex:0 0 auto;
    color:#1f8f57;
}

/* =========================================================
   HOME · QUIÉN ESTÁ DETRÁS
   Estilos específicos de la Home dentro del CSS público único
   ========================================================= */
.factum-people-section{
    background:#fff;
}
.factum-people-layout{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:42px;
    align-items:center;
}
.factum-people-intro{
    margin:0;
}
.factum-people-intro h2{
    max-width:520px;
}
.factum-people-intro p{
    max-width:510px;
}
.factum-people-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.factum-person-card{
    overflow:hidden;
    border:1px solid rgba(22,52,83,.11);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(13,44,79,.06);
}
.factum-person-photo{
    aspect-ratio:4/5;
    width:100%;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:linear-gradient(145deg,#f1ece2,#fbfaf7);
}
.factum-person-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}
.factum-person-photo--placeholder span{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    border:1px solid rgba(156,133,86,.32);
    border-radius:50%;
    color:#8b7749;
    background:rgba(255,255,255,.72);
    font:700 1.2rem/1 Georgia,"Times New Roman",serif;
    letter-spacing:.05em;
}
.factum-person-info{
    padding:18px 18px 20px;
}
.factum-person-info small{
    display:block;
    color:#8b7749;
    font-size:.68rem;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.factum-person-info h3{
    margin:6px 0 0;
    color:#0d2c4f;
    font-size:1.08rem;
    line-height:1.2;
}
.factum-person-info p{
    margin:8px 0 0;
    color:#657182;
    font-size:.8rem;
    line-height:1.52;
}
@media(max-width:900px){
    .factum-people-layout{
        grid-template-columns:1fr;
        gap:24px;
    }
    .factum-people-intro{
        max-width:720px;
    }
}
@media(max-width:620px){
    .factum-people-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .factum-person-card{
        border-radius:14px;
    }
    .factum-person-info{
        padding:13px 12px 15px;
    }
    .factum-person-info small{
        font-size:.58rem;
    }
    .factum-person-info h3{
        font-size:.9rem;
    }
    .factum-person-info p{
        font-size:.69rem;
        line-height:1.42;
    }
    .factum-person-photo--placeholder span{
        width:54px;
        height:54px;
        font-size:.95rem;
    }
}


/* =========================================================
   HOME · AJUSTE COMPACTO 2026-08-27
   Reclamaciones 3x2, personas de un vistazo y CTAs hero pequeños
   ========================================================= */

/* Hero: botones menos dominantes */
.factum-hero .rc-hero-actions{
    margin-top:20px;
    gap:10px;
}
.factum-hero .rc-hero-actions .rc-btn{
    min-height:42px;
    padding:9px 17px;
    border-width:1px;
    font-size:.82rem;
    line-height:1.1;
}
.factum-hero .factum-home-whatsapp svg{
    width:17px;
    height:17px;
}
.factum-hero-proof{
    margin-top:14px;
}

/* Reclamaciones: vuelve al 3x2 original, pero más compacto */
#areas .factum-service-grid--compact{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
#areas .factum-service-grid--compact .factum-card--rich{
    min-height:170px;
    padding:18px;
}
#areas .factum-service-grid--compact .factum-card-icon{
    width:38px;
    height:38px;
    margin-bottom:13px;
}
#areas .factum-service-grid--compact .factum-card-icon svg{
    display:block;
    width:21px;
    height:21px;
}
#areas .factum-service-grid--compact h3{
    margin:0;
    color:var(--factum-color-primary);
    font-size:.98rem;
    line-height:1.22;
}
#areas .factum-service-grid--compact p{
    margin-top:7px;
    color:var(--factum-color-muted);
    font-size:.76rem;
    line-height:1.42;
}
#areas .factum-service-grid--compact small{
    margin-top:auto;
    padding-top:10px;
    font-size:.69rem;
}

/* Quién está detrás: sección completa visible de un vistazo */
.factum-people-section{
    padding:46px 0!important;
}
.factum-people-layout{
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
    gap:30px;
    align-items:center;
}
.factum-people-intro h2{
    max-width:13ch;
    font-size:clamp(1.75rem,2.7vw,2.45rem);
    line-height:1.06;
}
.factum-people-intro p{
    max-width:42ch;
    margin-top:9px;
    font-size:.82rem;
    line-height:1.48;
}
.factum-people-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.factum-person-card{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    min-height:176px;
    overflow:hidden;
    border-radius:14px;
    box-shadow:0 8px 22px rgba(13,44,79,.045);
}
.factum-person-photo{
    width:112px;
    height:100%;
    min-height:176px;
    aspect-ratio:auto;
}
.factum-person-photo--placeholder span{
    width:48px;
    height:48px;
    font-size:.88rem;
}
.factum-person-info{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:16px 15px;
}
.factum-person-info small{
    font-size:.58rem;
    line-height:1.32;
}
.factum-person-info h3{
    margin-top:5px;
    font-size:.98rem;
    line-height:1.18;
}
.factum-person-info p{
    margin-top:7px;
    font-size:.7rem;
    line-height:1.42;
}

@media(max-width:980px){
    #areas .factum-service-grid--compact{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .factum-people-layout{
        grid-template-columns:1fr;
        gap:18px;
    }
    .factum-people-intro h2{
        max-width:18ch;
    }
}
@media(max-width:680px){
    .factum-hero .rc-hero-actions{
        gap:8px;
    }
    .factum-hero .rc-hero-actions .rc-btn{
        width:100%;
        min-height:40px;
        padding:9px 14px;
        font-size:.78rem;
    }
    #areas .factum-service-grid--compact{
        grid-template-columns:1fr;
        gap:10px;
    }
    #areas .factum-service-grid--compact .factum-card--rich{
        min-height:0;
        padding:15px 16px;
    }
    .factum-people-section{
        padding:34px 0!important;
    }
    .factum-people-grid{
        grid-template-columns:1fr;
        gap:10px;
    }
    .factum-person-card{
        grid-template-columns:86px minmax(0,1fr);
        min-height:132px;
    }
    .factum-person-photo{
        width:86px;
        min-height:132px;
    }
    .factum-person-info{
        padding:13px 12px;
    }
}


/* ---------- Identidad navegación + footer como web publicada ---------- */
body.fi-site a.fi-header-cta,
.fi-header-cta{
    min-height:42px!important;
    padding:9px 16px!important;
    border:1px solid #0d2c4f!important;
    border-radius:4px!important;
    background:#0d2c4f!important;
    color:#fff!important;
    font-family:inherit!important;
    font-size:.8rem!important;
    font-weight:800!important;
    box-shadow:none!important;
}
body.fi-site a.fi-header-cta:hover,
.fi-header-cta:hover{
    border-color:#b49b6a!important;
    background:#b49b6a!important;
    color:#fff!important;
}

body.fi-site .fi-footer,
.fi-footer{
    padding:0 24px!important;
    border-top:0!important;
    background:#071827!important;
    color:#fff!important;
}
body.fi-site .fi-footer-shell,
.fi-footer-shell{
    width:min(1200px,100%)!important;
    margin:0 auto!important;
    padding:0!important;
}
body.fi-site .fi-footer-top,
.fi-footer-top{
    display:grid!important;
    grid-template-columns:1.45fr .75fr .75fr 1fr!important;
    gap:46px!important;
    padding:54px 0 42px!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important;
}
.fi-footer-brand .fi-brand{
    display:inline-flex!important;
    align-items:center!important;
    gap:14px!important;
    margin-bottom:18px!important;
}
.fi-footer .fi-brand-mark{
    width:64px!important;
    height:64px!important;
    flex:0 0 64px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.fi-footer .fi-brand-mark img{
    width:64px!important;
    height:64px!important;
    object-fit:contain!important;
}
.fi-footer .fi-brand-copy strong{
    color:#f7edd5!important;
    font-size:clamp(1.32rem,1.7vw,1.62rem)!important;
    line-height:1.05!important;
    letter-spacing:.015em!important;
    font-weight:650!important;
}
.fi-footer .fi-brand-copy small{
    margin-top:6px!important;
    color:#d9c493!important;
    font-size:.88rem!important;
    letter-spacing:.025em!important;
}
.fi-footer-brand>p,
.fi-footer-contact>p{
    max-width:340px!important;
    color:rgba(255,255,255,.67)!important;
    font-size:.9rem!important;
    line-height:1.65!important;
}
.fi-footer-links{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
}
.fi-footer-links>strong,
.fi-footer-contact>strong{
    margin-bottom:7px!important;
    color:#fff!important;
    font-family:inherit!important;
    font-size:.88rem!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
    text-transform:none!important;
}
.fi-footer-links a,
.fi-footer-email,
.fi-footer-whatsapp{
    color:rgba(255,255,255,.66)!important;
    font-size:.88rem!important;
}
.fi-footer-links a:hover,
.fi-footer-email:hover{
    color:#fff!important;
}
.fi-footer-whatsapp{
    color:#8ad6aa!important;
}
.fi-footer .factum-social-links{
    margin-top:14px!important;
}
.fi-footer .factum-social-link{
    border-color:rgba(255,255,255,.16)!important;
    background:transparent!important;
    color:#d9c493!important;
}
.fi-footer-bottom{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:20px!important;
    margin-top:0!important;
    padding:20px 0!important;
    border-top:0!important;
    color:#9ca3af!important;
    font-size:.72rem!important;
}
.fi-footer-bottom nav{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:14px!important;
}
.fi-footer-bottom a,
.fi-footer-bottom span{
    color:#9ca3af!important;
}
.fi-footer-bottom a:hover{
    color:#fff!important;
}
@media (max-width:980px){
    body.fi-site .fi-footer-top,
    .fi-footer-top{
        grid-template-columns:1.2fr 1fr 1fr!important;
        gap:34px!important;
    }
    .fi-footer-contact{
        grid-column:1/-1!important;
    }
}
@media (max-width:680px){
    body.fi-site .fi-footer,
    .fi-footer{
        padding-inline:18px!important;
    }
    body.fi-site .fi-footer-top,
    .fi-footer-top{
        grid-template-columns:1fr!important;
        gap:30px!important;
        padding:42px 0 34px!important;
    }
    .fi-footer-contact{
        grid-column:auto!important;
    }
    .fi-footer-bottom{
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:8px!important;
    }
    .fi-footer .fi-brand-mark,
    .fi-footer .fi-brand-mark img{
        width:56px!important;
        height:56px!important;
    }
    .fi-footer .fi-brand-mark{
        flex-basis:56px!important;
    }
}


/* ---------- Contacto: una pantalla, contraste corregido ---------- */
.fi-contact-page{
    min-height:calc(100vh - 74px)!important;
    padding:10px 0 24px!important;
    background:#fbf8f2!important;
}
.fi-contact-page .fi-breadcrumbs{
    padding-top:0!important;
    color:#8b7b66!important;
    font-size:.68rem!important;
}
.fi-contact-page .fi-breadcrumbs a{
    color:#796a58!important;
}
.fi-contact-grid{
    display:grid!important;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    gap:clamp(28px,4vw,54px)!important;
    align-items:center!important;
    padding-top:12px!important;
}
.fi-contact-copy{
    padding-top:0!important;
    color:#243447!important;
}
.fi-contact-copy .fi-eyebrow{
    display:inline-flex!important;
    padding:6px 11px!important;
    border:1px solid #e4d8c6!important;
    border-radius:999px!important;
    background:#fffaf2!important;
    color:#9a6f28!important;
    font-size:.65rem!important;
}
.fi-contact-copy h1{
    max-width:9ch!important;
    margin-top:10px!important;
    color:#25292d!important;
    font-size:clamp(2.15rem,3.5vw,3.15rem)!important;
    line-height:1.01!important;
    letter-spacing:-.035em!important;
}
.fi-contact-copy>p{
    max-width:50ch!important;
    margin-top:10px!important;
    color:#596777!important;
    font-family:inherit!important;
    font-size:.86rem!important;
    line-height:1.5!important;
}
.fi-contact-channels{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:17px!important;
    border:0!important;
}
.fi-channel{
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:10px 12px!important;
    border:1px solid #e3d7c7!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#243447!important;
}
.fi-channel:hover{
    border-color:#c8a86d!important;
}
.fi-channel>svg{
    width:21px!important;
    height:21px!important;
    color:#b18437!important;
}
.fi-channel--whatsapp>svg{
    color:#2f9b62!important;
}
.fi-channel strong{
    color:#243447!important;
    font-size:.75rem!important;
}
.fi-channel small{
    margin-top:1px!important;
    color:#7a8490!important;
    font-size:.63rem!important;
    line-height:1.3!important;
}
.fi-contact-trust{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:11px!important;
    border:0!important;
}
.fi-contact-trust>div{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:25px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:center!important;
    padding:8px 9px!important;
    border:1px solid #e6ddd0!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.6)!important;
}
.fi-contact-trust svg{
    width:18px!important;
    height:18px!important;
    color:#b18437!important;
}
.fi-contact-trust strong{
    display:block!important;
    color:#344657!important;
    font-size:.68rem!important;
    line-height:1.15!important;
}
.fi-contact-trust small{
    display:block!important;
    margin-top:1px!important;
    color:#7b8691!important;
    font-size:.58rem!important;
    line-height:1.2!important;
}
.fi-contact-form-wrap{
    margin:0!important;
    padding:18px 20px!important;
    border:1px solid #e1d7c8!important;
    border-left:3px solid #c39a52!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 12px 30px rgba(45,36,24,.055)!important;
}
.fi-contact-form-head>span{
    color:#9d742f!important;
    font-size:.61rem!important;
}
.fi-contact-form-head h2{
    max-width:none!important;
    margin-top:3px!important;
    color:#102b49!important;
    font-size:1.38rem!important;
    line-height:1.08!important;
}
.fi-contact-form{
    margin-top:11px!important;
}
.fi-form-grid{
    gap:8px!important;
}
.fi-field{
    gap:3px!important;
}
.fi-field label{
    font-size:.68rem!important;
}
.fi-field input,
.fi-field select,
.fi-field textarea{
    min-height:40px!important;
    padding:8px 12px!important;
    border-radius:8px!important;
    font-size:.84rem!important;
}
.fi-field textarea{
    min-height:72px!important;
    max-height:86px!important;
    resize:vertical!important;
}
.fi-consent{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:8px!important;
    margin-top:9px!important;
    padding:8px 10px!important;
    border-radius:9px!important;
}
.fi-consent>svg{
    width:18px!important;
    height:18px!important;
}
.fi-consent strong{
    font-size:.69rem!important;
}
.fi-consent label{
    margin-top:3px!important;
    font-size:.62rem!important;
    line-height:1.3!important;
}
.fi-consent small{
    margin-top:3px!important;
    font-size:.57rem!important;
}
body.fi-site .fi-contact-form .fi-button--primary{
    min-height:40px!important;
    width:auto!important;
    margin-top:10px!important;
    padding:8px 16px!important;
    border-radius:6px!important;
    background:#0d2c4f!important;
    color:#fff!important;
    font-size:.75rem!important;
}
.fi-form-note{
    margin-top:5px!important;
    font-size:.58rem!important;
    text-align:left!important;
}
@media (max-width:1023px){
    .fi-contact-page{
        min-height:auto!important;
        padding:14px 0 30px!important;
    }
    .fi-contact-grid{
        grid-template-columns:1fr!important;
        gap:18px!important;
        align-items:start!important;
    }
    .fi-contact-copy h1{
        max-width:13ch!important;
    }
}
@media (max-width:680px){
    .fi-contact-channels,
    .fi-contact-trust{
        grid-template-columns:1fr!important;
    }
    .fi-contact-copy h1{
        font-size:clamp(2rem,11vw,2.65rem)!important;
    }
    .fi-contact-form-wrap{
        padding:15px!important;
    }
    .fi-form-grid{
        grid-template-columns:1fr!important;
    }
    .fi-field{
        grid-column:1/-1!important;
    }
    body.fi-site .fi-contact-form .fi-button--primary{
        width:100%!important;
    }
}

/* ---------- Public site: unified H1 scale ---------- */
body.fi-site main h1{
    font-size:clamp(2.15rem,3.35vw,3.25rem)!important;
    line-height:1.01!important;
}
@media (max-width:820px){
    body.fi-site main h1{
        font-size:clamp(2rem,7.5vw,2.75rem)!important;
    }
}
@media (max-width:600px){
    body.fi-site main h1{
        font-size:clamp(1.9rem,9vw,2.45rem)!important;
        line-height:1.02!important;
    }
}


/* ========================================================================== 
   SERVICES PAGES — limpieza visual, CTA WhatsApp y bloques más claros
   ========================================================================== */
body.fi-site .service-v4 .sv4-breadcrumbs,
body.fi-site .services-hub-v4 .sv4-breadcrumbs{
    display:none !important;
}
body.fi-site .service-v4 .sv4-hero,
body.fi-site .services-hub-v4 .sv4-hero{
    background:linear-gradient(180deg,#fffdfa 0%,#fbf7f0 100%) !important;
    border-bottom:1px solid var(--fi-border) !important;
    color:var(--fi-ink) !important;
}
body.fi-site .service-v4 .sv4-hero::before,
body.fi-site .services-hub-v4 .sv4-hero::before{
    opacity:.04 !important;
}
body.fi-site .service-v4 .sv4-hero-grid,
body.fi-site .services-hub-v4 .sv4-hero-grid{
    align-items:start !important;
    gap:clamp(26px,4vw,48px) !important;
    padding:26px 0 38px !important;
}
body.fi-site .service-v4 .sv4-hero-copy .sv4-eyebrow,
body.fi-site .services-hub-v4 .sv4-hero-copy .sv4-eyebrow{
    border-color:rgba(167,121,45,.22) !important;
    background:#fff !important;
    color:#a7792d !important;
}
body.fi-site .service-v4 .sv4-hero-copy h1,
body.fi-site .services-hub-v4 .sv4-hero-copy h1{
    max-width:13ch !important;
    margin-top:14px !important;
    color:#252a2f !important;
    text-wrap:balance;
}
body.fi-site .services-hub-v4 .sv4-hero-copy h1{
    max-width:12ch !important;
}
body.fi-site .service-v4 .sv4-hero-copy > p,
body.fi-site .services-hub-v4 .sv4-hero-copy > p{
    max-width:59ch !important;
    margin-top:16px !important;
    color:#5e6871 !important;
    font-size:.98rem !important;
    line-height:1.62 !important;
}
body.fi-site .service-v4 .sv4-actions,
body.fi-site .services-hub-v4 .sv4-actions{
    gap:10px !important;
    margin-top:22px !important;
}
body.fi-site .service-v4 .sv4-button,
body.fi-site .services-hub-v4 .sv4-button{
    min-height:46px !important;
    padding:10px 18px !important;
    border-radius:6px !important;
}
body.fi-site .service-v4 .sv4-button--whatsapp::before,
body.fi-site .services-hub-v4 .sv4-button--whatsapp::before{
    content:none !important;
    display:none !important;
}
body.fi-site .service-v4 .sv4-button--whatsapp,
body.fi-site .services-hub-v4 .sv4-button--whatsapp{
    gap:10px !important;
    border-color:rgba(11,41,71,.14) !important;
    background:#fff !important;
    color:var(--fi-ink) !important;
}
body.fi-site .service-v4 .sv4-button--whatsapp:hover,
body.fi-site .services-hub-v4 .sv4-button--whatsapp:hover{
    background:#f8fbf8 !important;
}
body.fi-site .service-v4 .sv4-whatsapp-icon,
body.fi-site .services-hub-v4 .sv4-whatsapp-icon{
    width:18px !important;
    height:18px !important;
    flex:0 0 auto;
    color:#1f8f56 !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.75 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
body.fi-site .service-v4 .sv4-hero-aside,
body.fi-site .services-hub-v4 .sv4-hero-aside{
    align-self:start !important;
    padding:22px !important;
    border:1px solid rgba(194,162,99,.22) !important;
    border-top:3px solid var(--fi-gold-v6) !important;
    border-left:1px solid rgba(194,162,99,.22) !important;
    border-radius:18px !important;
    background:#fff !important;
    color:var(--fi-ink) !important;
    box-shadow:none !important;
}
body.fi-site .service-v4 .sv4-hero-aside h2,
body.fi-site .services-hub-v4 .sv4-hero-aside h2{
    max-width:17ch !important;
    margin-top:8px !important;
    color:#1e2e40 !important;
    font-size:clamp(1.22rem,1.8vw,1.55rem) !important;
    line-height:1.18 !important;
}
body.fi-site .service-v4 .sv4-hero-aside ul,
body.fi-site .services-hub-v4 .sv4-hero-aside ul{
    gap:8px !important;
    margin-top:16px !important;
}
body.fi-site .service-v4 .sv4-hero-aside li,
body.fi-site .services-hub-v4 .sv4-hero-aside li{
    min-height:42px !important;
    padding:10px 12px 10px 28px !important;
    border:1px solid rgba(11,41,71,.08) !important;
    border-radius:12px !important;
    background:#fffdfa !important;
    color:#5d6874 !important;
    font-size:.84rem !important;
}
body.fi-site .service-v4 .sv4-hero-aside li::before,
body.fi-site .services-hub-v4 .sv4-hero-aside li::before{
    left:12px !important;
    width:6px !important;
    height:6px !important;
    border-radius:999px !important;
    transform:translateY(-50%) !important;
}
body.fi-site .service-v4 .sv4-trustline,
body.fi-site .services-hub-v4 .sv4-trustline{
    background:#fff !important;
}
body.fi-site .service-v4 .sv4-trustline .sv4-shell,
body.fi-site .services-hub-v4 .sv4-trustline .sv4-shell{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding-block:0 !important;
}
body.fi-site .service-v4 .sv4-trustline span,
body.fi-site .services-hub-v4 .sv4-trustline span{
    padding:16px 18px !important;
    border-right:1px solid var(--fi-border);
    color:#657280 !important;
}
body.fi-site .service-v4 .sv4-trustline span:last-child,
body.fi-site .services-hub-v4 .sv4-trustline span:last-child{
    border-right:0;
}
body.fi-site .service-v4 .sv4-section,
body.fi-site .services-hub-v4 .sv4-section{
    padding:44px 0 !important;
}
body.fi-site .service-v4 .sv4-editorial-grid,
body.fi-site .service-v4 .sv4-split,
body.fi-site .services-hub-v4 .sv4-split{
    align-items:start;
    gap:clamp(24px,4vw,42px) !important;
}
body.fi-site .service-v4 .sv4-section-head h2,
body.fi-site .services-hub-v4 .sv4-section-head h2{
    max-width:15ch !important;
    color:#1e2e40 !important;
    font-size:clamp(1.55rem,2.45vw,2.15rem) !important;
    line-height:1.12 !important;
}
body.fi-site .service-v4 .sv4-section-head p,
body.fi-site .services-hub-v4 .sv4-section-head p{
    max-width:58ch !important;
    color:#66717b !important;
}
body.fi-site .service-v4 .sv4-editorial-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    border-top:0 !important;
}
body.fi-site .service-v4 .sv4-editorial-list article{
    padding:18px !important;
    border:1px solid var(--fi-border) !important;
    border-radius:14px !important;
    background:#fff !important;
}
body.fi-site .service-v4 .sv4-editorial-list article span{
    color:#a7792d !important;
    font-weight:800;
}
body.fi-site .service-v4 .sv4-docs{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px !important;
}
body.fi-site .service-v4 .sv4-docs article,
body.fi-site .services-hub-v4 .sv4-hub-item,
body.fi-site .services-hub-v4 .sv4-hub-secondary a,
body.fi-site .service-v4 .sv4-faq-list details,
body.fi-site .service-v4 .sv4-related-grid > a{
    box-shadow:none !important;
}
body.fi-site .service-v4 .sv4-flow{
    border-radius:14px !important;
}
body.fi-site .service-v4 .sv4-faq-list{
    display:grid;
    gap:10px;
    border-top:0 !important;
}
body.fi-site .service-v4 .sv4-faq-list details{
    border:1px solid var(--fi-border) !important;
    border-radius:12px !important;
    background:#fff !important;
    overflow:hidden;
}
body.fi-site .service-v4 .sv4-faq-list summary{
    min-height:52px !important;
    padding:14px 18px !important;
}
body.fi-site .service-v4 .sv4-faq-list details > p{
    padding:0 18px 16px !important;
}
body.fi-site .services-hub-v4 .sv4-hub-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
body.fi-site .services-hub-v4 .sv4-hub-item{
    padding:22px !important;
    border-radius:14px !important;
}
body.fi-site .services-hub-v4 .sv4-hub-secondary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:14px !important;
}
body.fi-site .services-hub-v4 .sv4-hub-secondary a{
    padding:18px !important;
    border:1px solid var(--fi-border) !important;
    border-radius:14px !important;
    background:#fff !important;
}
body.fi-site .service-v4 .sv4-cta-wrap,
body.fi-site .services-hub-v4 .sv4-cta-wrap{
    padding:0 0 48px !important;
}
body.fi-site .service-v4 .sv4-cta,
body.fi-site .services-hub-v4 .sv4-cta{
    gap:20px !important;
    padding:28px !important;
    border-radius:16px !important;
}
body.fi-site .service-v4 .sv4-cta h2,
body.fi-site .services-hub-v4 .sv4-cta h2{
    max-width:18ch !important;
}
body.fi-site .service-v4 .sv4-cta .sv4-actions,
body.fi-site .services-hub-v4 .sv4-cta .sv4-actions{
    margin-top:0 !important;
}
@media (min-width: 980px){
    body.fi-site .service-v4 .sv4-hero-grid,
    body.fi-site .services-hub-v4 .sv4-hero-grid{
        grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr) !important;
    }
}
@media (max-width: 959px){
    body.fi-site .service-v4 .sv4-trustline .sv4-shell,
    body.fi-site .services-hub-v4 .sv4-trustline .sv4-shell,
    body.fi-site .service-v4 .sv4-editorial-list,
    body.fi-site .service-v4 .sv4-docs,
    body.fi-site .services-hub-v4 .sv4-hub-list,
    body.fi-site .services-hub-v4 .sv4-hub-secondary{
        grid-template-columns:1fr !important;
    }
    body.fi-site .service-v4 .sv4-trustline span,
    body.fi-site .services-hub-v4 .sv4-trustline span{
        border-right:0;
        border-bottom:1px solid var(--fi-border);
    }
    body.fi-site .service-v4 .sv4-trustline span:last-child,
    body.fi-site .services-hub-v4 .sv4-trustline span:last-child{
        border-bottom:0;
    }
}
@media (max-width: 767px){
    body.fi-site .service-v4 .sv4-hero-grid,
    body.fi-site .services-hub-v4 .sv4-hero-grid{
        padding:22px 0 30px !important;
    }
    body.fi-site .service-v4 .sv4-section,
    body.fi-site .services-hub-v4 .sv4-section{
        padding:38px 0 !important;
    }
    body.fi-site .service-v4 .sv4-button,
    body.fi-site .services-hub-v4 .sv4-button{
        width:100% !important;
        justify-content:center !important;
    }
    body.fi-site .service-v4 .sv4-actions,
    body.fi-site .services-hub-v4 .sv4-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
    }
}


/* ---------- CTA "Estudiar mi caso" igual a navegación ---------- */
body.fi-site a.fi-cta-nav-color{
    border-color:#0d2c4f!important;
    background:#0d2c4f!important;
    color:#fff!important;
    box-shadow:none!important;
}
body.fi-site a.fi-cta-nav-color:hover{
    border-color:#b49b6a!important;
    background:#b49b6a!important;
    color:#fff!important;
}


/* ---------- Todos los CTA principales de servicios = azul navegación ---------- */
body.fi-site .service-v4 a.sv4-button--primary,
body.fi-site .services-hub-v4 a.sv4-button--primary,
body.fi-site .service-v4 .sv4-cta a.sv4-button--primary,
body.fi-site .services-hub-v4 .sv4-cta a.sv4-button--primary{
    border-color:#0d2c4f!important;
    background:#0d2c4f!important;
    color:#fff!important;
    box-shadow:none!important;
}
body.fi-site .service-v4 a.sv4-button--primary:hover,
body.fi-site .services-hub-v4 a.sv4-button--primary:hover,
body.fi-site .service-v4 .sv4-cta a.sv4-button--primary:hover,
body.fi-site .services-hub-v4 .sv4-cta a.sv4-button--primary:hover{
    border-color:#b49b6a!important;
    background:#b49b6a!important;
    color:#fff!important;
}


/* ---------- Reclamaciones: intro izquierda/derecha + 6 cards consistentes ---------- */
body.fi-site .services-hub-v4 .sv4-hub-intro{
    display:grid;
    grid-template-columns:minmax(420px, .82fr) minmax(560px, 1.18fr);
    align-items:end;
    gap:18px 26px;
}
body.fi-site .services-hub-v4 .sv4-hub-intro-title,
body.fi-site .services-hub-v4 .sv4-hub-intro-copy{
    min-width:0;
}
body.fi-site .services-hub-v4 .sv4-hub-intro h2{
    max-width:12.5ch !important;
    margin:10px 0 0 !important;
}
body.fi-site .services-hub-v4 .sv4-hub-intro-copy{
    justify-self:stretch;
}
body.fi-site .services-hub-v4 .sv4-hub-intro-copy p{
    max-width:none !important;
    width:100%;
    margin:0 0 6px 0 !important;
    color:#66717b !important;
    font-size:.95rem !important;
    line-height:1.62 !important;
}
body.fi-site .services-hub-v4 .sv4-hub-list--six{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    margin-top:22px !important;
}
body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item{
    display:grid !important;
    grid-template-columns:140px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:18px !important;
    min-height:150px;
    padding:22px 24px !important;
    border:1px solid var(--fi-border) !important;
    background:#fff !important;
}
body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item small{
    display:block;
    max-width:9ch;
}
body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item h2{
    font-size:clamp(1.22rem,1.8vw,1.65rem) !important;
    line-height:1.14 !important;
}
body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item p{
    max-width:34ch;
    margin-top:4px;
    color:#5f6974 !important;
    font-size:.84rem !important;
    line-height:1.5 !important;
}
body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item a{
    display:inline-flex;
    width:fit-content;
    align-items:center;
    gap:8px;
    white-space:nowrap;
    color:var(--fi-ink) !important;
    font-size:.88rem !important;
    font-weight:900 !important;
    text-decoration:underline;
    text-underline-offset:4px;
}
body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item a::after{
    content:"";
    width:16px;
    height:16px;
    background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 6l4 4-4 4' fill='none' stroke='%23a7792d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
body.fi-site .services-hub-v4 .sv4-hub-secondary{
    display:none !important;
}
@media (max-width: 959px){
    body.fi-site .services-hub-v4 .sv4-hub-intro{
        grid-template-columns:1fr;
        gap:12px;
    }
    body.fi-site .services-hub-v4 .sv4-hub-intro-copy p{
        max-width:58ch !important;
        margin:0 !important;
    }
    body.fi-site .services-hub-v4 .sv4-hub-list--six{
        grid-template-columns:1fr !important;
    }
    body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item{
        grid-template-columns:1fr !important;
        align-items:start !important;
        min-height:auto;
        gap:10px !important;
    }
    body.fi-site .services-hub-v4 .sv4-hub-list--six .sv4-hub-item small{
        max-width:none;
    }
}


/* ---------- Home CTA final claro, alineado con el CTA de servicios ---------- */
body.fi-site .factum-final-cta{
    padding:48px 0 56px !important;
    background:#fff !important;
}
body.fi-site .factum-final-cta .factum-container{
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) auto !important;
    gap:32px !important;
    align-items:center !important;
    padding:34px 36px !important;
    border:1px solid rgba(180,155,106,.5) !important;
    border-radius:18px !important;
    background:#fbf7ef !important;
}
body.fi-site .factum-final-cta-copy{
    min-width:0;
}
body.fi-site .factum-final-cta span{
    color:#a7792d !important;
}
body.fi-site .factum-final-cta h2{
    max-width:17ch !important;
    margin:0 0 8px !important;
    color:#0d2c4f !important;
    font-size:clamp(1.75rem,2.8vw,2.55rem) !important;
    line-height:1.08 !important;
}
body.fi-site .factum-final-cta p{
    max-width:58ch !important;
    margin:0 !important;
    color:#66717b !important;
    opacity:1 !important;
    line-height:1.55 !important;
}
body.fi-site .factum-final-cta-actions{
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:flex-end;
}
body.fi-site .factum-final-cta-actions .rc-btn{
    min-height:48px;
    padding:11px 20px;
    border-radius:7px;
    white-space:nowrap;
}
body.fi-site .factum-final-whatsapp{
    display:inline-flex;
    align-items:center;
    gap:9px;
    border:1px solid rgba(13,44,79,.16) !important;
    background:#fff !important;
    color:#0d2c4f !important;
}
body.fi-site .factum-final-whatsapp svg{
    width:18px;
    height:18px;
    color:#1f8f56;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
}
body.fi-site .factum-final-whatsapp span{
    color:#0d2c4f !important;
}
body.fi-site .factum-final-whatsapp:hover{
    background:#f7fbf8 !important;
}

/* ---------- Reclamaciones: aviso centrado sobre Qué ocurre después ---------- */
body.fi-site .services-hub-v4 .sv4-after-section .sv4-statement--center{
    max-width:820px;
    margin:0 auto 30px !important;
    padding:22px 28px !important;
    border:1px solid rgba(180,155,106,.42) !important;
    border-left:3px solid #b49b6a !important;
    border-radius:14px !important;
    background:#fbf8f2 !important;
    text-align:center;
}
body.fi-site .services-hub-v4 .sv4-after-section .sv4-statement--center strong{
    max-width:none !important;
    color:#0d2c4f !important;
    font-size:clamp(1.45rem,2.5vw,2rem) !important;
}
body.fi-site .services-hub-v4 .sv4-after-section .sv4-statement--center p{
    max-width:62ch;
    margin:8px auto 0 !important;
    color:#5f6b77 !important;
}
body.fi-site .services-hub-v4 .sv4-after-head{
    max-width:760px;
    margin:0 auto;
    text-align:center;
}
body.fi-site .services-hub-v4 .sv4-after-head h2{
    max-width:15ch !important;
    margin:9px auto 0 !important;
}
body.fi-site .services-hub-v4 .sv4-after-section .sv4-flow{
    margin-top:24px !important;
}
@media (max-width: 900px){
    body.fi-site .factum-final-cta .factum-container{
        grid-template-columns:1fr !important;
        gap:20px !important;
        padding:28px !important;
    }
    body.fi-site .factum-final-cta-actions{
        justify-content:flex-start;
        flex-wrap:wrap;
    }
}
@media (max-width: 640px){
    body.fi-site .factum-final-cta{
        padding:38px 0 44px !important;
    }
    body.fi-site .factum-final-cta .factum-container{
        padding:22px 18px !important;
        border-radius:14px !important;
    }
    body.fi-site .factum-final-cta-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    body.fi-site .factum-final-cta-actions .rc-btn{
        width:100%;
        justify-content:center;
    }
    body.fi-site .services-hub-v4 .sv4-after-section .sv4-statement--center{
        margin-bottom:22px !important;
        padding:18px !important;
    }
}




/* ---------- Home: CTA final exactamente en estilo claro tipo servicios ---------- */
body.fi-site .factum-home-cta-clone{
    padding:0 0 56px !important;
    background:#fff !important;
}
body.fi-site .factum-home-cta-clone .factum-container{
    max-width:1280px !important;
}
body.fi-site .factum-home-cta-clone .sv4-cta{
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) auto !important;
    align-items:center !important;
    gap:24px 28px !important;
    padding:34px 36px !important;
    border:1px solid #dccbaa !important;
    border-radius:7px !important;
    background:#fbf6ed !important;
    color:#2c3034 !important;
    box-shadow:none !important;
}
body.fi-site .factum-home-cta-clone .sv4-cta h2{
    max-width:15ch !important;
    margin:0 0 8px !important;
    color:#20324a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2rem,3.2vw,3rem) !important;
    font-weight:500 !important;
    line-height:1.06 !important;
}
body.fi-site .factum-home-cta-clone .sv4-cta p{
    max-width:58ch !important;
    margin:0 !important;
    color:#656c73 !important;
    font-size:1rem !important;
    line-height:1.5 !important;
}
body.fi-site .factum-home-cta-clone .sv4-actions{
    display:flex !important;
    gap:12px !important;
    align-items:center !important;
    justify-content:flex-end !important;
    margin-top:0 !important;
    flex-wrap:wrap;
}
body.fi-site .factum-home-cta-clone .sv4-button{
    min-height:48px !important;
    padding:11px 22px !important;
    border-radius:7px !important;
}
body.fi-site .factum-home-cta-clone .sv4-button--whatsapp{
    border:1px solid rgba(13,44,79,.16) !important;
    background:#fff !important;
    color:#0d2c4f !important;
}
body.fi-site .factum-home-cta-clone .sv4-whatsapp-icon{
    color:#1f8f56 !important;
}
@media (max-width: 900px){
    body.fi-site .factum-home-cta-clone .sv4-cta{
        grid-template-columns:1fr !important;
        padding:28px !important;
    }
    body.fi-site .factum-home-cta-clone .sv4-actions{
        justify-content:flex-start !important;
    }
}
@media (max-width: 640px){
    body.fi-site .factum-home-cta-clone .sv4-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
    }
    body.fi-site .factum-home-cta-clone .sv4-button{
        width:100% !important;
        justify-content:center !important;
    }
}






/* ---------- WhatsApp público: un único icono SVG, sin pseudo-elementos ---------- */
body.fi-site .sv4-button--whatsapp::before{
    content:none !important;
    display:none !important;
    background:none !important;
}
body.fi-site .sv4-whatsapp-icon,
body.fi-site .factum-home-whatsapp svg,
body.fi-site .fi-icon-button--whatsapp svg,
body.fi-site .fi-mobile-whatsapp svg,
body.fi-site .fi-footer-whatsapp svg,
body.fi-site .fi-channel--whatsapp > svg{
    fill:currentColor !important;
    stroke:none !important;
}
body.fi-site .sv4-whatsapp-icon{
    width:18px !important;
    height:18px !important;
    flex:0 0 auto;
    color:#1f8f56 !important;
}
body.fi-site .sv4-whatsapp-icon path{
    fill:currentColor !important;
    stroke:none !important;
}

/* ---------- Reclamaciones: sección normal para producto no identificado ---------- */
body.fi-site .services-hub-v4 .sv4-after-section{
    background:#fbfaf7 !important;
}
body.fi-site .services-hub-v4 .sv4-product-help-head{
    max-width:760px;
    margin:0 auto;
    text-align:center;
}
body.fi-site .services-hub-v4 .sv4-product-help-head h2{
    max-width:none !important;
    margin:0 auto !important;
    color:#0d2c4f !important;
    font-size:clamp(1.65rem,2.5vw,2.3rem) !important;
    line-height:1.12 !important;
}
body.fi-site .services-hub-v4 .sv4-product-help-head p{
    max-width:62ch !important;
    margin:10px auto 0 !important;
    color:#65717c !important;
}
body.fi-site .services-hub-v4 .sv4-inline-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    margin:28px 0 0;
    padding:0;
    list-style:none;
    border-top:1px solid var(--fi-border);
    border-bottom:1px solid var(--fi-border);
    border-radius:0 !important;
    background:transparent !important;
    overflow:visible !important;
}
body.fi-site .services-hub-v4 .sv4-inline-steps li{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    align-items:start;
    min-width:0;
    padding:20px 22px;
    border-right:1px solid var(--fi-border);
    background:transparent !important;
}
body.fi-site .services-hub-v4 .sv4-inline-steps li:last-child{
    border-right:0;
}
body.fi-site .services-hub-v4 .sv4-inline-steps > li > span{
    color:#a7792d;
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.08em;
}
body.fi-site .services-hub-v4 .sv4-inline-steps h3{
    margin:0;
    color:#0d2c4f;
    font-size:.94rem;
    line-height:1.25;
}
body.fi-site .services-hub-v4 .sv4-inline-steps p{
    margin:4px 0 0 !important;
    color:#65717c !important;
    font-size:.79rem !important;
    line-height:1.45 !important;
}

/* ---------- Home CTA final: más separado de FAQ y titular compacto ---------- */
body.fi-site .factum-home-cta-clone{
    padding:72px 0 60px !important;
    border-top:1px solid var(--fi-border);
    background:#fff !important;
}
body.fi-site .factum-home-cta-clone .sv4-cta h2{
    max-width:28ch !important;
    font-size:clamp(1.35rem,1.8vw,1.8rem) !important;
    line-height:1.16 !important;
    letter-spacing:-.015em !important;
}

@media(max-width:800px){
    body.fi-site .services-hub-v4 .sv4-inline-steps{
        grid-template-columns:1fr;
    }
    body.fi-site .services-hub-v4 .sv4-inline-steps li{
        border-right:0;
        border-bottom:1px solid var(--fi-border);
    }
    body.fi-site .services-hub-v4 .sv4-inline-steps li:last-child{
        border-bottom:0;
    }
}
@media(max-width:640px){
    body.fi-site .factum-home-cta-clone{
        padding:48px 0 44px !important;
    }
}


/* ---------- Servicios: banda de autoridad oscura corregida y blindada ---------- */
body.fi-site .service-v4 section.sv4-section.sv4-section--dark{
    position:relative !important;
    overflow:hidden !important;
    padding:44px 0 !important;
    border-top:0 !important;
    border-bottom:0 !important;
    background:linear-gradient(135deg,#071d32 0%,#0d2c4f 62%,#12385c 100%) !important;
    color:#fff !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark::after{
    content:"" !important;
    position:absolute !important;
    right:-170px !important;
    bottom:-260px !important;
    width:430px !important;
    height:430px !important;
    border:1px solid rgba(194,162,99,.20) !important;
    border-radius:50% !important;
    background:transparent !important;
    pointer-events:none !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-shell{
    position:relative !important;
    z-index:1 !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-eyebrow{
    color:#e4c98f !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-section-head h2{
    max-width:16ch !important;
    color:#fff !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-weight:500 !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-section-head p{
    max-width:56ch !important;
    color:rgba(255,255,255,.74) !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-duality{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    margin-top:0 !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-duality article{
    padding:18px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.055) !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-duality small{
    color:#e4c98f !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-duality h3{
    margin-top:6px !important;
    color:#fff !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-duality p{
    color:rgba(255,255,255,.70) !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-review{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 18px !important;
    margin-top:14px !important;
    padding-top:14px !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    color:rgba(255,255,255,.66) !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-review strong{
    color:#fff !important;
}
body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-review a{
    color:#e9d29e !important;
    text-decoration:underline !important;
    text-underline-offset:3px !important;
}
@media(max-width:900px){
    body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-duality,
    body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-review{
        grid-template-columns:1fr !important;
    }
}
@media(max-width:640px){
    body.fi-site .service-v4 section.sv4-section.sv4-section--dark{
        padding:36px 0 !important;
    }
    body.fi-site .service-v4 section.sv4-section.sv4-section--dark .sv4-duality article{
        padding:15px !important;
    }
}


/* ========================================================================== 
   ESTUDIAR MI CASO + CALCULADORA — HERO COMPACTO Y CONTRASTE CORRECTO
   ========================================================================== */
body.fi-site .diagnosis-page{
    padding:0 16px 48px !important;
    background:linear-gradient(180deg,#0d2c4f 0 300px,#fbf8f2 300px 100%) !important;
}
body.fi-site .diagnosis-shell{
    max-width:960px !important;
}
body.fi-site .diagnosis-header{
    max-width:780px !important;
    margin:0 auto !important;
    padding:26px 0 18px !important;
    text-align:center;
}
body.fi-site .diagnosis-header h1{
    max-width:14ch !important;
    margin:12px auto 0 !important;
    color:#fff !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2.45rem,4.5vw,4.15rem) !important;
    font-weight:500 !important;
    line-height:1.02 !important;
    letter-spacing:-.04em !important;
    text-wrap:balance;
}
body.fi-site .diagnosis-header p{
    max-width:66ch !important;
    margin:10px auto 0 !important;
    color:rgba(255,255,255,.78) !important;
    font-size:.88rem !important;
    line-height:1.5 !important;
}
body.fi-site .diagnosis-trust{
    gap:8px !important;
    margin-top:14px !important;
}
body.fi-site .diagnosis-trust span{
    padding:7px 12px !important;
    color:rgba(255,255,255,.78) !important;
    border-color:rgba(255,255,255,.2) !important;
    background:rgba(255,255,255,.025) !important;
    font-size:.68rem !important;
}
body.fi-site .diagnosis-card{
    margin-top:0 !important;
    padding:20px 24px 26px !important;
    border:1px solid rgba(180,155,106,.34) !important;
    border-left:4px solid #b49b6a !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 18px 44px rgba(13,44,79,.10) !important;
}
body.fi-site .diagnosis-progress{
    padding:10px 14px !important;
}
body.fi-site .diagnosis-step-heading{
    margin-bottom:18px !important;
}
body.fi-site .diagnosis-step-heading h2{
    font-size:clamp(1.45rem,2.2vw,1.85rem) !important;
}

body.fi-site .calculator-page{
    padding:0 16px 46px !important;
    background:linear-gradient(180deg,#0d2c4f 0 286px,#fbf8f2 286px 100%) !important;
}
body.fi-site .calculator-shell{
    width:min(960px,100%) !important;
}
body.fi-site .calculator-header{
    max-width:800px !important;
    margin:0 auto 18px !important;
    padding:28px 0 10px !important;
    text-align:center !important;
}
body.fi-site .calculator-kicker{
    display:inline-flex !important;
    margin-bottom:0 !important;
    padding:7px 12px !important;
    border:1px solid rgba(229,215,185,.34) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.025) !important;
    color:#ead9b5 !important;
}
body.fi-site .calculator-header h1{
    max-width:14ch !important;
    margin:12px auto 0 !important;
    color:#fff !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2.45rem,4.5vw,4.15rem) !important;
    font-weight:500 !important;
    line-height:1.02 !important;
    letter-spacing:-.04em !important;
    text-wrap:balance;
}
body.fi-site .calculator-header p{
    max-width:66ch !important;
    margin:11px auto 0 !important;
    color:rgba(255,255,255,.78) !important;
    font-size:.88rem !important;
    line-height:1.5 !important;
}
body.fi-site .calculator-card{
    padding:22px 26px !important;
    border:1px solid rgba(180,155,106,.30) !important;
    border-left:4px solid #b49b6a !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 18px 44px rgba(13,44,79,.10) !important;
}
body.fi-site .calculator-progress{
    margin-bottom:20px !important;
}
body.fi-site .calculator-progress span{
    padding:7px 12px !important;
}
body.fi-site .calculator-grid{
    gap:16px 24px !important;
}
body.fi-site .calculator-field{
    gap:7px !important;
}
body.fi-site .calculator-input,
body.fi-site .calculator-field input,
body.fi-site .calculator-field select,
body.fi-site .calculator-primary{
    min-height:46px !important;
}
body.fi-site .calculator-card form>.calculator-primary{
    margin-top:18px !important;
}
body.fi-site .calculator-disclaimer{
    margin-top:12px !important;
}
@media(max-width:767px){
    body.fi-site .diagnosis-page{
        background:linear-gradient(180deg,#0d2c4f 0 265px,#fbf8f2 265px 100%) !important;
    }
    body.fi-site .diagnosis-header{
        padding:22px 0 16px !important;
    }
    body.fi-site .diagnosis-header h1,
    body.fi-site .calculator-header h1{
        max-width:14ch !important;
        font-size:clamp(2rem,10vw,2.7rem) !important;
    }
    body.fi-site .diagnosis-trust{
        justify-content:center !important;
    }
    body.fi-site .diagnosis-card,
    body.fi-site .calculator-card{
        padding:18px 16px 22px !important;
        border-radius:13px !important;
    }
    body.fi-site .calculator-page{
        background:linear-gradient(180deg,#0d2c4f 0 250px,#fbf8f2 250px 100%) !important;
    }
    body.fi-site .calculator-header{
        padding:22px 0 8px !important;
        text-align:center !important;
    }
}


/* ========================================================================== 
   H1 PÚBLICOS — ESCALA DEFINITIVA IGUAL A HOME
   ========================================================================== */
body.fi-site main h1{
    font-size:clamp(2.15rem,3.35vw,3.25rem) !important;
    line-height:1.01 !important;
    letter-spacing:-.04em !important;
}

/* Estudio y calculadora: hero compacto con la misma escala de título */
body.fi-site .diagnosis-page{
    background:linear-gradient(180deg,#0d2c4f 0 250px,#fbf8f2 250px 100%) !important;
}
body.fi-site .diagnosis-header{
    padding:18px 0 12px !important;
}
body.fi-site .diagnosis-header h1{
    max-width:16ch !important;
    margin-top:10px !important;
}
body.fi-site .diagnosis-header p{
    margin-top:8px !important;
}
body.fi-site .diagnosis-trust{
    margin-top:10px !important;
}
body.fi-site .calculator-page{
    background:linear-gradient(180deg,#0d2c4f 0 238px,#fbf8f2 238px 100%) !important;
}
body.fi-site .calculator-header{
    padding:18px 0 8px !important;
    margin-bottom:14px !important;
}
body.fi-site .calculator-header h1{
    max-width:16ch !important;
    margin-top:10px !important;
}
body.fi-site .calculator-header p{
    margin-top:8px !important;
}
@media (max-width:820px){
    body.fi-site main h1{
        font-size:clamp(2rem,7.5vw,2.75rem) !important;
    }
}
@media (max-width:600px){
    body.fi-site main h1{
        font-size:clamp(1.9rem,9vw,2.45rem) !important;
        line-height:1.02 !important;
    }
    body.fi-site .diagnosis-page{
        background:linear-gradient(180deg,#0d2c4f 0 232px,#fbf8f2 232px 100%) !important;
    }
    body.fi-site .calculator-page{
        background:linear-gradient(180deg,#0d2c4f 0 220px,#fbf8f2 220px 100%) !important;
    }
    body.fi-site .diagnosis-header,
    body.fi-site .calculator-header{
        padding-top:16px !important;
    }
}


/* ========================================================================== 
   CALCULADORA + ESTUDIO — H1 EXACTAMENTE IGUAL A HOME, SIN CORTES
   ========================================================================== */
body.fi-site .diagnosis-page,
body.fi-site .calculator-page{
    position:relative !important;
    overflow:visible !important;
    background:#fbf8f2 !important;
}
body.fi-site .diagnosis-header,
body.fi-site .calculator-header{
    position:relative !important;
    isolation:isolate;
    overflow:visible !important;
    padding:24px 0 26px !important;
    margin:0 auto 24px !important;
}
body.fi-site .diagnosis-header::before,
body.fi-site .calculator-header::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:-24px;
    bottom:-10px;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background:#0d2c4f;
    pointer-events:none;
}

/* Misma escala exacta que el H1 de la Home */
body.fi-site .diagnosis-header h1,
body.fi-site .calculator-header h1{
    max-width:13ch !important;
    margin:18px auto 0 !important;
    padding:.04em 0 .08em !important;
    overflow:visible !important;
    color:#fff !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2.55rem,4.5vw,4.15rem) !important;
    font-weight:500 !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
    text-wrap:balance;
}
body.fi-site .diagnosis-header p,
body.fi-site .calculator-header p{
    margin:12px auto 0 !important;
    color:rgba(255,255,255,.82) !important;
}
body.fi-site .diagnosis-trust{
    margin-top:16px !important;
    padding-bottom:2px !important;
}
body.fi-site .diagnosis-trust span{
    color:rgba(255,255,255,.86) !important;
    border-color:rgba(255,255,255,.22) !important;
}
body.fi-site .diagnosis-card,
body.fi-site .calculator-card{
    position:relative;
    z-index:1;
    margin-top:0 !important;
}

@media (max-width:767px){
    body.fi-site .diagnosis-header,
    body.fi-site .calculator-header{
        padding:20px 0 22px !important;
        margin-bottom:20px !important;
    }
    body.fi-site .diagnosis-header::before,
    body.fi-site .calculator-header::before{
        top:-20px;
        bottom:-8px;
    }
    body.fi-site .diagnosis-header h1,
    body.fi-site .calculator-header h1{
        max-width:14ch !important;
        margin-top:15px !important;
        font-size:clamp(2rem,10vw,2.7rem) !important;
        line-height:1.08 !important;
    }
}


/* ---------- Google Business: enlace de entidad en footer ---------- */
.fi-footer-google{
    display:inline-flex;
    width:fit-content;
    margin-top:10px;
    color:rgba(255,255,255,.78);
    font-size:.72rem;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}
.fi-footer-google:hover{color:#fff}

/* ==========================================================================
   BLOG — nuevo módulo, reutiliza tokens --fi-* / --factum-* existentes
   ========================================================================== */
.blog-hero{padding:56px 0 36px;}
.blog-hero .factum-container{display:flex;flex-direction:column;align-items:center;text-align:center;}
.blog-hero h1{margin-top:14px;font-size:clamp(1.9rem,4vw,2.6rem);color:var(--fi-navy,var(--rc-blue));font-family:'Lora',serif;font-weight:600;max-width:680px;}
.blog-hero p{max-width:560px;margin-top:16px;color:var(--fi-copy,var(--rc-muted));font-size:1.02rem;}

.blog-grid-wrap{padding-bottom:70px;}
.blog-empty{text-align:center;color:var(--fi-muted,var(--rc-muted));padding:40px 0;}

.blog-featured{display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border:1px solid var(--fi-line,var(--rc-line));border-radius:var(--factum-radius-md,16px);box-shadow:var(--factum-shadow-sm,0 10px 28px rgba(13,44,79,.07));margin-bottom:26px;transition:transform .25s ease,box-shadow .25s ease;}
.blog-featured:hover{transform:translateY(-3px);box-shadow:var(--factum-shadow-md,0 18px 46px rgba(13,44,79,.11));}
.blog-featured-media{position:relative;background-color:var(--fi-navy,var(--rc-blue));background-size:cover;background-position:center;min-height:260px;padding:22px;border-radius:var(--factum-radius-md,16px) 0 0 var(--factum-radius-md,16px);}
.blog-featured-body{padding:34px;display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;}
.blog-featured-body h2{font-size:clamp(1.35rem,2.4vw,1.7rem);font-family:'Lora',serif;font-weight:600;color:var(--fi-ink,var(--rc-ink));line-height:1.28;}
.blog-featured-body p{color:var(--fi-copy,var(--rc-muted));font-size:1rem;line-height:1.6;}
@media (max-width:760px){.blog-featured{grid-template-columns:1fr;}.blog-featured-media{min-height:200px;border-radius:var(--factum-radius-md,16px) var(--factum-radius-md,16px) 0 0;}.blog-featured-body{padding:26px;}}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.blog-card{background:#fff;border:1px solid var(--fi-line,var(--rc-line));border-radius:var(--factum-radius-md,16px);overflow:hidden;box-shadow:var(--factum-shadow-sm,0 10px 28px rgba(13,44,79,.07));display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--factum-shadow-md,0 18px 46px rgba(13,44,79,.11));}
.blog-card-media{position:relative;aspect-ratio:16/9;background-color:var(--fi-navy,var(--rc-blue));background-size:cover;background-position:center;padding:18px;}
.blog-card-tag{position:absolute;left:18px;bottom:18px;font-family:Arial,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);padding:5px 10px;border-radius:20px;}
.blog-card-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.blog-card-body h2{font-size:1.12rem;font-family:'Lora',serif;font-weight:600;color:var(--fi-ink,var(--rc-ink));line-height:1.3;}
.blog-card-body p{color:var(--fi-copy,var(--rc-muted));font-size:.92rem;line-height:1.55;}
.blog-card-meta{margin-top:auto;padding-top:10px;font-family:Arial,sans-serif;font-size:.74rem;color:var(--fi-muted,var(--rc-muted));display:flex;gap:10px;align-items:center;}
.blog-card-meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;}
@media (max-width:960px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.blog-grid{grid-template-columns:1fr;}}

.blog-breadcrumb{font-family:Arial,sans-serif;font-size:.78rem;color:var(--fi-muted,var(--rc-muted));padding:22px 0 0;}
.blog-breadcrumb a{}
.blog-breadcrumb span{margin:0 6px;}

.blog-article-layout{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:start;padding:22px 0 70px;}
.blog-article-main{min-width:0;max-width:700px;}
.blog-article-main h1{margin-top:14px;font-size:clamp(1.8rem,3.2vw,2.25rem);font-family:'Lora',serif;font-weight:600;color:var(--fi-navy,var(--rc-blue));line-height:1.22;}
.blog-meta-line{margin-top:14px;font-family:Arial,sans-serif;font-size:.8rem;color:var(--fi-muted,var(--rc-muted));}
.blog-byline-avatar{width:42px;height:42px;border-radius:50%;background:var(--fi-navy,var(--rc-blue));color:var(--fi-gold-soft,var(--rc-gold-soft));display:grid;place-items:center;font-weight:700;font-size:.95rem;flex:0 0 auto;}

.blog-article-body{padding-top:26px;}
.blog-article-body p{color:var(--fi-copy,var(--rc-muted));font-size:1.05rem;margin-bottom:20px;line-height:1.75;}
.blog-article-body h2{font-size:1.4rem;margin:38px 0 16px;font-family:'Lora',serif;font-weight:600;color:var(--fi-navy,var(--rc-blue));scroll-margin-top:24px;}
.blog-article-body ul{margin:0 0 22px 22px;color:var(--fi-copy,var(--rc-muted));font-size:1.02rem;}
.blog-article-body li{margin-bottom:8px;}
.blog-article-body a{font-weight:700;text-decoration:underline;text-underline-offset:2px;}

.blog-faq{margin-top:30px;scroll-margin-top:24px;}
.blog-faq h2{font-size:1.3rem;margin-bottom:14px;font-family:'Lora',serif;font-weight:600;color:var(--fi-navy,var(--rc-blue));}
.blog-faq details{border:1px solid var(--fi-line,var(--rc-line));border-radius:var(--factum-radius-sm,10px);background:#fff;padding:15px 18px;margin-bottom:10px;}
.blog-faq summary{font-family:Arial,sans-serif;font-weight:700;font-size:.94rem;cursor:pointer;color:var(--fi-ink,var(--rc-ink));}
.blog-faq details p{margin-top:10px;margin-bottom:0;color:var(--fi-copy,var(--rc-muted));font-size:.92rem;}

.blog-author-card{display:flex;align-items:center;gap:14px;margin-top:34px;padding-top:26px;border-top:1px solid var(--fi-line,var(--rc-line));font-family:Arial,sans-serif;}
.blog-author-card span:last-child{font-size:.85rem;color:var(--fi-copy,var(--rc-muted));line-height:1.5;}
.blog-author-card strong{display:block;color:var(--fi-ink,var(--rc-ink));font-size:.95rem;font-family:'Lora',serif;font-weight:600;}

.blog-article-sidebar{position:sticky;top:96px;align-self:start;z-index:10;display:flex;flex-direction:column;gap:18px;}
.blog-side-card{background:#fff;border:1px solid var(--fi-line,var(--rc-line));border-radius:var(--factum-radius-md,16px);padding:22px;box-shadow:var(--factum-shadow-sm,0 10px 28px rgba(13,44,79,.07));}
.blog-side-card>strong{display:block;font-family:Arial,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fi-muted,var(--rc-muted));margin-bottom:12px;}
.blog-toc-nav{display:flex;flex-direction:column;gap:3px;}
.blog-toc-nav a{font-family:Arial,sans-serif;font-size:.85rem;font-weight:700;padding:8px 10px;border-radius:8px;border-left:2px solid transparent;line-height:1.35;}
.blog-toc-nav a.active{background:var(--fi-paper-2,var(--rc-bg));color:var(--fi-navy,var(--rc-blue));border-left-color:var(--fi-gold,var(--rc-gold));}

.blog-side-cta{background:var(--fi-navy,var(--rc-blue));color:#fff;}
.blog-side-cta h3{font-family:'Lora',serif;font-size:1.08rem;margin-bottom:8px;color:#fff;}
.blog-side-cta p{color:#c3cddb;font-size:.84rem;margin-bottom:14px;line-height:1.55;}
.blog-side-cta-btn{display:block;width:100%;box-sizing:border-box;text-align:center;padding:12px 16px;border-radius:var(--factum-radius-sm,10px);background:#fff;font-family:Arial,sans-serif;font-weight:800;font-size:.85rem;line-height:1.4;border:0;}
body.fi-site a.blog-side-cta-btn,
body.fi-site a.blog-side-cta-btn:hover{color:var(--fi-navy,var(--rc-blue));}

@media (max-width:900px){
  .blog-article-layout{grid-template-columns:1fr;gap:26px;padding:16px 0 50px;}
  .blog-article-sidebar{position:static;flex-direction:column;flex-wrap:nowrap;width:100%;}
  .blog-side-card{flex:none;width:100%;box-sizing:border-box;padding:18px;}
}

.blog-related{max-width:700px;margin:0 auto 70px;padding-top:20px;border-top:1px solid var(--fi-line,var(--rc-line));}
.blog-related strong{font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fi-muted,var(--rc-muted));}
.blog-related-links{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;font-family:Arial,sans-serif;font-size:.86rem;font-weight:700;}
.blog-related-links a{}

/* Colores reales de los enlaces del blog: body.fi-site a{color:inherit} (línea ~5875)
   tiene más especificidad que un simple .clase a{color:...}, así que estos se
   agrupan aquí con el mismo prefijo que ya usa el resto del sitio (ver nota en
   la sección "CSS STABILITY PATCH") para que el color no se pierda. */
body.fi-site .blog-breadcrumb a{color:var(--fi-muted,var(--rc-muted));}
body.fi-site .blog-article-body a{color:var(--fi-navy,var(--rc-blue));}
body.fi-site .blog-toc-nav a{color:var(--fi-copy,var(--rc-muted));}
body.fi-site .blog-toc-nav a.active{color:var(--fi-navy,var(--rc-blue));}
body.fi-site .blog-related-links a{color:var(--fi-navy,var(--rc-blue));}

/* ==========================================================================
   MÓVIL — comprobar-mi-caso y calculadora: sin tarjeta flotante, barra de
   acción fija abajo, campos más grandes. Bloque nuevo y autocontenido para
   no depender de las capas anteriores (varias generaciones de !important
   ya conviven en .diagnosis-* y .calculator-*).
   ========================================================================== */
@media (max-width: 640px) {
  body.fi-site .diagnosis-page,
  body.fi-site .calculator-page{
    padding:0 !important;
    background:#fff !important;
  }
  body.fi-site .diagnosis-shell,
  body.fi-site .calculator-shell{
    max-width:none !important;
    width:100% !important;
  }
  body.fi-site .diagnosis-header,
  body.fi-site .calculator-header{
    text-align:left !important;
    max-width:none !important;
    padding:18px 18px 14px !important;
    display:grid !important;
    grid-template-columns:1fr 1.15fr !important;
    column-gap:16px !important;
    row-gap:8px !important;
  }
  body.fi-site .diagnosis-header .diagnosis-eyebrow,
  body.fi-site .calculator-header .calculator-kicker{
    grid-column:1 / -1 !important;
  }
  body.fi-site .diagnosis-header h1,
  body.fi-site .calculator-header h1{
    grid-column:1 !important;
    align-self:center !important;
    font-size:1.15rem !important;
    line-height:1.25 !important;
    margin:0 !important;
  }
  body.fi-site .diagnosis-header p,
  body.fi-site .calculator-header p{
    grid-column:2 !important;
    font-size:.76rem !important;
    line-height:1.5 !important;
    margin:0 !important;
  }
  body.fi-site .diagnosis-trust{ display:none !important; }

  body.fi-site .diagnosis-card,
  body.fi-site .calculator-card{
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
    padding:18px !important;
    margin:0 !important;
  }

  /* Progreso: barra fina arriba, sin la tarjeta con etiquetas */
  body.fi-site .diagnosis-progress{
    background:none !important;
    border:0 !important;
    padding:0 0 14px !important;
    margin-bottom:14px !important;
    border-bottom:1px solid var(--fi-line,#e5e0d4) !important;
  }
  body.fi-site .diagnosis-progress-labels{ display:none !important; }
  body.fi-site .diagnosis-progress-top>span{ display:none !important; }
  body.fi-site .diagnosis-progress-top p{ font-size:.72rem !important; color:var(--fi-muted,#657181) !important; font-weight:700 !important; }

  body.fi-site .diagnosis-step-heading{ margin-bottom:18px !important; }
  body.fi-site .diagnosis-step-heading>span{ display:none !important; }
  body.fi-site .diagnosis-step-heading h2{ font-size:1.2rem !important; }

  /* Campos táctiles: más altos, texto a 16px para que iOS no haga zoom */
  body.fi-site .field-block input,
  body.fi-site .field-block select,
  body.fi-site .field-block textarea,
  body.fi-site .calculator-field input,
  body.fi-site .calculator-field select,
  body.fi-site .calculator-input{
    min-height:52px !important;
    font-size:16px !important;
    padding:14px !important;
    border-radius:10px !important;
  }
  body.fi-site .calculator-grid{ grid-template-columns:1fr !important; }

  body.fi-site .check-row label{
    min-height:52px !important;
    align-items:center !important;
  }
}

