@font-face {
    font-family: 'SF Pro Display';
    src: url('../fonts/SFProDisplay-Regular.woff2') format('woff2'),
    url('../fonts/SFProDisplay-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SF Pro Display';
    src: url('../fonts/SFProDisplay-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SF Pro Display';
    src: url('../fonts/SFProDisplay-Semibold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

:root {
    --color-navy: #011929;
    --color-gold: #c8a96b;
    --header-height: 5.75rem;
}
html, body{
    overflow-x: hidden;
}
html {
    scroll-padding-top: calc(var(--header-height) + 1rem);
}

body {
    padding-top: var(--header-height);
    line-height: 1.2;
    font-family: 'SF Pro Display', sans-serif;
}

.container {
    width: 100%;
    max-width: 120rem;
    margin-inline: auto;
    padding-inline: 3.75rem;
}

/* Shared fixed header: all layout dimensions use REM and the existing getScale(). */
.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 100;
    background: var(--color-navy);
    color: #fff;
}

.site-header__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    min-height: 5.75rem;
    padding-block: 1rem;
}

.site-header__nav {
    display: flex;
    align-items: center;
    gap: 2.1875rem;
    justify-self: start;
}

.site-header__nav a,
.site-header__language {
    color: #fff;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.3125;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.site-header__nav a:hover,
.site-header__nav a:focus-visible {
    color: var(--color-gold);
}

.site-header__nav .site-header__contact {
    position: absolute;
    right: 8.25rem;
    top: 47%;
    transform: translateY(-50%);
}

.site-header__logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 11.25rem;
    height: 3.75rem;
}

.site-header__brand {
    display: block;
    width: 100%;
    height: auto;
}

.site-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
}

.site-header__language {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    line-height: 1.2;
    background: transparent;
    padding: 0;
}

.language-switcher {
    position: relative;
    padding-block: 0.5rem;
    margin-block: -0.5rem;
}

.language-switcher__dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1;
    /*min-width: 5rem;*/
    padding: 0.375rem;
    background: var(--color-navy);
    border: 2px solid rgba(200, 169, 107, 0.4);
    box-shadow: 0 0.5rem 1.5rem rgba(1, 25, 41, 0.15);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-0.375rem);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
}

.language-switcher.is-open .language-switcher__dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.language-switcher__option {
    display: block;
    width: 100%;
    padding: 0.625rem 0.75rem;
    background: transparent;
    color: #fff;
    font: inherit;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1rem;
    text-align: left;
    transition: color 0.22s ease, background-color 0.22s ease;
}

.language-switcher__option:hover,
.language-switcher__option:focus-visible,
.language-switcher__option.is-selected {
    color: var(--color-gold);
    background: rgba(200, 169, 107, 0.08);
}

.site-header__language img {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}

.site-header__toggle {
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    background: transparent;
    color: #fff;
    font-size: 1.5rem;
}

.site-header a:focus-visible,
.site-header__language:focus-visible,
.language-switcher__option:focus-visible,
.site-header__toggle:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: 0.375rem;
}

.mob_block {
    display: none !important;
}

/* Shared actions. */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 1rem 1.875rem;
    color: #010000;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3125;
    letter-spacing: -0.02em;
    text-align: center;
}

.btn--gold {
    width: 18.75rem;
    background: linear-gradient(101.13deg, #fdd993 0%, #b37e3d 99.938%);
    position: relative;
}
.btn--gold:after{
    position: absolute;
    content: "";
    inset: 0;
    background: #E0B76B;
    transition: all 0.35s;
    opacity: 0;
}
.btn--white {
    background: #fff;
}

.btn--white:hover {
    background: #efe8df;
    color: #010000;
}

.btn--gold > span {
    position: relative;
    z-index: 1;
}

.btn--gold:hover {
    color: black;
}
.btn--gold:hover:after{
    opacity: 1;
}
.btn:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: 0.375rem;
}

/* Figma 1440 x 464. Use the same desktop scale as the fixed header. */
.hero {
    position: relative;
    min-height: 29rem;
    isolation: isolate;
    background: var(--color-navy);
    color: #fff;
}

.hero__image {
    position: absolute;
    inset: 0;
    z-index: -2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero__shade {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: -1;
    width: 52.625rem;
    max-width: 100%;
    background: linear-gradient(90deg, #02111b 0%, rgba(3, 13, 28, 0.8) 46.563%, rgba(5, 20, 37, 0.5) 73.19%, transparent 100%);
    /*-webkit-backdrop-filter: blur(0.59375rem);*/
    /*backdrop-filter: blur(0.59375rem);*/
}

.hero__content {
    padding-block: 5.8125rem 7.1875rem;
}

.hero__eyebrow {
    width: fit-content;
    max-width: 100%;
    margin: 0 0 1.25rem;
    background: linear-gradient(125.714deg, #fdd993 0%, #b37e3d 99.938%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-family: 'Cormorant', Georgia, serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.hero__title {
    margin: 0;
    font-family: 'Cormorant', Georgia, serif;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.hero__appointment {
    margin-top: 3.2375rem;
}

.section-title {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.slider-controls {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.slider-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3.125rem;
    height: 3.125rem;
    padding: 0;
    background: transparent;
    border: 2px solid currentColor;
    border-radius: 50%;
    color: inherit;
    transition: background-color 0.25s, border-color 0.25s;
}

.slider-control img {
    display: block;
    width: 0.375rem;
    height: 0.875rem;
    object-fit: contain;
}

.slider-control:hover {
    background: rgba(200, 169, 107, 0.15);
    border-color: var(--color-gold);
}

.services {
    margin-top: 5rem;
    padding-block: 2.5rem;
    background: var(--color-navy);
    color: #fff;
}

.services__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.services__controls {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

.services__all,
.text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.0625rem;
    min-height: 3.125rem;
    padding-block: 0.625rem;
    border-block: 2px solid currentColor;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.services__all img,
.text-link img {
    display: block;
    width: 1.875rem;
    height: 1rem;
    object-fit: contain;
}
.services__all img{
    filter: brightness(0) invert(1);
    transition: all 0.35s;
    transform: translateX(0px);
}
.services__all:hover img{
    filter: none;
    transform: translateX(-5px);
}
.services__all:hover,
.text-link:hover {
    color: var(--color-gold);
}

.services__slider {
    overflow: hidden;
}

.services__slider:not(.slick-initialized) {
    display: flex;
}

.services__slide {
    flex-shrink: 0;
    width: 19.6875rem;
    margin-right: 1.25rem;
}

.service-card,
.doctor-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-width: 0;
    background: #efe8df;
    color: #010000;
}

.service-card {
    flex: 1;
    min-height: 20.25rem;
}

.services__slider .slick-track,
.doctors__slider .slick-track {
    display: flex;
    align-items: stretch;
}

.services__slider .services__slide.slick-slide {
    display: flex;
    height: auto;
}

.service-card__image {
    display: block;
    width: 100%;
    height: 12.25rem;
    object-fit: cover;
}

.service-card__body {
    padding: 1.25rem;
}

.service-card__footer {
    padding: 0 1.25rem 1.25rem;
}

.service-card__title {
    margin: 0;
    color: #010000;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.service-card__more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 0.625rem;
    color: var(--color-gold);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.service-card__more img {
    display: block;
    width: 1.5rem;
    height: 0.75rem;
    object-fit: contain;
    transition: transform 0.25s;
}

.service-card:hover .service-card__more img,
.doctor-card:hover .service-card__more img,
.review-card:hover .service-card__more img {
    transform: translateX(0.25rem);
}

.services a:focus-visible,
.services button:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: -0.25rem;
}

.doctors {
    padding-block: 5rem;
    background: #f3eee8;
    color: #010000;
}

.doctors__slider:not(.slick-initialized) {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
}

.doctors__slider {
    margin-top: 2rem;
}

.doctors__slider.slick-initialized {
    margin-inline: -0.625rem;
}

.doctors__slider .doctor-card.slick-slide {
    display: flex;
    height: auto;
    margin-inline: 0.625rem;
}

.doctors__controls {
    display: none;
}

.doctors__controls img {
    filter: brightness(0);
}

.doctor-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 248 / 247;
    object-fit: cover;
}

.doctor-card__body {
    min-height: 6.25rem;
    padding: 1rem;
}

.doctor-card__footer {
    padding: 0 1rem 1rem;
}

.doctor-card__info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.doctor-card__name {
    margin: 0;
    color: #010000;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.doctor-card__position,
.doctor-card__specialty {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.02em;
}

.doctor-card__position {
    color: var(--color-gold);
}

.doctor-card__specialty {
    color: rgba(1, 0, 0, 0.5);
}

.doctor-card:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: 0.25rem;
}

.service-card__picture,
.doctor-card__picture {
    display: block;
    width: 100%;
    overflow: hidden;
}
.service-card:hover .service-card__picture img{
    transform: scale(1);
}
.doctor-card:hover .doctor-card__picture img{
    transform: scale(1.04);
}
.doctor-card__picture img{
    transition: all 0.35s;
    transform: scale(1);
}
.service-card__picture img{
    transition: all 0.35s;
    transform: scale(1.03);
}
.reviews {
    padding-block: 2.5rem;
    background: var(--color-navy);
    color: #fff;
}

.reviews__head,
.youtube__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    margin-bottom: 2rem;
}

.reviews__controls {
    display: flex;
    align-items: center;
    gap: 3rem;
}

.reviews__caption {
    display: flex;
    align-items: center;
    gap: 0.5625rem;
    margin: 0;
    opacity: 0.7;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
    text-align: center;
    white-space: nowrap;
}

.reviews__caption::before,
.reviews__caption::after {
    content: '';
    width: 1.625rem;
    height: 2px;
    background: currentColor;
}

.reviews__slider {
    overflow: hidden;
}

.reviews__slider:not(.slick-initialized),
.reviews__slider .slick-track {
    display: flex;
    align-items: stretch;
}

.reviews__slider .reviews__slide {
    display: flex;
    flex-shrink: 0;
    width: 15.5rem;
    height: auto;
    margin-right: 1.25rem;
}

.review-card {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    min-height: 23.875rem;
    height: 100%;
    background: #efe8df;
    color: #010000;
}
.review-card:hover{
    color: #010000;
}
.review-card__media {
    position: relative;
    min-height: 20.375rem;
    flex: 1;
}

.review-card__picture {
    display: block;
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.review-card__picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.reviews__slide--blur .review-card__picture img {
    filter: blur(0.21875rem);
    transition: all 0.35s;
    transform: scale(1.05);
}
.reviews__slide:hover .review-card__picture img{
    filter: blur(0);
}
.review-card__play,
.video-play {
    position: absolute;
    top: 8.3125rem;
    left: 50%;
    width: 4.625rem;
    height: 4.625rem;
    object-fit: contain;
    transform: translateX(-50%);
    transition: opacity 0.25s;
}

.review-card:hover .review-card__play {
    opacity: 0.8;
}

.review-card__footer {
    padding: 1.25rem;
    flex-shrink: 0;
}

.review-card--video .review-card__footer {
    padding-block: 1.0625rem 1.4375rem;
}

.review-card__text {
    padding: 1.25rem 1.25rem 0;
}

.review-card__author {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.review-card__name {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.review-card__date {
    color: rgba(1, 0, 0, 0.5);
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.review-card__quote {
    margin: 0;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.reviews__dots {
    display: flex;
    justify-content: center;
    gap: 0.6875rem;
    margin-top: 2rem;
}

.reviews__dots button {
    width: 0.75rem;
    height: 0.75rem;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transition: background-color 0.25s;
}

.reviews__dots button.is-active {
    background: #fff;
}

.reviews a:focus-visible,
.reviews button:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: -0.125rem;
}

.review-dialog {
    display: none;
    width: 38rem;
    max-width: 100%;
    padding: 2.5rem;
    background: #efe8df;
    color: #010000;
    font-family: 'SF Pro Display', sans-serif;
}

.review-dialog .review-card__quote {
    line-height: 1.5;
}

.laboratory {
    position: relative;
    isolation: isolate;
    min-height: 28.75rem;
    padding-block: 3.5rem;
    background: var(--color-navy);
    color: #fff;
}

.laboratory__picture {
    position: absolute;
    inset: 0;
    z-index: -2;
    display: block;
}

.laboratory__picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.laboratory::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.3);
}

.laboratory__content {
    max-width: 57.25rem;
    margin-inline: auto;
    text-align: center;
}

.laboratory__intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.laboratory__title {
    max-width: 53.375rem;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: normal;
}

.laboratory__description {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.laboratory__features {
    display: grid;
    grid-template-columns: 6.625rem 6.625rem 7.3125rem 6.625rem;
    justify-content: center;
    gap: 5.125rem;
    margin: 1.3125rem 0 0;
    padding: 0;
    list-style: none;
}

.laboratory__feature {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    min-height: 6.875rem;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.laboratory__feature:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 1.75rem;
    right: -2.5625rem;
    width: 2px;
    height: 3.375rem;
    background: rgba(255, 255, 255, 0.7);
}

.laboratory__feature > span:last-child {
    white-space: nowrap;
}

.laboratory__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3.125rem;
    height: 3.125rem;
    border: 2px solid #fff;
    border-radius: 50%;
}

.laboratory__icon img {
    display: block;
    max-width: 2.214rem;
    max-height: 2.103rem;
    object-fit: contain;
}

.youtube {
    padding-block: 2.5rem;
    background: var(--color-navy);
    color: #fff;
}

.youtube__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.youtube-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    height: 100%;
    padding: 0.25rem 0.25rem 0;
    background: #efe8df;
    color: #010000;
}

/* Shared responsive frame for embedded players and maps. */
.embed-frame {
    position: relative;
    overflow: hidden;
}

.embed-frame > .embed-frame__iframe {
    position: absolute;
    inset: 0 auto auto 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.youtube-card__video {
    display: block;
    flex-shrink: 0;
    width: 100%;
    height: 14.19506rem;
    border: 0;
}

.youtube-card__body {
    display: flex;
    flex: 1;
    align-items: center;
    min-height: 3.5rem;
    padding: 0.75rem 1rem;
}

.youtube-card__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.faq {
    padding-block: 5rem;
    background: #f3eee8;
    color: #010000;
}

.faq__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 1.25rem;
    margin-top: 2rem;
}

.faq__column {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.faq__item {
    background: #efe8df;
}

.faq__question {
    margin: 0;
}

.faq__toggle {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
    padding: 1.25rem 1.25rem 1.25rem 1rem;
    background: transparent;
    color: #010000;
    font-family: 'Cormorant', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    text-align: left;
}

.faq__question-text {
    display: flex;
    gap: 0.5rem;
    min-width: 0;
}

/*.faq__item.is-open .faq__question-text {*/
/*    max-width: 30.5625rem;*/
/*}*/

.faq__number {
    flex-shrink: 0;
}

.faq__icon {
    flex-shrink: 0;
    width: 0.875rem;
    height: 0.875rem;
    margin-top: 0.3125rem;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.faq__item.is-open .faq__icon {
    transform: rotate(45deg);
}

.faq__answer {
    display: none;
}


.faq__answer-inner {
    padding: 0.125rem 2.375rem 1.25rem;
    color: rgba(1, 0, 0, 0.5);
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.faq__answer-inner p {
    margin: 0;
}

.faq__toggle:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: -0.25rem;
}

.footer-top {
    background: #f3eee8;
}

.footer-top__picture,
.footer-top__picture img {
    position: static;
    display: block;
    width: 100%;
    height: auto;
}


.site-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--color-navy);
    color: #fff;
    --footer-gold: #f1cc84;
}

.site-footer__decoration {
    position: absolute;
    top: 0;
    z-index: -1;
    display: block;
    pointer-events: none;
}

.site-footer__decoration--left {
    left: 0;
    width: 9rem;
    /*opacity: 0.1;*/
}

.site-footer__decoration--right {
    right: 0;
    width: 7.3125rem;
    /*opacity: 0.2;*/
}

.site-footer__decoration img,
.footer__logo img,
.footer__qr img {
    display: block;
    width: 100%;
    height: auto;
}

.footer__main,
.footer__maps,
.footer__legal {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.footer__separator {
    display: block;
    flex-shrink: 0;
    align-self: stretch;
    width: 2px;
    background: rgba(241, 204, 132, 0.25);
}

.footer__main {
    min-height: 17.25rem;
    padding-block: 1.875rem 2.5rem;
}

.footer__main > .footer__separator {
    min-height: 12.875rem;
}

.footer__request {
    flex-shrink: 0;
    width: 18.75rem;
    padding-block: 1.375rem;
    text-align: center;
}

.footer__request p,
.footer__maps-intro p {
    margin: 1.5rem 0 0;
    font-family: 'Cormorant', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.footer__brand {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    gap: 1.4375rem;
    width: 22.5rem;
}

.footer__logo {
    display: block;
    width: 100%;
}

.footer__socials {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.footer__socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 4.25rem;
    height: 4.25rem;
    border: 0.125rem solid currentColor;
    border-radius: 50%;
    color: var(--footer-gold);
    font-size: 2rem;
    line-height: 1;
}

.footer__socials a:hover {
    background: rgba(241, 204, 132, 0.1);
}

.footer__contacts {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    gap: 1.5rem;
    width: 18.75rem;
}

.footer__contacts h2,
.footer__map h3 {
    margin: 0;
    font-family: 'Cormorant', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.02em;
}

.footer__contacts h2 {
    color: var(--footer-gold);
}

.footer__contact {
    display: flex;
    align-items: flex-start;
    gap: 0.5625rem;
    margin: 0;
    color: #fff;
    font-size: 1rem;
    font-style: normal;
    line-height: 1;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.footer__contact img {
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    object-fit: contain;
}

a.footer__contact:hover,
.footer__map-link:hover {
    color: var(--footer-gold);
}
.footer__map-link:hover{
    opacity: 0.9;
}
.footer__map-link img{
    transition: all 0.35s;
}
.footer__map-link:hover img{
    transform: translateX(5px);
}
.footer__maps-row {
    border-block: 2px solid rgba(241, 204, 132, 0.25);
}

.footer__maps {
    width: calc(100% - 2.0625rem);
    padding-block: 2.5rem;
}

.footer__maps-intro {
    flex-shrink: 0;
    width: 16.9375rem;
}

.footer__maps-intro h2 {
    margin: 0;
    color: var(--footer-gold);
    font-family: 'Cormorant', Georgia, serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.footer__maps-intro p {
    margin-top: 1.25rem;
}

.footer__map {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 9.3125rem;
}

.footer__qr {
    display: block;
    width: 5.375rem;
}

.footer__map-link,
.footer__details {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    color: var(--footer-gold);
    font-family: 'Cormorant', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.footer__map-link img,
.footer__details img {
    display: block;
    flex-shrink: 0;
    width: 1.5rem;
    height: 0.75rem;
    object-fit: contain;
}

.footer__map-link {
    white-space: nowrap;
}

.footer__legal {
    align-items: center;
    min-height: 7.125rem;
    padding-block: 0.9375rem 1.9375rem;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.footer__legal > .footer__separator {
    min-height: 4.25rem;
}

.footer__copyright,
.footer__legal-links {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    gap: 0.625rem;
    width: 20.25rem;
}

.footer__legal p {
    margin: 0;
    opacity: 0.5;
}

.footer__ownership {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    max-width: 36.5rem;
}

.footer__ownership p {
    max-width: 23rem;
}

.footer__details {
    flex-shrink: 0;
    gap: 1.5rem;
    padding: 1rem 1.875rem;
    border: 2px solid currentColor;
}

.footer__details:hover {
    background: rgba(241, 204, 132, 0.1);
    color: var(--footer-gold);
}

.footer__legal-links {
    align-items: flex-end;
    gap: 0.75rem;
    width: 13.25rem;
    text-align: right;
}

.footer__legal-links a {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: underline;
}
.footer__legal-links a:hover{
    text-decoration: none;
    color: rgba(255, 255, 255, 0.8);
}
.site-footer a:focus-visible,
.site-footer button:focus-visible {
    outline: 0.125rem solid var(--footer-gold) !important;
    outline-offset: 0.25rem;
}

/* Shared interior page layout. Header clearance is handled by body. */
.page {
    padding-block: 2rem 3.75rem;
    background: #f3eee8;
    color: #010000;
}

.breadcrumbs {
    margin-bottom: 2rem;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs li {
    display: flex;
    align-items: center;
}

.breadcrumbs li + li::before {
    content: '/';
    margin-right: 0.25rem;
    color: #010000;
}

.breadcrumbs a {
    color: inherit;
}

.breadcrumbs a:hover,
.breadcrumbs [aria-current="page"] {
    color: #d1982a;
}

.site-header__nav a[aria-current="page"] {
    color: #fdd993;
}

.page-section {
    margin-top: 5rem;
}

.content-split {
    display: grid;
    grid-template-columns: minmax(0, 648fr) minmax(0, 710fr);
    align-items: center;
    gap: 1.375rem;
    padding-right: 0;
}

.content-split__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.875rem;
    min-width: 0;
}

.content-split__subtitle {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.content-split__picture,
.feature-split__picture {
    display: block;
    min-width: 0;
}

.content-split__picture img,
.feature-split__picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-split__picture {
    height: 23.125rem;
}

.page-copy {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.page-copy p {
    margin: 0;
}

.page-copy p + p {
    margin-top: 1.5rem;
}

.text-link {
    color: var(--color-gold);
    border-block-width: 0.09375rem;
}

.clinic-mission {
    margin-top: 5.625rem;
}

.feature-split {
    display: grid;
    grid-template-columns: minmax(0, 697fr) minmax(0, 743fr);
    background: var(--color-navy);
    color: #fff;
}

.feature-split__picture {
    min-height: 26.75rem;
}

.feature-split__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    min-width: 0;
    min-height: 26.75rem;
    padding: 3.75rem;
}

.feature-split__body .section-title {
    max-width: 35.9375rem;
}

.feature-split__body .page-copy {
    color: rgba(255, 255, 255, 0.6);
}

.section-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.5625rem;
    margin: 0;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
    opacity: 0.7;
}

.section-eyebrow::before,
.section-eyebrow::after {
    content: '';
    width: 1.625rem;
    height: 2px;
    background: currentColor;
}

.clinic-benefits {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding-block: 2.5rem;
    border-top: 2px solid #0e2c40;
    background: var(--color-navy);
    color: #fff;
}

.clinic-benefits__item {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.clinic-benefits__separator {
    content: '';
    width: 2px;
    height: 5rem;
    flex-shrink: 0;
    background: linear-gradient(#fdd993, #b37e3d);
}

.clinic-benefits__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 5rem;
    height: 5rem;
    border: 2px solid #c8a96b;
    border-radius: 50%;
}

.clinic-benefits__icon img {
    display: block;
    width: 3.125rem;
    height: auto!important;
    object-fit: scale-down;
}

.clinic-benefits p {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.certificates__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3.125rem;
    margin-bottom: 2rem;
}

.certificates .slider-control {
    color: var(--color-gold);
}

.certificates .slider-control img {
    filter: brightness(0) saturate(100%) invert(74%) sepia(22%) saturate(683%) hue-rotate(1deg) brightness(89%) contrast(88%);
}

.certificates .slider-control:disabled {
    cursor: default;
}

.certificates__slider {
    min-width: 0;
}

.certificate {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin: 0;
}

.certificate__link {
    display: block;
    width: 32.625rem;
    max-width: 100%;
}

.certificate picture,
.certificate img {
    display: block;
    width: 100%;
    height: auto;
}

.certificate figcaption {
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
    text-align: center;
}

/* Service catalogue uses the same cards as the home carousel. */
.service-catalog {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.service-catalog > .services__slide {
    display: flex;
    width: auto;
    max-width: none;
    margin: 0;
    scroll-margin-top: calc(var(--header-height) + 1rem);
}

.service-catalog .service-card__title {
    overflow-wrap: anywhere;
}

.service-catalog a:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: -0.25rem;
}

.page-banner {
    position: relative;
    padding-right: 0;
}

.page-banner picture,
.page-banner img {
    display: block;
    width: 100%;
}

.page-banner img {
    height: 26.75rem;
    object-fit: cover;
}

.treatment-benefits {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.treatment-benefits__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: 14.0625rem;
    min-width: 0;
    text-align: center;
}

.treatment-benefits__item:nth-child(3) {
    width: 13.0625rem;
}

.treatment-benefits__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    border: 2px solid #b58d3c;
    border-radius: 50%;
}

.treatment-benefits__icon img {
    display: block;
    width: 2.8rem!important;
    height: 2.8rem!important;
    object-fit: scale-down;
}

.treatment-benefits__body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.treatment-benefits h2,
.treatment-benefits h3 {
    /*white-space: nowrap;*/
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.treatment-benefits p {
    margin: 0;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
    color: rgba(1, 0, 0, 0.5);
}

/* Technology banner keeps its image in picture and overlays readable copy. */
.page-banner::before {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 60.208333%;
    background: linear-gradient(90deg, #011929 0%, rgba(1, 25, 41, 0.92) 60%, rgba(1, 25, 41, 0) 100%);
    pointer-events: none;
}

.page-banner__content {
    position: absolute;
    z-index: 2;
    top: 5.25rem;
    left: 3.75rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2rem;
    width: 40.625rem;
    min-height: 16.1875rem;
    color: #fff;
}

.page-banner__content .section-title {
    max-width: 35.9375rem;
}

.page-banner__content .page-copy {
    color: rgba(255, 255, 255, 0.6);
}

/* Service detail: compose the shared split layout, cards and benefit items. */
.service-intro .content-split__picture {
    height: 29.375rem;
}

.treatment-benefits--implantation .treatment-benefits__item {
    width: 15.6875rem;
}

.treatment-benefits--implantation .treatment-benefits__item:first-child {
    width: 14.9375rem;
}

.treatment-benefits--implantation .treatment-benefits__item:nth-child(2) {
    width: 16.0625rem;
}

.treatment-benefits--implantation .treatment-benefits__body {
    gap: 0.75rem;
}



.treatment-benefits--implantation .treatment-benefits__item:last-child .treatment-benefits__icon img {
    width: 1.9375rem;
}

.implantation-options {
    padding-block: 2.5rem;
    background: var(--color-navy);
    color: #fff;
}

.implantation-options__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 2rem;
}

.service-card__caption {
    margin: 0.5rem 0 0;
    color: rgba(1, 0, 0, 0.5);
    font-size: 1rem;
    font-style: italic;
    line-height: 1;
    letter-spacing: -0.02em;
}

.detail-split {
    display: grid;
    grid-template-columns: minmax(0, 710fr) minmax(0, 610fr);
    gap: 3.75rem;
    align-items: center;
    padding-left: 0;
}

.detail-split__picture {
    display: block;
    min-width: 0;
    height: 23.125rem;
}

.detail-split__picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detail-split__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem;
    min-width: 0;
}

.clinic-expertise__columns {
    display: grid;
    grid-template-columns: minmax(0, 266fr) minmax(0, 301fr);
    gap: 2.6875rem;
    width: 100%;
}

.clinic-expertise ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.clinic-expertise li {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 3.625rem;
}

.clinic-expertise__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3.625rem;
    height: 3.625rem;
    border: 2px solid #b58d3c;
    border-radius: 50%;
}

.clinic-expertise__icon img {
    display: block;
    width: 1.95rem;
    height: 2.1125rem;
    object-fit: scale-down;
}

.clinic-expertise p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.service-film {
    display: grid;
    grid-template-columns: minmax(0, 648fr) minmax(0, 712fr);
    align-items: center;
    gap: 1.25rem;
    padding-right: 0;
    background: var(--color-navy);
    color: #fff;
}

.service-film__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem;
}

.service-film__body .page-copy {
    line-height: 1;
}

.service-film__video {
    position: relative;
    display: block;
    height: 23.125rem;
}

.service-film__video picture, .service-film__poster {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-film__video .video-play {
    top: 50%;
    transform: translate(-50%, -50%);
}

.service-film__video:hover .video-play {
    opacity: 0.8;
}

.service-film__video:focus-visible, .implantation-options a:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: -0.25rem;
}

.detail-split--cta {
    background: #f8f6f3;
}

.detail-split--cta .detail-split__picture {
    height: 22.875rem;
}

#service-consultation {
    scroll-margin-top: calc(var(--header-height) + 1rem);
}

/* Team page reuses the same doctor cards as the home slider. */
.page--team .page-copy {
    color: rgba(1, 0, 0, 0.6);
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 2rem;
}

.team-grid .doctor-card {
    min-height: 23.6875rem;
    scroll-margin-top: calc(var(--header-height) + 1rem);
}

.team-grid .doctor-card__footer {
    display: flex;
}

.team-grid .doctor-card__image {
    height: 15.4375rem;
    aspect-ratio: auto;
}

.team-approach {
    grid-template-columns: minmax(0, 697fr) minmax(0, 626fr);
    padding-right: 3.5625rem;
}

.team-approach .detail-split__picture {
    height: 23.625rem;
}

.team-approach .detail-split__body {
    gap: 1.875rem;
}

.team-advantages {
    padding-block: 2.5rem;
    background: #f8f4ef;
}

.team-advantages > .treatment-benefits {
    margin-top: 2rem;
    min-height: 12rem;
}

.treatment-benefits--team .treatment-benefits__item:nth-of-type(1) {
    width: 11.375rem;
}

.treatment-benefits--team .treatment-benefits__item:nth-of-type(2) {
    width: 13.4375rem;
}

.treatment-benefits--team .treatment-benefits__item:nth-of-type(3) {
    width: 14.8125rem;
}

.treatment-benefits--team .treatment-benefits__item:nth-of-type(4) {
    width: 14.1875rem;
}

.treatment-benefits--team .treatment-benefits__item:first-child .treatment-benefits__icon img {
    width: 2.5625rem;
    height: 2.5rem;
}

.treatment-benefits--team .treatment-benefits__item:nth-of-type(2) .treatment-benefits__icon img {
    width: 3rem;
    height: 3rem;
}

.treatment-benefits--team .treatment-benefits__body {
    width: 100%;
}

.treatment-benefits--team h3 {
    white-space: nowrap;
}

.team-stat {
    font-size: 2.25rem;
}

.team-stat-plus {
    font-size: 2rem;
}

.treatment-benefits__separator {
    align-self: center;
    flex-shrink: 0;
    width: 2px;
    height: 8.25rem;
    background: linear-gradient(#fdd993, #b37e3d);
}

/* Doctor profile uses the shared page, benefit icons and image banner. */
.doctor-intro .content-split__picture {
    height: 22.625rem;
}

.doctor-specialties {
    padding-block: 2.5rem;
    background: #f8f4ef;
}

.doctor-specialties__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 6.625rem;
}

.doctor-specialties__item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.doctor-specialties__item:nth-of-type(1) {
    width: 19.3125rem;
}

.doctor-specialties__item:nth-of-type(2) {
    width: 15.625rem;
}

.doctor-specialties__item:nth-of-type(3) {
    width: 16.4375rem;
}

.doctor-specialties__item:nth-of-type(4) {
    width: 18rem;
}

.doctor-specialties__item .treatment-benefits__icon {
    flex-shrink: 0;
}

.doctor-specialties__item:first-child .treatment-benefits__icon img {
    width: 2.0625rem;
    height: 3.125rem;
}

.doctor-specialties h2 {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.doctor-specialties .treatment-benefits__separator {
    height: 6.625rem;
}

.doctor-biography {
    display: grid;
    grid-template-columns: minmax(0, 640fr) minmax(0, 360fr) minmax(0, 440fr);
    align-items: stretch;
}

.doctor-biography__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: 30.625rem;
    padding: 2.5rem 2.5rem 2.5rem 3.75rem;
    background: var(--color-navy);
    color: #fff;
}

.doctor-biography__lead {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.doctor-biography__body .page-copy {
    color: rgba(255, 255, 255, 0.6);
}

.doctor-biography__picture {
    display: block;
    min-width: 0;
}

.doctor-biography__picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.doctor-quote {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2rem;
    min-width: 0;
    margin: 0;
    padding: 2.5rem;
    overflow: hidden;
    background: #efe8df;
}

.doctor-quote__content, .doctor-quote__author {
    position: relative;
    z-index: 1;
}

.doctor-quote__content {
    max-width: 20rem;
}

.doctor-quote__mark {
    display: block;
    width: 4.8125rem;
    height: 3.75rem;
    margin-bottom: 2.75rem;
    object-fit: contain;
}

.doctor-quote__content p {
    margin: 0;
    font-size: 1.375rem;
    font-style: italic;
    line-height: 1;
    letter-spacing: -0.02em;
}

.doctor-quote__author {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.doctor-quote__author cite {
    font-size: 1.5rem;
    font-weight: 500;
    font-style: normal;
    line-height: 1;
    letter-spacing: -0.02em;
}

.doctor-quote__author span {
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: rgba(1, 0, 0, 0.6);
}

.doctor-quote__ornament {
    position: absolute;
    top: -0.5625rem;
    right: 0;
    display: block;
    width: 6.3125rem;
    height: 32.6875rem;
    overflow: hidden;
    transform: scaleX(-1);
    pointer-events: none;
}

.doctor-quote__ornament img {
    position: absolute;
    top: 0;
    left: -171.75%;
    display: block;
    width: 970.06%;
    max-width: none;
    height: 100%;
}

.doctor-statistics {
    padding-block: 1.875rem;
    background: #f8f4ef;
}

.treatment-benefits--profile {
    align-items: center;
    min-height: 10.75rem;
}

.treatment-benefits--profile .treatment-benefits__item {
    gap: 1rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(1) {
    width: 11.75rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(2) {
    width: 9.0625rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(3) {
    width: 10.3125rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(4) {
    width: 16.5625rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(-n+2) h2 {
    font-size: 2.25rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(3) h2 {
    font-size: 2rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(1) .treatment-benefits__icon img {
    width: 2.5625rem;
    height: 2.5rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(2) .treatment-benefits__icon img {
    width: 3.75rem;
    height: 3.375rem;
}

.treatment-benefits--profile .treatment-benefits__item:nth-of-type(3) .treatment-benefits__icon img {
    width: 3.875rem;
    height: 2.25rem;
}

.profile-digital {
    padding-left: 8.4375rem;
}

.profile-digital::before {
    /*backdrop-filter: blur(0.59375rem);*/
    background: linear-gradient(90deg, #011929 0%, rgba(4, 16, 27, 0.8) 32.212%, rgba(7, 22, 40, 0.5) 60.096%, transparent 100%), linear-gradient(90deg, #011929 0%, rgba(6, 24, 46, 0.8) 52.885%, rgba(7, 24, 40, 0.5) 80.288%, transparent 100%);
}

.profile-digital .page-banner__content {
    top: 2.8125rem;
    width: 37.875rem;
    min-height: 0;
    justify-content: flex-start;
    gap: 1.875rem;
}

.doctor-memberships__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 1.25rem;
    margin-top: 2rem;
}

.membership-card {
    display: flex;
    flex-direction: column;
    gap: 4.0625rem;
    min-height: 29.1875rem;
    padding: 1.875rem;
    background: #f8f4ef;
}

.membership-card__header {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: start;
    gap: 2.1875rem;
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.membership-card__header > span {
    color: var(--color-gold);
    font-size: 2rem;
}

.membership-card h3 {
    margin: 0;
    font: inherit;
    font-size: 1.75rem;
}

.membership-card ul {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.membership-card li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: start;
    gap: 2.1875rem;
    color: rgba(1, 0, 0, 0.8);
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.membership-card li::before {
    content: '';
    width: 2rem;
    height: 1.5rem;
    background: url('../img/team-card/profile-list-marker.svg') center / contain no-repeat;
}

/* Laboratory page: the hero includes breadcrumbs at the shared page offset. */
.image-hero {
    overflow: hidden;
    position: relative;
    min-height: 31.125rem;
    margin-top: -2rem;
    padding-top: 2rem;
    background: var(--color-navy);
    color: #fff;
}

.image-hero__picture, .image-hero__blur {
    position: absolute;
    inset: 0;
    display: block;
}

.image-hero__picture img, .image-hero__blur img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-hero::before, .image-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.image-hero::before {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.34) 45.793%, transparent 100%);
}

.image-hero::after {
    right: auto;
    width: 69.097222%;
    background: linear-gradient(90deg, #02111b 0%, rgba(3, 13, 28, 0.8) 46.563%, rgba(5, 20, 37, 0.5) 73.19%, transparent 100%);
}

.image-hero__inner {
    position: relative;
    z-index: 1;
}

.image-hero .breadcrumbs {
    margin-bottom: 0;
}

.image-hero .breadcrumbs li + li::before {
    color: #fff;
}

.image-hero .breadcrumbs [aria-current="page"] {
    color: #f1cc84;
}

.image-hero__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    width: 36.25rem;
    margin-top: 3.6875rem;
}

.page--laboratory .image-hero h1 {
    margin: 0;
    font-family: 'Cormorant', Georgia, serif;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.02em;
}

.image-hero__subtitle {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.image-hero .page-copy {
    color: rgba(255, 255, 255, 0.6);
}

.laboratory-technologies__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.laboratory-technologies__header .section-eyebrow span {
    width: 11.5rem;
    text-align: center;
    opacity: 0.8;
}

.laboratory-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
}

.laboratory-card .service-card__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    min-height: 8rem;
}

.laboratory-card .service-card__title {
    overflow-wrap: anywhere;
}

.laboratory-card .page-copy {
    color: rgba(1, 0, 0, 0.6);
}

.laboratory-products {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-block: 2.5rem;
    background: var(--color-navy);
    color: #fff;
}

.laboratory-products .laboratory-card {
    min-height: 16.875rem;
}

.laboratory-products .service-card__image {
    height: 10rem;
}

.laboratory-products .service-card__body {
    min-height: 6.875rem;
}

.laboratory-products__note {
    color: rgba(255, 255, 255, 0.6);
    font-style: italic;
}

.laboratory-benefits {
    padding-block: 2.5rem;
    background: #f8f4ef;
}

.laboratory-benefits > .treatment-benefits {
    min-height: 13rem;
    margin-top: 2rem;
    gap: 1rem;
}

.treatment-benefits--laboratory .treatment-benefits__item {
    min-height: 13rem;
}

.treatment-benefits--laboratory .treatment-benefits__item:nth-of-type(1) {
    width: 14.25rem;
}

.treatment-benefits--laboratory .treatment-benefits__item:nth-of-type(2) {
    width: 10.625rem;
}

.treatment-benefits--laboratory .treatment-benefits__item:nth-of-type(3) {
    width: 16.375rem;
}

.treatment-benefits--laboratory .treatment-benefits__item:nth-of-type(4) {
    width: 13.625rem;
}

.treatment-benefits--laboratory .treatment-benefits__item:nth-of-type(5) {
    width: 14.6875rem;
}

.treatment-benefits--laboratory .treatment-benefits__icon {
    flex-shrink: 0;
}

.treatment-benefits--laboratory .treatment-benefits__icon img {
    width: 3.0625rem;
    height: 3rem;
}

.treatment-benefits--laboratory .treatment-benefits__separator {
    height: 10.75rem;
}

.treatment-benefits--laboratory .treatment-benefits__item:last-child .treatment-benefits__body {
    flex: 1;
    justify-content: space-between;
}

.image-hero__blur {
    mask-image: linear-gradient(90deg, #000 0%, #000 32.173%, transparent 69.097222%);
    pointer-events: none;
}

.image-hero__blur img {
    filter: blur(0.59375rem);
}

/* Contacts compose the shared interior hero and common page spacing. */
.contacts-hero {
    min-height: 29rem;
}

.contacts-hero::before {
    inset: 0 auto 0 0;
    z-index: 1;
    width: 52.625rem;
    max-width: 100%;
    background: linear-gradient(90deg, #02111b 0%, rgba(3, 13, 28, 0.8) 46.563%, rgba(5, 20, 37, 0.5) 73.19%, transparent 100%);
}

.contacts-hero::after {
    display: none;
}

.contacts-hero .image-hero__inner {
    z-index: 2;
}

.contacts-hero .image-hero__content {
    width: 40.5rem;
    margin-top: 4.4375rem;
    gap: 1.875rem;
}

.contacts-hero .page-copy {
    max-width: 31.25rem;
    color: #fff;
}

.contacts-hero .breadcrumbs [aria-current="page"] {
    color: #d1982a;
}

.contact-methods {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    padding-block: 1.875rem;
    background: var(--color-navy);
    color: #fff;
}

.contact-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: 1.875rem;
    border: 2px solid #2e3c46;
    text-align: center;
}

.contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3.25rem;
    height: 3.25rem;
    border: 2px solid #f1cc84;
    border-radius: 50%;
}

.contact-icon img {
    display: block;
    width: 1.875rem;
    height: 1.875rem;
    object-fit: contain;
}

.contact-tile__details {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.125rem;
    min-width: 0;
}

.contact-tile__value {
    margin: 0;
    color: #fff;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.875rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

a.contact-tile__value {
    /*text-decoration: underline;*/
    /*text-underline-position: from-font;*/
    border-bottom: 1px solid white;
}
a.contact-tile__value:hover{
    border-color: transparent;
}
.contact-tile__caption {
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.contact-tile__caption a {
    color: inherit;
}

.contact-tile a:hover {
    color: var(--color-gold);
}

.contact-tile a:focus-visible {
    outline: 0.125rem solid var(--color-gold) !important;
    outline-offset: 0.25rem;
}

.contacts-location__grid {
    display: grid;
    grid-template-columns: minmax(0, 762fr) minmax(0, 538fr);
    align-items: start;
    gap: 1.25rem;
    margin-top: 2rem;
}

.contacts-map {
    height: 38.25rem;
    min-width: 0;
    background: #e7e2dc;
}

.contacts-location__details {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    min-width: 0;
}

.contacts-location__picture {
    display: block;
    height: 30.4375rem;
}

.contacts-location__picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contacts-address {
    display: flex;
    align-items: flex-start;
    gap: 2.4375rem;
}

.contact-icon--address {
    border-color: #c8a96b;
}

.contact-icon--address img {
    width: 2rem;
    height: 2rem;
}

.contacts-address__details {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.625rem;
    min-height: 5.3125rem;
}

.contacts-address h3 {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}

.contacts-address address {
    font-size: 1rem;
    font-style: normal;
    line-height: 1;
    letter-spacing: -0.02em;
}

/* Desktop REM sizing. Below 992px, getScale() controls the root font size. */
@media screen and (min-width: 1850px) {
    html {
        font-size: 21px !important;
    }
}

@media screen and (max-width: 1850px) and (min-width: 1750px) {
    html {
        font-size: 19px !important;
    }
}

@media screen and (max-width: 1750px) and (min-width: 1650px) {
    html {
        font-size: 18px !important;
    }
}

@media screen and (max-width: 1650px) and (min-width: 1550px) {
    html {
        font-size: 17px !important;
    }
}

@media screen and (max-width: 1550px) and (min-width: 1400px) {
    html {
        font-size: 16px !important;
    }
}

@media screen and (max-width: 1400px) and (min-width: 1350px) {
    html {
        font-size: 15px !important;
    }
}

@media screen and (max-width: 1350px) and (min-width: 1250px) {
    html {
        font-size: 13.5px !important;
    }
}

@media screen and (max-width: 1250px) and (min-width: 1150px) {
    html {
        font-size: 13px !important;
    }
}

@media screen and (max-width: 1150px) and (min-width: 1050px) {
    html {
        font-size: 12px !important;
    }
}

@media screen and (max-width: 1050px) and (min-width: 992px) {
    html {
        font-size: 11px !important;
    }
}
