:root {
  --bunker: #182425;
  --link-lilac: #9982d2;
  --biloba: #b39cec;
  --ecru: #fbfcf8;
  --turquoise: #2fe3ad;
  --neutral-00: #fcfcfc;
  --neutral-10: #f2f2f2;
  --gallery: #efefef;
  --sirocco: #768788;
  --mine-shaft: #333333;
  --black: #000000;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #ffffff;
  color: var(--bunker);
  font-family: "Manrope", sans-serif;
}

a,
button {
  transition: color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease,
    transform 0.25s ease, filter 0.25s ease, opacity 0.25s ease;
}

.page {
  width: 100%;
  overflow-x: hidden;
}

.shell {
  width: 100%;
  max-width: 1328px;
  margin: 0 auto;
}

.topbar {
  width: 100%;
}

.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
  height: 108px;
}

.brand {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--bunker);
  font-weight: 500;
  font-size: 24px;
  line-height: normal;
}

.brand:hover {
  transform: translateY(-1px);
}

.brand:hover span {
  color: var(--link-lilac);
}

.brand img {
  width: 30px;
  height: 30px;
  margin-right: 8px;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 40px;
}

/* --- Dropdown --- */
.nav-dropdown {
  position: relative;
}

.nav-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--bunker);
  line-height: 1;
}

.nav-dropdown-trigger:hover,
.nav-dropdown--active .nav-dropdown-trigger {
  color: var(--link-lilac);
  transform: translateY(-1px);
}

.nav-dropdown-trigger .nav-active {
  color: var(--link-lilac);
}

.nav-dropdown-trigger.nav-active {
  color: var(--link-lilac);
}

.nav-chevron {
  transition: transform 0.2s ease;
  flex-shrink: 0;
  margin-top: 3px;
}

.nav-dropdown.is-open .nav-chevron,
.nav-dropdown:hover .nav-chevron {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  background: #ffffff;
  border: 1px solid rgba(24, 36, 37, 0.1);
  box-shadow: 0 8px 24px rgba(24, 36, 37, 0.12);
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 100;
}

.nav-dropdown.is-open .nav-dropdown-menu,
.nav-dropdown:hover .nav-dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.nav-dropdown-menu a {
  padding: 12px 20px;
  color: var(--bunker);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid rgba(24, 36, 37, 0.07);
}

.nav-dropdown-menu a:last-child {
  border-bottom: 0;
}

.nav-dropdown-menu a:hover {
  background: rgba(153, 130, 210, 0.08);
  color: var(--link-lilac);
  transform: none;
}

/* Mobile sub-items */
.mobile-menu-section {
  display: block;
  padding: 12px 0 4px;
  color: var(--bunker);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.45;
}

.mobile-menu-sub {
  padding: 8px 0 8px 12px !important;
  font-size: 14px !important;
  opacity: 0.8;
}

.mobile-menu-sub:hover {
  opacity: 1;
}

.mobile-head-actions,
.mobile-menu {
  display: none;
}

.account-topbar {
  width: 100%;
  padding: 20px 200px;
  background: var(--bunker);
}

.account-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.account-brand {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--ecru);
  font-weight: 500;
  font-size: 24px;
  line-height: normal;
}

.account-brand img {
  width: 30px;
  height: 30px;
  margin-right: 8px;
}

.account-brand:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

.account-nav-links {
  display: flex;
  align-items: center;
  gap: 36px;
}

.account-nav-links a {
  color: var(--gallery);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

.account-nav-links a:hover {
  color: var(--turquoise);
  transform: translateY(-1px);
}

.account-icon-link {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.account-icon-link img {
  width: auto;
  height: 24px;
  max-width: 24px;
  display: block;
  object-fit: contain;
}

.account-icon-link:hover {
  transform: translateY(-1px) scale(1.03);
}

.account-burger-btn,
.account-mobile-menu {
  display: none;
}

.account-burger-btn {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(251, 252, 248, 0.25);
  background: transparent;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.account-burger-btn img {
  width: 18px;
  height: 18px;
  display: block;
  filter: brightness(0) saturate(100%) invert(98%) sepia(3%) saturate(442%) hue-rotate(35deg)
    brightness(115%) contrast(98%);
}

.account-mobile-menu {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background: var(--bunker);
}

.account-mobile-menu.is-open {
  max-height: 320px;
}

.account-mobile-links {
  display: flex;
  flex-direction: column;
  padding: 8px 20px 16px;
  gap: 2px;
}

.account-mobile-links a {
  color: var(--ecru);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  padding: 12px 0;
}

.account-mobile-links a:hover {
  color: var(--turquoise);
  transform: translateY(-1px);
}

.account-main {
  width: 100%;
  padding: 40px 200px;
  background: var(--gallery);
}

.account-shell {
  width: 100%;
  max-width: 1328px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.account-shell > * {
  width: 100%;
  max-width: 950px;
}

.account-tabs {
  width: 100%;
  display: flex;
  gap: 20px;
}

.account-tab {
  flex: 1;
  min-width: 0;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--bunker);
  font-size: 15px;
  font-weight: 600;
  background: var(--sirocco);
}

.account-tab:hover {
  filter: brightness(0.98);
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(24, 36, 37, 0.12);
}

.account-tab.active {
  background: var(--turquoise);
}

.account-tab.inactive {
  background: #cccccc;
}

.account-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.account-section-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.account-section-header.with-back {
  justify-content: flex-start;
}

.account-back {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.account-back:hover {
  transform: translateX(-2px) translateY(-1px);
}

.account-back img {
  width: 48px;
  height: 48px;
}

.account-main h1,
.account-main h2 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 36.7px;
  font-weight: 700;
  line-height: normal;
  color: var(--bunker);
}

.days-remaining {
  background: var(--bunker);
  color: var(--ecru);
  border-radius: 8px;
  padding: 10px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.days-remaining strong {
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}

.days-remaining span {
  font-size: 19px;
  font-weight: 700;
  line-height: normal;
}

.account-fields {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.field-row {
  width: 100%;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  transition: border-color 0.25s ease;
}

.field-row:focus-within {
  border-bottom-color: var(--link-lilac);
}

.field-row label {
  font-size: 16px;
  font-weight: 500;
  color: var(--bunker);
}

.field-row p {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: var(--bunker);
}

.account-input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: normal;
  color: var(--bunker);
  outline: 0;
}

.account-input::placeholder {
  color: #8b9798;
  font-weight: 600;
}

.account-input[type="password"] {
  letter-spacing: 0.02em;
}

.field-row .field-value-inline {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.field-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.field-icon.small {
  width: 24px;
  height: 24px;
}

.account-action {
  width: 100%;
  height: 52px;
  border: 0;
  background: var(--biloba);
  color: var(--bunker);
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.account-action:hover {
  filter: brightness(0.98);
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(24, 36, 37, 0.12);
}

.account-burger-btn:hover {
  border-color: rgba(47, 227, 173, 0.7);
  transform: translateY(-1px);
}

.account-card-wrap {
  width: 400px;
  max-width: 100%;
  height: 200px;
  border: 1.143px solid #cccccc;
  border-radius: 20px;
  padding: 15px 20px;
  background: #efefef;
  display: flex;
  flex-direction: column;
  gap: 31px;
}

.card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.chip-mark {
  width: 33px;
  height: 24.6px;
  border-radius: 4px;
  background: linear-gradient(135deg, #f4cc6d 0%, #e0b453 100%);
  position: relative;
}

.chip-mark::before,
.chip-mark::after {
  content: "";
  position: absolute;
  left: 5px;
  right: 5px;
  height: 1px;
  background: rgba(140, 99, 16, 0.45);
}

.chip-mark::before {
  top: 8px;
}

.chip-mark::after {
  top: 15px;
}

.master-icon {
  width: 24px;
  height: 24px;
}

.card-number {
  margin: 0;
  color: var(--bunker);
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0;
}

.card-bottom {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.card-label {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: var(--bunker);
}

.card-value {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 36px;
  color: var(--bunker);
}

.account-card-actions {
  width: 400px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.account-action.danger {
  background: #ec9c9c;
}

.btn-mobile-trial {
  height: 34px;
  padding: 0 20px;
  font-size: 13px;
  font-weight: 500;
}

.burger-btn {
  width: 34px;
  height: 34px;
  padding: 8px;
  border: 0;
  background: var(--turquoise);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.burger-btn img {
  width: 18px;
  height: 18px;
  display: block;
}

.mobile-menu {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background: #ffffff;
}

.mobile-menu.is-open {
  max-height: 520px;
}

.mobile-menu-links {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 20px 16px;
}

.mobile-menu-links a {
  padding: 12px 0;
  color: var(--bunker);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
}

.mobile-menu-links a:hover {
  color: var(--link-lilac);
  transform: translateY(-1px);
}

.nav-links a {
  color: var(--bunker);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

.nav-links a.nav-active,
.mobile-menu-links a.nav-active {
  color: var(--link-lilac);
}

.nav-links a:not(.btn):hover {
  color: var(--link-lilac);
  transform: translateY(-1px);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--bunker);
  line-height: 1;
}

.btn:hover {
  filter: brightness(0.98);
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(24, 36, 37, 0.12);
}

.btn-small {
  padding: 10px 40px;
}

.btn-big {
  padding: 16px 40px;
}

.btn-lilac {
  background: var(--link-lilac);
}

.btn-biloba {
  background: var(--biloba);
}

.btn-turquoise {
  background: var(--turquoise);
}

.hero {
  background: linear-gradient(to top, var(--gallery) 0%, var(--ecru) 80.65%);
  padding: 40px;
}

.hero-inner {
  width: 100%;
  max-width: 1328px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.hero h1 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 49.2px;
  line-height: 64.8px;
  color: var(--bunker);
  text-align: center;
}

.hero p {
  margin: 0;
  max-width: 920px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
}

.hero-actions {
  display: flex;
  gap: 20px;
}

.hero-tag {
  width: 200px;
  height: 104.53px;
  object-fit: contain;
}

.split-section {
  width: 100%;
  padding: 40px 200px;
}

.wide-gap {
  padding-top: 100px;
  padding-bottom: 100px;
}

.split-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}

.split-image {
  width: 550px;
  height: 550px;
  object-fit: cover;
  flex-shrink: 0;
}

.split-image.tall {
  height: 788px;
}

.sba-first-visual {
  height: 799px;
  object-fit: contain;
  background: transparent;
}

.phone-image {
  height: 711px;
  object-fit: contain;
}

.split-content {
  flex: 1;
  min-width: 0;
  color: var(--bunker);
}

.split-content.with-cta {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.split-content.with-cta .btn {
  align-self: flex-start;
}

.split-content h2 {
  margin: 0 0 20px;
  font-family: "Inter", sans-serif;
  font-size: 36.7px;
  font-weight: 700;
  line-height: 1;
}

.split-content h3 {
  margin: 0 0 10px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  color: var(--link-lilac);
}

.split-content p {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
}

.split-content p + p {
  margin-top: 12px;
}

.split-content ul {
  margin: 8px 0;
  padding-left: 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
}

.split-content li {
  margin-bottom: 6px;
}

.split-content li:last-child {
  margin-bottom: 0;
}

.bullet-paragraphs p,
.bullet-lines p {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: normal;
}

.bullet-paragraphs p:last-child,
.bullet-lines p:last-child {
  margin-bottom: 0;
}

.bullet-paragraphs p::before {
  content: "• ";
}

.image-overlay-wrap {
  position: relative;
  width: 550px;
  height: 550px;
  flex-shrink: 0;
}

.image-overlay {
  position: absolute;
  left: 221px;
  top: 468px;
  width: 100px;
  height: 27px;
  background: #fefefe;
}

.question-visual {
  width: 550px;
  height: 550px;
  position: relative;
  flex-shrink: 0;
}

.question-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.question-note {
  position: absolute;
  width: 180px;
  padding: 8px 10px;
  border-radius: 5px;
  transform: rotate(-19deg);
  box-shadow: 0 6px 3px rgba(0, 0, 0, 0.25);
}

.question-note strong {
  display: block;
  font-size: 8px;
  margin-bottom: 4px;
}

.question-note p {
  margin: 0;
  font-size: 7px;
  line-height: 1.35;
}

.question-note.violet {
  background: var(--biloba);
  color: var(--ecru);
  left: 42px;
  top: 140px;
}

.question-note.green {
  background: var(--turquoise);
  color: var(--bunker);
  left: 290px;
  top: 188px;
}

.numbered-list {
  margin: 0;
  padding-left: 24px;
  font-size: 16px;
  font-weight: 500;
}

.numbered-list li {
  margin-bottom: 6px;
}

.numbered-list li:last-child {
  margin-bottom: 0;
}

.dark-card-grid {
  width: 100%;
  display: grid;
  gap: 20px;
}

.dark-card-grid.five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dark-card-grid.six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dark-card-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dark-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.dark-card .icon-wrap {
  width: 100px;
  height: 100px;
  position: relative;
}

.dark-card .icon-wrap .icon-bg,
.dark-card .icon-wrap .icon-fg {
  position: absolute;
}

.dark-card .icon-wrap .icon-bg {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dark-card .icon-wrap .icon-fg {
  width: 56px;
  height: 56px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.dark-card h3 {
  margin: 0;
  color: var(--turquoise);
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.dark-card p {
  margin: 0;
  color: var(--ecru);
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
}

.specialty-stack,
.skill-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.specialty-stack h3,
.skill-stack h3 {
  margin: 0;
  color: var(--link-lilac);
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.specialty-stack p,
.skill-stack p {
  margin: 0;
}

.dark-title-single {
  white-space: normal;
}

.split-image-500 {
  width: 500px;
  height: 500px;
  object-fit: cover;
  flex-shrink: 0;
}

.split-image-616x500 {
  width: 616px;
  height: 500px;
  object-fit: cover;
  flex-shrink: 0;
}

.split-image-450 {
  width: 450px;
  height: 450px;
  object-fit: cover;
  flex-shrink: 0;
}

.split-image-550x459 {
  width: 550px;
  height: 459px;
  object-fit: cover;
  flex-shrink: 0;
}

.active-passive-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.active-passive-card {
  padding: 40px 80px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  color: var(--bunker);
}

.active-passive-card h3 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 34.4px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.active-passive-card ul {
  margin: 0;
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.active-passive-card li {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
}

.active-passive-card.active {
  background: var(--turquoise);
}

.active-passive-card.passive {
  background: var(--link-lilac);
}

.dark-modes {
  padding: 0 0 40px;
}

.dark-inner {
  width: 1328px;
  margin: 0 auto;
  background: var(--bunker);
  padding: 120px 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.dark-inner h2 {
  margin: 0;
  color: var(--ecru);
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 44.4px;
  font-weight: 700;
  line-height: 57.6px;
}

.mode-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.mode-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.mode-card > img,
.presentation-icon-wrap {
  width: 100px;
  height: 100px;
  object-fit: contain;
}

.presentation-icon-wrap {
  position: relative;
}

.presentation-icon-wrap .icon-bg,
.presentation-icon-wrap .icon-fg {
  position: absolute;
}

.presentation-icon-wrap .icon-bg {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.presentation-icon-wrap .icon-fg {
  width: 48px;
  height: 48px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.mode-card h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: var(--turquoise);
  line-height: 1;
}

.mode-card p {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--ecru);
  line-height: normal;
}

.faq-section {
  padding: 80px 200px;
}

.faq-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.faq-item {
  overflow: hidden;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.faq-item.is-open {
  background: var(--link-lilac);
  padding: 40px;
  box-shadow: 0 15.229px 39.417px rgba(179, 179, 179, 0.25);
}

.faq-item:not(.is-open) {
  background: var(--gallery);
}

.faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: transparent;
  border: 0;
  padding: 0;
  font-family: "Manrope", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
  text-align: left;
  cursor: pointer;
}

.faq-item:hover {
  transform: translateY(-1px);
}

.faq-item:not(.is-open):hover {
  background: #e8e8e8;
}

.faq-trigger:hover {
  opacity: 0.95;
}

.faq-trigger img {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
}

.faq-item.is-open .faq-trigger {
  color: var(--neutral-00);
}

.faq-item:not(.is-open) .faq-trigger {
  color: var(--black);
  padding: 20px 40px;
}

.faq-content {
  margin: 20px 0 0;
  color: var(--neutral-10);
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
}

.footer {
  width: 100%;
  background: var(--mine-shaft);
  padding: 40px 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.footer-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer-brand {
  display: flex;
  align-items: center;
}

.footer-brand img {
  width: 51px;
  height: 51px;
}

.footer-brand span {
  color: var(--ecru);
  font-size: 13.3px;
  font-weight: 700;
  line-height: normal;
  padding: 22px 0 22px 10px;
}

.footer-links-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 20px;
}

.footer-links a {
  color: var(--ecru);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

.footer-links a:hover {
  color: var(--turquoise);
}

.copyright {
  margin: 0;
  color: var(--sirocco);
  font-size: 13px;
  font-weight: 500;
  line-height: normal;
}

.footer-socials {
  display: flex;
  gap: 20px;
}

.footer-socials a {
  color: #ffffff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26.667px;
  height: 36px;
}

.footer-socials a:hover {
  transform: translateY(-2px) scale(1.04);
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.25));
}

.footer-socials img {
  width: 26.667px;
  height: 26.667px;
  display: block;
}

@media (max-width: 1600px) {
  .topbar,
  .split-section,
  .faq-section,
  .footer {
    padding-left: 100px;
    padding-right: 100px;
  }

  .dark-inner {
    width: calc(100% - 200px);
  }

  .account-topbar,
  .account-main {
    padding-left: 100px;
    padding-right: 100px;
  }
}

@media (max-width: 1200px) {
  .topbar,
  .split-section,
  .faq-section,
  .footer {
    padding-left: 40px;
    padding-right: 40px;
  }

  .dark-inner {
    width: calc(100% - 80px);
    padding: 80px 40px;
  }

  .hero h1 {
    font-size: 40px;
    line-height: 1.2;
  }

  .split-image {
    width: 460px;
    height: 460px;
  }

  .split-image.tall {
    height: 658px;
  }

  .phone-image {
    height: 590px;
  }

  .image-overlay-wrap {
    width: 460px;
    height: 460px;
  }

  .image-overlay {
    left: 185px;
    top: 392px;
  }

  .mode-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 32px;
  }

  .account-topbar,
  .account-main {
    padding-left: 40px;
    padding-right: 40px;
  }

  .account-main h1,
  .account-main h2 {
    font-size: 36.7px;
  }
}

@media (max-width: 900px) {
  .topbar-inner,
  .split-row,
  .footer-main,
  .footer-links {
    flex-direction: column;
  }

  .topbar-inner,
  .split-row,
  .footer-main {
    align-items: flex-start;
  }

  .nav-links {
    display: none;
  }

  .topbar {
    padding: 0;
  }

  .topbar-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    height: 72px;
    padding: 0 20px;
  }

  .brand {
    font-size: 15.333px;
    line-height: 1;
  }

  .brand img {
    width: 19.166px;
    height: 19.166px;
    margin-right: 8px;
  }

  .mobile-head-actions {
    display: flex;
    align-items: center;
    gap: 3px;
  }

  .mobile-menu {
    display: block;
  }

  .account-topbar {
    padding: 20px;
  }

  .account-topbar-inner {
    align-items: center;
    justify-content: space-between;
  }

  .account-brand {
    font-size: 15.333px;
    line-height: 1;
  }

  .account-brand img {
    width: 19.166px;
    height: 19.166px;
    margin-right: 8px;
  }

  .account-nav-links {
    display: none;
  }

  .account-burger-btn {
    display: inline-flex;
  }

  .account-mobile-menu {
    display: block;
  }

  .account-main {
    padding: 24px 20px 40px;
  }

  .account-shell {
    gap: 40px;
  }

  .account-main h1,
  .account-main h2 {
    font-size: 36.7px;
  }

  .account-section {
    gap: 24px;
  }

  .account-section-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .account-section-header.with-back {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .days-remaining {
    align-self: flex-start;
  }

  .split-row {
    gap: 24px;
  }

  .reverse-desktop {
    flex-direction: column-reverse;
  }

  .split-image,
  .split-image.tall,
  .phone-image,
  .image-overlay-wrap,
  .question-visual {
    width: 100%;
    max-width: 550px;
    height: auto;
  }

  .split-image-500,
  .split-image-616x500,
  .split-image-450,
  .split-image-550x459 {
    width: 100%;
    max-width: 550px;
    height: auto;
  }

  .question-visual {
    aspect-ratio: 1 / 1;
    position: relative;
  }

  .sba-first-visual {
    height: auto;
  }

  .image-overlay {
    display: none;
  }

  .dark-inner h2 {
    font-size: 34px;
    line-height: 1.2;
  }

  .faq-item.is-open {
    padding: 24px;
  }

  .faq-item:not(.is-open) .faq-trigger {
    padding: 20px 24px;
  }

  .footer {
    gap: 16px;
    padding: 20px;
  }

  .footer-main {
    width: 100%;
    align-items: flex-start;
    gap: 20px;
  }

  .footer-brand {
    align-self: center;
  }

  .footer-links-block {
    width: 100%;
    align-items: flex-start;
    gap: 20px;
  }

  .footer-links {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 40px;
    align-items: start;
  }

  .copyright {
    text-align: center;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .topbar,
  .split-section,
  .faq-section,
  .footer,
  .hero {
    padding-left: 20px;
    padding-right: 20px;
  }

  .dark-inner {
    width: calc(100% - 40px);
    padding: 60px 20px;
  }

  .hero {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .hero-actions {
    width: 100%;
    flex-direction: row;
    gap: 10px;
  }

  .hero-actions .btn {
    flex: 1;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
    align-self: stretch;
  }

  .split-content h2 {
    font-size: 36.7px;
    line-height: 1;
  }

  .dark-inner h2 {
    font-size: 34.8px;
    line-height: 1;
  }

  .split-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .split-row {
    gap: 20px;
  }

  .split-content.with-cta,
  .split-content {
    gap: 20px;
  }

  .dark-inner {
    width: 100%;
    padding: 80px 24px;
  }

  .mode-grid {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .dark-card-grid.five,
  .dark-card-grid.six,
  .dark-card-grid.four {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .dark-card .icon-wrap {
    width: 150px;
    height: 150px;
  }

  .dark-card .icon-wrap .icon-fg {
    width: 72px;
    height: 72px;
  }

  .question-note {
    transform: rotate(-10deg);
    width: 150px;
  }

  .question-note.violet {
    left: 16px;
    top: 100px;
  }

  .question-note.green {
    left: 170px;
    top: 160px;
  }

  .mode-card > img,
  .presentation-icon-wrap {
    width: 150px;
    height: 150px;
  }

  .presentation-icon-wrap .icon-fg {
    width: 72px;
    height: 72px;
  }

  .faq-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .faq-item.is-open {
    padding: 40px;
  }

  .faq-item:not(.is-open) .faq-trigger {
    padding: 20px 40px;
  }

  .faq-trigger {
    font-size: 18px;
  }

  .wide-gap {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .footer-socials {
    justify-content: flex-start;
  }

  .account-main {
    padding: 20px;
  }

  .account-shell {
    gap: 32px;
  }

  .account-tabs {
    flex-direction: row;
    gap: 8px;
  }

  .account-tab {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    height: 48px;
  }

  .account-main h1,
  .account-main h2 {
    font-size: 32px;
  }

  .account-back {
    width: 36px;
    height: 36px;
  }

  .account-back img {
    width: 36px;
    height: 36px;
  }

  .field-row p {
    font-size: 18px;
  }

  .card-number {
    font-size: 21px;
  }

  .card-value {
    font-size: 18px;
    line-height: 1.3;
  }

  .account-action {
    height: 48px;
  }

  body[data-page="sba-questions"] .hero {
    padding-left: 40px;
    padding-right: 40px;
  }

  body[data-page="sba-questions"] .dark-inner {
    width: 100%;
    padding: 120px 20px;
  }

  body[data-page="sba-questions"] .dark-modes-compact .dark-inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  body[data-page="sba-questions"] .dark-inner h2 {
    font-size: 44.4px;
    line-height: 57.6px;
  }

  body[data-page="sba-questions"] .dark-card-grid.five,
  body[data-page="sba-questions"] .dark-card-grid.six {
    row-gap: 10px;
  }

  body[data-page="sba-questions"] .dark-card .icon-wrap {
    width: 100px;
    height: 100px;
  }

  body[data-page="sba-questions"] .dark-card .icon-wrap .icon-fg {
    width: 56px;
    height: 56px;
  }

  body[data-page="sba-questions"] .question-note {
    width: 112px;
    padding: 4px 7px;
    border-radius: 4px;
    transform: rotate(-19deg);
  }

  body[data-page="sba-questions"] .question-note strong {
    font-size: 5.7px;
    margin-bottom: 3px;
  }

  body[data-page="sba-questions"] .question-note p {
    font-size: 4.7px;
    line-height: 1.3;
  }

  body[data-page="sba-questions"] .question-note.violet {
    left: 8%;
    top: 29%;
  }

  body[data-page="sba-questions"] .question-note.green {
    left: 51%;
    top: 39%;
  }

  body[data-page="sba-questions"] .sba-first-visual {
    width: 100%;
    aspect-ratio: 550 / 799;
    height: auto;
  }

  body[data-page="sba-questions"] .footer-socials {
    justify-content: center;
  }

  body[data-page="medical-question-banks"] .hero {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  body[data-page="medical-question-banks"] .dark-inner {
    width: 100%;
    padding: 80px 20px;
  }

  body[data-page="medical-question-banks"] .dark-inner h2 {
    font-size: 44.4px;
    line-height: 57.6px;
  }

  body[data-page="medical-question-banks"] .dark-card-grid.four {
    row-gap: 10px;
  }

  body[data-page="medical-question-banks"] .dark-card .icon-wrap {
    width: 100px;
    height: 100px;
  }

  body[data-page="medical-question-banks"] .dark-card .icon-wrap .icon-fg {
    width: 56px;
    height: 56px;
  }

  body[data-page="medical-question-banks"] .footer-socials {
    justify-content: center;
  }

  body[data-page="medical-school-revision"] .hero {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  body[data-page="medical-school-revision"] .dark-inner {
    width: 100%;
    padding: 80px 20px;
  }

  body[data-page="medical-school-revision"] .dark-inner h2 {
    font-size: 44.4px;
    line-height: 57.6px;
  }

  body[data-page="medical-school-revision"] .active-passive-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="medical-school-revision"] .active-passive-card {
    padding: 40px 20px;
    gap: 20px;
  }

  body[data-page="medical-school-revision"] .active-passive-card h3 {
    font-size: 28px;
  }

  body[data-page="medical-school-revision"] .dark-card-grid.five {
    row-gap: 10px;
  }

  body[data-page="medical-school-revision"] .dark-card .icon-wrap {
    width: 100px;
    height: 100px;
  }

  body[data-page="medical-school-revision"] .dark-card .icon-wrap .icon-fg {
    width: 56px;
    height: 56px;
  }

  body[data-page="medical-school-revision"] .footer-socials {
    justify-content: center;
  }
}

/* =========================================
   Features page
   ========================================= */
.ft-hero {
  padding-top: 40px;
  padding-bottom: 40px;
}

.ft-hero-inner {
  gap: 20px;
}

.ft-hero p {
  max-width: 1000px;
  text-align: center;
}

.ft-section {
  width: 100%;
  padding: 80px 200px;
}

.ft-shell {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.ft-shell h2 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 36.7px;
  font-weight: 700;
  color: var(--bunker);
}

.ft-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ft-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 40px 20px;
  border-bottom: 1px solid #cccccc;
}

.ft-item.active {
  background: #efefef;
  border-bottom: 0;
}

.ft-item-main {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 20px;
}

.ft-item-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 24px;
  font-weight: 700;
  color: var(--bunker);
}

.ft-item-title img {
  width: 36px;
  height: 36px;
}

.ft-item p {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--bunker);
  line-height: 1.5;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.35s ease;
  opacity: 0;
}

.ft-item.active p {
  max-height: 400px;
  opacity: 1;
}

.ft-arrow {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid var(--sirocco);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: pointer;
  background: transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.ft-arrow.active {
  border-color: var(--bunker);
  background: var(--bunker);
}

.ft-arrow img {
  width: 12px;
  height: 24px;
  transform: rotate(90deg);
}

.ft-arrow.active img {
  transform: rotate(-90deg);
}

.ft-compare {
  width: 100%;
  padding: 0 200px 40px;
}

.ft-compare-inner {
  width: 100%;
  background: var(--bunker);
  padding: 120px 100px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.ft-compare-inner h2 {
  margin: 0;
  color: var(--ecru);
  font-family: "Inter", sans-serif;
  font-size: 44.4px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.ft-table-wrap {
  overflow-x: auto;
}

.ft-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 860px;
}

.ft-table th,
.ft-table td {
  border: 1px solid #cccccc;
  padding: 16px 20px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  vertical-align: middle;
}

.ft-table th {
  text-align: center;
}

.ft-table th:first-child,
.ft-table td:first-child {
  text-align: left;
  width: 33%;
}

.ft-table td:nth-child(2),
.ft-table td:nth-child(3) {
  width: 33.5%;
}

.ft-table td img {
  width: 24px;
  height: 24px;
  vertical-align: middle;
  margin-right: 10px;
}

.ft-summary {
  width: 100%;
  padding: 40px 200px;
}

.ft-summary-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}

.ft-summary-inner > img {
  width: 48%;
  max-width: 780px;
  height: auto;
}

.ft-summary-content {
  width: 52%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ft-summary-content h2 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 36.7px;
  font-weight: 700;
  color: var(--bunker);
}

.ft-summary-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ft-summary-content li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  color: var(--bunker);
}

.ft-summary-content li img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.ft-summary-content .btn {
  align-self: flex-start;
}

@media (max-width: 1600px) {
  .ft-section,
  .ft-compare,
  .ft-summary {
    padding-left: 80px;
    padding-right: 80px;
  }

  .ft-compare-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 900px) {
  .ft-section,
  .ft-compare,
  .ft-summary {
    padding-left: 20px;
    padding-right: 20px;
  }

  .ft-shell h2,
  .ft-summary-content h2 {
    font-size: 32px;
  }

  .ft-item {
    padding: 24px 16px;
  }

  .ft-item-title {
    font-size: 22px;
    white-space: normal;
  }

  .ft-arrow {
    width: 40px;
    height: 40px;
  }

  .ft-arrow img {
    width: 10px;
    height: 20px;
  }

  .ft-compare-inner {
    padding: 80px 20px;
  }

  .ft-compare-inner h2 {
    font-size: 32px;
  }

  .ft-summary-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .ft-summary-inner > img,
  .ft-summary-content {
    width: 100%;
  }
}
