
#app {
  background: var(--color-background);
}
.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--padding-container-main);
  @media (max-width: 560px) {
    padding: var(--padding-container-mobile);
  }
}
.home {
  position: relative;
}
div img {
  width: 100%;
  overflow: hidden;
}
h1, h2, h3, h4 {
  hyphens: auto;
}
.hero-form,
.final-form {
  padding: 18px;
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  background: var(--gradient-surface);
  background-size: cover, cover;
  background-position: center, center;
}
.form-card {
  background: var(--surface-card);
  color: var(--text-strong);
  border: 1px solid var(--border-subtle);
}

.form-card h3,
.form-card .form-title {
  color: var(--text-strong);
}

.form-card p,
.form-card .form-sub {
  color: var(--text-muted);
}

.form-card label {
  color: var(--text-muted);
  font-weight: 600;
}

.form-card input {
  background: var(--input-bg);
  color: var(--text-strong);
  border: 1px solid var(--input-border);
}

.form-card input::placeholder {
  color: var(--text-muted);
}

.form-card input:focus {
  outline: none;
  box-shadow: 0 0 0 4px var(--focus-ring);
  border-color: transparent;
}

/* Site palette and artwork from the supplied homepage design. */
:root {
  --surface-dark: #151a17;
  --surface-card: #1c2420;
  --surface-light: #f5f6f2;
  --text-strong: #f5f6f2;
  --text-muted: #a3ada6;
  --gradient-brand: linear-gradient(100deg, #d0ffb7, #58d9e8);
  --input-bg: #f5f6f2;
  --input-border: #a3ada6;
  --border-subtle: #303833;
  --focus-ring: rgba(88, 217, 232, .25);
  --shadow-soft: 0 4px 24px rgba(0, 0, 0, .12);
  --gradient-surface: var(--surface-card);
  --CDS-color-semantic-surface-foreground-default: #a3ada6;
  --CDS-color-semantic-surface-foreground-subtle: #a3ada6;
  --CDS-color-semantic-surface-default: #1c2420;
}
.header { background: rgba(21, 26, 23, .94); }
.logo-text { background: none; -webkit-text-fill-color: var(--color-text); text-transform: uppercase; }
.logo-icon { width: 24px; max-width: 24px; }
.btn-register, .btn_submit, .burger-menu-btn, .modal-button { background: var(--gradient-brand); color: #151a17; }
.btn-register:hover, .burger-menu-btn:hover { background: var(--gradient-brand) !important; }
.intro { padding: 60px 0 30px; border-radius: 0; background: var(--surface-dark); }
.intro_description, .intro_features li, .textimg_text, .card_text_text { color: var(--text-muted); opacity: 1; }
.intro_features li { align-items: flex-start; }
.intro_features img { flex: 0 0 32px; width: 32px; height: 32px; margin-top: 3px; padding: 4px; background: var(--gradient-brand); }
.form_card { background: rgba(245, 246, 242, .24); backdrop-filter: blur(8px); }
.form_group input { background: var(--surface-light); color: #151a17; border-color: #a3ada6; }
.form_group input::placeholder { color: #a3ada6; }
.form_group input:focus { border-color: #58d9e8; box-shadow: 0 0 0 3px var(--focus-ring); }
.btn_submit { opacity: 1; }
.btn_submit:hover { box-shadow: 0 4px 12px var(--focus-ring); }
.iti__country-list { background: var(--surface-light); color: #151a17; }
/* Keep the phone field compact if the external widget stylesheet is unavailable. */
.iti { position: relative; display: inline-block; }
.iti__hide { display: none; }
.iti__flag-container { position: absolute; top: 0; bottom: 0; left: 0; padding: 1px; }
.iti__selected-flag { display: flex; align-items: center; height: 100%; padding: 0 8px; color: #151a17; }
.iti__country-list { position: absolute; z-index: 100; max-height: 200px; overflow-y: auto; min-width: 250px; padding: 8px; border: 1px solid #a3ada6; }
.iti__country { padding: 5px 8px; cursor: pointer; }
.iti__country.iti__highlight { background: #d0ffb7; }
.iti__dial-code { color: #303833; }
.card { background: var(--surface-card); border-color: var(--surface-card); }
.card_img { background: none; border-radius: 4px; }
.card_img img { width: 50px; height: 50px; object-fit: contain; border-radius: 4px; }
.cards_subtitle { color: var(--text-muted); }
.cols { background: linear-gradient(180deg, #1c2420, #58d9e8); border-radius: 0; }
.cols_title, .cols .cards_subtitle { color: var(--color-text); }
.cols_block_element { background: var(--surface-light); border: 1px solid #303833; padding: 15px}
.cols_block_element_head, .cols_block_element_text { color: #151a17; }
.cols_block_element_text { opacity: .65; }
.list-block_item { background: var(--gradient-brand); border: 0; border-radius: 12px; }
.list-block_number { background: #151a17; color: #d0ffb7; }
.list-block_item-title, .list-block_item-desc { color: #151a17; }
.list-block_item-desc { opacity: .6; }
.list-block_list { width: 100%; }
.numbre_grid { background: linear-gradient(110deg, #58d9e8, #d0ffb7 80%); gap: 20px;  }
.numbre_item { color: #151a17; width: 30%; }
.numbre_item:last-child { width: 100%; }
.numbre_label { font-size: 16px; }
.styles_carouselReviewCard__YIr6O { background: var(--surface-card); border-color: #303833; }
.styles_consumerName__xKr9c { color: var(--color-text); }
.styles_reviewText__q8Zhv { color: var(--text-muted); }
.CDS_Avatar_imageWrapper__dd33e0 img { border-radius: 50%; object-fit: cover; }
.swiper-slide { height: auto; }
.swiper:not(.swiper-initialized) .swiper-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.swiper:not(.swiper-initialized) .swiper-slide { width: auto; min-width: 0; }
.swiper:not(.swiper-initialized) .swiper-pagination,
.swiper:not(.swiper-initialized) .swiper-button-prev,
.swiper:not(.swiper-initialized) .swiper-button-next { display: none; }
.swiper-pagination-bullet { background: #303833 !important; }
.swiper-pagination-bullet-active { background: #58d9e8 !important; }
.faq_item { background: var(--surface-light); color: #151a17; border-color: #a3ada6; }
.faq_item.is-open { border-color: #a3ada6; }
.faq_answer-content { color: #151a17; opacity: .65; }
.faq_icon, .is-open .faq_icon { background: #d0ffb7; opacity: .6; }
.faq_icon::before, .faq_icon::after { background: #303833; }
.faq { padding-bottom: 40px; }
.calc-section { margin-top: 0; padding-bottom: 0; background: linear-gradient(180deg, #101010, #1c2420); }
.calc-section::before { display: none; }
.calc-form, .calc-results__profit { background: var(--surface-light); color: #151a17; border-color: #a3ada6; }
.calc-form__label, .calc-form__value, .calc-results__profit-title, .calc-results__profit-subtitle,
.calc-results__profit-amount, .calc-results__profit-percent, .calc-slider__details,
.calc-results__icon, .calc-results__profit-icon { color: #151a17; }
.calc-results__final, .calc-results__profit-icon-wrap { background: var(--gradient-brand); color: #151a17; }
.calc-slider__background, .calc-results__profit-bar-track { background: #a3ada6; }
.calc-slider__progress, .calc-results__profit-bar-fill { background: var(--gradient-brand); }
.calc-slider__input::-webkit-slider-thumb { background: #303833; border-color: #d0ffb7; box-shadow: none; }
.calc-slider__input::-moz-range-thumb { background: #303833; border-color: #d0ffb7; box-shadow: none; }
.calc-disclaimer__text { color: var(--text-muted); }
.footer { margin-top: 0; border-top: 1px solid #303833; }
.footer-tagline, .footer-disclaimer, .footer-disclaimer-bottom, .footer-bottom,
.footer-nav ul li a, .footer-legal ul li a { color: var(--text-muted); }
.footer-disclaimer { font-style: normal; }
.modal-content { background: var(--surface-card); color: var(--color-text); }
.page-home .intro-hero { background: url('../img/design/bg1.webp') center / cover no-repeat; }
.page-home .intro-final { background: linear-gradient(rgba(16, 16, 16, .6), rgba(16, 16, 16, .6)), url('../img/design/bg2.webp') center / cover no-repeat; }
.page-home .intro-hero .intro_title { background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; }
.page-home .textimg { background: linear-gradient(110deg, #1c2420, #58d9e8); padding-bottom: 30px; }
.page-home .textimg_image img { box-shadow: none; }
.page-home .intro_content, .page-home .textimg_content { max-width: 660px; }
.page-home .cards_wrapper { padding-bottom: 40px; }
.page-home .cols { margin: 0; }
@media (min-width: 1025px) {
  .page-home .intro-hero .intro_block { min-height: 600px; }
  .page-home .intro-final .intro_block { min-height: 570px; }
}
@media (max-width: 1024px) {
  .swiper:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intro_content, .intro_form { width: 100%; }
  .intro_form { max-width: 600px; }
  .page-home .intro_content, .page-home .textimg_content { max-width: 100%; }
  .intro { background-position: 60% center; }
}
@media (max-width: 768px) {
  .numbre_item { width: 100%; }
  .cols { padding: 30px 0; }
  .intro_features img { flex-basis: 28px; width: 28px; height: 28px; }
}
@media (max-width: 654px) {
  .swiper:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: 1fr; }
}

/* About page artwork and surfaces. */
.page-about .intro-hero { background: url('../img/design/bg3.webp') center / cover no-repeat; }
.page-about .intro-final { background: url('../img/design/bg4.webp') center / cover no-repeat; }
.page-about .intro-hero .intro_title { max-width: 660px; background: linear-gradient(160deg, #d0ffb7, #58d9e8); background-clip: text; -webkit-background-clip: text; color: transparent; }
.page-about .intro_content { max-width: 820px; }
.page-about .intro_description, .page-about .intro_features { max-width: 600px; }
.page-about .textimg { background: linear-gradient(180deg, #101010, #1c2420); }
.page-about .textimg_content { max-width: 600px; }
.page-about .textimg_image img { box-shadow: none; }
.page-about .list-block { padding-bottom: 40px; background: linear-gradient(180deg, #1c2420, #101010); }
.page-about .list-block_list { max-width: 1200px; }
.page-about .list-block .cards_subtitle { color: var(--color-text); }
.page-about .cols { margin: 0; }
@media (min-width: 1025px) {
  .page-about .intro_form { flex: 0 0 480px; }
  .page-about .intro-hero .intro_block { min-height: 600px; }
  .page-about .intro-final .intro_block { min-height: 660px; }
}
@media (max-width: 1024px) {
  .page-about .intro_content, .page-about .textimg_content { max-width: 100%; }
}

/* Contact page artwork and support topics. */
.page-contact .intro-hero { background: url('../img/design/bg5.webp') center / cover no-repeat; }
.page-contact .intro-final { background: url('../img/design/bg6.webp') center / cover no-repeat; }
.page-contact .intro-hero .intro_title { background: linear-gradient(180deg, #d0ffb7, #58d9e8); background-clip: text; -webkit-background-clip: text; color: transparent; }
.page-contact .intro_content { max-width: 660px; }
.page-contact .intro_description, .page-contact .intro_features { max-width: 600px; }
.page-contact .cards_wrapper { padding-bottom: 40px; }
.page-contact .cards_subtitle { color: var(--color-text); }
.page-contact .card { border-color: #303833; }
.page-contact .card_text_head { color: #d0ffb7; }
.page-contact .card { box-shadow: none; transition: box-shadow .2s ease; }
.page-contact .card:hover { box-shadow: 0 0 16px rgba(88, 217, 232, .6); }
.page-contact .cols { margin: 0; background: linear-gradient(180deg, #101010, #58d9e8); }
@media (min-width: 1025px) {
  .page-contact .intro_form { flex: 0 0 480px; }
  .page-contact .intro-hero .intro_block { min-height: 600px; }
  .page-contact .intro-final .intro_block { min-height: 660px; }
}
@media (max-width: 1024px) {
  .page-contact .intro_content { max-width: 100%; }
}

/* Registration consent. */
:root {
  --cg-accent: #d0ffb7;
  --cg-border: #a3ada6;
  --cg-size: 1.15rem;
  --cg-radius: .35rem;
  --cg-gap: .6rem;
  --cg-text: inherit;
  --cg-disabled-op: .5;
}
.cg-consent {
  display: flex;
  align-items: flex-start;
  gap: var(--cg-gap);
  font-size: .9rem;
  line-height: 1.45;
  color: var(--cg-text);
  cursor: pointer;
  user-select: none;
}
.cg-consent a { color: var(--cg-accent); text-decoration: underline; }
.cg-consent input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 auto;
  width: var(--cg-size);
  height: var(--cg-size);
  margin: .12em 0 0;
  border: 1.5px solid var(--cg-border);
  border-radius: var(--cg-radius);
  background: transparent;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
  display: grid;
  place-content: center;
}
.cg-consent input[type="checkbox"]::before {
  content: "";
  width: .6em;
  height: .6em;
  transform: scale(0);
  transition: transform .12s ease;
  box-shadow: inset 1em 1em var(--cg-accent);
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
.cg-consent input[type="checkbox"]:checked {
  border-color: var(--cg-accent);
  background: color-mix(in srgb, var(--cg-accent) 12%, transparent);
}
.cg-consent input[type="checkbox"]:checked::before { transform: scale(1); }
.cg-consent input[type="checkbox"]:focus-visible { outline: 2px solid var(--cg-accent); outline-offset: 2px; }
[data-gate-submit]:disabled, [data-gate-submit].is-disabled {
  opacity: var(--cg-disabled-op);
  cursor: not-allowed;
  pointer-events: none;
}
[data-gate-error="true"] .cg-consent input[type="checkbox"]:not(:checked) {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .15);
}
@media (prefers-reduced-motion: reduce) {
  .cg-consent input[type="checkbox"], .cg-consent input[type="checkbox"]::before { transition-duration: .01ms; }
}

/* Current page in desktop and mobile navigation. */
.nav-link.active { color: var(--color-accent); font-weight: 600; }
.nav-link.active::after { display: none; }
.burger-menu a[aria-current="page"] { color: var(--color-accent); font-weight: 600; }

.feature-icon { border-radius: 4px; }

/* Shared spacing for all landing pages. */
:root {
  --section-space: 60px;
  --heading-space: 24px;
  --content-space: 32px;
  --layout-gap: 24px;
}
:is(.page-home, .page-about, .page-contact) > :is(.intro, .calc-section, .textimg, .cards, .cols, .list-block, .numbre, .faq, .footer) {
  padding: var(--section-space) 0;
  margin: 0;
}
:is(.page-home, .page-about, .page-contact) .cards_wrapper { padding: 0; }
:is(.page-home, .page-about, .page-contact) :is(.cards_title, .cols_title, .list-block_title) {
  margin: 0 0 var(--heading-space);
}
:is(.page-home, .page-about, .page-contact) :is(.numbre_title, .faq_title) {
  margin: 0 0 var(--content-space);
}
:is(.page-home, .page-about, .page-contact) .cards_subtitle {
  margin: 0 0 var(--content-space);
}
:is(.page-home, .page-about, .page-contact) :is(.intro_title, .textimg_title) {
  margin-bottom: var(--heading-space);
}
:is(.page-home, .page-about, .page-contact) .intro_description {
  margin-bottom: var(--content-space);
}
.page-home .calc-section__container > h2 { margin: 0 0 var(--heading-space); }
.page-home .calc-section__container > p { margin: 0 0 var(--content-space); }
.page-home .calc-section__grid { gap: var(--layout-gap); margin-top: 0; }
:is(.page-home, .page-about, .page-contact) .cards_block {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--layout-gap);
}
:is(.page-home, .page-about, .page-contact) .cards_block .card { width: auto; }
:is(.page-home, .page-about, .page-contact) .cols_block {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--layout-gap);
}
:is(.page-home, .page-about, .page-contact) .cols_block_element { width: auto; }
:is(.page-home, .page-about, .page-contact) .list-block_list {
  max-width: none;
  gap: var(--layout-gap);
}
.page-home .swiper-wrapper { padding-bottom: var(--content-space); }
.page-home .swiper:not(.swiper-initialized) .swiper-wrapper { padding-bottom: 0; }
:is(.page-home, .page-about, .page-contact) .footer-grid {
  gap: var(--layout-gap);
  margin-bottom: var(--content-space);
}
@media (max-width: 1024px) {
  :is(.page-home, .page-about, .page-contact) .cards_block { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  :root {
    --section-space: 40px;
    --heading-space: 20px;
    --content-space: 24px;
    --layout-gap: 16px;
  }
  :is(.page-home, .page-about, .page-contact) .cards_block { grid-template-columns: 1fr; }
}
@media (max-width: 660px) {
  :is(.page-home, .page-about, .page-contact) .cols_block { grid-template-columns: 1fr; }
}

/* Adjacent sections on the same dark surface share one vertical gap. */
.page-home > .list-block + .numbre,
.page-home > .numbre + .cards,
.page-home > .cards + .faq,
.page-about > .textimg + .list-block {
  padding-top: 0;
}

@media (max-width: 1024px) {
  .page-home .textimg {
    background: linear-gradient(rgba(16, 16, 16, .6), rgba(16, 16, 16, .6)), linear-gradient(110deg, #1c2420, #58d9e8);
  }
}



@media (max-width: 1024px) {
  .page-contact .intro-final {
    background-image: linear-gradient(rgba(16, 16, 16, .6), rgba(16, 16, 16, .6)), url('../img/design/bg6.webp');
  }
}
