/* Inner pages, club cards, forms and fixes on top of style.css and media.css */

/* Lenis */
html.lenis, html.lenis body {height: auto;}
.lenis:not(.lenis-autoToggle).lenis-stopped {overflow: clip;}
.lenis [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-smooth iframe {pointer-events: none;}

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

/* Header submenu */
@media (min-width: 993px) {
	.header {position: relative; z-index: 50;}
	.header .main-menu {overflow: visible;}
}
.main-menu .nav li.has-sub {position: relative;}
.main-menu .nav .nav-item.is-current, .footer .nav-item.is-current {color: #fff;}
.menu-top .sub-nav {position: absolute; top: -20px; right: 100%; z-index: 60; margin: 0; padding: 0 24px 0 0; list-style: none; opacity: 0; visibility: hidden; transform: translateX(8px); transition: opacity .3s, transform .3s, visibility .3s;}
.menu-top .sub-nav::before {content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 24px;}
.menu-top .sub-nav li {background: #232121; border-left: 1px solid #575349; border-right: 1px solid #575349;}
.menu-top .sub-nav li:first-child {border-top: 1px solid #575349; padding-top: 16px;}
.menu-top .sub-nav li:last-child {border-bottom: 1px solid #575349; padding-bottom: 16px;}
.menu-top .has-sub:hover .sub-nav, .menu-top .has-sub:focus-within .sub-nav, .menu-top .has-sub.is-open .sub-nav {opacity: 1; visibility: visible; transform: none;}
.menu-top .sub-item {display: block; min-width: 330px; padding: 9px 28px; color: #CEC7C2; font-size: 15px; font-weight: 500; line-height: 130%; text-transform: uppercase; text-decoration: none; text-align: left; white-space: nowrap;}
.menu-top .sub-item:hover, .menu-top .sub-item.is-current {color: #CCBEA5; background: rgba(204, 190, 165, 0.08);}
.mobile-menu .sub-nav {list-style: none; margin: -24px 0 40px 0; padding: 0;}
.mobile-menu .sub-item {display: block; margin: 0 0 14px 0; color: #CEC7C2; font-size: 15px; font-weight: 400; text-decoration: none;}
.mobile-menu .sub-item:hover {color: #CCBEA5;}

/* Footer */
@media (min-width: 1200px) {
	.footer .footer-nav {display: flex; align-items: flex-start;}
}
.footer .footer-nav .footer-services {margin: 0 0 0 56px;}
.footer .footer-nav .footer-services .nav-item {text-transform: none; font-weight: 400; margin: 0 0 16px 0;}

/* Home hero: card and installment buttons on the video */
.main-hero .h1-anons-text p {margin: 0;}
.hero-btns {display: flex; gap: 16px; width: max-content; margin: 32px 0 0 0;}
.hero-btn {display: inline-flex; align-items: center; justify-content: center; min-width: 230px; padding: 17px 32px; border: 1px solid #F2F0E9; border-radius: 52px; background: rgba(22, 21, 21, 0.45); color: #fff; font-family: 'Commissioner', sans-serif; font-size: 18px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.44px; text-align: center; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .3s, color .3s, border-color .3s; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);}
.hero-btn.is-primary {border-color: #CCBEA5; background: #CCBEA5; color: #171616;}
.hero-btn:hover, .hero-btn:focus-visible {border-color: #CCBEA5; background: #CCBEA5; color: #171616; text-decoration: none;}
.hero-btn.is-primary:hover, .hero-btn.is-primary:focus-visible {border-color: #F2F0E9; background: #F2F0E9; color: #171616;}

/* Landing fixes */
/* Landing headings are h2 and h3 now, they keep the spacing the old divs had */
body.home h2, body.home h3 {margin-top: 0; margin-bottom: 0;}
.footer .footer-info .logo img {height: auto;}
.serv-more {margin: 0 0 32px 0; color: #fff; font-family: 'Commissioner', sans-serif; font-size: 18px; font-style: italic; font-weight: 500; line-height: 120%; letter-spacing: 1.44px; text-transform: uppercase; text-decoration: none;}
.serv-more .ic {font-size: 28px; margin: 0 0 0 12px;}
.serv-more .ic:before {color: #CCBEA5;}
.serv-more:hover {color: #CCBEA5; text-decoration: none;}
.serv-more:hover .ic {margin: 0 0 0 24px;}
/* Landing services: one row per service page, the preview leads to the page */
.services-section.is-pages .serv-list .serv-button .value {flex: 1 1 auto;}
.services-section.is-pages .serv-list .serv-button .ic {position: relative; z-index: 2; flex: 0 0 auto; margin: 0 0 0 24px; font-size: 28px; opacity: 0; transform: translate3d(-12px, 0, 0); transition: opacity .4s, transform .4s;}
.services-section.is-pages .serv-list .serv-button .ic:before {color: inherit;}
.services-section.is-pages .serv-list .active .serv-button {padding-right: 32px;}
.services-section.is-pages .serv-list .active .serv-button .ic {opacity: 1; transform: none;}
.services-section.is-pages .info-anons p {margin: 0 0 1em 0;}
.services-section.is-pages .info-anons p:last-child {margin: 0;}
.services-section.is-pages .info-images img {width: 100%;}
@media (min-width: 993px) {
	.services-section.is-pages .info-images {height: 420px;}
	.services-section.is-pages .info-images img {height: 100%;}
}
.services-section.is-pages .serv-page-btn {margin: 0 0 40px 0;}
.serv-subs {display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px 0; padding: 0; list-style: none;}
.serv-subs a {display: inline-block; padding: 8px 16px; border: 1px solid rgba(204, 190, 165, 0.5); border-radius: 40px; color: #CEC7C2; font-size: 14px; font-weight: 500; line-height: 130%; text-decoration: none; transition: background .3s, color .3s, border-color .3s;}
.serv-subs a:hover, .serv-subs a:focus-visible {border-color: #CCBEA5; background: #CCBEA5; color: #171616; text-decoration: none;}
.club-section .card-items .item-buy .val-note {margin: -16px 0 20px 0; color: #CEC7C2; font-family: 'Montserrat', sans-serif; font-size: 13px; font-style: normal; line-height: 140%; opacity: .7;}
.club-section .card-items .item-buy a.btn-default {text-decoration: none;}

/* Drawn card when there is no card photo */
.item-card.is-drawn {display: flex; align-items: center; justify-content: center; padding: 20px; background: repeating-linear-gradient(-60deg, rgba(204, 190, 165, 0.14) 0 1px, transparent 1px 34px), linear-gradient(135deg, #34302b 0%, #161515 100%); text-align: center;}
.item-card.is-drawn .drawn-name {position: relative; z-index: 3; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 18px; font-weight: 500; letter-spacing: 3px; line-height: 130%; text-transform: uppercase;}

/* Sections rhythm */
.esf-sec {margin: 0 0 160px 0;}
.esf-sec-title {margin: 0 0 60px 0;}
.esf-subtitle {margin: 0 0 32px 0; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 36px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.44px; text-transform: uppercase;}
h2.title, h3.title {margin-top: 0;}
.esf-text {color: #CEC7C2; font-size: 18px; font-weight: 400; line-height: 160%;}
.esf-text p {margin: 0 0 1em 0;}
.esf-text p:last-child {margin: 0;}
.esf-text b, .esf-text strong {color: #fff; font-weight: 600;}
.esf-text ul {margin: 0 0 1em 0; padding: 0; list-style: none;}
.esf-text ul li {position: relative; padding: 0 0 0 28px; margin: 0 0 8px 0;}
.esf-text ul li:before {content: ""; position: absolute; left: 0; top: .8em; width: 14px; height: 1px; background: #CCBEA5;}
.esf-text a {color: #CCBEA5;}
.esf-lead, .esf-lead p {font-size: 24px; font-weight: 300; line-height: 160%;}
.esf-sec .btn-default {margin-top: 40px; text-decoration: none;}

/* Inner hero */
.inner-hero {margin: 0 0 160px 0;}
.inner-hero.no-image {margin-bottom: 100px;}
.esf-breadcrumbs {margin: 0 0 32px 0; color: rgba(206, 199, 194, 0.6); font-size: 14px; font-weight: 500; letter-spacing: 1px; line-height: 150%; text-transform: uppercase;}
.esf-breadcrumbs p {margin: 0;}
.esf-breadcrumbs a {color: #CCBEA5; text-decoration: none;}
.esf-breadcrumbs a:hover {color: #fff;}
.esf-breadcrumbs .separator {margin: 0 6px; opacity: .6;}
.inner-title {margin: 0; max-width: 1180px; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 80px; font-style: italic; font-weight: 600; line-height: 115%; letter-spacing: 5px; text-transform: uppercase; overflow-wrap: break-word;}
.inner-hero-head {position: relative; z-index: 3;}
.inner-hero-side {flex: 0 0 auto; max-width: 560px; margin: 0 0 0 48px;}
.inner-hero-lead {margin: 0 0 32px 0; color: #E1D7D1; font-family: 'Commissioner', sans-serif; font-size: 24px; font-style: italic; font-weight: 400; line-height: 140%; letter-spacing: .96px;}
.inner-hero-side .btn-default {text-decoration: none;}
.inner-hero-lines {display: flex; justify-content: flex-end; margin: 32px 0 24px 0;}
.inner-hero-lines img {width: 158px;}
.inner-hero-image {position: relative; height: 700px; max-width: 1920px; margin: 0 auto; overflow: hidden;}
.inner-hero-image:before {content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; right: 0; background: linear-gradient(180deg, rgba(19, 19, 19, 0.55) 0%, rgba(19, 19, 19, 0) 40%); pointer-events: none;}
.inner-hero-image img, .svc-media img, .zone-image img, .gallery-image img, .related-image img {display: block; width: 100%; height: 100%; object-fit: cover;}
.inner-plain {padding: 0 0 40px 0;}
.inner-plain .inner-title {margin: 0 0 48px 0;}

/* Intro */
.esf-intro .title {flex: 0 1 760px; margin: 0 40px 0 0;}
.esf-intro-body {flex: 0 1 760px; max-width: 760px;}
.esf-intro-body .esf-text {font-size: 20px; font-weight: 300;}
.esf-intro-cont > .esf-intro-body:only-child {margin: 0 0 0 auto;}

/* Directions: photo and text rows */
.svc-row {padding: 80px 0; border-top: 1px solid rgba(242, 240, 233, 0.2); scroll-margin-top: 40px;}
.svc-row:last-child {border-bottom: 1px solid rgba(242, 240, 233, 0.2);}
.svc-row.is-reverse {flex-direction: row-reverse;}
.svc-media {position: relative; flex: 0 0 50%; max-width: 50%; height: 720px; overflow: hidden;}
.svc-body {flex: 1 1 auto; padding: 24px 0 0 80px;}
.svc-row.is-reverse .svc-body {padding: 24px 80px 0 0;}
.svc-head {margin: 0 0 32px 0;}
.svc-num {flex: 0 0 auto; margin: 10px 32px 0 0; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 24px; font-style: italic; font-weight: 600; opacity: .6;}
.svc-title {margin: 0; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 48px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.92px; text-transform: uppercase;}
.svc-line {width: 1px; height: 72px; margin: 0 0 32px 60px; background: #575349;}
.svc-text {max-width: 640px;}
.svc-body .btn-default {align-self: flex-start;}

/* Cards grid (zones) */
.esf-zones-grid {row-gap: 56px;}
.zone-image {height: 560px; margin: 0 0 28px 0; overflow: hidden;}
.zone-name {margin: 0 0 12px 0; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 32px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 2.4px; text-transform: uppercase;}
.zone-text {max-width: 500px; color: #CEC7C2; font-size: 16px; line-height: 160%;}

/* Figures */
.facts-row {border-top: 1px solid rgba(242, 240, 233, 0.2); border-bottom: 1px solid rgba(242, 240, 233, 0.2);}
.fact {flex: 1 1 0; padding: 48px 40px; border-left: 1px solid rgba(242, 240, 233, 0.2);}
.fact:first-child {padding-left: 0; border-left: 0;}
.fact-value {color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 92px; font-style: italic; font-weight: 600; line-height: 110%; letter-spacing: 4px; white-space: nowrap;}
.fact-label {margin: 12px 0 0 0; color: #CEC7C2; font-size: 16px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; opacity: .7;}

/* Gallery */
.esf-gallery .premium-container {max-width: 1920px; margin: 0 auto; padding: 0 20px;}
.gallery-image {height: 720px; overflow: hidden;}

/* Free text */
.esf-textblock-inner {max-width: 1000px; margin: 0 0 0 auto;}

/* Related */
.related-item {margin: 0 0 20px 0; text-decoration: none;}
.related-item:hover {text-decoration: none;}
.related-image {height: 420px; overflow: hidden;}
.related-image img {transition: transform .8s cubic-bezier(.25, .74, .22, .99);}
.related-item:hover .related-image img {transform: scale(1.05);}
.related-name {padding: 20px 0; border-bottom: 1px solid rgba(242, 240, 233, 0.2); color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 24px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.4px; text-transform: uppercase;}
.related-name .ic {margin: 0 0 0 16px; font-size: 26px; transition: margin .5s;}
.related-name .ic:before {color: #CCBEA5;}
.related-item:hover .related-name .ic {margin-right: -8px;}

/* Club cards: common card picture */
.card-tile .item-card, .card-hero .item-card {position: relative; overflow: hidden; border-radius: 20px; aspect-ratio: 620 / 376; box-shadow: -20px 20px 40px rgba(0, 0, 0, 0.45);}
.card-tile .item-card img, .card-hero .item-card img {display: block; width: 100%; height: 100%; object-fit: cover;}
.card-hero .item-card.is-drawn .drawn-name {font-size: 28px;}

/* Club cards: list */
.cards-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 72px 40px;}
.card-tile-visual {display: block; text-decoration: none;}
.card-tile-visual:hover {text-decoration: none;}
.card-tile-name {margin: 32px 0 12px 0; font-family: 'Commissioner', sans-serif; font-size: 28px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 2px; text-transform: uppercase;}
.card-tile-name a {color: #CCBEA5; text-decoration: none;}
.card-tile-intro {margin: 0 0 24px 0; color: #CEC7C2; font-size: 16px; line-height: 160%;}
.card-tile-actions .btn-default {margin: 8px 0 0 0; text-decoration: none;}
.price-table {width: 100%; margin: 0 0 24px 0; border-collapse: collapse;}
.price-table th {padding: 0 12px 10px 0; color: #CEC7C2; font-size: 12px; font-weight: 500; letter-spacing: 1px; line-height: 130%; text-align: left; text-transform: uppercase; opacity: .6;}
.price-table td {padding: 12px 12px 12px 0; border-top: 1px solid rgba(242, 240, 233, 0.15); color: #CEC7C2; font-size: 15px; line-height: 140%;}
.price-table th:last-child, .price-table td:last-child {padding-right: 0; text-align: right;}
.price-table td:first-child {white-space: nowrap;}
.price-table td:last-child {color: #CCBEA5; font-weight: 600;}
.price-accent {color: #CCBEA5 !important; font-weight: 600;}
.price-table s {opacity: .6;}

/* Family */
.family-box {padding: 64px; border: 1px solid #575349; background: #232121;}
.family-info {flex: 0 0 420px; max-width: 420px; margin: 0 64px 0 0;}
.family-info .title {margin: 0 0 24px 0; font-size: 50px;}
.family-table {flex: 1 1 auto;}
.family-table .price-table td {font-size: 17px; padding-top: 18px; padding-bottom: 18px; vertical-align: middle;}
.family-table .price-table td:last-child {color: inherit;}
.row-btn {padding: 8px 18px; border: 1px solid #CCBEA5; border-radius: 40px; background: none; color: #fff; font-family: 'Commissioner', sans-serif; font-size: 13px; font-style: italic; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; cursor: pointer;}
.row-btn:hover {background: #CCBEA5; color: #171616;}

/* Installment */
.inst-box {padding: 72px 80px; background: #CCBEA5 url('../../images/bg2.webp') no-repeat center; background-size: cover; color: #171616;}
.inst-head {flex: 0 1 620px; margin: 0 48px 0 0;}
.inst-kicker {margin: 0 0 16px 0; font-family: 'Commissioner', sans-serif; font-size: 20px; font-style: italic; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; opacity: .7;}
.inst-title {margin: 0; color: #171616; font-family: 'Commissioner', sans-serif; font-size: 48px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.92px; text-transform: uppercase;}
.inst-body {flex: 0 1 620px;}
.inst-text {margin: 0 0 32px 0; font-size: 18px; font-weight: 500; line-height: 160%;}
.inst-btn {padding: 15px 31px; border: 1px solid #171616; border-radius: 52px; background: none; color: #171616; font-family: 'Commissioner', sans-serif; font-size: 20px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.6px; text-transform: uppercase; cursor: pointer; transition: .3s;}
.inst-btn:hover, .inst-btn:focus {background: #171616; color: #CCBEA5;}

/* FAQ */
.esf-faq-title {flex: 0 0 auto; max-width: 560px; margin: 0 40px 40px 0;}
.faq-list {flex: 0 1 960px; width: 100%;}
.faq-item {border-top: 1px solid rgba(242, 240, 233, 0.2);}
.faq-item:last-child {border-bottom: 1px solid rgba(242, 240, 233, 0.2);}
.faq-q {margin: 0;}
.faq-toggle {padding: 30px 0; border: 0; background: none; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 26px; font-style: italic; font-weight: 500; line-height: 130%; letter-spacing: 1px; cursor: pointer;}
.faq-toggle .value {padding: 0 24px 0 0;}
.faq-plus {position: relative; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; background: rgba(204, 190, 165, 0.1); transition: background .3s;}
.faq-plus:before, .faq-plus:after {content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 2px; margin: -1px 0 0 -8px; background: #CCBEA5; transition: transform .3s, opacity .3s;}
.faq-plus:after {transform: rotate(90deg);}
.faq-toggle:not(.collapsed) .faq-plus {background: #CCBEA5;}
.faq-toggle:not(.collapsed) .faq-plus:before {background: #171616;}
.faq-toggle:not(.collapsed) .faq-plus:after {transform: rotate(0); opacity: 0;}
.faq-a {max-width: 820px; padding: 0 0 32px 0; color: #CEC7C2; font-size: 18px; line-height: 160%;}

/* Key facts table */
.esf-keyfacts-title {flex: 0 0 auto; max-width: 560px; margin: 0 40px 40px 0;}
.facts-table {flex: 0 1 960px; width: 100%; border-collapse: collapse;}
.facts-table th, .facts-table td {padding: 22px 0; border-top: 1px solid rgba(242, 240, 233, 0.2); vertical-align: top;}
.facts-table tr:last-child th, .facts-table tr:last-child td {border-bottom: 1px solid rgba(242, 240, 233, 0.2);}
.facts-table th {width: 32%; padding-right: 24px; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 18px; font-style: italic; font-weight: 600; letter-spacing: 1px; text-align: left; text-transform: uppercase;}
.facts-table td {color: #CEC7C2; font-size: 18px; line-height: 160%;}
.facts-table a {color: #CCBEA5;}

/* Cards comparison */
.cards-compare {margin: 96px 0 0 0;}
.cards-compare-scroll {overflow-x: auto;}
.compare-table {min-width: 720px;}
.compare-table tbody th {padding: 12px 12px 12px 0; border-top: 1px solid rgba(242, 240, 233, 0.15); font-size: 15px; letter-spacing: 0; text-transform: none; opacity: 1;}
.compare-table tbody th a {color: #CCBEA5; font-weight: 600; text-decoration: none;}

/* Footer address */
.footer .footer-address {margin: 0 0 24px 0; color: #CEC7C2; font-size: 16px; font-style: normal; line-height: 150%;}

/* 404 */
.esf-404 {margin-bottom: 120px;}
.esf-404-links {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; margin: 24px 0 0 0; padding: 0; list-style: none;}
.esf-404-links a {text-decoration: none;}
.esf-404-links a:hover {color: #fff; text-decoration: none;}

/* Closing call to action: same as the landing, the button flows after the title */
.esf-cta {margin: 0 0 64px 0;}
@media (max-width: 1720px) {
	.cont-bottom .btn-default {position: relative; left: auto; bottom: auto; margin: 0 0 0 40px; vertical-align: middle;}
}

/* Club card page: description, one panel for the chosen term, all terms in a table */
.card-hero {margin: 0 0 120px 0;}
.card-hero-info {flex: 1 1 auto; margin: 0 64px 0 0;}
.card-hero-info .inner-hero-lead {max-width: 640px; margin: 32px 0 0 0;}
.card-hero-info .inner-hero-lines {justify-content: flex-start;}
.card-hero-visual {flex: 0 0 600px; max-width: 600px;}
.card-about .esf-lead {margin: 0 0 24px 0;}
.card-buy-title {margin: 0 0 56px 0;}
.card-buy-label {margin: 0 0 20px 0; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 20px; font-style: italic; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase;}
.term-nav {display: flex; margin: 0 0 32px 0; padding: 0; border: 1px solid #CEC7C2; border-radius: 40px;}
.term-pill {flex: 1 1 0; padding: 16px 5px; border: 0; border-radius: 52px; background: none; color: #CEC7C2; font-family: 'Commissioner', sans-serif; font-size: 18px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.44px; text-align: center; text-transform: uppercase; cursor: pointer; transition: .4s;}
.term-pill:hover, .term-pill.active {background: #D9D9D9; color: #171616;}
.term-panel[hidden] {display: none;}
.term-card {border: 1px solid #575349; background: #232121;}
.term-main {flex: 0 0 46%; max-width: 46%; padding: 56px; border-right: 1px solid #575349;}
.term-included {flex: 1 1 auto; padding: 56px;}
.term-name {margin: 0 0 28px 0; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 20px; font-style: italic; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; opacity: .7;}
.term-prices {display: flex; flex-wrap: wrap; align-items: flex-end; margin: 0 0 24px 0;}
.term-prices .tp {margin: 0 48px 16px 0;}
.term-prices .tp:last-child {margin-right: 0;}
.tp-label {margin: 0 0 8px 0; color: #CEC7C2; font-size: 14px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; opacity: .7;}
.tp-value {color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 48px; font-style: italic; font-weight: 600; line-height: 115%; letter-spacing: 1.5px;}
.term-prices .tp.is-member .tp-value {color: #CEC7C2; font-size: 30px;}
.term-facts {margin: 0 0 36px 0; padding: 0; list-style: none;}
.term-facts li {position: relative; margin: 0 0 10px 0; padding: 0 0 0 28px; color: #CEC7C2; font-size: 18px; line-height: 150%;}
.term-facts li:before {content: ""; position: absolute; left: 0; top: .75em; width: 14px; height: 1px; background: #CCBEA5;}
.term-facts li b {color: #fff;}
.term-facts li.is-inst {color: #CCBEA5;}
.term-actions .btn-default {margin: 0 32px 16px 0; text-decoration: none;}
.inst-link {margin: 0 0 16px 0; padding: 0 0 4px 0; border: 0; border-bottom: 1px solid #CCBEA5; background: none; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 18px; font-style: italic; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; cursor: pointer;}
.inst-link:hover {color: #fff; border-color: #fff;}
.term-included-title, .term-table-title {margin: 0 0 28px 0; color: #CCBEA5; font-family: 'Commissioner', sans-serif; font-size: 24px; font-style: italic; font-weight: 600; line-height: 120%; letter-spacing: 1.6px; text-transform: uppercase;}
.check-list {margin: 0; padding: 0; list-style: none;}
.check-list li {display: flex; align-items: flex-start; margin: 0 0 16px 0; color: #CEC7C2; font-size: 18px; line-height: 150%;}
.check-list li:last-child {margin-bottom: 0;}
.check-list li .icon {flex: 0 0 24px; margin: 1px 16px 0 0;}
.check-list li .icon img {width: 24px; height: 24px;}
.check-list li b {color: #fff;}
.term-table {margin: 80px 0 0 0;}
.card-esr .serv-more {margin: 32px 0 0 0;}
.card-price-table {margin: 0;}
.card-price-table th, .card-price-table td {padding: 20px 24px 20px 0; vertical-align: middle;}
.card-price-table thead th {padding-bottom: 14px; font-size: 13px;}
.card-price-table tbody th {border-top: 1px solid rgba(242, 240, 233, 0.15); color: #fff; font-family: 'Commissioner', sans-serif; font-size: 18px; font-style: italic; font-weight: 600; letter-spacing: 1px; white-space: nowrap; opacity: 1;}
.card-price-table td {font-size: 18px;}
.card-price-table th:first-child {padding-left: 20px;}
.card-price-table th:last-child, .card-price-table td:last-child {padding-right: 20px;}
.card-price-table tbody tr {transition: background .4s;}
.card-price-table tbody tr.is-active {background: rgba(204, 190, 165, 0.1);}
.card-price-table tbody tr.is-active th {color: #CCBEA5;}

/* Forms in modals */
.esf-modal .modal-form .form-title {margin: 0 0 16px 0;}
.esf-modal .form-subtitle {margin: 0 0 40px 0; color: #CEC7C2; font-size: 15px; line-height: 150%; text-align: center;}
.esf-modal .input-container {margin: 0 0 32px 0;}
.esf-modal .input[readonly] {color: #CCBEA5; border-bottom-color: rgba(204, 190, 165, 0.3);}
.esf-modal .field-label {display: block; margin: 0 0 12px 0; color: #CEC7C2; font-size: 13px; font-weight: 500; letter-spacing: 1px; text-align: center; text-transform: uppercase; opacity: .7;}
.esf-modal select.input {appearance: none; -webkit-appearance: none; text-align-last: center; background: none; cursor: pointer;}
.esf-modal select.input option {color: #171616;}
.esf-modal .choice-group {margin: 0 0 32px 0; text-align: center;}
.esf-modal .wpcf7-radio {display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px;}
.esf-modal .wpcf7-radio .wpcf7-list-item {margin: 0;}
.esf-modal .wpcf7-radio label {margin: 0; cursor: pointer;}
.esf-modal .wpcf7-radio input {position: absolute; opacity: 0; pointer-events: none;}
.esf-modal .wpcf7-radio .wpcf7-list-item-label {display: inline-block; padding: 8px 18px; border: 1px solid rgba(204, 190, 165, 0.5); border-radius: 40px; color: #CEC7C2; font-size: 14px; line-height: 140%; transition: .3s;}
.esf-modal .wpcf7-radio input:checked + .wpcf7-list-item-label {border-color: #CCBEA5; background: #CCBEA5; color: #171616;}
.esf-modal .wpcf7-radio input:focus-visible + .wpcf7-list-item-label {outline: 2px solid #fff; outline-offset: 2px;}
.esf-modal .wpcf7-acceptance {display: block; margin: 0 0 8px 0; color: #CEC7C2; font-size: 13px; line-height: 150%; text-align: left;}
.esf-modal .wpcf7-acceptance .wpcf7-list-item {margin: 0;}
.esf-modal .wpcf7-acceptance label {display: flex; align-items: flex-start; gap: 10px; cursor: pointer;}
.esf-modal .wpcf7-acceptance input {margin: 3px 0 0 0; accent-color: #CCBEA5;}
.esf-modal .js-recommender, .esf-modal .js-installment-choice {display: none;}
.esf-modal .submit {margin: 24px 0 0 0;}
.esf-modal .submit .value {font-size: 16px; padding: 15px 22px;}
.wpcf7 form.sent .wpcf7-response-output {border-color: #CCBEA5; color: #CEC7C2;}

/* Responsive */
@media (max-width: 1720px) {
	.inner-title {font-size: 64px; letter-spacing: 4px;}
	.svc-media {height: 600px;}
	.svc-title {font-size: 40px;}
	.zone-image {height: 480px;}
	.gallery-image {height: 560px;}
	.fact-value {font-size: 72px;}
	.card-hero-visual {flex-basis: 480px; max-width: 480px;}
	.tp-value {font-size: 40px;}
	.family-info .title {font-size: 44px;}
}

@media (max-width: 1199px) {
	.esf-sec {margin-bottom: 100px;}
	.inner-hero {margin-bottom: 100px;}
	.inner-title {font-size: 52px; letter-spacing: 3px;}
	.inner-hero-side {margin: 32px 0 0 0;}
	.inner-hero-image {height: 520px;}
	.svc-row {padding: 64px 0;}
	.svc-media {height: 520px;}
	.svc-body {padding-left: 48px;}
	.svc-row.is-reverse .svc-body {padding-right: 48px;}
	.svc-title {font-size: 34px;}
	.cards-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.family-box {padding: 48px;}
	.family-info {flex: none; max-width: 100%; margin: 0 0 40px 0;}
	.inst-box {padding: 56px 48px;}
	.inst-head {margin: 0 0 32px 0;}
	.inst-title {font-size: 40px;}
	.card-hero-info {margin: 0 0 48px 0;}
	.esf-intro .title {margin: 0 0 32px 0;}
	.card-hero-visual {max-width: 560px;}
	.term-main, .term-included {padding: 40px;}
	.tp-value {font-size: 36px;}
	.term-prices .tp.is-member .tp-value {font-size: 26px;}
	.fact-value {font-size: 60px;}
}

/* Hero subtitle with the buttons hangs under the title from the left edge, anchored to the right it grew over the title */
@media (max-width: 1199px) {
	.main-hero .h1-container .h1-anons {top: 100%; bottom: auto; left: 0; right: auto;}
}

@media (max-width: 992px) {
	.inner-title {font-size: 42px; letter-spacing: 2px;}
	.inner-hero-lead {font-size: 20px;}
	.inner-hero-image {height: 440px;}
	.svc-media {flex: none; max-width: 100%; width: 100%; height: 440px;}
	.svc-body, .svc-row.is-reverse .svc-body {padding: 40px 0 0 0;}
	.svc-line {height: 40px;}
	.esf-intro-cont > .esf-intro-body:only-child {margin: 0;}
	.faq-toggle {font-size: 22px;}
	.gallery-image {height: 400px; margin: 0 0 20px 0;}
	.term-main {max-width: 100%; border-right: 0; border-bottom: 1px solid #575349;}
	.term-pill {font-size: 14px; padding: 14px 4px;}
	/* Services preview opens under the row: text, directions, button, photo */
	.services-section.is-pages .serv-list .button-cont.active .serv-info {flex-direction: column; align-items: flex-start;}
	.services-section.is-pages .serv-list .button-cont.active .serv-info .info-images {width: 100%;}
}

@media (max-width: 767px) {
	.esf-sec {margin-bottom: 72px;}
	.esf-sec-title {margin: 0 0 32px 0;}
	.esf-subtitle {font-size: 24px; margin: 0 0 20px 0;}
	.esf-text {font-size: 16px;}
	.esf-lead, .esf-lead p, .esf-intro-body .esf-text {font-size: 18px;}
	.esf-breadcrumbs {font-size: 12px; margin: 0 0 20px 0;}
	.inner-hero {margin-bottom: 72px;}
	.inner-title {font-size: 32px; letter-spacing: 1.3px;}
	.inner-hero-lead {font-size: 18px; margin: 0 0 24px 0;}
	.inner-hero-lines {margin: 24px 0 16px 0;}
	.inner-hero-lines img {width: 100px;}
	.inner-hero-image {height: 380px;}
	.svc-row {padding: 40px 0;}
	.svc-media {height: 360px;}
	.svc-head {margin: 0 0 20px 0;}
	.svc-num {font-size: 18px; margin: 6px 16px 0 0;}
	.svc-title {font-size: 26px; letter-spacing: 1px;}
	.svc-line {margin: 0 0 20px 34px; height: 32px;}
	.zone-image {height: 380px; margin: 0 0 20px 0;}
	.zone-name {font-size: 24px; letter-spacing: 1.5px;}
	.esf-zones-grid {row-gap: 40px;}
	.fact {padding: 24px 0; border-left: 0; border-top: 1px solid rgba(242, 240, 233, 0.2);}
	.fact:first-child {border-top: 0;}
	.fact-value {font-size: 48px; letter-spacing: 2px;}
	.gallery-image {height: 348px;}
	.related-image {height: 300px;}
	.related-name {font-size: 20px;}
	.cards-grid {grid-template-columns: minmax(0, 1fr); gap: 56px;}
	.card-tile-name {font-size: 24px; margin-top: 24px;}
	.price-table th {font-size: 11px;}
	.price-table td {font-size: 14px;}
	.family-box {padding: 32px 20px;}
	.family-info .title {font-size: 32px;}
	.family-table .price-table thead {display: none;}
	.family-table .price-table tr {display: flex; flex-wrap: wrap; align-items: center; padding: 16px 0; border-top: 1px solid rgba(242, 240, 233, 0.15);}
	.family-table .price-table td {padding: 4px 16px 4px 0; border: 0; font-size: 15px;}
	.family-table .price-table td:first-child {width: 100%; color: #fff; white-space: normal;}
	.family-table .price-table td:last-child {margin-left: auto; padding-right: 0;}
	.row-btn {padding: 6px 12px; font-size: 12px;}
	.inst-box {padding: 40px 20px; text-align: center;}
	.inst-title {font-size: 30px; letter-spacing: 1px;}
	.inst-text {font-size: 16px;}
	.inst-btn {font-size: 16px; padding: 14px 22px;}
	.esf-faq-title {margin: 0 0 24px 0;}
	.faq-toggle {padding: 22px 0; font-size: 18px;}
	.faq-plus {flex-basis: 40px; width: 40px; height: 40px;}
	.faq-a {font-size: 16px; padding-bottom: 24px;}
	.card-hero {margin-bottom: 64px;}
	.card-hero-visual {flex: none; max-width: 100%;}
	.card-hero .item-card.is-drawn .drawn-name {font-size: 20px;}
	.card-buy-label {font-size: 16px;}
	.term-nav {flex-wrap: wrap !important; border-radius: 28px; margin: 0 0 32px 0;}
	.term-pill {flex: 1 1 30%; font-size: 12px; padding: 12px 4px;}
	.card-buy-title {margin: 0 0 32px 0;}
	.term-main, .term-included {padding: 28px 20px;}
	.tp-value {font-size: 32px;}
	.term-prices .tp.is-member .tp-value {font-size: 24px;}
	.term-facts li, .check-list li {font-size: 16px;}
	.term-included-title, .term-table-title {font-size: 20px; margin: 0 0 20px 0;}
	.term-table {margin-top: 56px;}
	.card-price-table thead {display: none;}
	.card-price-table, .card-price-table tbody {display: block;}
	.card-price-table tbody tr {display: flex; flex-wrap: wrap; padding: 16px 12px; border-top: 1px solid rgba(242, 240, 233, 0.15);}
	.card-price-table tbody tr:last-child {border-bottom: 1px solid rgba(242, 240, 233, 0.15);}
	.card-price-table tbody th, .card-price-table tbody th:first-child {width: 100%; padding: 0 0 8px 0; border: 0; font-size: 16px;}
	.card-price-table td, .card-price-table td:last-child {display: flex; justify-content: space-between; width: 100%; padding: 4px 0; border: 0; font-size: 15px; text-align: right;}
	.card-price-table td:before {content: attr(data-label); margin: 0 16px 0 0; color: #CEC7C2; font-weight: 400; text-align: left; opacity: .6;}
	.term-actions .btn-default .value {font-size: 16px; padding: 15px 20px;}
	.inst-link {font-size: 15px;}
	.cont-bottom .btn-default {margin: 32px 0 0 0;}
	.esf-sec .btn-default .value, .inner-hero .btn-default .value, .esf-cta .btn-default .value {font-size: 16px; padding: 15px 22px;}
	.footer .footer-nav .footer-services {margin: 0;}
	.services-section.is-pages .serv-list .serv-button .ic {font-size: 22px; margin-left: 16px;}
	.services-section.is-pages .serv-list .active .serv-button {padding-right: 20px;}
	.services-section.is-pages .serv-page-btn {margin: 0 0 24px 0;}
	.serv-subs {margin: 0 0 24px 0;}
	.serv-subs a {padding: 7px 14px; font-size: 13px;}
	.hero-btns {flex-direction: column; align-items: flex-start; gap: 12px; width: auto; margin: 24px 0 0 0;}
	.hero-btn {min-width: 240px; padding: 14px 24px; font-size: 15px; letter-spacing: 1.2px;}
	.esf-404-links {grid-template-columns: minmax(0, 1fr);}
	.facts-table th, .facts-table td {display: block; width: 100%;}
	.facts-table th {padding: 18px 0 4px 0;}
	.facts-table td {padding: 0 0 18px 0; border-top: 0; font-size: 16px;}
	.facts-table tr:last-child th {border-bottom: 0;}
	.cards-compare {margin-top: 64px;}
}
