/* ========================================
   ROOT VARIABLES
   ======================================== */
:root {
    --black: #000000;
    --white: #FFFFFF;
    --primary: #2e20bb;
    --secondary: #ff00ff;
    --background: #490be1;
    --input: #666;
    --text: #1f1f35;
    --accent-1: #deff00;
    
    /* Spacing */
    --border-radius-md: 0.5rem;
    --border-radius-lg: 1rem;
    --border-radius-xl: 1.5rem;
    
    /* Transitions */
    --transition-base: all 0.3s ease;
    --shadow-sm: 0 0 8px 0 rgba(12, 233, 137, 0.15);
    --shadow-md: 0 0 12px 0 rgba(0, 0, 0, 0.15);
}
/* saira-condensed-latin-400-normal */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/saira-condensed@5.3.0/latin-400-normal.woff2) format('woff2'),
       url(https://cdn.jsdelivr.net/fontsource/fonts/saira-condensed@5.3.0/latin-400-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* saira-condensed-latin-700-normal */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/saira-condensed@5.3.0/latin-700-normal.woff2) format('woff2'),
       url(https://cdn.jsdelivr.net/fontsource/fonts/saira-condensed@5.3.0/latin-700-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* saira-condensed-latin-900-normal */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/saira-condensed@5.3.0/latin-900-normal.woff2) format('woff2'),
       url(https://cdn.jsdelivr.net/fontsource/fonts/saira-condensed@5.3.0/latin-900-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* work-sans-latin-400-normal */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/work-sans@5.3.0/latin-400-normal.woff2) format('woff2'),
       url(https://cdn.jsdelivr.net/fontsource/fonts/work-sans@5.3.0/latin-400-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ========================================
   RESETS & UTILITIES
   ======================================== */
.img-fluid {
    width: 100%;
}

.noPadding {
    padding: 0;
}

.row {
    padding: 0 !important;
    margin: 0 !important;
}

.row.no-gutters>[class^='col-'],
.row.no-gutters>[class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

::selection {
    background-color: var(--secondary);
    color: var(--white);
}

::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 10px;
    transition: var(--transition-base);
}

/* ========================================
   BASE ELEMENTS
   ======================================== */
html, body {
    position: relative;
    font-family: "Work Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: var(--black);
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--background);
    overflow-x: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    contain-intrinsic-size: 100vh 100vw;
}

body * {
    font-family: "Work Sans", sans-serif;
    position: relative;
    z-index: 1;
}

body,
input,
textarea,
select {
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ========================================
   TYPOGRAPHY
   ======================================== */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Saira Condensed';
    font-weight: 700;
    font-display: swap;
    color: var(--white);
}

h1, .h1 {
    font-size: clamp(2.625rem, 2.225rem + 0.6459vw, 3rem);
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
}

h2, .h2 {
    font-size: clamp(2.375rem, 2.2417rem + 0.2153vw, 2.5rem);
}

h3, .h3 {
    font-size: clamp(1.875rem, 1.475rem + 0.6459vw, 2.25rem);
}

p, li, label {
    font-size: clamp(1rem, 0.9167rem + 0.1736vw, 1.125rem);
    color: var(--white);
}

.small {
    font-size: 0.85em;
    text-align: center;
}

a {
    color: var(--white);
    text-decoration: underline;
    transition: var(--transition-base);
}

a:hover,
a:active,
a:focus {
    color: var(--white);
}

/* ========================================
   BUTTONS
   ======================================== */
.button {
    font-size: clamp(1rem, 0.9167rem + 0.1736vw, 1.125rem);
    font-weight: 700;
    color: var(--black);
    text-decoration: none;
    text-transform: none;
    padding: 0.675rem 1.85rem;
    background-color: var(--accent-1);
    border: 1px solid var(--accent-1);
    outline: none;
    border-radius: var(--border-radius-lg);
    transition: var(--transition-base);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0);
}
.button-primary {
    background-color: var(--primary);
    border-color: var(--primary);
}
.button-secondary {
    color: var(--white);
    background-color: var(--secondary);
    border-color: var(--secondary);
}
.button-accent {
    color: var(--black);
    background-color: var(--accent-1);
    border-color: var(--accent-1);
}
.button:hover, .button:focus, .button:active {
    box-shadow: var(--shadow-md);
}

form .button:hover {
    padding-inline: 2.5rem;
}

/* ========================================
   COLORS UTILITIES
   ======================================== */
.color-primary { color: var(--primary); }
.color-secondary { color: var(--secondary); }
.color-accent { color: var(--accent-1); }
.color-white { color: var(--white); }
.color-black { color: var(--black); }

/* ========================================
   BACKGROUNDS
   ======================================== */
.background-black { background-color: var(--black); }
.background-primary { background-color: var(--primary); }
.background-accent { background: var(--accent-1); }
.background-secondary { background-color: var(--secondary); }
.background-white { background-color: var(--white); }

.background-img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    z-index: 1;
}

.image-1::before {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/45dbdc35-a9ed-4ec3-a05e-6df2ef3a86bc.png");
    background-attachment: fixed;
}
.image-2::before {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/211bbe16-00fa-44db-b127-8be666f7c0d7.png");
    background-attachment: fixed;
}
.image-3::before {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/e8074ca2-5e1c-4b35-a54f-ee1651e381df.png");
    background-attachment: fixed;
}
.image-4::before {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/abeb95ee-2043-43bc-abdb-c8ddd09f328e.png");
    background-attachment: fixed;
}
.image-5::before {
    background-image: url("https://image.comunicacion-fmf.mx/lib/fe31117473640478761576/m/1/a435cd2a-28e3-419c-a127-96ff10513648.png");
    background-attachment: fixed;
}
.no-fixed::before {
    background-attachment: local;
}
.background-shadow::before {
    box-shadow: inset 0 0 300px rgba(0, 0, 0, 0.75);
}
/* ========================================
   LAYOUT STRUCTURE
   ======================================== */
main {
    min-height: 100dvh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    width: 100%;
    gap: 2.5rem;
}

.block {
    padding: 0 1rem;
}

/* ========================================
   NAVBAR
   ======================================== */
.navbar {
    padding: clamp(3rem, 1.9333rem + 1.7223vw, 4rem) 2rem 1.5rem;
}
.navbar-brand {
    margin: 0;
    padding: 0;
}
.navbar picture {
    display: table;
}
.navbar-brand img {
    max-width: clamp(180px, calc(137.33px + 4.306vw), 220px);
    width: 100%;
    height: auto;
}
.nav-link {
    font-family: "Work Sans", sans-serif;
    color: var(--white);
}
.navbar .button {
    color: var(--primary);
    background-color: var(--white);
}
.nav-link:hover, .nav-link:focus {
    color: var(--white);
}
.navbar-brand.v2 img {
    max-width: clamp(14rem, 11.8665rem + 3.4446vw, 16rem);
    width: 100%;
    height: auto;
}
.navbar-brand.v2 .partner {
    max-height: clamp(3.75rem, 2.4166rem + 2.1529vw, 5rem);
    height: 100%;
    width: auto;
    max-width: inherit;
}
.navbar.v2 {
    padding: 1.5rem 1rem;
}
.nav-gradient {
    background: linear-gradient(102deg, #1C2E5D 4.08%, #1D74AF 37.83%, #1D74AF 80.9%, #1A4686 96.44%);
    backdrop-filter: blur(22.5px);
}

/* ========================================
   FOOTER
   ======================================== */
.footer {
    padding: 2.5rem .5rem;
}
.link-fxp {
    display: table;
    margin: 0 auto;
}
.footer hr {
    border-top-color: var(--white);
}
.footer .social {
    display: flex;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer .social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    text-decoration: none;
    border-radius: 21px;
    background-color: transparent;
    border: 1px solid transparent;
    transition: var(--transition-base);
}
.footer .social a:hover, .footer .social a:focus, .footer .social a:active {
    border-color: var(--secondary);
    background-color: transparent;
}
.footer img {
    max-width: 220px;
    height: auto;
}
.footer img.fxp {
    display: block;
    max-width: 162px;
    width: 100%;
    height: auto;
    margin: .5rem auto 0;
}

/* ========================================
   SOCIAL MEDIA ICONS
   ======================================== */
.social li a span {
    display: block;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* Facebook SVG */
.social-facebook span {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}
/* Instagram SVG */
.social-instagram span {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640' fill='%23fff'%3E%3Cpath d='M320.3 205C256.8 204.8 205.2 256.2 205 319.7C204.8 383.2 256.2 434.8 319.7 435C383.2 435.2 434.8 383.8 435 320.3C435.2 256.8 383.8 205.2 320.3 205zM319.7 245.4C360.9 245.2 394.4 278.5 394.6 319.7C394.8 360.9 361.5 394.4 320.3 394.6C279.1 394.8 245.6 361.5 245.4 320.3C245.2 279.1 278.5 245.6 319.7 245.4zM413.1 200.3C413.1 185.5 425.1 173.5 439.9 173.5C454.7 173.5 466.7 185.5 466.7 200.3C466.7 215.1 454.7 227.1 439.9 227.1C425.1 227.1 413.1 215.1 413.1 200.3zM542.8 227.5C541.1 191.6 532.9 159.8 506.6 133.6C480.4 107.4 448.6 99.2 412.7 97.4C375.7 95.3 264.8 95.3 227.8 97.4C192 99.1 160.2 107.3 133.9 133.5C107.6 159.7 99.5 191.5 97.7 227.4C95.6 264.4 95.6 375.3 97.7 412.3C99.4 448.2 107.6 480 133.9 506.2C160.2 532.4 191.9 540.6 227.8 542.4C264.8 544.5 375.7 544.5 412.7 542.4C448.6 540.7 480.4 532.5 506.6 506.2C532.8 480 541 448.2 542.8 412.3C544.9 375.3 544.9 264.5 542.8 227.5zM495 452C487.2 471.6 472.1 486.7 452.4 494.6C422.9 506.3 352.9 503.6 320.3 503.6C287.7 503.6 217.6 506.2 188.2 494.6C168.6 486.8 153.5 471.7 145.6 452C133.9 422.5 136.6 352.5 136.6 319.9C136.6 287.3 134 217.2 145.6 187.8C153.4 168.2 168.5 153.1 188.2 145.2C217.7 133.5 287.7 136.2 320.3 136.2C352.9 136.2 423 133.6 452.4 145.2C472 153 487.1 168.1 495 187.8C506.7 217.3 504 287.3 504 319.9C504 352.5 506.7 422.6 495 452z'/%3E%3C/svg%3E");
    background-size: 32px auto!important;
}
/* YouTube SVG */
.social-youtube span {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}
/* X (Twitter) SVG */
.social-x-twitter span {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
}

/* ========================================
   VISUAL EFFECTS
   ======================================== */
.bg-texture,
.background-img {
    position: relative;
}
.bg-texture *,
.background-img * {
    position: relative;
    z-index: 2;
}

/* ========================================
   CONTENT COMPONENTS
   ======================================== */
.banner {
    position: relative;
    padding-inline: clamp(1rem, -2.2002rem + 5.1668vw, 4rem);
}

.sidebar img,
.banner img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: clamp(0.5rem, -0.1667rem + 1.3889vw, 1.5rem);
    box-shadow: 0 0 32px 0 rgba(160, 160, 160, 0.01);
}

.hero {
    padding-block: 2rem;
    padding-inline: 1rem;
}
.hero.no-padding {
    padding-block: 0;
}
.hero .container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
}
.hero .container * {
    margin: 0;
}
.hero p.width-center {
    text-align: start;
    max-width: 768px;
    width: 100%;
    margin: 0 auto;
}
.hero .content-bg {
    background-color: var(--white);
    padding: 2rem;
    border-radius: var(--border-radius-xl);
}

.content-container {
    max-width: 910px;
    width: 100%;
    margin: 0 auto;
}
/* ========================================
   FORMS
   ======================================== */
.form-content {
    border-radius: var(--border-radius-xl);
    background: rgba(0, 0, 0, 0.60);
    background-blend-mode: multiply;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25), 0 0 32px 0 rgba(12, 233, 137, 0.08);
    backdrop-filter: blur(22.5px);  
    padding: clamp(1.5rem, 1.1667rem + 0.6944vw, 2rem) clamp(0.25rem, -0.9167rem + 2.4306vw, 2rem);
}
.form-content.background-black {
    background-color: var(--black);
}
form p {
    font-size: clamp(0.95rem, 0.8333rem + 0.2431vw, 1.125rem);
    color: var(--white);
}
.form-select,
.form-control {
    display: block;
    font-size: clamp(0.95rem, 0.8333rem + 0.2431vw, 1.125rem);
    font-weight: 400;
    color: var(--black);
    width: 100%;
    border-radius: var(--border-radius-md);
    background-color: var(--white);
    border: 1px solid var(--white);
    padding: 1rem 1rem;
    appearance: none;
}
.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
.form-select:hover, .form-select:focus, .form-select:active,
.form-control:hover, .form-control:focus, .form-control:active {
    color: var(--black);
    background-color: var(--white);
    border-color: var(--secondary);
    outline: none;
}
.label_input {
    font-size: clamp(0.95rem, 0.8333rem + 0.2431vw, 1.125rem);
    font-weight: 600;
    color: var(--white);
    padding: 2px 0px;
}
.form-check-label {
    color: #A0A0A0;
}
.form-check-label a {
    font-weight: bold;
    color: var(--accent-1);
}
.label_input.dest {
    font-size: clamp(1rem, 0.6667rem + 0.6944vw, 1.5rem);
    color: var(--white);
}

/* Checkboxes & Radio */
.form-check-input {
    border-color: var(--white);
    background-color: transparent;
}
.form-check-input:checked {
    background-color: var(--accent-1);
    border-color: var(--accent-1);
}
.form-check-input:checked[type=radio] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23000'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

/* Input Elements */
input::placeholder {
    color: var(--input)!important;
}
input[type="month"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(0.5);
    background-image: none;
}
.input-icon {
    position: relative;
}
.input-icon input {
    padding-right: 2rem;
}
.input-icon::after {
    content: "";
    text-align: center;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 3rem;
    height: 1.85rem;
    opacity: 1;
    z-index: 2;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M216 64C229.3 64 240 74.7 240 88L240 128L400 128L400 88C400 74.7 410.7 64 424 64C437.3 64 448 74.7 448 88L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 88C192 74.7 202.7 64 216 64zM216 176L160 176C151.2 176 144 183.2 144 192L144 240L496 240L496 192C496 183.2 488.8 176 480 176L216 176zM144 288L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 288L144 288z" fill="%23666"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 100%;
    background-color: var(--white);
}

/* ========================================
   FORM VARIANTS
   ======================================== */
.form-content.background-white {
    border: 1px solid var(--secondary);
    background: linear-gradient(180deg, #FFF 86.78%, rgba(81, 120, 173, 0.26) 119.52%, rgba(37, 86, 152, 0.07) 119.53%), #FFF;
    box-shadow: 0 0 32px 0 rgba(12, 233, 137, 0.08);
}
.form-content.background-white .form-check-label {
    color: var(--black);
}
.form-content.background-white .label_input {
    color: #666;
}
.form-content.background-white .form-select, 
.form-content.background-white .form-control {
    color: var(--black);
    border-color: #666;
    background-color: #E8E8E8;
}
.form-content.background-white .form-check-input {
    border-color: var(--primary);
}
.form-content.background-white .input-icon::after {
    color: #666;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M216 64C229.3 64 240 74.7 240 88L240 128L400 128L400 88C400 74.7 410.7 64 424 64C437.3 64 448 74.7 448 88L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 88C192 74.7 202.7 64 216 64zM216 176L160 176C151.2 176 144 183.2 144 192L144 240L496 240L496 192C496 183.2 488.8 176 480 176L216 176zM144 288L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 288L144 288z" fill="%23666"/></svg>');
    background-color: #E8E8E8;
}
.form-content.background-white .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
/* ========================================
   SPECIAL PAGES
   ======================================== */
.ty-page {
    padding-block: 3rem;
}
.ty-page .hero {
    height: 100%;
}
.ty-page .hero .container {
    justify-content: center;
    height: 100%;
}
.ty-page .container-bg {
    padding: 3rem 1.5rem; 
    border-radius: 24px;
    background: rgba(0, 0, 0, 0.45);
    background-blend-mode: multiply;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25), 0 0 32px 0 rgba(12, 233, 137, 0.08);
    backdrop-filter: blur(22.5px);
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media only screen and (max-width: 1992px) and (min-width: 1280px) {
    .container-fluid.px-lg-5 {
        padding-inline: 6rem !important;
    }
}
@media only screen and (max-width: 991px) {
    .form-check-label {
        flex: 1;
    }
    
    .ty-page {
        padding-block: 0;
    }
    
    /* Reduce content-visibility complexity on mobile */
    .block, .hero, .form-content, .banner, .navbar, .footer {
        contain: layout;
        content-visibility: visible;
    }
}

@media only screen and (max-width: 376px) {
    .container, .container-fluid {
        padding-inline: 0;
    }
}