:root {
    --fs-display: 9.6rem;
    --fs-h1: 8rem;
    --fs-h2: 6rem;
    --fs-h3: 4rem;
    --fs-h4: 3rem;
    --fs-h5: 3rem;
    --fs-body: max(18px, 2rem);
    --fs-small: max(18px, 1.8rem);
    --fs-button: max(16px, 2.2rem);
    --fs-nav: max(16px, 2rem);
    --space-cta: 4rem;
    --space-buttons: 1.6rem;
    --bs-font-sans-serif: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --bs-body-font-size: var(--fs-body);
    --bs-body-line-height: 1.5;
    --bs-body-color: #000;
    --bs-body-color-rgb: 0, 0, 0;
    --bs-body-bg: var(--color-soft-white);
    --bs-body-bg-rgb: 247, 245, 242;
    --bs-primary: var(--color-terracotta);
    --bs-primary-rgb: 166, 124, 101;
    --bs-dark: var(--color-naval-blue);
    --bs-dark-rgb: 47, 61, 76;
    --bs-light: #f7f7f7;
    --bs-light-rgb: 247, 247, 247;
    --bs-link-color-rgb: 0, 0, 0;
    --bs-link-hover-color-rgb: 0, 0, 0;
    --radius: 10px;
    --color-warm-sand: #d8c3a5;
    --color-naval-blue: #2f3d4c;
    --color-soft-white: #f7f5f2;
    --color-terracotta: #a67c65;
    --color-dark: var(--color-naval-blue);
    --color-light: #f7f7f7;
    --color-muted: #a7a5ad;
    --color-line: #4a4850;
    --ease-spring: linear(0, 0.015 2%, 0.054 4%, 0.108 6%, 0.171 8%, 0.239 10%, 0.341 13%, 0.438 16%, 0.555 20%, 0.675 25%, 0.767 30%, 0.847 36%, 0.908 43%, 0.954 52%, 0.982 64%, 0.995 80%, 1);
    scroll-behavior: auto;
}

html {
    font-size: min(calc(100vw / 192), 10px);
    scrollbar-width: none;
}

html::-webkit-scrollbar {
    display: none;
}

body {
    overflow-x: clip;
}

a {
    text-decoration: none;
}

img,
video {
    display: block;
    max-width: 100%;
}

.ratio {
    overflow: hidden;
    border-radius: var(--radius);
}

.ratio img {
    object-fit: cover;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
p {
    margin: 0;
}

.display-1 {
    font-size: var(--fs-display);
    font-weight: 400;
    line-height: 1;
}

.display-1,
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    letter-spacing: 0;
    text-transform: uppercase;
}

h1, .h1 {
    font-size: var(--fs-h1);
    font-weight: 400;
    line-height: 1;
}

h2, .h2 {
    font-size: var(--fs-h2);
    font-weight: 400;
    line-height: 1;
}

h3, .h3 {
    font-size: var(--fs-h3);
    font-weight: 400;
    line-height: 1.2;
}

h4, .h4 {
    font-size: var(--fs-h4);
    font-weight: 400;
    line-height: 1.3333;
    text-transform: uppercase;
}

h5, .h5 {
    font-size: var(--fs-h5);
    font-weight: 400;
    line-height: 1.3333;
}

p {
    font-size: var(--fs-body);
    line-height: 1.5;
    text-wrap: pretty;
}

small,
.small {
    font-size: var(--fs-small);
    line-height: 1.5;
}

hr {
    margin: 0;
    border: 0;
    border-top: .25rem solid var(--color-naval-blue);
    opacity: 1;
}

.bg-naval {
    background-color: var(--color-naval-blue);
    color: #fff;
}

.bg-soft {
    background-color: var(--color-soft-white);
}

.container {
    --bs-gutter-x: 10.1rem;
    max-width: none;
}

.container-fluid {
    --bs-gutter-x: 10.1rem;
}

.row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

#smooth-content {
    padding-top: 8.4rem;
}

header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
    padding: 3.2rem 0 0;
    border-bottom: 1px solid transparent;
    transition: padding .6s var(--ease-spring), border-color .4s;
}

header::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: rgba(247, 245, 242, .55);
    box-shadow: inset 0 -1px 0 rgba(47, 61, 76, .06), 0 1.2rem 3.2rem -1.6rem rgba(47, 61, 76, .25);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    opacity: 0;
    transition: opacity .4s, inset .6s var(--ease-spring), border-radius .6s var(--ease-spring), background-color .4s, box-shadow .4s;
    pointer-events: none;
}

header > .container-fluid {
    transition: padding .6s var(--ease-spring);
}

header.is-compact {
    padding: 1rem 0;
    border-bottom-color: rgba(247, 245, 242, .6);
}

header.is-compact::before {
    opacity: 1;
}

.logo {
    display: block;
    width: max(200px, 26rem);
    transform-origin: left center;
    transition: transform .6s var(--ease-spring);
}

.logo {
    position: relative;
}

.logo img {
    width: 100%;
    height: auto;
}

.logo .logo-blue,
.logo canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.logo .logo-white {
    visibility: hidden;
}

body:has(.hero-overlay) .logo .logo-white {
    visibility: visible;
}

body:has(.hero-overlay) .logo .logo-blue {
    opacity: 0;
}

body:has(.hero-overlay) .logo.is-swapping img {
    visibility: hidden;
}

header.is-compact .logo {
    transform: scale(.8);
}

header .btn {
    margin-left: 4rem;
}

.nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0;
    --bs-nav-link-font-size: var(--fs-nav);
    --bs-nav-link-font-weight: 700;
    --bs-nav-link-color: #000;
    --bs-nav-link-hover-color: var(--color-terracotta);
    position: relative;
    flex-wrap: nowrap;
    gap: 3.2rem;
}

.nav-link {
    text-transform: uppercase;
}

header .nav {
    --bs-nav-link-font-size: 14px;
    --bs-nav-link-font-weight: 400;
    align-items: center;
}

header .nav-link {
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    line-height: 1.2;
}

.nav-dropdown-toggle .bi {
    display: block;
    line-height: 1;
}

.nav-dropdown-toggle .bi::before {
    vertical-align: 0;
}

.nav-link.active {
    color: var(--color-terracotta);
}

.nav::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: var(--indicator-width, 0);
    height: .2rem;
    background-color: var(--color-terracotta);
    transform: translate(var(--indicator-x, 0), var(--indicator-y, 0));
    pointer-events: none;
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-toggle {
    display: flex;
    gap: .8rem;
    align-items: center;
}

.nav-dropdown-toggle .bi {
    font-size: .6em;
    transition: transform .4s var(--ease-spring);
}

.nav-dropdown.is-open .nav-dropdown-toggle {
    color: var(--color-terracotta);
}

.nav-dropdown.is-open .nav-dropdown-toggle .bi {
    transform: rotate(180deg);
}

.nav-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 10;
    width: max(300px, 38rem);
    padding-top: 2.4rem;
    visibility: hidden;
    opacity: 0;
    transform: translate(-50%, 1.2rem);
    transition: opacity .25s, visibility .25s, transform .5s var(--ease-spring);
}

.nav-dropdown.is-open .nav-menu {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
}

.nav-menu-list {
    margin: 0;
    padding: 1rem;
    list-style: none;
    border: 1px solid rgba(247, 245, 242, .7);
    border-radius: var(--radius);
    background-color: rgba(247, 245, 242, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 2.4rem 4.8rem -1.6rem rgba(47, 61, 76, .35);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
}

.nav-menu-list li + li {
    margin-top: .2rem;
}

.nav-menu-link {
    display: flex;
    gap: 2rem;
    align-items: center;
    padding: 1.6rem 2rem;
    border-radius: .8rem;
    color: var(--color-naval-blue);
    transition: background-color .25s;
}

.nav-menu-link:hover,
.nav-menu-link:focus-visible,
.nav-menu-link.active {
    background-color: rgba(255, 255, 255, .7);
    color: var(--color-naval-blue);
}

.nav-menu-link:focus-visible {
    outline: .2rem solid var(--color-terracotta);
    outline-offset: -.2rem;
}

.nav-menu-title {
    display: block;
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: uppercase;
    transition: color .25s;
}

.nav-menu-text {
    display: block;
    margin-top: .6rem;
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: -.02em;
    text-transform: uppercase;
    color: rgba(47, 61, 76, .65);
}

.nav-menu-link:hover .nav-menu-title,
.nav-menu-link:focus-visible .nav-menu-title,
.nav-menu-link.active .nav-menu-title {
    color: var(--color-terracotta);
}

.nav-menu-link .icon-arrow {
    flex-shrink: 0;
    width: 1.6rem;
    height: 1.6rem;
    margin-left: auto;
    color: var(--color-terracotta);
    opacity: 0;
    transform: translateX(-.8rem);
    transition: opacity .25s, transform .4s var(--ease-spring);
}

.nav-menu-link:hover .icon-arrow,
.nav-menu-link:focus-visible .icon-arrow {
    opacity: 1;
    transform: translateX(0);
}

.btn {
    --bs-btn-padding-x: max(16px, 2rem);
    --bs-btn-padding-y: 0;
    --bs-btn-font-size: max(15px, 1.8rem);
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 1;
    --bs-btn-border-width: 1px;
    --bs-btn-border-radius: var(--radius);
    --bs-btn-focus-box-shadow: none;
    display: inline-flex;
    gap: 2rem;
    align-items: center;
    justify-content: center;
    height: max(46px, 5rem);
    text-transform: uppercase;
    white-space: nowrap;
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    transition: color .3s, background-color .3s, border-color .3s;
}

.buttons {
    display: flex;
    gap: var(--space-buttons);
}

p + .btn,
p + .buttons {
    margin-top: var(--space-cta);
}

.btn:focus-visible {
    outline: .2rem solid var(--color-terracotta);
    outline-offset: .3rem;
}

.btn-dark,
.btn-outline-dark {
    --bs-btn-color: var(--color-naval-blue);
    --bs-btn-bg: rgba(47, 61, 76, .06);
    --bs-btn-border-color: rgba(47, 61, 76, .2);
    --bs-btn-hover-color: var(--color-naval-blue);
    --bs-btn-hover-bg: rgba(47, 61, 76, .1);
    --bs-btn-hover-border-color: rgba(47, 61, 76, .35);
    --bs-btn-active-color: var(--color-naval-blue);
    --bs-btn-active-bg: rgba(47, 61, 76, .14);
    --bs-btn-active-border-color: rgba(47, 61, 76, .45);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 1.2rem 3.2rem -1.6rem rgba(47, 61, 76, .3);
}

header .btn-dark {
    --bs-btn-color: var(--color-soft-white);
    --bs-btn-bg: rgba(47, 61, 76, .85);
    --bs-btn-border-color: rgba(247, 245, 242, .2);
    --bs-btn-hover-color: var(--color-soft-white);
    --bs-btn-hover-bg: rgba(47, 61, 76, .95);
    --bs-btn-hover-border-color: rgba(247, 245, 242, .35);
    --bs-btn-active-color: var(--color-soft-white);
    --bs-btn-active-bg: var(--color-naval-blue);
    --bs-btn-active-border-color: rgba(247, 245, 242, .45);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1.2rem 3.2rem -1.6rem rgba(47, 61, 76, .45);
}

.btn-light,
.btn-outline-light,
body:has(.hero-overlay) header:not(.is-compact) .btn-dark {
    --bs-btn-color: var(--color-soft-white);
    --bs-btn-bg: rgba(247, 245, 242, .18);
    --bs-btn-border-color: rgba(247, 245, 242, .45);
    --bs-btn-hover-color: var(--color-soft-white);
    --bs-btn-hover-bg: rgba(247, 245, 242, .28);
    --bs-btn-hover-border-color: rgba(247, 245, 242, .7);
    --bs-btn-active-color: var(--color-soft-white);
    --bs-btn-active-bg: rgba(247, 245, 242, .34);
    --bs-btn-active-border-color: rgba(247, 245, 242, .8);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 1.2rem 3.2rem -1.2rem rgba(47, 61, 76, .45);
}

.btn .icon-arrow {
    width: max(16px, 1.8rem);
    height: max(16px, 1.8rem);
    margin-left: auto;
}

.btn-sm {
    --bs-btn-padding-x: 2.4rem;
    --bs-btn-font-size: max(14px, 1.6rem);
    --bs-btn-border-radius: var(--radius);
    min-width: 0;
    height: 5.2rem;
}

.btn-link {
    --bs-btn-padding-x: 0;
    --bs-btn-color: var(--color-naval-blue);
    --bs-btn-hover-color: var(--color-terracotta);
    --bs-btn-active-color: var(--color-terracotta);
    gap: 1rem;
    min-width: 0;
    height: auto;
    text-decoration: none;
}

.btn-link:hover,
.btn-link:focus-visible {
    text-decoration: none;
}

.btn-link .icon-arrow {
    width: 1.6rem;
    height: 1.6rem;
    margin-left: 0;
}

.btn-frame {
    display: inline-flex;
    align-items: center;
    padding: 0 max(8px, .8rem);
    border: 1px solid rgba(247, 245, 242, .45);
    border-radius: var(--radius);
    background-color: rgba(247, 245, 242, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 1.2rem 3.2rem -1.2rem rgba(47, 61, 76, .45);
    color: var(--color-soft-white);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    transition: background-color .3s, border-color .3s;
}

.btn-frame-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: max(36px, 4rem);
    height: max(46px, 5rem);
}

.btn-frame-label {
    display: flex;
    align-items: center;
    height: max(46px, 5rem);
    padding: 0 max(4px, .4rem) 0 max(16px, 2rem);
    font-size: max(15px, 1.8rem);
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.btn-frame .icon-arrow {
    width: max(16px, 1.8rem);
    height: max(16px, 1.8rem);
    transition: transform .4s var(--ease-spring);
}

.btn-frame:hover {
    border-color: rgba(247, 245, 242, .7);
    background-color: rgba(247, 245, 242, .28);
    color: var(--color-soft-white);
}

.btn-frame:hover .icon-arrow {
    transform: rotate(45deg);
}

.btn-frame-dark,
.btn-frame-dark:hover {
    border-color: rgba(47, 61, 76, .2);
    background-color: rgba(47, 61, 76, .06);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 1.2rem 3.2rem -1.6rem rgba(47, 61, 76, .3);
    color: var(--color-naval-blue);
}

.btn-frame-dark:hover {
    border-color: rgba(47, 61, 76, .35);
    background-color: rgba(47, 61, 76, .1);
}

.btn-frame:focus-visible {
    outline: .2rem solid var(--color-terracotta);
    outline-offset: .3rem;
}

.btn .icon-arrow {
    transition: transform .35s cubic-bezier(.65, 0, .35, 1);
}

.btn:not(.btn-link):hover .icon-arrow {
    transform: rotate(45deg);
}

.btn[aria-expanded="true"] .icon-arrow {
    transform: rotate(90deg);
}

.register > .container-fluid {
    padding-top: 9.9rem;
}

.register h2 + p {
    margin-top: 2rem;
}

.form {
    max-width: 79.5rem;
    margin-top: 5rem;
}

.form .row {
    --bs-gutter-x: 4rem;
    --bs-gutter-y: 2rem;
}

.form-label {
    display: flex;
    gap: 1rem;
    margin-bottom: .4rem;
    padding: 0;
    font-size: var(--fs-small);
    color: var(--color-dark);
}

.form-label span {
    color: var(--color-muted);
}

.form-control,
.form-select {
    height: 6rem;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--color-naval-blue);
    border-radius: 0;
    background-color: transparent;
    font-size: var(--fs-body);
    color: #000;
}

.form-select {
    padding-right: 3.6rem;
    background-position: right 0 center;
}

textarea.form-control {
    height: auto;
    padding: 1.4rem 0;
    line-height: 1.5;
    resize: none;
}

.form-control:focus,
.form-select:focus {
    border-bottom: 2px solid var(--color-naval-blue);
    background-color: transparent;
    box-shadow: none;
}

.form-phone {
    display: flex;
    gap: 2.4rem;
}

.form-phone .form-select {
    flex-shrink: 0;
    width: auto;
}

.form-options {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.6rem;
}

.form-option {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 8rem;
    min-height: 6rem;
    padding: 1.2rem 2rem;
    border: 1px solid var(--color-naval-blue);
    border-radius: var(--radius);
    font-size: var(--fs-body);
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
    transition: background-color .2s, color .2s, border-color .2s;
}

.form-option small {
    margin-top: .4rem;
    font-size: var(--fs-small);
    color: var(--color-muted);
}

.form-options-wide .form-option {
    flex: 0 0 calc(50% - .5rem);
    padding: 2rem 2.4rem;
    text-align: left;
}

.form-option:hover {
    background-color: var(--color-light);
}

.btn-check:checked + .form-option {
    border-color: var(--color-naval-blue);
    background-color: var(--color-naval-blue);
    color: #fff;
}

.btn-check:focus-visible + .form-option {
    outline: .2rem solid var(--color-naval-blue);
    outline-offset: .2rem;
}

.form-control,
.form-select {
    transition: border-color .3s;
}

.form-field .invalid-feedback,
.form-alert {
    display: block;
    min-height: 1.5em;
    margin-top: .8rem;
    font-size: var(--fs-small);
    line-height: 1.5;
    color: var(--color-terracotta);
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s, visibility .3s;
}

.form-field.is-invalid .invalid-feedback,
.form-alert.is-visible {
    visibility: visible;
    opacity: 1;
}

.form-field.is-invalid .form-control,
.form-field.is-invalid .form-select,
.form-field.is-invalid .form-option {
    border-color: var(--color-terracotta);
}

.form-alert {
    margin-bottom: 0;
}

.form-success {
    display: flex;
    align-items: center;
    gap: 2.4rem;
}

.form-success[hidden] {
    display: none;
}

.form-success svg {
    flex-shrink: 0;
    width: 6.4rem;
    height: 6.4rem;
    fill: none;
    stroke: var(--color-terracotta);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.icon-arrow,
.icon-plus {
    display: inline-block;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: center / contain no-repeat;
    mask: center / contain no-repeat;
}

.icon-arrow {
    width: 1.575rem;
    height: 1.575rem;
    -webkit-mask-image: url(../images/icons/arrow.svg);
    mask-image: url(../images/icons/arrow.svg);
}

.icon-plus {
    width: 3.5rem;
    height: 3.5rem;
    -webkit-mask-image: url(../images/icons/plus.svg);
    mask-image: url(../images/icons/plus.svg);
}

.list-links {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--color-naval-blue);
}

.list-links li {
    border-bottom: 1px solid var(--color-naval-blue);
}

.list-links li > a,
.list-links li > button {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    min-height: 8.3rem;
    padding: 1.6rem 0;
    border: 0;
    background: none;
    color: #000;
    text-align: left;
    transition: color .35s, padding .35s cubic-bezier(.65, 0, .35, 1);
}

.list-links li > a::before,
.list-links li > button::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: var(--color-naval-blue);
    transform: scaleY(0);
    transition: transform .35s cubic-bezier(.65, 0, .35, 1);
}

.list-links li > a:hover,
.list-links li > button:hover {
    padding: 1.6rem 2rem;
    color: #fff;
}

.list-links li > a:hover::before,
.list-links li > button:hover::before {
    transform: scaleY(1);
}

.list-links li > button[aria-expanded="true"] {
    padding: 1.6rem 0;
    color: #000;
}

.list-links li > button[aria-expanded="true"]::before {
    transform: scaleY(0);
}

.list-links small {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-width: 15.65rem;
    margin-right: 1.97rem;
    white-space: nowrap;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.list-links .icon-arrow,
.list-links .icon-plus {
    flex-shrink: 0;
    transition: transform .35s cubic-bezier(.65, 0, .35, 1);
}

.list-links [aria-expanded="true"] .icon-arrow {
    transform: rotate(90deg);
}

.list-links [aria-expanded="true"] .icon-plus {
    transform: rotate(45deg);
}

.list-links p {
    padding-bottom: 2.8rem;
}

.list-links p a {
    color: #000;
}

.list-links p a:hover {
    text-decoration: underline;
}

.list-links .collapsing {
    transition: height .5s cubic-bezier(.65, 0, .35, 1);
}

.list-links .collapse p + p,
.list-links p + .buttons {
    margin-top: 0;
}

.list-links .buttons {
    padding-bottom: 4rem;
}

.list-links .ratio {
    border-bottom: 4rem solid transparent;
}

.cards {
    gap: 1.6rem;
    align-items: flex-start;
}

.cards > * {
    flex: 1 1 0;
    min-width: 0;
    transition: flex-grow .6s var(--ease-spring), margin-bottom .6s var(--ease-spring);
}

.cards > :hover,
.cards > :has(:focus-visible) {
    flex-grow: 1.4;
    margin-bottom: calc((100% - 3.2rem) * -.0568);
}

.card {
    --bs-card-border-width: 0;
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-bg: transparent;
    color: inherit;
}

.card-img-top {
    width: 100%;
    aspect-ratio: 460 / 333;
}

.card-body {
    position: relative;
    padding: 5.6rem 0 0;
    margin-top: -10px;
}

.card-body::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1.6rem;
    background-color: var(--color-naval-blue);
    transition: background-color .6s var(--ease-spring);
}

.card:hover .card-body::before,
.card:focus-visible .card-body::before {
    background-color: var(--color-terracotta);
}

.card-title {
    margin: 0;
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    font-size: max(24px, 2.4rem);
    font-weight: 400;
    line-height: 1.2;
    text-transform: uppercase;
}

.card-head {
    display: flex;
    gap: 2.4rem;
    align-items: center;
    justify-content: space-between;
}

.card-cta {
    flex-shrink: 0;
    opacity: 0;
    transition: opacity .6s var(--ease-spring), background-color .3s, border-color .3s;
}

.card:hover .card-cta,
.card:focus-visible .card-cta {
    opacity: 1;
}

.card-subtitle {
    margin-top: 1.2rem;
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: max(12px, 1.4rem);
    line-height: 1.5;
    letter-spacing: -.02em;
    text-transform: uppercase;
    color: rgba(var(--bs-body-color-rgb), .6);
}

.card-text {
    max-width: max(340px, 34rem);
    margin-top: 2.5rem;
    font-size: max(15px, 1.5rem);
    line-height: 1.2;
    letter-spacing: -.01em;
    clip-path: inset(calc(100% + 2.6rem) 0 0);
    transform: translateY(calc(-100% - 2.6rem));
    transition: clip-path .6s var(--ease-spring), transform .6s var(--ease-spring);
}

.card:hover .card-text,
.card:focus-visible .card-text {
    clip-path: inset(0);
    transform: none;
}

.frame {
    position: relative;
    border-radius: var(--radius);
    height: 96vh;
    overflow: hidden;
}

.frame video,
.frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frame .container {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.slider-fade {
    height: 100%;
}

.parallax {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius);
}

.parallax img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pixel-frame {
    position: relative;
    aspect-ratio: 528 / 552;
    overflow: hidden;
    border-radius: var(--radius);
}

.pixel-frame img,
.pixel-frame canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pixel-frame img + img {
    visibility: hidden;
}

.marquee-track {
    display: flex;
    gap: 10px;
    width: max-content;
}

.marquee-track > * {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: var(--radius);
    width: 61.5rem;
    height: 72.7rem;
}

.marquee-track img {
    user-select: none;
    -webkit-user-drag: none;
}

.stack-item {
    position: relative;
    padding: 10.717rem 0 11.2rem;
    border-top: .2rem solid var(--color-naval-blue);
    background-color: var(--color-soft-white);
}

.stack-item .text-uppercase {
    margin-top: .19rem;
}

.stack-item .h2 + p {
    max-width: 64.5rem;
    margin-top: 3.608rem;
}

.stack-item .parallax {
    width: 50.8rem;
    height: 31.4rem;
    margin: .82rem 0 0 auto;
}

a.stack-item {
    color: inherit;
}

.stack-item .h2 {
    transition: color .3s;
}

a.stack-item:hover .h2,
a.stack-item:focus-visible .h2 {
    color: var(--color-terracotta);
}

.hero {
    padding-top: 3.2rem;
}

.hero .container {
    padding-bottom: 4.05rem;
}

.hero-overlay {
    margin-top: -8.4rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background-color: var(--color-naval-blue);
}

.hero-overlay hr {
    border-top-color: var(--color-soft-white);
}

.hero-overlay.bg-soft {
    background-color: var(--color-soft-white);
}

.hero-overlay.bg-soft hr {
    border-top-color: currentColor;
}

body:has(.hero-overlay) header:not(.is-compact) {
    padding-top: 5.2rem;
}

body:has(.hero-overlay) header:not(.is-compact) > .container-fluid {
    --bs-gutter-x: 18.1rem;
}

body:has(.hero-overlay) header:not(.is-compact)::before {
    inset: 3.2rem 6.65rem -2rem;
    border: 1px solid rgba(247, 245, 242, .25);
    border-radius: var(--radius);
    background-color: rgba(47, 61, 76, .35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1.2rem 3.2rem -1.2rem rgba(0, 0, 0, .35);
    opacity: 1;
}

body:has(.hero-overlay) header:not(.is-compact) .nav {
    --bs-nav-link-color: #fff;
    color: #fff;
}

.hero .frame:has(video)::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: rgba(47, 61, 76, .15);
    background-image: radial-gradient(rgba(0, 0, 0, .45) 1px, transparent 1.2px);
    background-size: 3px 3px;
    pointer-events: none;
}

.hero hr {
    margin-top: 2.7rem;
}

.intro {
    padding-bottom: 13.1rem;
}

.intro .col-md-4 {
    padding: 14.1rem 0 0 4.2rem;
}

.eyebrow {
    position: relative;
    padding-left: max(24px, 2.8rem);
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: max(12px, 1.4rem);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.eyebrow::before {
    content: '';
    position: absolute;
    top: .75em;
    left: 0;
    width: max(10px, 1.1rem);
    height: max(10px, 1.1rem);
    border-radius: 50%;
    background-color: var(--color-terracotta);
    transform: translateY(-50%);
}

.bg-primary .eyebrow::before {
    background-color: var(--color-naval-blue);
}

.intro-title {
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    font-size: 9.4rem;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0;
    text-transform: uppercase;
}

.intro .col-md-8 {
    padding: 3.19rem 4rem 0 10.97rem;
}
.mb-10{margin-bottom: 10px;}
.intro-lead {
    margin-bottom: 6rem;
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: max(12px, 1.4rem);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -.02em;
    text-transform: uppercase;
    color: rgba(47, 61, 76, .6);
}

.intro .list-links {
    width: 100%;
    margin-top: 8.58rem;
}

.gallery {
    overflow: clip;
    padding: 9.4rem 0 11.3rem;
}

.message {
    padding: 15.75rem 0 16.1rem;
}

.message .ratio {
    width: 96rem;
    margin-left: 1.05rem;
}

.message .col-md-5 {
    padding: 2.66rem 0 0 5.37rem;
}

.message h1,
.message h2 {
    margin-top: 3.11rem;
}

.message h1 + .h4,
.message h2 + .h4 {
    margin-top: 1.89rem;
}

.message .h4 span {
    margin: 0 .25em;
    font-size: .6em;
    font-weight: 900;
    vertical-align: .22em;
}

.message-title {
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
}

.message .message-meta {
    margin-top: 2.4rem;
    padding-left: 0;
}

.message .message-meta::before {
    content: none;
}

.message .message-meta span {
    margin: 0 .4em;
}

.message .message-lead {
    margin: -6rem 0 9rem;
    max-width: 82ch;
    color: rgba(247, 245, 242, .6);
}

.message .message-text {
    max-width: 52.5rem;
    margin-top: 2.4rem;
}

.message .buttons {
    margin-top: var(--space-cta);
}

.message .series-title {
    font-size: 22px;
    line-height: 1.3;
}

.message .series-title + .series-meta {
    margin-top: 1.2rem;
}

.series-meta + p,
.message .series-title + p {
    max-width: 52.5rem;
    margin-top: 2.32rem;
}

.event-detail {
    padding: 6.1rem 0 9.9rem;
}

.event-layout {
    --bs-gutter-x: 3.2rem;
}

.event-panel {
    padding: 4rem;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: var(--radius);
}

.event-panel > * + * {
    margin-top: 2.4rem;
}

.event-panel > .ratio + h1 {
    margin-top: 4rem;
}

.event-description > * + * {
    margin-top: 2rem;
}

.event-panel > .event-dates {
    margin-top: 6rem;
}

.event-dates > p {
    margin-top: 1.2rem;
}

.event-dates-list {
    margin: 2.4rem 0 0;
    padding: 0;
    list-style: none;
}

.event-dates-list li + li {
    margin-top: 1.6rem;
}

.event-date {
    display: block;
    padding: 2rem 2.4rem;
    border-left: .4rem solid var(--color-naval-blue);
    border-radius: 0 var(--radius) var(--radius) 0;
    background-color: rgba(47, 61, 76, .06);
    color: inherit;
    transition: border-color .3s;
}

.event-date:hover,
.event-date.is-current {
    border-left-color: var(--color-terracotta);
    color: inherit;
}

.event-date strong,
.event-date span {
    display: block;
}

.event-date span {
    margin-top: .4rem;
    font-size: var(--fs-small);
}

.event-facts {
    margin-bottom: 0;
}

.event-facts > div {
    padding: 2rem 0;
    border-top: 1px solid rgba(0, 0, 0, .12);
}

.event-facts > div:first-child {
    padding-top: 0;
    border-top: 0;
}

.event-facts > div:last-child {
    padding-bottom: 0;
}

.event-facts dt {
    margin-bottom: .6rem;
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: max(12px, 1.4rem);
    font-weight: 400;
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.event-facts dd {
    margin: 0;
}

.event-info .buttons {
    flex-wrap: wrap;
    margin-top: 3.2rem;
}

.event-back {
    margin-top: 6rem;
}

.message .h5 + p,
.message h1 + .h4 + p:not(.h5) {
    max-width: 52.5rem;
    margin-top: 2.32rem;
}

.family {
    padding: 7.7rem 0 17.63rem;
}

.family hr {
    margin-bottom: 6.9rem;
}

.family h2 {
    margin-top: .62rem;
}

.family .col-md-5 p {
    max-width: 43rem;
    margin: .93rem 0 0 11.07rem;
}

.family-title {
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
}

.family .cards {
    margin-top: 14.18rem;
}

.banner .container {
    padding-bottom: 5.11rem;
}

.banner .btn {
    min-width: 29.5rem;
    margin-bottom: 1.29rem;
}

.steps {
    padding-top: 4.1rem;
}

.steps .container > .row:first-child {
    margin-bottom: 10.78rem;
}

.steps .container > .row:first-child hr {
    margin-bottom: 5.717rem;
}

.steps .container > .row:first-child .text-uppercase {
    margin-top: 1.608rem;
}

.closing {
    padding: 1rem 0 5rem;
}

.closing-text {
    max-width: 82ch;
    margin: 0;
}

.ministry p,
.checkin p {
    max-width: 79.5rem;
}

.ministry .col-md-8,
.checkin .col-md-8,
.register .col-md-8 {
    padding: 10.59rem 0 0 4.97rem;
}

.ministry h1 + p,
.ministry .h1 + p,
.checkin .h1 + p {
    margin-top: 3.386rem;
}

.ministry {
    padding-top: 6.1rem;
}

.ministry .col-md-4,
.register .col-md-4 {
    padding: 11.78rem 0 0 15.1rem;
}

.hero + .ministry:not(.values) {
    padding-top: .7rem;
}

.hero + .ministry:not(.values) > .container {
    padding-top: 4.32rem;
}

.register .col-md-8 {
    padding-top: 11.78rem;
}

.ministry p + p {
    margin-top: 3.5rem;
}

.ministry .list-links {
    width: 75.1rem;
    margin-top: 3.622rem;
}

.ministry .list-links li:last-child {
    border-bottom: 0;
}

.slider {
    overflow: clip;
    padding: 21rem 0 5rem;
}

.checkin {
    padding: 6.8rem 0 15.5rem;
}

.checkin .col-md-4 {
    padding: 12.178rem 0 0 6rem;
}

.ministry .btn-link {
    min-width: 0;
    padding: 0;
}

.cover {
    padding: 3.7rem 0;
}

.ministry + .cover,
.register + .cover {
    padding-top: 9.9rem;
}

.ministry + .faq,
.register + .faq,
.register + .gallery {
    margin-top: 9.9rem;
}

.faq {
    padding: 13.1rem 0 15rem;
}

.faq .col-md-8 {
    padding-left: 4.97rem;
}

.faq .pixel-frame,
.faq .swap-frame {
    width: 52.8rem;
    margin-top: 0;
}

.faq .h1 {
    margin: 4.4rem 0;
}

.faq hr + h3 {
    margin-top: 8.9rem;
}

.faq h3 + p,
.bg-primary .intro-lead,
.bg-naval .intro-lead {
    color: rgba(247, 245, 242, .7);
}

.beliefs {
    padding-top: 5.2rem;
}

.beliefs-lead {
    padding-left: max(32.6px, 4.24rem);
}

.beliefs-lead .intro-lead {
    max-width: 82ch;
    margin-bottom: 0;
}

.beliefs .col-md-4 {
    padding-top: 7.19rem;
}

.beliefs .col-md-8 {
    padding-top: 6rem;
}

.beliefs .eyebrow::before {
    background-color: var(--color-naval-blue);
}

.beliefs .list-links .h3 {
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    text-transform: uppercase;
    font-size: 3rem;
}

.values-title {
    font-family: 'Special Gothic Expanded One', var(--bs-font-sans-serif);
    font-weight: 400;
    text-transform: uppercase;
}
.fz-4rem {
    font-size: 4rem;
}
.fz-5-1rem {
    font-size: 5.1rem;
}
.ministry .col-md-4 {
    padding-right: 4rem;
}

.ministry .col-md-8,
.checkin .col-md-8,
.faq .col-md-8,
.register .col-md-8 {
    padding-left: 10.97rem;
}

.swap-frame {
    position: relative;
    aspect-ratio: 528 / 552;
    margin-top: 6rem;
    overflow: hidden;
    border-radius: var(--radius);
}

.swap-frame img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    visibility: hidden;
}

.swap-frame img.is-active {
    visibility: visible;
}

.values h3 + p {
    margin-top: 10px;
}

.values p + p {
    margin-top: 2rem;
}

.values p + .btn {
    margin-top: 4rem;
}

.values .btn + h3 {
    margin-top: 8rem;
}

.values-divider {
    margin: 6rem 0 5rem;
}

.faq p + p {
    margin-top: 3rem;
}

.faq p + h3,
.values p + h3,
.values .h1 + h3 {
    margin-top: 5rem;
}

.faq p {
    max-width: 78rem;
}

.chapter {
    padding-bottom: 15rem;
}

[data-theme] hr,
.text-white hr,
.text-white .list-links,
.text-white .list-links li {
    border-color: currentColor;
}

.bg-naval hr,
.bg-dark hr,
.hero-overlay:not(.bg-soft) hr,
[data-theme="dark"] hr {
    border-color: #6b747c;
}

.text-white .list-links li > button,
.text-white .list-links p a {
    color: inherit;
}

.text-white .list-links p a {
    text-decoration: underline;
}

.ministry .list-links {
    margin-top: 5rem;
}

.list-bullets {
    margin: 1rem 0 0;
    padding-left: 2.4rem;
    font-size: var(--fs-body);
    line-height: 1.5;
}

.mission {
    padding-top: 5.5rem;
}

.mission-item {
    position: relative;
}

.hover-reveal {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 20vw;
    height: 25vw;
    opacity: 0;
    pointer-events: none;
    will-change: transform, filter;
}

.hover-reveal__inner,
.hover-reveal__img {
    position: relative;
    width: 100%;
    height: 100%;
}

.hover-reveal__inner {
    overflow: hidden;
    border-radius: var(--radius);
}

.hover-reveal__img {
    background-position: 50% 50%;
    background-size: cover;
}

.mission hr {
    border-top-width: .2rem;
}

.mission-item {
    padding-bottom: 6rem;
}

.mission-item hr {
    margin-bottom: 5.5rem;
}

.mission-item .col-md-3 {
    padding-left: 6rem;
}

.mission-item .col-md-5 {
    padding-left: 6rem;
}

.mission-item .col-md-5 p {
    max-width: 49rem;
}

.mission-item p + p {
    margin-top: 1.2rem;
}

.pastor-divider {
    margin-top: 10rem;
}

.pastor {
    margin-top: 8rem;
}

.pastor img,
.member img {
    width: 100%;
    aspect-ratio: 358 / 414;
    object-fit: cover;
}

.pastor img {
    max-width: 47.4rem;
    aspect-ratio: 1;
}

.pastor .col-md-4 {
    padding-top: 0;
    padding-left: max(32.6px, 4.24rem);
}

.pastor .parallax {
    max-width: 47.4rem;
    aspect-ratio: 1;
}

.pastor .col-md-8 {
    align-self: center;
    padding-top: 0;
}

.pastor h3 + p {
    margin-top: 1rem;
}

.pastor .text-uppercase + p {
    margin-top: 3rem;
}

.members {
    padding-top: 6.1rem;
}

.members .h1 {
    margin: 8rem 0 5rem;
}

.members .row:last-child {
    --bs-gutter-x: 6rem;
}

.member h3 {
    margin-top: 2.4rem;
}

.member h3 + p {
    margin-top: .4rem;
}

.member-bio {
    margin-top: 2rem;
    font-size: var(--fs-small);
    opacity: 0;
    transition: opacity .4s;
}

.member:hover .member-bio,
.member:focus-visible .member-bio {
    opacity: 1;
}

.member:focus-visible {
    outline: .2rem solid currentColor;
    outline-offset: .8rem;
}

.welcome {
    overflow: clip;
}

.faq .btn + h3 {
    margin-top: 10rem;
}

.photo-stack {
    position: relative;
    width: 61.5rem;
    height: 84.7rem;
    margin: 5.1rem 0 0 -8.4rem;
}

.photo-stack img {
    position: absolute;
    top: 0;
    left: 0;
    width: 61.5rem;
    height: 72.7rem;
    object-fit: cover;
    border-radius: var(--radius);
}

.photo-stack img:nth-child(2) {
    top: 3rem;
}

.photo-stack img:nth-child(3) {
    top: 6rem;
    left: 5.3rem;
}

.photo-stack img:nth-child(4) {
    top: 9rem;
    left: 7.4rem;
}

.photo-stack img:nth-child(5) {
    top: 12rem;
    left: 5.3rem;
}

.family .programs {
    --bs-gutter-x: 3.4rem;
    margin-top: 14.18rem;
}

.programs .parallax {
    aspect-ratio: 539 / 278;
    margin-bottom: 2.5rem;
}

.programs h3 + p {
    margin-top: 1.5rem;
}

.programs p + p {
    margin-top: 3rem;
}

.hero-compact .frame {
    height: 60vh;
    min-height: 42rem;
}

.listing {
    padding: 9.9rem 0 15rem;
}

.listing hr {
    margin-bottom: 6.9rem;
}

.filters {
    flex-wrap: wrap;
    row-gap: 2.4rem;
}

.masonry,
.tiles {
    --bs-gutter-x: 3.2rem;
    margin-top: 6rem;
}

.masonry > *,
.tiles > * {
    padding-bottom: 3.2rem;
}

.tiles .tile {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.tiles .tile-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.tiles .tile-body > .small:last-child {
    margin-top: auto;
    padding-top: 1.2rem;
}

.masonry.is-ready {
    position: relative;
}

.masonry.is-ready > * {
    position: absolute;
    top: 0;
    left: 0;
}

.tile {
    display: block;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: var(--radius);
    color: inherit;
    transition: border-color .3s;
}

.tile:hover {
    border-color: var(--color-naval-blue);
    color: inherit;
}

.tile .ratio {
    overflow: hidden;
    background-color: var(--color-light);
}

.tile .ratio img {
    object-fit: cover;
    transition: scale .6s var(--ease-spring);
}

.tile:hover .ratio img {
    scale: 1.04;
}

.tile-body {
    padding: 3rem;
}

.tile-body > * + * {
    margin-top: 1.2rem;
}

.tile-body .text-uppercase {
    color: var(--color-terracotta);
}

.tile-body .h5 {
    transition: color .3s;
}

.tile:hover .h5 {
    color: var(--color-terracotta);
}

.tile-body .small {
    color: rgba(0, 0, 0, .6);
}

.tile-body .clamp {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.tile-body .btn-link {
    margin-top: 2.4rem;
}

.tile-accent .ratio {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.tile-accent .tile-meta,
.series-meta {
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.tile-accent .h5 {
    font-size: 20px;
    color: var(--color-terracotta);
}

.tile-accent:hover .h5,
.tile-accent:focus-visible .h5 {
    color: var(--color-naval-blue);
}

.tile-accent .tile-body .small {
    color: inherit;
}

.tiles .tile-accent .tile-body > .clamp:last-child {
    margin-top: 1.2rem;
    padding-top: 0;
}

.ratio > .tile-tag {
    top: auto;
    right: auto;
    bottom: 1.6rem;
    left: 1.6rem;
    width: auto;
    height: auto;
    padding: .6rem 1.2rem;
    border: 1px solid rgba(247, 245, 242, .25);
    border-radius: var(--radius);
    background-color: rgba(47, 61, 76, .35);
    color: #fff;
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: -.02em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
}

.tags {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

.tags li {
    padding: .4rem 1.2rem;
    border: 1px solid currentColor;
    border-radius: .5rem;
    font-size: max(13px, 1.3rem);
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
}

.player {
    overflow: hidden;
    border-radius: var(--radius);
    background-color: var(--color-dark);
}

.player iframe {
    border: 0;
}

.ratio > .video-play {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9.6rem;
    height: 9.6rem;
    margin: auto;
    border: 1px solid rgba(247, 245, 242, .25);
    border-radius: var(--radius);
    background-color: rgba(47, 61, 76, .35);
    color: #fff;
    font-size: 5.6rem;
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    transition: background-color .3s, border-color .3s;
}

.video-cover:hover .video-play,
.video-cover:focus-visible .video-play {
    border-color: rgba(247, 245, 242, .45);
    background-color: rgba(47, 61, 76, .55);
}

.video-modal.fade {
    transition: opacity .3s linear;
}

.video-modal.fade .modal-dialog {
    transform: none;
}

.video-modal .modal-dialog {
    max-width: 128rem;
}

.video-modal .modal-content {
    gap: 3.2rem;
    border: 0;
    background-color: transparent;
    color: #fff;
}

.video-modal-head {
    display: flex;
    gap: 3.2rem;
    align-items: flex-end;
    justify-content: space-between;
}

.video-modal-title {
    margin-top: 1.6rem;
    font-size: max(22px, 3.2rem);
    line-height: 1.2;
}

.video-modal-meta {
    margin-top: 1.2rem;
    font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 16px;
    letter-spacing: -.02em;
    text-transform: uppercase;
    color: rgba(247, 245, 242, .7);
}

.video-modal-close {
    flex-shrink: 0;
    padding: 0;
}

.video-modal-close .btn-frame-icon {
    width: max(46px, 5rem);
    font-size: max(18px, 2rem);
}

.modal-backdrop {
    --bs-backdrop-bg: rgba(47, 61, 76, .85);
    --bs-backdrop-opacity: 1;
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
}

.modal-backdrop.fade {
    transition: opacity .3s linear;
}

.tile .ratio > .video-play {
    width: 7.2rem;
    height: 7.2rem;
    font-size: 4rem;
    opacity: 0;
    transition: opacity .3s, background-color .3s, border-color .3s;
}

.tile:hover .video-play,
.tile:focus-visible .video-play {
    opacity: 1;
}

footer {
    padding: 12rem 0 5rem;
    color: #fff;
}

footer a {
    color: #fff;
}
.list-links .h3{
    font-size: 3rem !important;
    line-height: 1.5;
}
footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer-logo {
    display: block;
    width: max(240px, 46rem);
}

.footer-logo img {
    width: 100%;
    height: auto;
}

.footer-logo + p,
footer .h2 + p {
    margin-top: 2rem;
}

footer .text-uppercase,
footer .small,
.footer-muted {
    color: var(--color-muted);
}

/* Teléfono del footer con ícono */
.footer-phone {
    display: inline-flex;
    align-items: center;
    gap: max(8px, 1rem);
}

footer .text-uppercase + p,
footer .text-uppercase + ul {
    margin-top: 2rem;
}

footer p + p {
    margin-top: 1.5rem;
}

footer ul {
    margin-bottom: 0;
    font-size: var(--fs-body);
    line-height: 1.5;
}

footer .row + .row {
    margin-top: 14rem;
    padding-top: 3rem;
    border-top: 1px solid var(--color-line);
}


.col-md-3:has(> .eyebrow),
.col-md-4:has(> .eyebrow) {
    padding-left: max(32.6px, 4.24rem);
}

.ministry .row:has(.swap-frame) > .col-md-8 {
    padding-top: 19.1rem;
}
