@charset "UTF-8";

/* ===== FONTS ===== */
@font-face {
  font-display: swap;
  font-family: Gilroy;
  font-weight: 700;
  src: url(fonts/gilroy-bold-webfont.woff2) format("woff2"),
       url(fonts/gilroy-bold-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: Gilroy;
  font-weight: 800;
  src: url(fonts/gilroy-extrabold-webfont.woff2) format("woff2"),
       url(fonts/gilroy-extrabold-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: Gilroy;
  font-weight: 400;
  src: url(fonts/gilroy-medium-webfont.woff2) format("woff2"),
       url(fonts/gilroy-medium-webfont.woff) format("woff");
}

/* ===== RESET & GLOBALS ===== */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
a { background-color: transparent; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
[hidden] { display: none; }

*, *:before, *:after { box-sizing: border-box; }
::-moz-selection { background: #0049ff; color: #fff; }
::selection { background: #0049ff; color: #fff; }
html { font-size: 62.5%; scroll-behavior: smooth; }
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1rem;
  margin: 0;
  padding: 0;
  cursor: default;
  font-family: 'Gilroy', sans-serif;
  font-variant-ligatures: none;
  color: #000;
  background: #fff;
}
h1, h2, h3, h4, h5, h6, p { margin: 0; }

/* Utility */
.flex { display: flex; }
.flex-column { flex-direction: column; }
.justify-center { justify-content: center; }
.items-center { align-items: center; }
.gap-0 { gap: 0 !important; }
.gap-1 { gap: 0.25rem !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-3 { gap: 1rem !important; }
.gap-4 { gap: 1.5rem !important; }
.gap-5 { gap: 3rem !important; }
.text-white { color: white; }
.text-black { color: black; }

/* ===== CONTAINER ===== */
.container {
  width: 100%;
  max-width: 130rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* ===== BUTTONS ===== */
.btn-primary {
  display: inline-block;
  font-weight: 600;
  transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
  border-radius: 3rem;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  will-change: transform, box-shadow;
  font-size: 1.6rem;
  padding: 1.2em 2em;
  background: linear-gradient(152deg, #0049ff, #0042e6);
  color: #fff;
  border: none;
}
.btn-primary:hover, .btn-primary:focus {
  background: linear-gradient(152deg, #003acc, #0049ff);
}
.btn-primary:hover { transform: scale(1.03); }
@media (max-width: 580px) { .btn-primary { font-size: 1.4rem; min-height: 4rem; } }

/* ===== TITLES ===== */
.title {
  font-weight: bold;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.5;
  text-align: center;
}
.title--white { color: #fff; }
.title--black { color: #000; }
.title--blue { color: #0049ff; }
.title--large {
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  max-width: 70rem;
  line-height: 1.4;
  margin: 0 auto;
  padding: 1.6rem 0;
}

/* ===== HEADER ===== */
.header {
  width: 100%;
  position: relative;
  top: 0;
  transition: all 100ms;
  z-index: 10;
  background-color: #00115e !important;
  box-shadow: none;
}
.header__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.2rem 0;
}
@media (max-width: 580px) { .header__wrapper { padding: 1.5rem 0.5rem; } }
@media (min-width: 900px) { .header__wrapper { padding: 1.2rem 4.5rem; } }

.header__logo {
  margin-right: 2rem;
  max-width: 20rem;
  display: flex;
  align-items: center;
}
.header__logo img { width: 100%; }
@media (max-width: 580px) { .header__logo { max-width: 15rem; margin-right: 0; } }
@media (max-width: 400px) { .header__logo { max-width: 11rem; margin-right: 0; } }

.header__actions {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 900px) { .header__actions { display: none; } }

.header__nav-link {
  display: flex;
  align-items: center;
  color: white !important;
  text-decoration: none;
  font-size: 1.5em;
  padding: 1rem 0;
  border-radius: 0.5rem;
  text-transform: uppercase;
}

.header__subscribe-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid;
  color: white;
  border-radius: 5rem;
  background-color: transparent;
  cursor: pointer;
  font-size: 1.5em;
  padding: 0 6rem;
  transition: all 250ms;
  text-decoration: none;
}
.header__subscribe-btn:hover {
  background-color: white !important;
  color: #001781 !important;
}

.header__drawer-icon {
  color: white;
  font-size: 2.5em;
  cursor: pointer;
  flex-grow: 1;
  flex-basis: 0;
  display: flex;
  align-items: center;
}
@media (min-width: 900px) { .header__drawer-icon { display: none; } }
@media (max-width: 400px) { .header__drawer-icon { font-size: 2em; } }

.header__mobile-login {
  display: flex;
  align-items: center;
  color: white !important;
  text-decoration: none;
  font-size: 1.2em;
  justify-content: flex-end;
  flex-grow: 1;
  flex-basis: 0;
  gap: 0.5rem;
}
@media (min-width: 900px) { .header__mobile-login { display: none; } }
@media (max-width: 400px) { .header__mobile-login { font-size: 1em; } }
.header__mobile-login svg { font-size: 2.5rem; }

/* ===== DRAWER MENU ===== */
.drawer {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100vw;
  height: 100vh;
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  font-weight: bold;
  transition: left 300ms cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 200;
  background-color: #0049ff;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.drawer.open { left: 0; }
@media (min-width: 900px) { .drawer { display: none; } }
@media (max-width: 400px) { .drawer { gap: 2rem; padding: 2rem 1.5rem; } }

.drawer__top {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
}
.drawer__close {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  background: none;
  border: none;
  color: white;
  font-size: 2.8em;
  padding: 0.5rem;
  z-index: 2;
  line-height: 1;
}
@media (max-width: 400px) { .drawer__close { font-size: 2.2em; } }

.drawer__logo-wrapper {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.drawer__logo {
  pointer-events: auto;
}
.drawer__logo img { height: 40px; }
@media (max-width: 400px) { .drawer__logo img { height: 25px; } }

.drawer__divider {
  width: 100%;
  height: 1px;
  background-color: rgba(138,138,138,0.5);
}

.drawer__content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 2rem 10rem;
}
@media (max-width: 400px) { .drawer__content { padding: 0 0 7rem; } }

.drawer__links {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.drawer__link {
  display: flex;
  align-items: center;
  font-size: 2em;
  color: white;
  text-decoration: none;
}
@media (max-width: 400px) { .drawer__link { font-size: 1.5em; } }

.drawer__link-arrow {
  color: rgb(0, 235, 169);
  font-size: 1.5em;
  margin-right: 1rem;
}
.drawer__bottom {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  font-size: 1.5em;
}
.drawer__section-title { color: rgb(0, 235, 169); }
.drawer__mail-link { color: white; text-decoration: none; }
.drawer__login-link {
  flex: 1;
  font-size: 1em;
  color: white !important;
  justify-content: flex-end;
  display: flex;
  align-items: center;
  text-decoration: none;
  text-transform: uppercase;
  gap: 0.5rem;
}
.drawer__login-icon { color: rgb(0, 235, 169); font-size: 2.5rem; }

/* Social icons */
.social-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}
.social-item:not(:last-child) { margin-right: 1rem; }
.social-link {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.8rem;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: -9999rem;
  font-size: 0;
}
.social-link--small { width: 3.2rem; height: 3.2rem; }
.social-link--facebook { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDIyIDIyIj4NCiAgPHBhdGggaWQ9ImZhY2Vib29rIiBkPSJNMTkuNjQzLDIuMjVIMi4zNTdBMi4zNTcsMi4zNTcsMCwwLDAsMCw0LjYwN1YyMS44OTNBMi4zNTcsMi4zNTcsMCwwLDAsMi4zNTcsMjQuMjVIOS4xVjE2Ljc3SDZWMTMuMjVIOS4xVjEwLjU2N2MwLTMuMDUyLDEuODE3LTQuNzM4LDQuNi00LjczOGExOC43NDIsMTguNzQyLDAsMCwxLDIuNzI2LjIzOHYzSDE0Ljg4OGExLjc2LDEuNzYsMCwwLDAtMS45ODUsMS45VjEzLjI1SDE2LjI4bC0uNTQsMy41MkgxMi45djcuNDhoNi43NEEyLjM1NywyLjM1NywwLDAsMCwyMiwyMS44OTNWNC42MDdBMi4zNTcsMi4zNTcsMCwwLDAsMTkuNjQzLDIuMjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0yLjI1KSIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+DQo="); }
.social-link--instagram { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMS45OTUiIHZpZXdCb3g9IjAgMCAyMiAyMS45OTUiPg0KICA8cGF0aCBpZD0iaW5zdGEiIGQ9Ik0xMSw3LjZhNS42MzksNS42MzksMCwxLDAsNS42MzksNS42MzlBNS42Myw1LjYzLDAsMCwwLDExLDcuNlpNMTEsMTYuOWEzLjY2NiwzLjY2NiwwLDEsMSwzLjY2Ni0zLjY2NkEzLjY3MywzLjY3MywwLDAsMSwxMSwxNi45Wm03LjE4NS05LjUzNkExLjMxNSwxLjMxNSwwLDEsMSwxNi44NjcsNi4wNSwxLjMxMiwxLjMxMiwwLDAsMSwxOC4xODIsNy4zNjVaTTIxLjkxNyw4LjdhNi41MDksNi41MDksMCwwLDAtMS43NzctNC42MDksNi41NTIsNi41NTIsMCwwLDAtNC42MDktMS43NzdjLTEuODE2LS4xLTcuMjU5LS4xLTkuMDc1LDBBNi41NDMsNi41NDMsMCwwLDAsMS44NDksNC4wODcsNi41MzEsNi41MzEsMCwwLDAsLjA3Miw4LjdjLS4xLDEuODE2LS4xLDcuMjU5LDAsOS4wNzVhNi41MDksNi41MDksMCwwLDAsMS43NzcsNC42MDksNi41Niw2LjU2LDAsMCwwLDQuNjA5LDEuNzc3YzEuODE2LjEsNy4yNTkuMSw5LjA3NSwwYTYuNTA5LDYuNTA5LDAsMCwwLDQuNjA5LTEuNzc3LDYuNTUyLDYuNTUyLDAsMCwwLDEuNzc3LTQuNjA5Yy4xLTEuODE2LjEtNy4yNTQsMC05LjA3Wk0xOS41NzEsMTkuNzE5YTMuNzEyLDMuNzEyLDAsMCwxLTIuMDkxLDIuMDkxYy0xLjQ0OC41NzQtNC44ODMuNDQyLTYuNDgzLjQ0MnMtNS4wNC4xMjgtNi40ODMtLjQ0MmEzLjcxMiwzLjcxMiwwLDAsMS0yLjA5MS0yLjA5MWMtLjU3NC0xLjQ0OC0uNDQyLTQuODgzLS40NDItNi40ODNzLS4xMjgtNS4wNC40NDItNi40ODNBMy43MTIsMy43MTIsMCwwLDEsNC41MTQsNC42NjFDNS45NjIsNC4wODcsOS40LDQuMjE5LDExLDQuMjE5czUuMDQtLjEyOCw2LjQ4My40NDJhMy43MTIsMy43MTIsMCwwLDEsMi4wOTEsMi4wOTFjLjU3NCwxLjQ0OC40NDIsNC44ODMuNDQyLDYuNDgzUzIwLjE0NiwxOC4yNzYsMTkuNTcxLDE5LjcxOVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDA1IC0yLjIzOCkiIGZpbGw9IiNmZmYiLz4NCjwvc3ZnPg0K"); }
.social-link--youtube { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMi4wMDEiIGhlaWdodD0iMjIuMDAxIiB2aWV3Qm94PSIwIDAgMjIuMDAxIDIyLjAwMSI+DQogIDxwYXRoIGlkPSJ5b3V0dWJlIiBkPSJNLTY5MjYuNTctMzk2OGgtMTguODYzYTEuNTc5LDEuNTc5LDAsMCwxLTEuNTY3LTEuNTg3di0xOC44MjhhMS41NzksMS41NzksMCwwLDEsMS41NjctMS41ODZoMTguODYzYTEuNTgsMS41OCwwLDAsMSwxLjU3MSwxLjU4NnYxOC44MjhBMS41OCwxLjU4LDAsMCwxLTY5MjYuNTctMzk2OFptLTEzLjQzLTE2LjR2MTAuODQxbDgtNS40MjItOC01LjQxOVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY5NDcgMzk5MC4wMDEpIiBmaWxsPSIjZmZmIi8+DQo8L3N2Zz4NCg=="); }
.social-link--twitter { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDIyIDIyIj4NCiAgPHBhdGggaWQ9InR3aXR0ZXIiIGQ9Ik0tNTcxNi41NzItNTYxOWgtMTguODYyYTEuNTc4LDEuNTc4LDAsMCwxLTEuNTY3LTEuNTg1di0xOC44MjhhMS41NzksMS41NzksMCwwLDEsMS41NjctMS41ODdoMTguODYyYTEuNTgsMS41OCwwLDAsMSwxLjU3MSwxLjU4N3YxOC44MjhBMS41OCwxLjU4LDAsMCwxLTU3MTYuNTcyLTU2MTlabS0xNy4xMTEtNi4xNzRoMGE4LjkyNCw4LjkyNCwwLDAsMCw0LjgzNSwxLjQxMyw4Ljg3Myw4Ljg3MywwLDAsMCw4Ljk1OS04Ljk1OWMwLS4xMzQsMC0uMjcyLS4wMDktLjQwOWE2LjczMiw2LjczMiwwLDAsMCwxLjU3OS0xLjYyOCw2LjMxOCw2LjMxOCwwLDAsMS0xLjgxMi40ODcsMy4xMzksMy4xMzksMCwwLDAsMS4zODQtMS43MzYsNi4yMSw2LjIxLDAsMCwxLTIsLjc2MSwzLjE1NywzLjE1NywwLDAsMC0yLjMtLjk5NSwzLjE1MywzLjE1MywwLDAsMC0zLjE0OSwzLjE0OSwzLjUwOSwzLjUwOSwwLDAsMCwuMDc4LjcyMSw4Ljk3LDguOTcsMCwwLDEtNi40OTMtMy4zLDMuMTEyLDMuMTEyLDAsMCwwLS40MywxLjU4OSwzLjE0NywzLjE0NywwLDAsMCwxLjQsMi42MjMsMy4xNzgsMy4xNzgsMCwwLDEtMS40MjMtLjR2LjA0YTMuMTYyLDMuMTYyLDAsMCwwLDIuNTI1LDMuMDksMy4zLDMuMywwLDAsMS0uODI5LjEwNywzLjkzNywzLjkzNywwLDAsMS0uNi0uMDQ5LDMuMTU3LDMuMTU3LDAsMCwwLDIuOTQ0LDIuMTg0LDYuMjc4LDYuMjc4LDAsMCwxLTMuOTA5LDEuMzQ1QTYuMzgxLDYuMzgxLDAsMCwxLTU3MzMuNjgzLTU2MjUuMTc1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTczNy4wMDEgNTY0MS4wMDEpIiBmaWxsPSIjZmZmIi8+DQo8L3N2Zz4NCg=="); }
.social-link--telegram { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMi4wMDciIHZpZXdCb3g9IjAgMCAyMiAyMi4wMDciPg0KICA8cGF0aCBpZD0idGVsZWdyYW0iIGQ9Ik0yMC40NTYuMTM3LjUzNywxMS42MjhhMS4wMzIsMS4wMzIsMCwwLDAsLjA5NSwxLjg1Nkw1LjIsMTUuNCwxNy41NDYsNC41MmEuMjU4LjI1OCwwLDAsMSwuMzcuMzU3TDcuNTY0LDE3LjQ4OXYzLjQ1OWExLjAzMSwxLjAzMSwwLDAsMCwxLjgyNi42NzlsMi43MjktMy4zMjIsNS4zNTQsMi4yNDNhMS4wMzQsMS4wMzQsMCwwLDAsMS40MTgtLjc4MkwyMS45ODUsMS4yQTEuMDMxLDEuMDMxLDAsMCwwLDIwLjQ1Ni4xMzdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4wMDEgMC4wMDIpIiBmaWxsPSIjZmZmIi8+DQo8L3N2Zz4NCg=="); }

/* ===== HERO ===== */
.hero {
  max-height: 80vh;
  display: flex;
}
@media (max-width: 950px) { .hero { display: block; height: auto; max-height: 100%; } }

.hero__banner {
  background-color: #001a85;
}
.hero__banner img, .hero__banner video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero__banner--left { flex: 40; }
.hero__banner--right { flex: 60; }

.hero__banner-link {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  color: unset;
}
.hero__banner-block {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  color: unset;
}
.hero__raw-html {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 580px) {
  .hero__raw-html { width: 100%; height: 100%; padding: 1rem; }
  .hero__raw-html iframe { width: 100%; height: 100%; }
}

/* ===== PLATFORM HIGHLIGHTS ===== */
.highlights {
  background-color: #fff;
  color: #0049ff;
  width: 100%;
  display: flex;
  align-items: center;
}
.highlights__wrapper {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  padding: 8rem 1.5rem;
  justify-items: center;
}
@media (max-width: 768px) { .highlights__wrapper { padding: 4rem 1.5rem; } }

.highlights__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 800px;
}
.highlights__text-group {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.highlights__kicker {
  color: #0049ff;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  margin-bottom: 4.5rem;
  opacity: 0.9;
  font-size: 2.2rem;
  font-weight: 700;
}
.highlights__main-title {
  color: #0049ff;
  margin-bottom: 3rem;
  line-height: 1.2;
}
.highlights__main-title b { font-weight: 700; font-size: 3.2rem; }
@media (max-width: 768px) { .highlights__main-title b { font-size: 2.4rem; } }

.highlights__description {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.highlights__text {
  color: #0049ff;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 800;
  margin: 0;
  opacity: 0.95;
}
@media (max-width: 768px) { .highlights__text { font-size: 1.6rem; } }

/* ===== PLANS ===== */
.plans {
  background-color: rgb(0, 17, 94);
  max-width: 100%;
  min-height: 1400px;
}
.plans__wrapper {
  border-radius: 2rem;
  padding: 5rem 1.5rem 0;
}
@media (min-width: 1100px) { .plans__wrapper { padding: 5rem 10rem 0; } }

.plans__box {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  padding-top: 6rem;
}
@media (max-width: 900px) {
  .plans__box { display: flex; flex-direction: column; padding-top: 7rem; }
}

.plans__warranty {
  padding: 5rem 0;
  text-align: center;
}
.plans__warranty img {
  display: inline-block;
  max-width: 54rem;
  height: 100%;
}
@media (max-width: 580px) { .plans__warranty img { max-width: 32rem; } }

/* Plan Card */
.plan-card {
  position: relative;
  overflow: hidden;
  padding: 3rem 2.5rem;
  background: #fff;
  border: 3px solid rgba(0, 235, 169, 0.5);
  border-radius: 2rem;
  height: auto;
  max-width: 52rem;
  width: 100%;
  order: 0;
  box-shadow: 0 0 40px rgba(0, 235, 169, 0.25), 0 0 80px rgba(0, 73, 255, 0.15);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.plan-card:hover {
  box-shadow: 0 0 50px rgba(0, 235, 169, 0.4), 0 0 100px rgba(0, 73, 255, 0.25);
  transform: scale(1.02);
}
.plan-card--recommended { transform: scale(1); }
.plan-card--normal { transform: scale(1); }
.plan-card:last-child { order: 2; }
@media (max-width: 900px) {
  .plan-card { max-width: 100%; margin: 0 .5rem; }
  .plan-card:not(:last-child) { margin-bottom: 3rem; }
}
@media (max-width: 580px) { .plan-card { margin: 0 .5rem; max-width: 100%; } }
.plan-card:not(:first-child) { margin-left: 10px; }
@media (max-width: 900px) { .plan-card:not(:first-child) { margin: 0 .5rem; margin-top: 30px; max-width: 100%; } }

.plan-card__ribbon {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  padding: 0.75rem 0;
  text-align: center;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: bold;
  color: #0049ff;
  background: radial-gradient(circle, rgba(0,235,169,1) 0%, rgba(0,232,170,1) 26%, rgba(0,153,213,1) 99%, rgba(0,73,255,1) 100%);
}

.plan-card__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 0;
  gap: 1rem;
  text-align: center;
}
.plan-card__title > * { color: #0049ff; }
.plan-card__title > h3 { font-size: 2.8rem; font-weight: 800; text-transform: uppercase; }
.plan-card__title > h2 { font-size: 1.8rem; font-weight: 800; text-transform: uppercase; margin-left: 1rem; margin-top: 1rem; }

.plan-card__subtitle {
  font-size: 1.2rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #0049ff;
}

.plan-card__price-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  gap: 0.25rem;
  margin-bottom: 0;
  margin-top: 0;
}
.plan-card__price-wrapper > * { color: #0049ff; }

.plan-card__price {
  display: flex;
  justify-content: center;
  font-weight: bold;
  letter-spacing: 0px;
  text-align: center;
  font-size: 56px;
  color: #0049ff;
}
@media (max-width: 400px) { .plan-card__price { font-size: 45px; } }

.plan-card__cents {
  font: normal normal 900 30px/70px Gilroy;
  letter-spacing: 0px;
  line-height: normal;
  color: #0049ff;
}

.plan-card__installment-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  font-weight: bold;
  color: #0049ff;
}
.plan-card__content-wrapper {
  width: 27rem;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: center;
}

.plan-card__box {
  padding: 3rem 2.5rem 3rem 2.5rem;
}
@media (max-width: 580px) { .plan-card__box { padding: 3rem 0; } }
.plan-card__box--no-top { padding-top: 0; }

.plan-card__list {
  padding: 2rem 0 0 0;
  list-style: none;
  transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}
.plan-card__list-item {
  position: relative;
  padding-left: 2.5rem;
  font-size: 1.2rem;
  color: #0B3D7F;
}
.plan-card__list-item:not(:last-child) { padding-bottom: 1.8rem; }
.plan-card__list-item:before {
  content: url("images/ic-check-blue.svg");
  position: absolute;
  left: 0;
  top: -0.2rem;
}

/* Hidden items for "ver mais" */
.plan-card__list-item.hidden-item {
  display: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.plan-card__list.expanded .plan-card__list-item.hidden-item {
  display: block;
}

.plan-card__ver-mais-btn {
  display: block;
  width: 100%;
  text-align: center;
  padding: 1rem 0;
  margin-top: 1rem;
  font: normal normal 700 14px/20px Gilroy;
  color: #0049ff;
  background: transparent;
  border: 1px solid #d6e1ff;
  border-radius: 2rem;
  cursor: pointer;
  transition: all 200ms;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.plan-card__ver-mais-btn:hover {
  background: #f0f4ff;
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 10px rgba(0, 235, 169, 0.4); }
  50% { box-shadow: 0 0 25px rgba(0, 235, 169, 0.7), 0 0 50px rgba(0, 235, 169, 0.3); }
}
.plan-card__subscribe-btn--recommended {
  display: block;
  width: 100%;
  text-decoration: none;
  text-align: center;
  border-radius: 38px;
  padding: 2rem 0;
  margin-top: 2rem;
  font: normal normal 800 22px/28px Gilroy;
  letter-spacing: 1.6px;
  border: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 200ms;
  color: #0049ff;
  background-color: rgb(0, 235, 169);
  animation: pulse-glow 2s ease-in-out infinite;
}
.plan-card__subscribe-btn--recommended:hover {
  transform: scale(1.05);
  box-shadow: 0 0 30px rgba(0, 235, 169, 0.6), rgba(0,0,0,0.35) 0px 5px 15px;
  animation: none;
}

.plan-card__subscribe-btn--normal {
  display: block;
  width: 100%;
  text-decoration: none;
  text-align: center;
  padding: 2rem 0;
  margin-top: 2rem;
  font: normal normal 800 20px/25px Gilroy;
  letter-spacing: 1.6px;
  border: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 200ms;
  border-radius: 38px;
  border: 2px solid #0049ff;
  background: #f7f7f7;
  color: #0049ff;
}
.plan-card__subscribe-btn--normal:hover {
  transform: scale(1.05);
  box-shadow: rgba(0,0,0,0.35) 0px 5px 15px;
}

/* ===== GOALS ===== */
.goals {
  max-width: 100%;
  max-height: 510px;
  padding: 5rem 3rem;
  background: linear-gradient(20deg, rgba(0,45,154,1) 0%, rgba(1,74,255,1) 100%);
}
@media (max-width: 900px) { .goals { max-height: fit-content; } }

.goals__wrapper {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 900px) {
  .goals__wrapper { flex-wrap: wrap; justify-content: center; flex-flow: column; }
}

.goals__left {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 4rem;
}
@media (min-width: 900px) and (max-width: 1100px) { .goals__left { gap: 1rem; } }

.goals__right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 900px) { .goals__right { justify-content: center; } }

.goals__students-img {
  margin-bottom: -53px;
}
.goals__students-img img {
  height: 540px;
  margin-top: -81px;
  width: 100%;
}
@media (max-width: 900px) { .goals__students-img img { height: 300px; margin-top: 2rem; } }
@media (max-width: 400px) { .goals__students-img img { height: 260px; margin-top: 2rem; } }

.goals__grid {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 900px) {
  .goals__grid { grid-template-columns: 1fr; display: flex; flex-direction: column; justify-content: center; }
}

.goals__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: white;
  list-style: none;
}

.goals__icon {
  border-radius: 50%;
  min-width: 5rem;
  min-height: 5rem;
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0049ff;
}
@media (max-width: 900px) { .goals__icon { width: 2rem; height: 2rem; } }
.goals__icon img { width: auto; height: 50%; }

.goals__item-title {
  margin: 0;
  padding: 1rem 0 0;
  font-size: 1.5rem;
  text-align: start;
  font-weight: normal;
  line-height: 1.6;
  color: white;
}
@media (max-width: 580px) { .goals__item-title { font-size: 1.4rem; } }

.goals__title {
  text-align: left;
}
@media (max-width: 900px) { .goals__title { text-align: center; } }

.goals__subscribe-wrapper {
  display: flex;
}
@media (max-width: 900px) { .goals__subscribe-wrapper { justify-content: center; } }

.goals__subscribe-btn {
  color: #0049ff;
  background: rgb(0, 235, 169);
  width: fit-content;
  padding: 1.75rem 8rem;
}
.goals__subscribe-btn:hover {
  transform: scale(1.05);
  box-shadow: rgba(0,0,0,0.35) 0px 5px 15px;
}
@media (max-width: 580px) { .goals__subscribe-btn { padding: 1.75rem 6rem; } }

/* ===== TESTIMONIALS ===== */
.testimonials {
  background: #f7f7f7;
  min-height: 850px;
  display: block;
  width: 100%;
}
.testimonials__wrapper {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  padding: 10rem 1.5rem;
}
@media (max-width: 900px) { .testimonials__wrapper { padding: 5rem 1rem; } }

.testimonials__content {
  position: relative;
  z-index: 1;
  padding-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 900px) { .testimonials__content { gap: 3rem; padding-top: 2rem; } }

.testimonials__slider {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 1rem;
}
.testimonials__slider::-webkit-scrollbar { display: none; }

.testimonial-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 425px;
  min-width: 340px;
  max-width: 340px;
  gap: 2rem;
  padding: 2.5rem;
  line-height: 1.5rem;
  font-size: 1.2em;
  border-radius: 16px;
  border: 1px solid #d6e1ff;
  color: black;
  background-color: white;
  flex-shrink: 0;
}
@media (max-width: 400px) { .testimonial-card { min-width: 300px; max-width: 300px; } }

.testimonial-card__content {
  flex: 1;
  display: flex;
  font-size: 1.2em;
  letter-spacing: 0;
  line-height: 24px;
  color: #385395;
  overflow-y: auto;
  padding-right: 1rem;
}

.testimonial-card__footer {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.testimonial-card__divider {
  width: 100%;
  height: 1px;
  background-color: #e9eeff;
}
.testimonial-card__student {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.testimonial-card__photo {
  width: 90px;
  height: 90px;
  min-width: 90px;
  min-height: 90px;
}
.testimonial-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.testimonial-card__info {
  display: flex;
  flex-direction: column;
  justify-items: center;
  color: #385395;
}
.testimonial-card__info span { font-weight: 600; font-size: 1.5em; }
.testimonial-card__info b { font-weight: bold; font-size: 1.3em; color: #0049ff; }

/* Slider arrows */
.slider-arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  color: rgb(175, 185, 212, 0.75);
  font-size: 20px;
  margin-top: 2rem;
}
.slider-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
  user-select: none;
  border-radius: 50%;
  transition: background-color 100ms;
  color: unset;
  background: none;
  border: 1px solid rgba(175, 185, 212, 0.5);
  font-size: 1.5em;
}
.slider-arrow:hover { background-color: white; color: #0049ff; }

.testimonials__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5rem;
}
@media (max-width: 900px) { .testimonials__cta { margin-top: 3rem; } }

.testimonials__cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 38px;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1.6px;
  padding: 1.25rem 6rem;
  width: fit-content;
  transition: all 200ms;
  color: white;
  background: #0049ff;
  border: none;
  cursor: pointer;
}
.testimonials__cta-btn:hover {
  transform: scale(1.05);
  box-shadow: rgba(0,0,0,0.35) 0px 5px 15px;
}
@media (max-width: 580px) { .testimonials__cta-btn { padding: 1.25rem 3rem; } }

/* ===== TEACHERS ===== */
.teachers {
  background: linear-gradient(20deg, rgba(0,45,154,1) 0%, rgba(1,74,255,1) 100%);
}
.teachers__wrapper {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  padding: 8rem 1.5rem;
}
.teachers__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.teachers__green-text { color: #00eaa9; }

.teachers__slider-wrapper { position: relative; }
.teachers__slider {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.teachers__slider::-webkit-scrollbar { display: none; }

.teacher-card {
  position: relative;
  padding: 0.25rem;
  flex-shrink: 0;
  width: 200px;
}
.teacher-card img {
  width: 100%;
  border-radius: 0.5rem;
  display: block;
}
.teacher-card:hover .teacher-card__bio {
  visibility: visible;
  background-color: rgba(0,0,0,0.5);
  backdrop-filter: blur(2px);
  border-radius: 0.5rem;
}
.teacher-card__bio {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem;
  color: white;
  justify-content: center;
  align-items: center;
  transition: background-color 200ms;
  visibility: hidden;
  font-size: 0.85em;
  line-height: 1.4;
  text-align: center;
  overflow-y: auto;
}
.teacher-card__bio-title {
  color: rgb(0, 235, 169);
  font-weight: bold;
  font-size: 1.2em;
}

/* ===== FAQ ===== */
.faq { background: rgb(247, 247, 247); }
.faq__wrapper {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  padding: 8rem 0.5rem;
}
@media (max-width: 400px) { .faq__wrapper { padding: 8rem 0; } }

.faq__header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}
.faq__photo {
  width: 120px;
  height: 120px;
  min-width: 120px;
  min-height: 120px;
}
.faq__photo img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
@media (max-width: 400px) {
  .faq__photo { width: 90px; height: 90px; min-width: 90px; min-height: 90px; }
}

.faq__questions {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.faq__question {
  position: relative;
  padding: 2.5rem 5rem 2.5rem 4rem;
  border-radius: 1rem;
  cursor: pointer;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  border: 1px solid rgba(230, 230, 230, 0.7);
  background-color: white;
  box-shadow: rgba(0,0,0,0.1) 0px 5px 15px;
}
.faq__question:after {
  content: '';
  position: absolute;
  top: 3.4rem;
  right: 3rem;
  display: block;
  width: 0;
  height: 0;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 0.8rem solid #0B3D7F;
  transition: transform 0.3s ease;
}
.faq__question:hover { box-shadow: rgba(0,0,0,0.3) 0px 5px 15px; }
.faq__question.active:after { transform: rotate(180deg); }

.faq__question-title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  color: #0B3D7F;
}
.faq__question-answer {
  display: none;
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #385395;
}
.faq__question.active .faq__question-answer { display: block; }

/* ===== LEAD CAPTURE ===== */
.lead-capture {
  width: 100%;
  background: #0049ff;
  min-height: 32rem;
}
@media (max-width: 900px) { .lead-capture { min-height: 0; padding: 6rem 1rem; } }

.lead-capture__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 120rem;
}
@media (max-width: 900px) {
  .lead-capture__content { flex-direction: column; justify-content: center; gap: 3rem; }
}

.lead-capture__teacher {
  margin-bottom: -3px;
}
.lead-capture__teacher img { margin-top: -45px; }
@media (max-width: 900px) { .lead-capture__teacher { display: none; } }

.lead-capture__text-content {
  flex: 1;
  padding: 0 5rem;
}
@media (max-width: 900px) {
  .lead-capture__text-content { padding: 0; }
  .lead-capture__text-content > * { text-align: center; }
}

.lead-capture__text {
  color: white;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 900px) { .lead-capture__text { font-size: 2rem; } }
.lead-capture__text .green { color: rgb(0, 235, 169); }

.lead-capture__btn {
  color: #0049ff;
  background-color: white;
  padding: 2rem 10rem;
  border: 0;
  border-radius: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  font-weight: bold;
  text-decoration: none;
  transition: box-shadow 0.2s ease;
  cursor: pointer;
}
.lead-capture__btn:hover { box-shadow: rgba(0,0,0,0.35) 0px 5px 15px; }
@media (max-width: 580px) { .lead-capture__btn { padding: 2rem 8rem; } }
@media (max-width: 400px) { .lead-capture__btn { padding: 2rem 5rem; } }

/* ===== FOOTER ===== */
.footer {
  background-color: #000;
  width: 100%;
  padding: 8rem 2rem 5rem;
}
.footer__content {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  max-width: 120rem;
  margin: 0 auto;
}
@media (max-width: 580px) { .footer__content { padding-bottom: 8rem; } }

.footer__top {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 900px) { .footer__top { align-items: center; flex-direction: column; } }

.footer__column {
  flex: 1;
}
@media (max-width: 900px) { .footer__column { flex-basis: 50%; padding-bottom: 2rem; text-align: center; } }

.footer__logo { max-width: 200px; }
.footer__logo img { max-width: 100%; }
@media (max-width: 580px) { .footer__logo { margin: 0 auto; } }
@media (min-width: 900px) { .footer__logo { margin-top: 15px; } }

.footer__title {
  color: rgb(138, 138, 138);
  font-size: 1.5rem;
  text-transform: uppercase;
  padding: 1.6rem 0 2.6rem;
}
@media (max-width: 580px) { .footer__title { text-align: center; } }

.footer__link-wrapper { padding: 0 0 1.2rem; }
@media (max-width: 580px) { .footer__link-wrapper { text-align: center; } }

.footer__link {
  text-decoration: none;
  font-size: 1.3rem;
  color: white;
  transition: color 0.2s ease;
}
.footer__link:hover { color: #004bff; }

.footer__divider {
  width: 100%;
  height: 1px;
  background-color: #2a2a2a;
}

.footer__bottom {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 900px) { .footer__bottom { flex-direction: column; align-items: center; } }
@media (max-width: 400px) { .footer__bottom { text-align: center; } }

.footer__bottom-info {
  color: #5e5e5e;
  font-weight: bold;
  font-size: 1.1em;
}
.footer__bottom-info a { color: inherit; text-decoration: none; }
@media (min-width: 900px) {
  .footer__bottom-info:not(:last-child)::after { content: '/'; margin-left: 1rem; }
}

/* Social footer */
.social-list--footer { justify-content: center; }
@media (max-width: 580px) { .social-list--footer { justify-content: center; } }

/* ===== PLANS SUBTITLE ===== */
.plans__subtitle {
  font-weight: normal;
  margin-top: 2rem;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
}

/* ===== SMOOTH ANIMATIONS ===== */

/* Scroll reveal for sections */
.highlights,
.plans,
.goals,
.testimonials,
.teachers,
.faq,
.lead-capture {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.highlights.revealed,
.plans.revealed,
.goals.revealed,
.testimonials.revealed,
.teachers.revealed,
.faq.revealed,
.lead-capture.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Lazy image fade-in */
img[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.5s ease;
}
img[loading="lazy"].loaded,
img.loaded {
  opacity: 1;
}

/* Smooth hover on all buttons and links */
a, button {
  transition: all 0.25s ease;
}

/* Smooth FAQ transitions */
.faq__question-title {
  transition: color 0.25s ease;
}
.faq__question.active .faq__question-title {
  color: #0049ff;
}

/* Smooth slider scrolling */
.testimonials__slider,
.teachers__slider {
  scroll-behavior: smooth;
}

/* Plan card ver mais btn smooth */
.plan-card__ver-mais-btn {
  transition: all 0.25s ease, background 0.2s ease;
}
