/* mf_01.css */

/* ========================================
   00. CORE
   ======================================== */
:root {
    --core-container-max: 1200px;
    --core-gutter: 15px;
    --core-space-0: 0;
    --core-space-1: 0.25rem;
    --core-space-2: 0.5rem;
    --core-space-3: 1rem;
    --core-space-4: 1.5rem;
    --core-space-5: 2rem;
    --core-space-6: 3rem;
    --core-fs-1: 2.25rem;
    --core-fs-2: 1.875rem;
    --core-fs-3: 1.5rem;
    --core-fs-4: 1.25rem;
    --core-fs-5: 1rem;
    --core-fs-6: 0.875rem;
    --core-h1-size: 2.25rem;
    --core-h2-size: 1.875rem;
    --core-h3-size: 1.5rem;
    --core-h4-size: 1.25rem;
    --core-h5-size: 1rem;
    --core-h6-size: 0.875rem;
}

.container,
.related-services-container {
    width: 100%;
    max-width: var(--core-container-max);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--core-gutter);
    padding-left: var(--core-gutter);
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(var(--core-gutter) * -1);
    margin-left: calc(var(--core-gutter) * -1);
}

.row>[class^="col-"],
.row>.col,
.row>.col-auto {
    padding-right: var(--core-gutter);
    padding-left: var(--core-gutter);
}

.col {
    flex: 1 0 0%;
    max-width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.col-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
}

.col-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
}

.col-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}

.col-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

.row-cols-1>* {
    flex: 0 0 100%;
    max-width: 100%;
}

.row-cols-2>* {
    flex: 0 0 50%;
    max-width: 50%;
}

.row-cols-3>* {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.row-cols-4>* {
    flex: 0 0 25%;
    max-width: 25%;
}

.row-cols-5>* {
    flex: 0 0 20%;
    max-width: 20%;
}

.row-cols-6>* {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

@media (max-width: 992px) {

    .row>.col,
    .row>.col-1,
    .row>.col-2,
    .row>.col-3,
    .row>.col-4,
    .row>.col-5,
    .row>.col-6,
    .row>.col-7,
    .row>.col-8,
    .row>.col-9,
    .row>.col-10,
    .row>.col-11,
    .row>.col-12 {
        flex: 0 0 100%;
        max-width: 100%;
        text-align: center;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

@media (min-width: 1360px) {
    .container {
        max-width: 1300px;
    }
}

.d-none {
    display: none;
}

.d-block {
    display: block;
}

.d-inline-block {
    display: inline-block;
}

.d-flex {
    display: flex;
}

.d-inline-flex {
    display: inline-flex;
}

.flex-row {
    flex-direction: row;
}

.flex-column {
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-end {
    justify-content: flex-end;
}

.justify-content-between {
    justify-content: space-between;
}

.justify-content-around {
    justify-content: space-around;
}

.justify-content-evenly {
    justify-content: space-evenly;
}

.align-items-start {
    align-items: flex-start;
}

.align-items-center {
    align-items: center;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-stretch {
    align-items: stretch;
}

.align-self-start {
    align-self: flex-start;
}

.align-self-center {
    align-self: center;
}

.align-self-end {
    align-self: flex-end;
}

.align-self-stretch {
    align-self: stretch;
}

.w-100 {
    width: 100%;
}

.h-100 {
    height: 100%;
}

.text-left {
    text-align: left;
}

.text-start {
    text-align: start;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-end {
    text-align: end;
}

.text-justify {
    text-align: justify;
}

.text-upper {
    text-transform: uppercase;
}

.text-lower {
    text-transform: lowercase;
}

.text-capitalize {
    text-transform: capitalize;
}

.fs-1 {
    font-size: var(--core-fs-1);
}

.fs-2 {
    font-size: var(--core-fs-2);
}

.fs-3 {
    font-size: var(--core-fs-3);
}

.fs-4 {
    font-size: var(--core-fs-4);
}

.fs-5 {
    font-size: var(--core-fs-5);
}

.fs-6 {
    font-size: var(--core-fs-6);
}

.fw-100 {
    font-weight: 100;
}

.fw-200 {
    font-weight: 200;
}

.fw-300 {
    font-weight: 300;
}

.fw-400 {
    font-weight: 400;
}

.fw-500 {
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

.fw-800 {
    font-weight: 800;
}

.fw-900 {
    font-weight: 900;
}

.h1-size,
.h1 {
    font-size: var(--core-h1-size);
}

.h2-size,
.h2 {
    font-size: var(--core-h2-size);
}

.h3-size,
.h3 {
    font-size: var(--core-h3-size);
}

.h4-size,
.h4 {
    font-size: var(--core-h4-size);
}

.h5-size,
.h5 {
    font-size: var(--core-h5-size);
}

.h6-size,
.h6 {
    font-size: var(--core-h6-size);
}

.m-0 {
    margin: var(--core-space-0);
}

.mt-0 {
    margin-top: var(--core-space-0);
}

.mb-0 {
    margin-bottom: var(--core-space-0);
}

.ml-0 {
    margin-left: var(--core-space-0);
}

.mr-0 {
    margin-right: var(--core-space-0);
}

.ms-0 {
    margin-inline-start: var(--core-space-0);
}

.me-0 {
    margin-inline-end: var(--core-space-0);
}

.p-0 {
    padding: var(--core-space-0);
}

.pt-0 {
    padding-top: var(--core-space-0);
}

.pb-0 {
    padding-bottom: var(--core-space-0);
}

.pl-0 {
    padding-left: var(--core-space-0) !important;
}

.pr-0 {
    padding-right: var(--core-space-0);
}

.ps-0 {
    padding-inline-start: var(--core-space-0);
}

.pe-0 {
    padding-inline-end: var(--core-space-0);
}

.g-0 {
    gap: var(--core-space-0);
}

.gx-0 {
    column-gap: var(--core-space-0);
}

.gy-0 {
    row-gap: var(--core-space-0);
}

.mx-0 {
    margin-right: var(--core-space-0);
    margin-left: var(--core-space-0);
}

.my-0 {
    margin-top: var(--core-space-0);
    margin-bottom: var(--core-space-0);
}

.px-0 {
    padding-right: var(--core-space-0);
    padding-left: var(--core-space-0);
}

.py-0 {
    padding-top: var(--core-space-0);
    padding-bottom: var(--core-space-0);
}

.m-1 {
    margin: var(--core-space-1);
}

.mt-1 {
    margin-top: var(--core-space-1);
}

.mb-1 {
    margin-bottom: var(--core-space-1);
}

.ml-1 {
    margin-left: var(--core-space-1);
}

.mr-1 {
    margin-right: var(--core-space-1);
}

.ms-1 {
    margin-inline-start: var(--core-space-1);
}

.me-1 {
    margin-inline-end: var(--core-space-1);
}

.p-1 {
    padding: var(--core-space-1);
}

.pt-1 {
    padding-top: var(--core-space-1);
}

.pb-1 {
    padding-bottom: var(--core-space-1);
}

.pl-1 {
    padding-left: var(--core-space-1);
}

.pr-1 {
    padding-right: var(--core-space-1);
}

.ps-1 {
    padding-inline-start: var(--core-space-1);
}

.pe-1 {
    padding-inline-end: var(--core-space-1);
}

.g-1 {
    gap: var(--core-space-1);
}

.gx-1 {
    column-gap: var(--core-space-1);
}

.gy-1 {
    row-gap: var(--core-space-1);
}

.mx-1 {
    margin-right: var(--core-space-1);
    margin-left: var(--core-space-1);
}

.my-1 {
    margin-top: var(--core-space-1);
    margin-bottom: var(--core-space-1);
}

.px-1 {
    padding-right: var(--core-space-1);
    padding-left: var(--core-space-1);
}

.py-1 {
    padding-top: var(--core-space-1);
    padding-bottom: var(--core-space-1);
}

.m-2 {
    margin: var(--core-space-2);
}

.mt-2 {
    margin-top: var(--core-space-2);
}

.mb-2 {
    margin-bottom: var(--core-space-2);
}

.ml-2 {
    margin-left: var(--core-space-2);
}

.mr-2 {
    margin-right: var(--core-space-2);
}

.ms-2 {
    margin-inline-start: var(--core-space-2);
}

.me-2 {
    margin-inline-end: var(--core-space-2);
}

.p-2 {
    padding: var(--core-space-2);
}

.pt-2 {
    padding-top: var(--core-space-2);
}

.pb-2 {
    padding-bottom: var(--core-space-2);
}

.pl-2 {
    padding-left: var(--core-space-2);
}

.pr-2 {
    padding-right: var(--core-space-2);
}

.ps-2 {
    padding-inline-start: var(--core-space-2);
}

.pe-2 {
    padding-inline-end: var(--core-space-2);
}

.g-2 {
    gap: var(--core-space-2);
}

.gx-2 {
    column-gap: var(--core-space-2);
}

.gy-2 {
    row-gap: var(--core-space-2);
}

.mx-2 {
    margin-right: var(--core-space-2);
    margin-left: var(--core-space-2);
}

.my-2 {
    margin-top: var(--core-space-2);
    margin-bottom: var(--core-space-2);
}

.px-2 {
    padding-right: var(--core-space-2);
    padding-left: var(--core-space-2);
}

.py-2 {
    padding-top: var(--core-space-2);
    padding-bottom: var(--core-space-2);
}

.m-3 {
    margin: var(--core-space-3);
}

.mt-3 {
    margin-top: var(--core-space-3);
}

.mb-3 {
    margin-bottom: var(--core-space-3);
}

.ml-3 {
    margin-left: var(--core-space-3);
}

.mr-3 {
    margin-right: var(--core-space-3);
}

.ms-3 {
    margin-inline-start: var(--core-space-3);
}

.me-3 {
    margin-inline-end: var(--core-space-3);
}

.p-3 {
    padding: var(--core-space-3);
}

.pt-3 {
    padding-top: var(--core-space-3);
}

.pb-3 {
    padding-bottom: var(--core-space-3);
}

.pl-3 {
    padding-left: var(--core-space-3);
}

.pr-3 {
    padding-right: var(--core-space-3);
}

.ps-3 {
    padding-inline-start: var(--core-space-3);
}

.pe-3 {
    padding-inline-end: var(--core-space-3);
}

.g-3 {
    gap: var(--core-space-3);
}

.gx-3 {
    column-gap: var(--core-space-3);
}

.gy-3 {
    row-gap: var(--core-space-3);
}

.mx-3 {
    margin-right: var(--core-space-3);
    margin-left: var(--core-space-3);
}

.my-3 {
    margin-top: var(--core-space-3);
    margin-bottom: var(--core-space-3);
}

.px-3 {
    padding-right: var(--core-space-3);
    padding-left: var(--core-space-3);
}

.py-3 {
    padding-top: var(--core-space-3);
    padding-bottom: var(--core-space-3);
}

.m-4 {
    margin: var(--core-space-4);
}

.mt-4 {
    margin-top: var(--core-space-4);
}

.mb-4 {
    margin-bottom: var(--core-space-4);
}

.ml-4 {
    margin-left: var(--core-space-4);
}

.mr-4 {
    margin-right: var(--core-space-4);
}

.ms-4 {
    margin-inline-start: var(--core-space-4);
}

.me-4 {
    margin-inline-end: var(--core-space-4);
}

.p-4 {
    padding: var(--core-space-4);
}

.pt-4 {
    padding-top: var(--core-space-4);
}

.pb-4 {
    padding-bottom: var(--core-space-4);
}

.pl-4 {
    padding-left: var(--core-space-4);
}

.pr-4 {
    padding-right: var(--core-space-4);
}

.ps-4 {
    padding-inline-start: var(--core-space-4);
}

.pe-4 {
    padding-inline-end: var(--core-space-4);
}

.g-4 {
    gap: var(--core-space-4);
}

.gx-4 {
    column-gap: var(--core-space-4);
}

.gy-4 {
    row-gap: var(--core-space-4);
}

.mx-4 {
    margin-right: var(--core-space-4);
    margin-left: var(--core-space-4);
}

.my-4 {
    margin-top: var(--core-space-4);
    margin-bottom: var(--core-space-4);
}

.px-4 {
    padding-right: var(--core-space-4);
    padding-left: var(--core-space-4);
}

.py-4 {
    padding-top: var(--core-space-4);
    padding-bottom: var(--core-space-4);
}

.m-5 {
    margin: var(--core-space-5);
}

.mt-5 {
    margin-top: var(--core-space-5);
}

.mb-5 {
    margin-bottom: var(--core-space-5);
}

.ml-5 {
    margin-left: var(--core-space-5);
}

.mr-5 {
    margin-right: var(--core-space-5);
}

.ms-5 {
    margin-inline-start: var(--core-space-5);
}

.me-5 {
    margin-inline-end: var(--core-space-5);
}

.p-5 {
    padding: var(--core-space-5);
}

.pt-5 {
    padding-top: var(--core-space-5);
}

.pb-5 {
    padding-bottom: var(--core-space-5);
}

.pl-5 {
    padding-left: var(--core-space-5);
}

.pr-5 {
    padding-right: var(--core-space-5);
}

.ps-5 {
    padding-inline-start: var(--core-space-5);
}

.pe-5 {
    padding-inline-end: var(--core-space-5);
}

.g-5 {
    gap: var(--core-space-5);
}

.gx-5 {
    column-gap: var(--core-space-5);
}

.gy-5 {
    row-gap: var(--core-space-5);
}

.mx-5 {
    margin-right: var(--core-space-5);
    margin-left: var(--core-space-5);
}

.my-5 {
    margin-top: var(--core-space-5);
    margin-bottom: var(--core-space-5);
}

.px-5 {
    padding-right: var(--core-space-5);
    padding-left: var(--core-space-5);
}

.py-5 {
    padding-top: var(--core-space-5);
    padding-bottom: var(--core-space-5);
}

.m-6 {
    margin: var(--core-space-6);
}

.mt-6 {
    margin-top: var(--core-space-6);
}

.mb-6 {
    margin-bottom: var(--core-space-6);
}

.ml-6 {
    margin-left: var(--core-space-6);
}

.mr-6 {
    margin-right: var(--core-space-6);
}

.ms-6 {
    margin-inline-start: var(--core-space-6);
}

.me-6 {
    margin-inline-end: var(--core-space-6);
}

.p-6 {
    padding: var(--core-space-6);
}

.pt-6 {
    padding-top: var(--core-space-6);
}

.pb-6 {
    padding-bottom: var(--core-space-6);
}

.pl-6 {
    padding-left: var(--core-space-6);
}

.pr-6 {
    padding-right: var(--core-space-6);
}

.ps-6 {
    padding-inline-start: var(--core-space-6);
}

.pe-6 {
    padding-inline-end: var(--core-space-6);
}

.g-6 {
    gap: var(--core-space-6);
}

.gx-6 {
    column-gap: var(--core-space-6);
}

.gy-6 {
    row-gap: var(--core-space-6);
}

.mx-6 {
    margin-right: var(--core-space-6);
    margin-left: var(--core-space-6);
}

.my-6 {
    margin-top: var(--core-space-6);
    margin-bottom: var(--core-space-6);
}

.px-6 {
    padding-right: var(--core-space-6);
    padding-left: var(--core-space-6);
}

.py-6 {
    padding-top: var(--core-space-6);
    padding-bottom: var(--core-space-6);
}

/* ========================================
   01. THEME
   ======================================== */
:root {
    --site-header-height: 65px;
    --site-sticky-offset: var(--site-header-height);
    --spb-bg: #0a0e14;
    --spb-surface: #121924;
    --spb-surface-2: #1a2330;
    --spb-surface-3: #223041;
    --spb-border: rgb(151 184 255 / 12%);
    --spb-border-strong: rgb(151 184 255 / 20%);
    --spb-text: #f5f7fb;
    --spb-text-soft: rgb(245 247 251 / 72%);
    --spb-text-muted: rgb(245 247 251 / 52%);
    --spb-accent: #6fb6ff;
    --spb-accent-2: #9ad0ff;
    --spb-accent-dark: #1d3147;
    --spb-shadow: 0 18px 40px rgb(0 0 0 / 26%);
    --spb-shadow-soft: 0 10px 28px rgb(0 0 0 / 18%);
    --spb-radius-sm: 0.9rem;
    --spb-radius-md: 1.2rem;
    --spb-radius-lg: 1.6rem;
    --spb-container-max: 1280px;
    --spb-gutter: 15px;
    --spb-page-glow: rgb(111 182 255 / 10%);
    --spb-page-bg-start: #0d1013;
    --spb-page-bg-mid: #0a0d10;
    --spb-page-bg-end: #080b0d;
    --spb-white: #ffffff;
    --spb-black-soft: #111111;
    --spb-success-accent: #6ec3a9;
    --spb-warm-accent: #d9b36f;
    --spb-line-soft: rgb(111 182 255 / 10%);
    --spb-line-mid: rgb(111 182 255 / 14%);
    --spb-line-strong: rgb(111 182 255 / 18%);
    --spb-line-active: rgb(111 182 255 / 22%);
    --spb-line-glow: rgb(111 182 255 / 42%);
    --spb-fill-soft: rgb(111 182 255 / 8%);
    --spb-fill-mid: rgb(111 182 255 / 10%);
    --spb-fill-strong: rgb(111 182 255 / 18%);
    --spb-quote-bg: linear-gradient(180deg, rgb(255 255 255 / 4%) 0%, rgb(255 255 255 / 2%) 100%);
    --spb-quote-border: var(--spb-accent);
    --spb-quote-mark: var(--spb-accent);
    --spb-quote-text: var(--spb-text-soft);
    --spb-cta-line-top: var(--spb-line-strong);
    --spb-cta-line-bottom: var(--spb-line-soft);
    --spb-cta-glow: var(--spb-fill-soft);
    --spb-cta-rule-glow: var(--spb-line-glow);
    --spb-cta-title: var(--spb-white);
    --spb-cta-copy: var(--spb-text-soft);
    --spb-cta-button-border: #4b8fe8;
    --spb-cta-button-bg: linear-gradient(180deg, #3277d3 0%, #2259ad 100%);
    --spb-cta-button-hover-bg: linear-gradient(180deg, #3b88ee 0%, #2966c0 100%);
    --spb-cta-button-hover-border: #74acff;
    --spb-cta-button-text: var(--spb-white);
    --spb-faq-border: var(--spb-line-soft);
    --spb-faq-border-left: var(--spb-line-active);
    --spb-faq-border-hover: var(--spb-line-active);
    --spb-faq-bg: rgb(255 255 255 / 2%);
    --spb-faq-title: var(--spb-white);
    --spb-faq-question: var(--spb-white);
    --spb-faq-answer-border: var(--spb-line-soft);
    --spb-faq-answer-text: var(--spb-text-soft);
    --spb-faq-icon: var(--spb-success-accent);
    --spb-related-card-border: var(--spb-line-mid);
    --spb-related-card-bg: linear-gradient(180deg, rgb(20 24 29 / 96%) 0%, rgb(14 18 23 / 98%) 100%);
    --spb-related-card-shadow: 0 14px 30px rgb(0 0 0 / 14%);
    --spb-related-icon-bg: var(--spb-fill-mid);
    --spb-related-title: var(--spb-white);
    --spb-related-text: rgb(237 243 248 / 76%);
    --spb-related-btn-border: rgb(111 182 255 / 24%);
    --spb-related-btn-bg: var(--spb-fill-mid);
    --spb-related-btn-hover-bg: var(--spb-fill-strong);
    --spb-related-btn-hover-border: rgb(111 182 255 / 38%);
    --spb-related-btn-text: var(--spb-white);
    --spb-footer-glow: rgb(111 182 255 / 8%);
    --spb-footer-bg-start: #11161a;
    --spb-footer-bg-end: #0c1014;
    --spb-footer-rule-glow: rgb(111 182 255 / 28%);
    --spb-footer-title: var(--spb-white);
    --spb-footer-divider: var(--spb-line-soft);
    --spb-footer-legal-divider: rgb(111 182 255 / 12%);
    --spb-footer-bullet-start: var(--spb-accent);
    --spb-footer-bullet-end: #4f8fc8;
}

/* ========================================
   02. BASE / RESET
   ======================================== */
html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

html,
body {
    margin: 0;
    padding: 0;
}

:target {
    scroll-margin-top: calc(var(--site-sticky-offset, 0px) + 16px);
}

body {
    background:
        linear-gradient(180deg, rgb(10 14 20 / 65%) 0%, rgb(10 14 20) 100%),
        url(/content/images/fondo/fondo04.webp),
        linear-gradient(180deg, var(--spb-page-bg-start) 0%, var(--spb-page-bg-mid) 26%, var(--spb-page-bg-end) 100%);
    background-position: center top, center top, center top;
    background-size: auto, cover, auto;
    color: var(--spb-text);
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
}

.site-main,
footer {
    --spb-accent: #6fb6ff;
    --spb-accent-2: #9ad0ff;
    --spb-accent-dark: #1d3147;
    --spb-border: rgb(111 182 255 / 14%);
    --spb-border-strong: rgb(111 182 255 / 24%);
    --spb-text: #f4f5f2;
    --spb-text-soft: rgb(244 245 242 / 74%);
    --spb-text-muted: rgb(244 245 242 / 52%);
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--spb-accent);
    text-decoration: none;
}

a:hover {
    color: var(--spb-accent-2);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0.6rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.1;
}

h1 {
    font-size: clamp(1.9rem, 2.4vw, 3rem);
}

h2 {
    font-size: clamp(1.3rem, 1.8vw, 1.95rem);
}

h3 {
    font-size: clamp(1.15rem, 1.45vw, 1.7rem);
}

h4 {
    font-size: clamp(1.08rem, 1.15vw, 1.35rem);
}

h5 {
    font-size: clamp(0.98rem, 1vw, 1.15rem);
}

h6 {
    font-size: 0.92rem;
}

p {
    margin-top: 0;
    margin-bottom: 0.85rem;
}

.hr_w80,
.hr_w60,
.hr_t40_b40_w80 {
    height: 0;
    margin-right: auto;
    margin-left: auto;
    border: 0;
    border-top: 1px dashed #7b7b7b;
    opacity: 1;
}

/* ========================================
   03. HEADER / MENU
   ======================================== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: var(--site-header-height);
    border-bottom: 1px solid var(--spb-border);
    background: linear-gradient(180deg, rgb(10 16 24 / 92%) 0%, rgb(13 21 31 / 88%) 100%);
    box-shadow: 0 10px 34px rgb(0 0 0 / 24%);
    backdrop-filter: blur(18px);
}

.menuSTD {
    position: relative;
    height: 100%;
    min-height: var(--site-header-height);
    padding-top: 0;
    padding-bottom: 0;
}

.img-logo {
    display: block;
    width: 48px;
    height: 48px;
}

.mobile-topbar {
    display: none;
}

.menu_top,
.submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu_top[hidden],
#siteSubmenu[hidden] {
    display: none !important;
}

.menu-toggle,
.submenu-toggle,
#colorModeToggle,
#colorModeToggleDesktop,
#colorModeToggleDesktopOuter {
    border: 0;
    outline: 0;
    font: inherit;
}

#colorModeToggle,
#colorModeToggleDesktop,
#colorModeToggleDesktopOuter,
#M_COLOR_MODE {
    display: none !important;
}

/* ========================================
   04. HEADER / MENU DESKTOP
   ======================================== */
@media (min-width: 992px) {
    .menuSTD {
        display: flex;
        align-items: center;
    }

    #siteSubmenu {
        display: none !important;
    }

    .menu_top {
        display: flex;
        align-items: center;
        gap: 0.35rem;
        width: 100%;
        padding-left: 4.9rem;
    }

    #M_LOGO {
        position: absolute;
        top: 50%;
        left: 15px;
        z-index: 3;
        transform: translateY(-43%);
    }

    #M_LOGO a {
        display: inline-flex;
        align-items: center;
    }

    .menu_top>li.b_right {
        position: relative;
        flex: 1 1 0;
        min-width: 0;
    }

    .menu_top>li.menu-artist-access {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .menu_top>li.b_right>a {
        display: flex;
        flex-flow: row wrap;
        align-content: center;
        align-items: center;
        justify-content: center;
        min-height: 3.5rem;
        padding: 0.7rem 0.8rem;
        border: 1px solid transparent;
        border-radius: 1rem;
        color: var(--spb-text);
        font-size: 0.9rem;
        font-weight: 700;
        line-height: 1.15;
        text-align: center;
        white-space: nowrap;
        transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
    }

    .menu_top>li.menu-artist-access>a {
        gap: 0.45rem;
        min-height: 2.65rem;
        padding: 0.62rem 1rem;
        border-color: rgb(143 195 255 / 24%);
        border-radius: 999px;
        background: rgb(255 255 255 / 4%);
        color: var(--spb-text-soft);
        font-size: 0.82rem;
        font-weight: 800;
        white-space: nowrap;
    }

    .menu_top>li.menu-artist-access>a i {
        color: var(--spb-accent);
        font-size: 0.92rem;
    }

    .menu_top>li.b_right>a:hover,
    .menu_top>li.b_right:hover>a,
    .menu_top>li.current>a {
        border-color: var(--spb-border);
        background: linear-gradient(180deg, rgb(255 255 255 / 8%) 0%, rgb(255 255 255 / 4%) 100%);
        color: #fff;
        transform: translateY(-1px);
    }

    .menu_top>li.menu-artist-access>a:hover,
    .menu_top>li.menu-artist-access:hover>a {
        border-color: rgb(143 195 255 / 42%);
        background: rgb(63 138 224 / 16%);
        color: #fff;
    }

    .menu-sub {
        width: 100%;
        margin-top: 0.16rem;
        color: var(--spb-text-muted);
        font-size: 0.64rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .has-submenu>a {
        column-gap: 0.35rem;
    }

    .submenu-toggle,
    .submenu-toggle::before {
        display: none !important;
    }

    .menu_top>li.has-submenu {
        padding-bottom: 0.4rem;
        margin-bottom: -0.4rem;
    }

    .has-submenu>.submenu {
        display: none;
        position: absolute;
        top: calc(100% - 0.1rem);
        left: 50%;
        min-width: 300px;
        padding: 0.55rem;
        border: 1px solid var(--spb-border);
        border-radius: 1.25rem;
        background: linear-gradient(180deg, rgb(17 26 36 / 98%) 0%, rgb(11 17 24 / 99%) 100%);
        box-shadow: var(--spb-shadow);
        transform: translateX(-50%);
    }

    .has-submenu:hover>.submenu {
        display: block;
    }

    .submenu li+li {
        margin-top: 0.25rem;
    }

    .submenu a {
        display: block;
        padding: 0.78rem 0.95rem;
        border-radius: 0.95rem;
        color: var(--spb-text-soft);
        font-size: 0.93rem;
        line-height: 1.35;
        transition: background 0.18s ease, color 0.18s ease;
    }

    .submenu a:hover {
        background: rgb(255 255 255 / 6%);
        color: #fff;
    }
}

/* ========================================
   05. HEADER / MENU MOBILE
   ======================================== */
@media (max-width: 991.98px) {
    .menuSTD {
        min-height: var(--site-header-height);
        padding-top: 0;
        padding-bottom: 0;
    }

    .mobile-topbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.85rem;
        min-height: 100%;
    }

    .mobile-brand {
        display: inline-flex;
        align-self: center;
        align-items: center;
    }

    .mobile-topbar-actions {
        display: flex;
        align-items: center;
        gap: 0.65rem;
    }

    .menu-toggle {
        display: inline-flex;
        align-items: center;
        gap: 0.7rem;
        min-height: 2.55rem;
        padding: 0.48rem 0.82rem;
        border: 1px solid var(--spb-border-strong);
        border-radius: 999px;
        background: rgb(255 255 255 / 5%);
        color: #fff;
        cursor: pointer;
    }

    .menu-toggle-label {
        font-size: 0.82rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .menu-toggle-icon {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.23rem;
    }

    .menu-toggle-icon span {
        display: block;
        width: 1.18rem;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
    }

    .menu_top {
        display: flex;
        position: absolute;
        top: calc(100% + 0.4rem);
        right: 13px;
        left: 13px;
        z-index: 1002;
        flex-direction: column;
        gap: 0;
        padding: 0.4rem;
        border: 1px solid var(--spb-border);
        border-radius: 1.35rem;
        background: linear-gradient(180deg, rgb(17 26 36 / 99%) 0%, rgb(11 17 24 / 99%) 100%);
        box-shadow: var(--spb-shadow);
    }

    .menu_top[hidden] {
        display: none;
    }

    .menu_top>li {
        position: relative;
    }

    .menu_top>li>a,
    #siteSubmenu button,
    #siteSubmenu a {
        display: block;
        width: 100%;
        padding: 0.82rem 3rem 0.82rem 0.95rem;
        border-radius: 1rem;
        background: transparent;
        color: #fff;
        font-size: 0.98rem;
        font-weight: 700;
        line-height: 1.2;
        text-align: left;
    }

    .menu_top>li+li,
    #siteSubmenu>li+li {
        margin-top: 0.15rem;
    }

    .menu_top>li>a:hover,
    #siteSubmenu button:hover,
    #siteSubmenu a:hover {
        background: rgb(255 255 255 / 5%);
        color: #fff;
    }

    .menu_top>li.menu-artist-access>a {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        margin-top: 0.2rem;
        padding-right: 0.95rem;
        border: 1px solid rgb(143 195 255 / 24%);
        background: rgb(63 138 224 / 10%);
    }

    .menu_top>li.menu-artist-access>a i {
        color: var(--spb-accent);
    }

    .menu_top>li>a .menu-sub {
        display: block;
        margin-top: 0.16rem;
        color: var(--spb-text-muted);
        font-size: 0.66rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .submenu-toggle {
        display: block;
        position: absolute;
        top: 0.28rem;
        right: 0.3rem;
        z-index: 2;
        width: 3rem;
        height: calc(100% - 0.56rem);
        border-radius: 0.9rem;
        background: transparent;
        color: transparent;
        cursor: pointer;
    }

    .submenu-toggle[aria-expanded="true"] {
        background: rgb(255 255 255 / 5%);
    }

    .submenu-toggle::before {
        display: none;
    }

    .submenu {
        display: none;
    }

    #M_LOGO,
    #M_COLOR_MODE,
    #colorModeToggleDesktop,
    #colorModeToggleDesktopOuter {
        display: none !important;
    }

    #siteSubmenu {
        display: flex;
        flex-direction: column;
        padding: 0.4rem;
    }

    #siteSubmenu[hidden] {
        display: none;
    }

    #siteSubmenu button {
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    #siteSubmenu button::before {
        content: "\2039";
        display: inline-block;
        margin-right: 0.45rem;
        color: var(--spb-accent);
        font-size: 1.15em;
        line-height: 1;
        vertical-align: -0.02em;
    }

    #siteSubmenu li[data-mobile-parent] a {
        background: rgb(255 255 255 / 6%);
    }
}

/* ========================================
   06. BREADCRUMBS + PAGE TITLES
   ======================================== */
.bc_wrap {
    margin: 0.55rem 0 0;
}

.bc_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bc_item,
.bc_sep {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bc_link,
.bc_text {
    color: rgb(237 243 248 / 88%);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.35;
}

.bc_link:hover {
    color: var(--spb-accent-2);
}

.bc_sep {
    color: var(--spb-accent);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1;
    opacity: 1;
}

.bc_home {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.82rem;
    height: 1.82rem;
    border-radius: 999px;
    background: rgb(255 255 255 / 5%);
    color: var(--spb-accent);
    font-size: 1.14rem;
    line-height: 1;
}

.bc_current .bc_text,
.bc_current .bc_link,
.bc_link[aria-current="page"],
.bc_current strong.bc_text {
    color: #9ecbff;
    font-weight: 700;
    text-decoration: none;
}

#pageTitle {
    margin-top: 0;
    margin-bottom: 0.35rem;
    font-size: clamp(1.9rem, 2.8vw, 3.25rem);
    line-height: 1.05;
    text-wrap: balance;
}

#pageSubtitle {
    margin-bottom: 0;
    color: var(--spb-text-soft);
    font-size: clamp(1.02rem, 1.35vw, 1.45rem);
    font-weight: 500;
    line-height: 1.45;
    text-wrap: balance;
}

/* ========================================
   07. LANDING QUOTE
   ======================================== */
.landing-main-ad-quote {
    margin: 0.85rem 0 0;
}

.landing-main-ad-quote>.landing-quote.col-12 {
    padding-right: 0;
    padding-left: 0;
}

.landing-quote {
    position: relative;
    margin: 0;
    padding: 1rem;
    border-left: 4px solid var(--spb-quote-border);
    border-radius: 1rem;
    background: var(--spb-quote-bg);
    color: var(--spb-quote-text);
}

.landing-quote::before {
    content: "\201C";
    position: absolute;
    top: 0.45rem;
    left: 1rem;
    color: var(--spb-quote-mark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.3rem;
    font-weight: 700;
    line-height: 1;
}

.landing-quote-text {
    margin: 0;
    padding-left: 3.35rem;
    font-size: 1rem;
    font-style: italic;
    line-height: 1.55;
    text-align: left;
}

.landing-quote-text p,
.landing-quote-text p:last-child {
    margin: 0;
}

/* ========================================
   08. CTA
   ======================================== */
.cta-wrapper {
    position: relative;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--spb-cta-line-bottom);
    background: linear-gradient(180deg, #103529ab, transparent);
    text-align: center;
}

.cta-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(100%, 520px);
    height: 1px;
    background: linear-gradient(90deg, rgb(111 182 255 / 0%) 0%, var(--spb-cta-rule-glow) 50%, rgb(111 182 255 / 0%) 100%);
    transform: translateX(-50%);
}

.cta-card h2 {
    margin-bottom: 0.35rem;
    color: var(--spb-cta-title);
    font-size: clamp(1.5rem, 2vw, 2.4rem);
    line-height: 1.04;
    text-shadow: 0 8px 22px rgb(0 0 0 / 18%);
}

.cta-card p {
    margin: 0.5rem auto;
    color: var(--spb-cta-copy);
    font-size: 1rem;
    line-height: 1.65;
}

.cta-card .row {
    justify-content: center;
    margin-top: 0.45rem;
}

.cta-card .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: auto;
    min-width: min(100%, 19rem);
    min-height: 3rem;
    padding: 0.82rem 1.35rem;
    border: 1px solid var(--spb-cta-button-border);
    border-radius: 999px;
    background: var(--spb-cta-button-bg);
    color: var(--spb-cta-button-text);
    font-size: 0.98rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: none;
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.cta-card .btn.btn-primary:hover {
    border-color: var(--spb-cta-button-hover-border);
    background: var(--spb-cta-button-hover-bg);
    color: var(--spb-cta-button-text);
    transform: translateY(-1px);
}

/* ========================================
   09. FAQ
   ======================================== */
.faq-section {
    padding: 1rem 0;
    border-bottom: 1px solid var(--spb-cta-line-bottom);
    background: linear-gradient(178deg, #000000bf, transparent);
}

.faq-container {
    padding: 0.2rem 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.faq-title {
    margin: 0 0 1rem;
    color: #fff;
    line-height: 1.08;
    letter-spacing: 0.01em;
    text-align: center;
}

.FAQ {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    width: 85%;
}

.dl.FAQ {
    max-width: 48rem;
    margin: 0 auto;
}

.faq-item {
    overflow: hidden;
    border: 1px solid var(--spb-faq-border);
    border-left: 3px solid var(--spb-faq-border-left);
    border-radius: 1rem;
    background: var(--spb-faq-bg);
    box-shadow: none;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.faq-item summary {
    list-style: none;
    cursor: pointer;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.95rem 1rem;
    color: var(--spb-faq-question);
}

.faq-item summary:hover+div,
.faq-item summary:hover .faq-question,
.faq-item[open] {
    border-color: var(--spb-faq-border-hover);
}

.faq-question-text {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
}

.faq-icon {
    flex: 0 0 auto;
    color: var(--spb-faq-icon);
    font-size: 0.92rem;
    transition: transform 0.18s ease;
}

.faq-item[open] .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0.05rem 1rem 0.95rem;
    border-top: 1px solid var(--spb-faq-answer-border);
    color: var(--spb-faq-answer-text);
    font-size: 0.95rem;
    line-height: 1.68;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}

/* ========================================
   10. RELATED LINKS
   ======================================== */
.related-services {
    padding: 1rem 0;
    border-bottom: 1px solid var(--spb-cta-line-bottom);
    background: linear-gradient(179deg, #354d797a, transparent);
}

.related-services-container {
    background: transparent;
    box-shadow: none;
}

.related-services-title {
    margin: 0 0 0.2rem;
    color: var(--spb-related-title);
    font-size: clamp(1.35rem, 1.8vw, 1.95rem);
    line-height: 1.08;
    text-align: center;
}

.related-services-subtitle {
    max-width: 52ch;
    margin: 0 auto 0.75rem;
    color: var(--spb-text-soft);
    line-height: 1.5;
    text-align: center;
}

.related-services .row {
    margin-right: calc(var(--spb-gutter) * -1);
    margin-left: calc(var(--spb-gutter) * -1);
}

.service-card {
    height: 100%;
    border: 1px solid var(--spb-related-card-border);
    border-radius: 1.25rem;
    background: var(--spb-related-card-bg);
    box-shadow: var(--spb-related-card-shadow);
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.service-card .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 0.75rem 0.75rem 0.7rem;
    text-align: center;
}

.service-card-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    margin-bottom: 0.3rem;
}

.service-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 999px;
    background: var(--spb-related-icon-bg);
    color: var(--spb-accent);
    font-size: 0.86rem;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%);
}

.service-card-icon::before,
.service-card-icon>i,
.service-card-icon.fas,
.service-card-icon.fa,
.service-card-icon.fa-solid {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.service-card-title {
    margin: 0;
    color: var(--spb-related-title);
    font-size: 1rem;
    line-height: 1.2;
}

.service-card-title a,
.service-card-header>a,
.service-card .service-card-title-link {
    color: var(--spb-related-title);
    text-decoration: none;
}

.service-card-title a:hover,
.service-card-header>a:hover,
.service-card .service-card-title-link:hover {
    color: var(--spb-accent-2);
}

.service-card-text {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    margin: 0 0 0.45rem;
    color: var(--spb-related-text);
    font-size: 0.89rem;
    line-height: 1.52;
}

.service-card .btn.btn-outline-primary {
    display: inline-flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    min-height: 2.15rem;
    padding: 0.45rem 0.9rem;
    border: 1px solid var(--spb-related-btn-border);
    border-radius: 0.7rem;
    background: var(--spb-related-btn-bg);
    color: var(--spb-related-btn-text);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    opacity: 1;
    transition: color 0.18s ease, transform 0.18s ease, opacity 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.service-card .btn.btn-outline-primary:hover {
    border-color: var(--spb-related-btn-hover-border);
    background: var(--spb-related-btn-hover-bg);
    color: var(--spb-related-btn-text);
    transform: translateY(-1px);
}

.service-card .btn.btn-outline-primary::after {
    content: none;
}

.related-services .col-4:nth-child(1) .service-card-icon {
    color: #7fc0ff;
}

.related-services .col-4:nth-child(2) .service-card-icon {
    color: var(--spb-success-accent);
}

.related-services .col-4:nth-child(3) .service-card-icon {
    color: var(--spb-warm-accent);
}

/* ========================================
   11. FOOTER
   ======================================== */
footer {
    position: relative;
    padding: 1.85rem 0 0;
    border-top: 1px solid var(--spb-border);
    background:
        radial-gradient(circle at top, var(--spb-footer-glow) 0%, rgb(111 182 255 / 0%) 28%),
        linear-gradient(180deg, var(--spb-footer-bg-start) 0%, var(--spb-footer-bg-end) 100%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 2%);
}

footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(92%, 1240px);
    height: 2px;
    background: linear-gradient(90deg, rgb(111 182 255 / 0%) 0%, var(--spb-footer-rule-glow) 50%, rgb(111 182 255 / 0%) 100%);
    transform: translateX(-50%);
}

footer .title {
    margin: 0 0 0.85rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--spb-footer-divider);
    color: var(--spb-footer-title);
    font-size: clamp(1.2rem, 1.5vw, 1.65rem);
    line-height: 1.08;
    text-wrap: balance;
}

footer .address,
footer p,
footer li,
footer span {
    color: var(--spb-text-soft);
}

footer .address {
    font-size: 0.96rem;
    line-height: 1.62;
}

footer .address p {
    margin-bottom: 0.58rem;
}

footer .b {
    color: var(--spb-footer-title);
    font-weight: 700 !important;
}

footer .ftr-link,
footer .legal a,
footer .ftr_srvc_bullets a {
    color: var(--spb-accent);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.18s ease, opacity 0.18s ease;
}

footer .ftr-link.whatsapp-text,
footer .ftr-link.whatsapp-text span {
    color: #77ffa4;
}

footer .ftr-link:hover,
footer .legal a:hover,
footer .ftr_srvc_bullets a:hover {
    color: var(--spb-accent-2);
}

footer .ftr-link.whatsapp-text:hover,
footer .ftr-link.whatsapp-text:hover span {
    color: #25a44a;
}

footer .text-justify {
    max-width: 60ch;
    margin-top: 0.75rem;
    color: var(--spb-text-soft);
    line-height: 1.62;
}

footer .ftr_srvc_bullets {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

footer .ftr_srvc_bullets li {
    position: static;
    margin-bottom: 0.7rem;
    padding-left: 0;
}

footer .ftr_srvc_bullets li::before {
    content: "";
    display: inline-block;
    position: static;
    width: 0.34rem;
    height: 0.34rem;
    margin-right: 0.5rem;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--spb-footer-bullet-start) 0%, var(--spb-footer-bullet-end) 100%);
    box-shadow: none;
    vertical-align: middle;
}

footer .rowLegal {
    position: relative;
    margin-top: 1.15rem;
    padding-top: 0.9rem;
    padding-bottom: 1rem;
}

footer .rowLegal::before {
    content: "";
    position: absolute;
    top: 0;
    right: 15px;
    left: 15px;
    border-top: 1px solid var(--spb-footer-legal-divider);
}

footer .legal,
footer .txt_bt {
    color: var(--spb-text-muted);
    font-size: 0.84rem;
    line-height: 1.5;
}

footer .txt_bt {
    text-align: right;
}

/* ========================================
   12. BANNER PRINCIPAL
   ======================================== */
.banner-principal {
    margin: 1rem 0 0.5rem;
}

.banner-principal-box {
    position: relative;
    overflow: hidden;
    min-height: 14.25rem;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
}

.banner-principal-box::before {
    content: none;
}

.banner-principal-media {
    position: absolute;
    inset: 0;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 80%, transparent 100%);
}

.banner-principal-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center -3%;
    filter: saturate(1) brightness(0.5);
    transform: scale(1.3);
}

.banner-principal-content {
    display: flex;
    position: relative;
    z-index: 2;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 14.25rem;
    margin: 0 auto;
    padding: 1rem;
    text-align: center;
}

.banner-principal-box:not(:has(> .banner-principal-media)),
.banner-principal-box:not(:has(> .banner-principal-media)) .banner-principal-content {
    min-height: auto;
}

.banner-principal-title {
    margin: 0;
    color: var(--spb-white);
    font-size: clamp(1.6rem, 2vw, 2.05rem);
    line-height: 1.03;
    text-shadow: 0 12px 34px rgb(0 0 0 / 38%);
}

.banner-principal-subtitle {
    margin: 0.55rem auto 0;
    color: rgb(244 245 242 / 92%);
    font-size: clamp(1rem, 0.9vw, 1.5rem);
    line-height: 1.32;
    text-shadow: 0 10px 26px rgb(0 0 0 / 32%);
}

.banner-principal-quote {
    position: relative;
    width: 100%;
    max-width: 36rem;
    margin: 0.75rem auto 0;
    padding: 0;
    border: 0;
}

.banner-principal-quote-text {
    position: relative;
    padding: 0.72rem 1rem 0.72rem 1.25rem;
    border: 1px solid rgb(111 182 255 / 18%);
    border-left: 4px solid var(--spb-accent);
    border-radius: 0.9rem;
    background: linear-gradient(180deg, rgb(16 22 31 / 58%) 0%, rgb(11 16 23 / 52%) 100%);
    color: rgb(244 245 242 / 90%);
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.38;
    text-align: center;
    box-shadow: 0 10px 26px rgb(0 0 0 / 14%), inset 0 1px 0 rgb(255 255 255 / 6%);
    backdrop-filter: blur(8px);
}

.banner-principal-quote-text::before {
    content: "\201C";
    position: absolute;
    top: 50%;
    left: 0.45rem;
    color: rgb(111 182 255 / 75%);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-style: normal;
    line-height: 1;
    text-shadow: 0 4px 12px rgb(0 0 0 / 22%);
    transform: translateY(-52%);
}

.banner-principal-quote-text p {
    margin: 0;
}

.banner-principal-actions {
    margin-top: 0.8rem;
}

.banner-principal-actions .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 13rem;
    min-height: 3rem;
    padding: 0.82rem 1.5rem;
    border: 1px solid #4b8fe8;
    border-radius: 999px;
    background: linear-gradient(180deg, #3277d3 0%, #2259ad 100%);
    color: var(--spb-white);
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 12px 24px rgb(20 70 140 / 26%);
}

.banner-principal-actions .btn.btn-primary:hover {
    border-color: #74acff;
    background: linear-gradient(180deg, #3b88ee 0%, #2966c0 100%);
    color: var(--spb-white);
}

/* ========================================
   13. PLANES DESTACADOS
   ======================================== */
.planes-destacados {
    padding: 1rem 0;
    border-bottom: 1px solid var(--spb-cta-line-bottom);
    background: linear-gradient(179deg, #003a63b5, transparent);
}

.planes-destacados-title {
    margin: 0 0 0.35rem;
    color: var(--spb-white);
    line-height: 1.08;
    text-align: center;
    text-wrap: balance;
}

.planes-destacados-subtitle {
    max-width: 42rem;
    margin: 0 auto 0.8rem;
    color: var(--spb-text-soft);
    font-size: 0.9rem;
    line-height: 1.45;
    text-align: center;
    text-wrap: balance;
}

.planes-destacados-grid {
    row-gap: 1rem;
}

.plan-destacado-card {
    display: flex;
    position: relative;
    overflow: hidden;
    height: 100%;
    border: 1px solid var(--spb-related-card-border);
    border-radius: 1.2rem;
    background: linear-gradient(180deg, rgb(20 24 29 / 96%) 0%, rgb(14 18 23 / 98%) 100%);
    box-shadow: var(--spb-related-card-shadow);
}

.plan-destacado-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 8%;
    left: 8%;
    z-index: 2;
    height: 1px;
    background: linear-gradient(90deg, rgb(111 182 255 / 0%) 0%, rgb(111 182 255 / 55%) 18%, rgb(146 204 255 / 82%) 50%, rgb(111 182 255 / 55%) 82%, rgb(111 182 255 / 0%) 100%);
    box-shadow: 0 0 12px rgb(111 182 255 / 26%), 0 0 24px rgb(111 182 255 / 14%);
    pointer-events: none;
}

.plan-destacado-media {
    position: absolute;
    inset: 0;
}

.plan-destacado-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.88) brightness(0.74);
}

.plan-destacado-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(0 0 0) 0%, rgb(0 0 0 / 50%) 50%, rgb(0 0 0) 100%);
}

.plan-destacado-card--icon .plan-destacado-overlay {
    background: radial-gradient(circle at top, rgb(111 182 255 / 10%) 0%, rgb(111 182 255 / 0%) 52%), linear-gradient(180deg, rgb(24 31 41 / 96%) 0%, rgb(15 20 27 / 98%) 100%);
}

.plan-destacado-body {
    display: flex;
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.95rem;
    text-align: center;
}

.plan-destacado-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin: 0 auto 0.85rem;
    border-radius: 999px;
    background: rgb(111 182 255 / 10%);
    color: var(--spb-white);
    font-size: 1.7rem;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
}

.plan-destacado-title {
    margin: 0;
    color: var(--spb-white);
    font-size: clamp(0.98rem, 1.05vw, 1.32rem);
    line-height: 1.08;
    text-shadow: 0 8px 24px rgb(0 0 0 / 34%);
    text-wrap: balance;
}

.plan-destacado-text {
    margin: 0.55rem 0 0;
    color: rgb(244 245 242 / 88%);
    font-size: 0.86rem;
    line-height: 1.36;
    text-shadow: 0 6px 18px rgb(0 0 0 / 26%);
}

.plan-destacado-actions {
    margin-top: 0.7rem;
}

.plan-destacado-actions .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    padding: 0.68rem 1.1rem;
    border: 1px solid var(--spb-line-active);
    border-radius: 999px;
    background: linear-gradient(180deg, rgb(32 45 63 / 96%) 0%, rgb(22 31 44 / 100%) 100%);
    color: var(--spb-white);
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 12px 24px rgb(0 0 0 / 22%);
}

.plan-destacado-actions .btn.btn-primary:hover {
    border-color: var(--spb-border-strong);
    color: var(--spb-white);
    filter: brightness(1.05);
}

[data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-card,
.planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-card {
    border-color: rgb(111 182 255 / 42%);
    box-shadow: 0 18px 38px rgb(0 0 0 / 24%);
}

[data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-card::before,
.planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-card::before {
    right: 5%;
    left: 5%;
    background: linear-gradient(90deg, rgb(111 182 255 / 0%) 0%, rgb(111 182 255 / 72%) 16%, rgb(162 214 255 / 96%) 50%, rgb(111 182 255 / 72%) 84%, rgb(111 182 255 / 0%) 100%);
    box-shadow: 0 0 14px rgb(111 182 255 / 34%), 0 0 30px rgb(111 182 255 / 22%);
}

[data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-title,
.planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-title {
    font-size: clamp(1.06rem, 1.2vw, 1.55rem);
}

[data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-actions .btn.btn-primary,
.planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-actions .btn.btn-primary {
    border-color: #4b8fe8;
    background: linear-gradient(180deg, #3277d3 0%, #2259ad 100%);
    box-shadow: 0 14px 28px rgb(20 70 140 / 28%);
}

[data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-actions .btn.btn-primary:hover,
.planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-actions .btn.btn-primary:hover {
    border-color: #74acff;
    background: linear-gradient(180deg, #3b88ee 0%, #2966c0 100%);
}

@media (min-width: 993px) {

    [data-block="planes-destacados-01"] .planes-destacados-grid,
    .planes-destacados .planes-destacados-grid {
        position: relative;
        align-items: stretch;
        padding-top: 0.35rem;
    }

    [data-block="planes-destacados-01"] .planes-destacados-grid>.col-4,
    .planes-destacados .planes-destacados-grid>.col-4 {
        transition: transform 0.22s ease, opacity 0.22s ease;
    }

    [data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(1),
    [data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(3),
    .planes-destacados .planes-destacados-grid>.col-4:nth-child(1),
    .planes-destacados .planes-destacados-grid>.col-4:nth-child(3) {
        margin-top: 1.35rem;
    }

    [data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2),
    .planes-destacados .planes-destacados-grid>.col-4:nth-child(2) {
        transform: scale(1.04);
    }

    [data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-card,
    .planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-card {
        box-shadow: 0 22px 48px rgb(0 0 0 / 26%);
    }

    [data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-title,
    .planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-title {
        font-size: clamp(1.1rem, 1.35vw, 1.8rem);
    }

    [data-block="planes-destacados-01"] .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-actions .btn.btn-primary,
    .planes-destacados .planes-destacados-grid>.col-4:nth-child(2) .plan-destacado-actions .btn.btn-primary {
        min-width: 15.5rem;
        min-height: 3.1rem;
        padding: 0.86rem 1.65rem;
        border-color: #4b8fe8;
        background: linear-gradient(180deg, #3277d3 0%, #2259ad 100%);
        font-size: 1.02rem;
        box-shadow: 0 14px 28px rgb(20 70 140 / 28%);
    }
}

/* ========================================
   14. ABOUT LINKS
   ======================================== */
.about-links-wrapper {
    position: relative;
    padding: 1.2rem 0 1.35rem;
    border-bottom: 1px solid var(--spb-cta-line-bottom);
    background: radial-gradient(circle at center, rgb(111 182 255 / 9%) 0%, rgb(111 182 255 / 0%) 32%), linear-gradient(180deg, rgb(0 0 0 / 67%) 0%, rgb(18 9 20 / 41%) 58%, rgb(0 0 0 / 0%) 100%);
}

.about-links-intro {
    max-width: 58rem;
    margin: 0 auto 1.2rem;
    text-align: center;
}

.about-links-intro h2 {
    margin: 0 0 0.45rem;
    color: var(--spb-white);
    line-height: 1.05;
}

.about-links-intro p {
    margin: 0;
    color: rgb(238 243 250 / 78%);
    font-size: 0.98rem;
    line-height: 1.62;
}

.about-links-grid {
    row-gap: 1rem;
}

.about-links-card {
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 16.2rem;
    border-radius: 1.1rem;
    background-color: #151b26;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 0 16px 34px rgb(0 0 0 / 24%);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.about-links-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 10%;
    left: 10%;
    z-index: 2;
    height: 1px;
    background: linear-gradient(90deg, rgb(111 182 255 / 0%) 0%, rgb(210 226 255 / 84%) 50%, rgb(111 182 255 / 0%) 100%);
    box-shadow: 0 0 14px rgb(111 182 255 / 18%);
}

.about-links-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #000000e0;
    pointer-events: none;
}

.about-links-card:hover {
    border-color: rgb(198 221 255 / 26%);
    box-shadow: 0 22px 42px rgb(0 0 0 / 28%);
    transform: translateY(-3px);
}

.about-links-card__content {
    display: flex;
    position: relative;
    z-index: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 3.35rem 1.2rem 1.15rem;
    text-align: center;
}

.about-links-card__eyebrow {
    display: inline-flex;
    position: absolute;
    top: 1rem;
    left: 50%;
    align-self: center;
    margin-bottom: 0;
    padding: 0.35rem 0.68rem;
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: 999px;
    background: rgb(255 255 255 / 8%);
    color: rgb(240 245 255 / 88%);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: translateX(-50%);
    backdrop-filter: blur(8px);
}

.about-links-card h3 {
    margin: 0 auto 0.55rem;
    color: var(--spb-white);
    line-height: 1.02;
    text-shadow: 0 8px 24px rgb(0 0 0 / 42%);
}

.about-links-card p {
    max-width: 30rem;
    margin: 0;
    color: rgb(247 247 247 / 90%);
    line-height: 1.52;
    text-shadow: 0 6px 18px rgb(0 0 0 / 34%);
}

.about-links-card__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    margin-top: 1rem;
}

.about-links-card__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 16rem);
    min-height: 2.5rem;
    padding: 0.68rem 1rem;
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 0.55rem;
    background: linear-gradient(180deg, rgb(54 58 72 / 72%) 0%, rgb(34 39 50 / 82%) 100%);
    color: var(--spb-white);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%), 0 10px 24px rgb(0 0 0 / 16%);
    backdrop-filter: blur(6px);
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.about-links-card__link span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.about-links-card__link span::after {
    content: "\203A";
    font-size: 1.1em;
    line-height: 1;
}

.about-links-card__link:hover {
    border-color: rgb(255 255 255 / 36%);
    background: linear-gradient(180deg, rgb(71 76 92 / 78%) 0%, rgb(42 47 61 / 86%) 100%);
    color: var(--spb-white);
    box-shadow: 0 14px 28px rgb(0 0 0 / 20%);
    transform: translateY(-1px);
}

.about-links-card--music {
    background-image: linear-gradient(180deg, rgb(108 34 108 / 18%) 0%, rgb(20 14 35 / 44%) 100%), url(/content/images/conciertos/concierto_05.webp);
}

.about-links-card--music .about-links-card__eyebrow {
    border-color: rgb(223 161 255 / 20%);
    background: rgb(206 126 255 / 12%);
}

.about-links-card--tech {
    background-image: linear-gradient(180deg, rgb(36 44 66 / 18%) 0%, rgb(15 17 23 / 50%) 100%), url(/content/images/conciertos/IMG_20260301_131752-819x614.webp);
}

.about-links-card--tech::before {
    background: linear-gradient(90deg, rgb(111 182 255 / 0%) 0%, rgb(205 222 255 / 76%) 50%, rgb(111 182 255 / 0%) 100%);
    box-shadow: 0 0 14px rgb(111 182 255 / 18%);
}

.about-links-card--tech .about-links-card__eyebrow {
    border-color: rgb(171 210 255 / 18%);
    background: rgb(111 182 255 / 10%);
    color: rgb(230 242 255 / 92%);
}

.about-links-card--tech .about-links-card__link:hover {
    border-color: rgb(198 220 255 / 34%);
    background: linear-gradient(180deg, rgb(66 72 88 / 80%) 0%, rgb(40 46 58 / 88%) 100%);
}

/* ========================================
   15. RESPONSIVE
   ======================================== */
@media (max-width: 992px) {
    .planes-destacados-grid>.col-4:nth-child(2) {
        order: -1;
    }

    .about-links-intro {
        margin-bottom: 0.8rem;
    }

    .about-links-intro h2 {
        font-size: clamp(1.3rem, 6vw, 1.8rem);
    }

    .about-links-card__content {
        padding: 3.7rem 1rem 1rem;
    }

    .about-links-card {
        min-height: 15rem;
    }

    .about-links-card__eyebrow {
        top: 0.85rem;
        font-size: 0.64rem;
    }

    .about-links-card h3 {
        max-width: 13.5ch;
        font-size: clamp(1.3rem, 5.5vw, 1.75rem);
    }

    .about-links-card p {
        font-size: 0.92rem;
        line-height: 1.46;
    }

    .about-links-card__actions {
        gap: 0.55rem;
    }

    .about-links-card__link {
        width: 100%;
        max-width: 18rem;
        font-size: 0.9rem;
    }

    .cta-card p,
    .faq-answer,
    .related-services-subtitle,
    .service-card-text {
        font-size: 0.92rem;
        line-height: 1.58;
    }

    .cta-card .btn.btn-primary,
    .service-card .btn.btn-outline-primary {
        width: 100%;
    }

    .related-services .row>.col-4 {
        margin-bottom: 1rem;
    }

    .service-card .card-body {
        padding: 0.68rem 0.1rem 0.12rem;
    }

    .service-card-title {
        font-size: 0.94rem;
    }

    .banner-principal-box,
    .banner-principal-content {
        min-height: 11.25rem;
    }

    .banner-principal-box:not(:has(> .banner-principal-media)),
    .banner-principal-box:not(:has(> .banner-principal-media)) .banner-principal-content {
        min-height: auto;
    }

    footer {
        padding-top: 1.35rem;
    }

    footer .title,
    footer .legal,
    footer .txt_bt {
        text-align: center;
    }

    footer .address,
    footer .text-justify {
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    footer .ftr_srvc_bullets {
        max-width: 18rem;
        margin-right: auto;
        margin-left: auto;
    }

    footer .row>.col-6 {
        margin-bottom: 0;
    }

    footer .rowLegal {
        row-gap: 0.35rem;
        margin-top: 0.9rem;
    }

    .bc_wrap {
        margin-top: 0.35rem;
        margin-bottom: 0.55rem;
    }

    .bc_list {
        gap: 0.2rem;
    }

    .bc_link,
    .bc_text {
        font-size: 0.76rem;
    }

    .bc_home {
        width: 1.6rem;
        height: 1.6rem;
        font-size: 0.98rem;
    }

    #pageTitle {
        margin-bottom: 0.25rem;
        font-size: clamp(1.4rem, 7vw, 1.9rem);
    }

    #pageSubtitle {
        font-size: clamp(0.92rem, 4vw, 1.05rem);
        line-height: 1.38;
    }

    .landing-quote {
        padding: 0.85rem 0.9rem;
    }

    .landing-quote::before {
        top: 0.38rem;
        left: 0.72rem;
        font-size: 2.55rem;
    }

    .landing-quote-text {
        padding-left: 2.25rem;
        font-size: 0.94rem;
        line-height: 1.5;
    }

    .banner-principal {
        margin-top: 0.7rem;
    }

    .banner-principal-content {
        padding: 0.85rem;
    }

    .banner-principal-title {
        font-size: clamp(1.05rem, 6vw, 1.6rem);
    }

    .banner-principal-subtitle {
        font-size: 0.8rem;
        line-height: 1.3;
    }

    .banner-principal-quote {
        max-width: 100%;
        margin-top: 0.55rem;
    }

    .banner-principal-quote-text {
        padding: 0.6rem 0.8rem 0.6rem 1rem;
        font-size: 0.8rem;
        line-height: 1.28;
    }

    .banner-principal-quote-text::before {
        left: 0.34rem;
        font-size: 1.55rem;
    }

    .banner-principal-actions .btn.btn-primary,
    .plan-destacado-actions .btn.btn-primary {
        width: 100%;
    }

    .planes-destacados-subtitle,
    .plan-destacado-text {
        font-size: 0.85rem;
        line-height: 1.42;
    }

    .plan-destacado-body {
        padding: 0.85rem;
    }

    .plan-destacado-card--icon .plan-destacado-body {
        position: relative;
        padding: 1rem 0.85rem 0.85rem;
    }

    .plan-destacado-card--icon .plan-destacado-icon {
        position: absolute;
        top: 0.5rem;
        left: 0.5rem;
        width: 2.15rem;
        height: 2.15rem;
        margin: 0;
        border: 1px solid rgb(111 182 255 / 12%);
        background: rgb(111 182 255 / 6%);
        color: rgb(245 247 251 / 78%);
        font-size: 1rem;
        box-shadow: none;
        opacity: 0.82;
    }

    h1 {
        font-size: clamp(1.4rem, 7vw, 1.9rem);
    }

    h2 {
        font-size: clamp(1.2rem, 6vw, 1.5rem);
    }

    h3 {
        font-size: clamp(1.05rem, 5vw, 1.22rem);
    }

    h4 {
        font-size: clamp(0.98rem, 4.2vw, 1.08rem);
    }

    h5 {
        font-size: 0.94rem;
    }

    h6 {
        font-size: 0.88rem;
    }
}

@media (max-width: 575.98px) {
    .about-links-wrapper {
        padding: 1rem 0 1.15rem;
    }

    .about-links-card {
        min-height: 14.25rem;
        border-radius: 0.95rem;
    }

    .about-links-card__content {
        padding: 3.45rem 0.85rem 1rem;
    }

    .about-links-card__eyebrow {
        top: 0.8rem;
        max-width: calc(100% - 1.6rem);
        padding: 0.32rem 0.58rem;
        font-size: 0.6rem;
    }

    .about-links-card h3 {
        max-width: 14ch;
        font-size: clamp(1.15rem, 7vw, 1.45rem);
    }

    .about-links-card p {
        max-width: 26rem;
        font-size: 0.88rem;
    }

    .about-links-card__link {
        min-height: 2.35rem;
        padding: 0.62rem 0.8rem;
        font-size: 0.86rem;
    }

    .plan-destacado-card--icon .plan-destacado-body {
        padding: 0.95rem 0.8rem 0.8rem;
    }

    .plan-destacado-card--icon .plan-destacado-icon {
        top: 0.65rem;
        right: 0.65rem;
        width: 1.85rem;
        height: 1.85rem;
        font-size: 0.86rem;
        opacity: 0.72;
    }
}

/* ========================================
   16. CHECKLIST
   ======================================== */
.list-group-checked {
    margin-bottom: 0;
}

.checklist-wrapper {
    position: relative;
    padding: 1rem 0;
    border-bottom: 1px solid var(--spb-cta-line-bottom);
    background: linear-gradient(180deg, #000000ab, transparent);
    text-align: center;
}

.checklist-wrapper .list-group {
    max-width: 62rem;
    margin: 1rem auto 0;
    padding-left: 0;
    list-style: none;
    text-align: left;
}

.checklist-wrapper .list-group-item {
    position: relative;
    margin: 0.6rem 0;
    padding: 0 0 0 1.6rem;
    border: 0;
    background: transparent;
}

.checklist-wrapper .list-group-item p {
    margin: 0;
}

.checklist-wrapper .list-group-item::before {
    content: "✓";
    position: absolute;
    top: 0.15rem;
    left: 0;
    color: #9ad0ff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.checklist-wrapper h2 {
    text-align: center;
}

/* ========================================
   17. CONTACT FORM
   ======================================== */
.form-wrapper {
    padding: 1rem 0 2rem;
}

.contact-split {
    align-items: flex-start;
}

.contact-info-panel {
    padding-right: 2.5rem;
}

.contact-info-panel h2 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #fff;
}

.contact-info-panel p {
    margin-bottom: 1.8rem;
    color: rgb(218 229 244 / 75%);
    font-size: 1.05rem;
    line-height: 1.75;
}

.contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-info-link {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    color: #fff;
    font-size: 1.05rem;
    text-decoration: none;
    word-break: break-all;
}

.contact-info-link:hover {
    color: #9ad0ff;
}

.contact-info-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: rgb(111 182 255 / 12%);
}

.contact-info-icon--phone .fas,
.contact-info-icon--email .fas {
    color: #9ad0ff;
    font-size: 0.9rem;
}

.contact-info-icon--whatsapp {
    background: rgb(37 211 102 / 15%);
}

.contact-info-icon--whatsapp .fab {
    color: #25d366;
    font-size: 1.1rem;
}

.whatsapp-link {
    font-weight: 500;
}

.contact-form-col #formulario {
    width: 100%;
    margin: 0;
}

#formulario {
    position: relative;
    overflow: hidden;
    width: min(100%, 42rem);
    margin: 2.6rem auto 2.2rem;
    padding: clamp(1.45rem, 2vw, 2rem);
    border: 1px solid rgb(111 182 255 / 16%);
    border-radius: 1.45rem;
    background: radial-gradient(circle at top right, rgb(0 0 0 / 78%) 0%, rgb(51 68 85 / 0%) 34%), linear-gradient(180deg, rgb(14 14 14 / 96%) 0%, rgb(21 29 41 / 98%) 100%);
    box-shadow: 0 22px 44px rgb(0 0 0 / 28%), inset 0 1px 0 rgb(255 255 255 / 5%);
}

#formulario::before {
    content: "";
    position: absolute;
    top: 0;
    right: 8%;
    left: 8%;
    height: 1px;
    background: linear-gradient(90deg, rgb(111 182 255 / 0%) 0%, rgb(143 201 255 / 72%) 50%, rgb(111 182 255 / 0%) 100%);
    box-shadow: 0 0 18px rgb(111 182 255 / 24%);
}

#formulario h2 {
    margin-bottom: 1.35rem;
    color: var(--spb-white);
    line-height: 1.02;
    letter-spacing: 0.01em;
    text-wrap: balance;
}

#formulario .form-group {
    margin-bottom: 0.9rem;
}

#formulario .contact-form {
    position: relative;
    z-index: 1;
    margin: 0;
}

#contactForm .form-control {
    width: 100%;
    min-height: 3.55rem;
    padding: 0.95rem 1.1rem;
    border: 1px solid rgb(111 182 255 / 20%);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgb(39 53 73 / 92%) 0%, rgb(33 45 61 / 96%) 100%);
    color: rgb(248 251 255 / 96%);
    font-size: 1rem;
    line-height: 1.45;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

#contactForm .form-control::placeholder {
    color: rgb(218 229 244 / 64%);
    opacity: 1;
}

#contactForm textarea.form-control {
    min-height: 9.8rem;
    resize: vertical;
}

#contactForm .form-control:hover {
    border-color: rgb(111 182 255 / 30%);
}

#contactForm .form-control:focus {
    border-color: rgb(143 201 255 / 70%);
    outline: none;
    background: linear-gradient(180deg, rgb(44 60 82 / 96%) 0%, rgb(36 49 67 / 100%) 100%);
    box-shadow: 0 0 0 4px rgb(111 182 255 / 12%), 0 16px 28px rgb(0 0 0 / 20%);
    transform: translateY(-1px);
}

#contactForm .form-control.is-valid,
#contactForm .is-valid.form-control {
    border-color: rgb(110 195 169 / 62%);
    box-shadow: 0 0 0 3px rgb(110 195 169 / 10%);
}

#contactForm .form-control.is-invalid,
#contactForm .is-invalid.form-control {
    border-color: rgb(255 126 126 / 78%) !important;
    background: linear-gradient(180deg, rgb(67 42 49 / 96%) 0%, rgb(52 31 37 / 100%) 100%);
    box-shadow: 0 0 0 4px rgb(255 126 126 / 12%) !important;
}

#contactForm .error-message,
#contactForm .invalid-feedback {
    display: none;
    margin-top: 0.55rem;
    padding: 0.72rem 0.88rem;
    border: 1px solid rgb(255 126 126 / 26%);
    border-radius: 0.9rem;
    background: linear-gradient(180deg, rgb(76 35 44 / 92%) 0%, rgb(59 27 35 / 98%) 100%);
    color: rgb(255 219 219 / 96%);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.45;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%);
}

#contactForm .error-message.visible,
#contactForm .invalid-feedback.visible {
    display: block;
}

#contactForm .form-submit-alert {
    display: none;
    margin-bottom: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid transparent;
    border-radius: 1rem;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%);
}

#contactForm .form-submit-alert.is-success {
    border-color: rgb(110 195 169 / 30%);
    background: linear-gradient(180deg, rgb(25 62 55 / 92%) 0%, rgb(18 48 42 / 98%) 100%);
    color: rgb(220 255 245 / 95%);
}

#contactForm .form-submit-alert.is-error {
    border-color: rgb(255 126 126 / 28%);
    background: linear-gradient(180deg, rgb(77 36 45 / 92%) 0%, rgb(60 27 35 / 98%) 100%);
    color: rgb(255 223 223 / 96%);
}

#contactForm .row.mt-2.mb-2 {
    align-items: end;
    margin-top: 0.35rem !important;
}

#contactForm .form-check {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-height: 4rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgb(111 182 255 / 18%);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgb(27 37 51 / 92%) 0%, rgb(20 28 39 / 98%) 100%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%);
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

#contactForm .form-check.is-valid {
    border-color: rgb(110 195 169 / 35%);
    box-shadow: 0 0 0 3px rgb(110 195 169 / 10%);
}

#contactForm .form-check.is-invalid {
    border-color: rgb(255 126 126 / 42%);
    background: linear-gradient(180deg, rgb(63 37 45 / 90%) 0%, rgb(46 28 35 / 98%) 100%);
    box-shadow: 0 0 0 4px rgb(255 126 126 / 10%);
}

#contactForm .form-check-input {
    flex: 0 0 auto;
    width: 1.08rem;
    height: 1.08rem;
    margin-top: 0.16rem;
    accent-color: #7dbfff;
    cursor: pointer;
}

#contactForm .form-check-label {
    color: rgb(241 246 252 / 88%);
    font-size: 0.98rem;
    line-height: 1.55;
    cursor: pointer;
}

#contactForm .form-check-label a {
    border-bottom: 1px solid rgb(141 203 255 / 34%);
    color: #8dcbff;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.18s ease, border-color 0.18s ease;
}

#contactForm .form-check-label a:hover {
    border-color: rgb(196 229 255 / 62%);
    color: #c4e5ff;
}

#contactForm button.btn,
#contactForm .btn,
#contactForm button.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.85rem;
    padding: 0.92rem 1.2rem;
    border: 1px solid #4f97f1;
    border-radius: 1rem;
    background: linear-gradient(180deg, #3b84e4 0%, #2767bf 100%);
    color: #fff;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-align: center;
    box-shadow: 0 16px 30px rgb(18 72 148 / 30%);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, filter 0.18s ease;
}

#contactForm button.btn:hover,
#contactForm .btn:hover,
#contactForm button.btn-secondary:hover {
    border-color: #7dbfff;
    color: #fff;
    box-shadow: 0 18px 34px rgb(18 72 148 / 34%);
    filter: brightness(1.06);
    transform: translateY(-1px);
}

#contactForm button.btn:disabled,
#contactForm .btn:disabled,
#contactForm button.btn-secondary:disabled,
#contactForm button.btn.is-loading,
#contactForm .btn.is-loading,
#contactForm button.btn-secondary.is-loading {
    border-color: rgb(130 159 198 / 40%);
    background: linear-gradient(180deg, rgb(85 113 151 / 94%) 0%, rgb(62 86 118 / 98%) 100%);
    box-shadow: none;
    cursor: wait;
    filter: saturate(0.75);
    transform: none;
}

@media (max-width: 992px) {
    .contact-info-panel {
        padding-right: 0;
        padding-bottom: 2rem;
    }
}

@media (min-width: 768px) {

    #contactForm .col-8.mt-2.mb-2,
    #contactForm .col-4.mt-2 {
        display: flex;
        align-items: stretch;
    }
}

@media (max-width: 767.98px) {
    #formulario {
        width: calc(100% - 1.2rem);
        margin: 1.8rem auto;
        padding: 1.2rem;
        border-radius: 1.2rem;
    }

    #formulario h2 {
        margin-bottom: 1rem;
    }

    #contactForm .form-control {
        min-height: 3.3rem;
        padding: 0.88rem 0.95rem;
    }

    #contactForm .row.mt-2.mb-2 {
        row-gap: 0.8rem;
    }

    #contactForm .col-8.mt-2.mb-2,
    #contactForm .col-4.mt-2 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    #contactForm .form-check {
        min-height: auto;
        padding: 0.9rem;
    }

    #contactForm button.btn,
    #contactForm .btn,
    #contactForm button.btn-secondary {
        min-height: 3.5rem;
        font-size: 1rem;
    }
}

/* ========================================
   18. FOOTER
   ======================================== */

   .ftr_social {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.ftr_social_title {
    margin: 0 0 14px;
    font-size: 1.05rem;
    font-weight: 700;
    color: inherit;
}

.ftr_social_links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ftr_social_link {
    min-width: 42px;
    height: 42px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: inherit;
    text-decoration: none;
    background: rgba(255,255,255,.04);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.ftr_social_link i {
    font-size: 1.05rem;
}

.ftr_social_link:hover {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.36);
    background: rgba(255,255,255,.08);
}

@media (max-width: 720px) {
    .ftr_social_links {
        gap: 8px;
    }

    .ftr_social_link {
        flex: 1 1 calc(50% - 8px);
    }
}