@charset "UTF-8";
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 0.5rem;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}
.button:focus-visible {
  outline: 2px solid #E2C799;
  outline-offset: 2px;
}

.button--primary {
  background-color: #E2C799;
  color: #0A2F2B;
  border-color: rgba(255, 255, 255, 0.2);
}
.button--primary:hover {
  filter: brightness(1.1);
}

.dark .button--primary,
.dark a.button--primary,
[data-theme=dark] .button--primary,
[data-theme=dark] a.button--primary {
  color: #0A2F2B;
}
.dark .button--primary:hover,
.dark a.button--primary:hover,
[data-theme=dark] .button--primary:hover,
[data-theme=dark] a.button--primary:hover {
  color: #0A2F2B;
}

.button--secondary {
  background-color: transparent;
  color: #0A2F2B;
  border-color: rgba(10, 47, 43, 0.2);
}
.button--secondary:hover {
  background-color: #ECFDF5;
}

.dark .button--secondary,
[data-theme=dark] .button--secondary {
  color: #E2C799;
  border-color: rgba(226, 199, 153, 0.4);
}
.dark .button--secondary:hover,
[data-theme=dark] .button--secondary:hover {
  background-color: rgba(10, 47, 43, 0.4);
}

.button__icon {
  font-size: 1.25rem;
}

.section-header {
  text-align: center;
  margin-bottom: 3rem;
}
.section-header__label {
  display: block;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #E2C799;
  margin-bottom: 1rem;
}
.dark .section-header__label, [data-theme=dark] .section-header__label {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}
.section-header__title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 2.25rem;
  margin-bottom: 1rem;
  color: #0A2F2B;
}
.dark .section-header__title, [data-theme=dark] .section-header__title {
  color: #ffffff;
  font-family: "Playfair Display", Georgia, serif;
}
.section-header__divider {
  width: 4rem;
  height: 4px;
  background-color: #E2C799;
  margin: 1rem auto 0;
}
.section-header__subtitle {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.125rem;
  color: #475569;
  max-width: 42rem;
  margin: 1rem auto 0;
}
.dark .section-header__subtitle, [data-theme=dark] .section-header__subtitle {
  color: #CBD5E1;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 400;
}

.card, .service-card {
  padding: 2rem;
  border-radius: 1.5rem;
  border: 1px solid rgba(226, 199, 153, 0.1);
  background-color: #ffffff;
  transition: all 0.3s ease;
}
.card:hover, .service-card:hover {
  border-color: rgba(226, 199, 153, 0.4);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.dark .card, .dark .service-card,
[data-theme=dark] .card,
[data-theme=dark] .service-card {
  background-color: rgba(10, 47, 43, 0.4);
}

.card--service, .service-card {
  background-color: #ffffff;
}
.dark .card--service, .dark .service-card {
  background-color: rgba(10, 47, 43, 0.4);
}
.card--service .card__icon, .service-card .card__icon {
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ECFDF5;
  border-radius: 1rem;
  margin-bottom: 1.5rem;
  transition: background-color 0.3s;
}
.card--service .card__icon .material-symbols-outlined, .service-card .card__icon .material-symbols-outlined {
  color: #0A2F2B;
  font-size: 1.75rem;
}
.card--service:hover .card__icon, .service-card:hover .card__icon {
  background-color: #E2C799;
}
.card--service .card__title, .service-card .card__title {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
  color: #0A2F2B;
}
.card--service .dark .card__title, .service-card .dark .card__title,
.card--service [data-theme=dark] .card__title,
.service-card [data-theme=dark] .card__title {
  color: #E2C799;
}
.card--service .card__description, .service-card .card__description {
  color: #475569;
}
.card--service .dark .card__description, .service-card .dark .card__description,
.card--service [data-theme=dark] .card__description,
.service-card [data-theme=dark] .card__description {
  color: #94A3B8;
}

.card--package {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.card--package.card--highlighted {
  background-color: #0A2F2B;
  border-color: #E2C799;
  border-width: 2px;
  color: #ffffff;
}
.card--package.card--highlighted .card__title {
  color: #E2C799;
}

.package-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.package-card__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 2rem;
  border-radius: 1.5rem;
  border: 1px solid rgba(226, 199, 153, 0.1);
  background-color: #F8FAFC;
}
.dark .package-card__inner {
  background-color: rgba(10, 47, 43, 0.2);
}
.package-card__inner--highlighted {
  background-color: #0A2F2B;
  border: 2px solid #E2C799;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
@media (min-width: 1024px) {
  .package-card__inner--highlighted {
    transform: scale(1.05);
    z-index: 1;
  }
}
.package-card__inner--highlighted .package-card__title {
  color: #E2C799;
}
.package-card__inner--highlighted .package-card__desc {
  color: rgba(209, 250, 229, 0.7);
}
.package-card__inner--highlighted .package-card__features li {
  color: #ecfdf5;
}
.package-card__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #E2C799;
  color: #0A2F2B;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.5rem 1.25rem;
  border-radius: 9999px;
  white-space: nowrap;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(10, 47, 43, 0.2);
  border: 1px solid rgba(10, 47, 43, 0.25);
  line-height: 1.25;
}
.package-card__title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #0A2F2B;
  margin-bottom: 1rem;
  margin-top: 0.5rem;
}
.dark .package-card__inner:not(.package-card__inner--highlighted) .package-card__title {
  color: #E2C799;
  font-family: "Playfair Display", Georgia, serif;
}
.package-card__desc {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #475569;
  margin-bottom: 2rem;
  flex: 1;
}
.dark .package-card__desc {
  color: #CBD5E1;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}
.package-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.package-card__features li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #475569;
}
.dark .package-card__inner:not(.package-card__inner--highlighted) .package-card__features li {
  color: #CBD5E1;
}
.package-card__features li::before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E2C799'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  background-size: contain;
  flex-shrink: 0;
}
.package-card__cta {
  display: block;
  width: 100%;
  text-align: center;
}

.service-card__icon {
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ECFDF5;
  border-radius: 1rem;
  margin-bottom: 1.5rem;
}
.service-card:hover .service-card__icon {
  background-color: #E2C799;
}
.dark .service-card__icon, [data-theme=dark] .service-card__icon {
  background-color: #0A2F2B;
}
.service-card__title {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
  color: #0A2F2B;
}
.service-card__summary, .service-card__description {
  color: #475569;
}
.service-card__features {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}
.service-card__feature-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
}
.service-card__feature-item .material-symbols-outlined {
  color: #E2C799;
  font-size: 0.875rem;
}

.services-page__hero {
  background: linear-gradient(135deg, #0A2F2B 0%, #051210 100%);
  padding: 0;
  text-align: center;
  border-bottom: 1px solid rgba(226, 199, 153, 0.1);
}
.services-page__layout {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  max-width: 80rem;
  margin: 0 auto;
  padding: 4rem 1rem;
  background: #F8FAFC;
}
@media (min-width: 1024px) {
  .services-page__layout {
    flex-direction: row;
    gap: 3rem;
    padding: 5rem 2rem;
  }
}
.dark .services-page__layout {
  background: #051210;
}
.services-page__sidebar {
  min-width: 0;
}
@media (min-width: 1024px) {
  .services-page__sidebar {
    width: 25%;
    flex-shrink: 0;
  }
}
.services-page__sidebar-card {
  background: linear-gradient(135deg, #0A2F2B 0%, #051210 100%);
  border-radius: 1.5rem;
  padding: 1.5rem;
  border: 1px solid rgba(226, 199, 153, 0.1);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
@media (min-width: 1024px) {
  .services-page__sidebar-card {
    position: sticky;
    top: 7rem;
  }
}
.dark .services-page__sidebar-card {
  background: linear-gradient(135deg, rgba(10, 47, 43, 0.95) 0%, #051210 100%);
  border-color: rgba(226, 199, 153, 0.15);
}
.services-page__nav-title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #E2C799;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(226, 199, 153, 0.1);
}
.services-page__nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.services-page__nav-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 1.5rem;
  color: rgba(209, 250, 229, 0.6);
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.services-page__nav-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #E2C799;
}
.services-page__nav-link--active {
  background: rgba(226, 199, 153, 0.1);
  color: #E2C799;
  font-weight: 600;
  border-color: rgba(226, 199, 153, 0.2);
}
.services-page__nav-link .material-symbols-outlined {
  color: #E2C799;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.services-page__sidebar-cta {
  margin-top: 2rem;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(226, 199, 153, 0.1);
  border-radius: 1.5rem;
  text-align: center;
}
.services-page__sidebar-cta-text {
  font-size: 0.75rem;
  color: rgba(209, 250, 229, 0.5);
  margin-bottom: 0.75rem;
}
.services-page__sidebar-cta-btn {
  display: block;
  width: 100%;
  padding: 0.75rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  background: #E2C799;
  color: #0A2F2B;
  border: none;
  border-radius: 1rem;
  text-decoration: none;
  transition: filter 0.2s ease;
  box-sizing: border-box;
}
.services-page__sidebar-cta-btn:hover {
  filter: brightness(1.1);
}
.dark .services-page__sidebar-cta-btn {
  color: #0A2F2B;
}
.services-page__main {
  flex: 1;
  min-width: 0;
}
@media (min-width: 1024px) {
  .services-page__main {
    width: 75%;
  }
}
.services-page__service {
  scroll-margin-top: 8rem;
}
.services-page__service-inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .services-page__service-inner {
    flex-direction: row;
    gap: 3rem;
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .services-page__service-inner--reverse {
    flex-direction: row-reverse;
  }
}
.services-page__service-media {
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .services-page__service-media {
    width: 33.333%;
    flex-shrink: 0;
  }
}
.services-page__service-image {
  aspect-ratio: 4/3;
  min-height: 16rem;
  border-radius: 1.5rem;
  background: #ffffff;
  border: 1px solid rgba(10, 47, 43, 0.08);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.services-page__service-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.services-page__service-image-icon {
  font-size: 4rem;
  color: rgba(226, 199, 153, 0.6);
}
.dark .services-page__service-image {
  background: rgba(10, 47, 43, 0.4);
  border-color: rgba(226, 199, 153, 0.15);
}
.services-page__service-image-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0A2F2B;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.services-page__service-body {
  flex: 1;
  min-width: 0;
}
.services-page__service-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.services-page__service-icon {
  font-size: 2.25rem;
  color: #E2C799;
  flex-shrink: 0;
  margin-top: 0.25rem;
}
.services-page__service-title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 1.875rem;
  color: #0A2F2B;
  margin: 0;
  line-height: 1.25;
}
.dark .services-page__service-title {
  color: #ffffff;
}
.services-page__service-desc {
  font-size: 1.125rem;
  line-height: 1.625;
  margin-bottom: 1.5rem;
  color: #475569;
}
.dark .services-page__service-desc {
  color: #CBD5E1;
}
.services-page__service-features {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .services-page__service-features {
    grid-template-columns: repeat(2, 1fr);
  }
}
.services-page__service-feature {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #475569;
  font-size: 1rem;
}
.dark .services-page__service-feature {
  color: #CBD5E1;
}
.services-page__service-feature-icon {
  flex-shrink: 0;
  color: #E2C799;
  font-size: 0.875rem;
}
.services-page__service-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  color: #E2C799;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.services-page__service-cta:hover {
  transform: translateX(0.5rem);
}
.services-page__service-cta .material-symbols-outlined {
  font-size: 1.25rem;
}
.services-page__divider {
  height: 1px;
  width: 100%;
  background: rgba(10, 47, 43, 0.12);
  margin-top: 4rem;
}
.services-page__service--ngo .services-page__service-inner--ngo {
  background: #0A2F2B;
  border-radius: 1.875rem;
  padding: 2.5rem;
  border: 1px solid rgba(226, 199, 153, 0.2);
  flex-direction: column;
}
.dark .services-page__service--ngo .services-page__service-inner--ngo {
  background: rgba(10, 47, 43, 0.95);
}
.services-page__service--ngo .services-page__service-header {
  margin-bottom: 1.5rem;
}
.services-page__service--ngo .services-page__service-icon {
  color: #E2C799;
}
.services-page__service--ngo .services-page__service-title {
  color: #ffffff;
}
.services-page__service--ngo .services-page__service-desc {
  color: rgba(209, 250, 229, 0.7);
  max-width: 42rem;
}
.services-page__service--ngo .services-page__service-body {
  width: 100%;
}
.services-page__ngo-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .services-page__ngo-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
.services-page__ngo-card {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 1.5rem;
  border: 1px solid rgba(226, 199, 153, 0.1);
}
.services-page__service--ngo .services-page__ngo-card {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(226, 199, 153, 0.1);
}
.dark .services-page__service--ngo .services-page__ngo-card {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(226, 199, 153, 0.1);
}
.services-page__ngo-card-title {
  font-weight: 700;
  font-size: 1rem;
  color: #E2C799;
  margin: 0 0 0.5rem;
}
.services-page__service--ngo .services-page__ngo-card-title {
  color: #E2C799;
}
.services-page__ngo-card-desc {
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.5);
  margin: 0;
  line-height: 1.625;
}
.services-page__service--ngo .services-page__ngo-card-desc {
  color: rgba(209, 250, 229, 0.5);
}
.services-page__service--ngo .services-page__service-cta-btn {
  background: #E2C799;
  color: #0A2F2B;
  border: none;
}
.services-page__service--ngo .services-page__service-cta-btn:hover {
  filter: brightness(1.05);
}
.dark .services-page__service--ngo .services-page__service-cta-btn {
  color: #0A2F2B;
}
.services-page .hero--compact {
  min-height: auto;
}
.services-page .hero--compact .hero__inner {
  max-width: 42rem;
  margin: 0 auto;
  padding: 1rem 1rem;
}
.services-page .hero--compact .hero__title {
  color: #ffffff;
  font-size: 2.25rem;
}
@media (min-width: 768px) {
  .services-page .hero--compact .hero__title {
    font-size: 3.75rem;
  }
}
.services-page .hero--compact .hero__subtitle {
  color: rgba(209, 250, 229, 0.7);
  font-size: 1.125rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: normal;
}
.services-page .hero--compact .hero__title-accent {
  color: #E2C799;
  font-style: italic;
}

.scroll-mt-32 {
  scroll-margin-top: 8rem;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(203, 213, 225, 0.5);
}
.dark .site-header {
  background: rgba(10, 47, 43, 0.95);
  border-color: rgba(226, 199, 153, 0.1);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1rem;
  min-height: 5rem;
}
@media (min-width: 640px) {
  .site-header__inner {
    padding: 0 1.5rem;
    gap: 1rem;
  }
}
@media (min-width: 1024px) {
  .site-header__inner {
    padding: 0 2rem;
  }
}

.site-header__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  text-decoration: none;
  color: inherit;
}

.site-header__logo-img {
  height: 2.5rem;
  width: auto;
  max-width: 12rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.site-header__logo-img--dark {
  display: none;
}
.dark .site-header__logo-img--light {
  display: none;
}
.dark .site-header__logo-img--dark {
  display: block;
}

.site-header__logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background: #0A2F2B;
  color: #E2C799;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  font-style: italic;
  border-radius: 0.5rem;
  border: 1px solid rgba(226, 199, 153, 0.3);
}

.site-header__logo-text {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0A2F2B;
  display: none;
}
.dark .site-header__logo-text {
  color: #E2C799;
}
@media (min-width: 640px) {
  .site-header__logo-text {
    display: inline;
  }
}

.site-header__nav {
  display: none;
  align-items: center;
  gap: 2rem;
  margin-left: auto;
  min-width: 0;
  flex: 1 1 auto;
  justify-content: flex-end;
}
@media (min-width: 1024px) {
  .site-header__nav {
    display: flex;
  }
}

.site-header__menu {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-header__link {
  font-weight: 500;
  color: #475569;
  text-decoration: none;
  transition: color 0.2s;
}
.site-header__link:hover {
  color: #0A2F2B;
}
.dark .site-header__link {
  color: #CBD5E1;
}
.dark .site-header__link:hover {
  color: #E2C799;
}

.site-header__login {
  font-weight: 600;
  color: #475569;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
}
.site-header__login:hover {
  color: #0A2F2B;
}
.dark .site-header__login {
  color: #CBD5E1;
}
.dark .site-header__login:hover {
  color: #E2C799;
}

.site-header__portal {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.site-header__portal .material-symbols-outlined {
  font-size: 1.125rem;
}

.site-header__cta {
  white-space: nowrap;
  padding: 0.625rem 1.5rem;
  border-radius: 9999px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.site-header__mobile-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: auto;
  padding: 0.5rem;
  background: none;
  border: none;
  color: #0A2F2B;
  cursor: pointer;
}
.dark .site-header__mobile-toggle {
  color: #E2C799;
}
@media (min-width: 1024px) {
  .site-header__mobile-toggle {
    display: none;
  }
}

.site-header__nav ul {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-header__nav ul li {
  margin: 0;
}
.site-header__nav ul a {
  font-weight: 500;
  color: #475569;
  text-decoration: none;
  transition: color 0.2s;
  display: inline-block;
}
.site-header__nav ul a:hover {
  color: #0A2F2B;
}
.dark .site-header__nav ul a {
  color: #CBD5E1;
}
.dark .site-header__nav ul a:hover {
  color: #E2C799;
}

.site-header__theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0.5rem;
  color: #475569;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}
.site-header__theme-toggle .material-symbols-outlined {
  font-size: 1.5rem;
}
.site-header__theme-toggle:hover {
  color: #0A2F2B;
  background: rgba(10, 47, 43, 0.08);
}
.dark .site-header__theme-toggle {
  color: #CBD5E1;
}
.dark .site-header__theme-toggle:hover {
  color: #E2C799;
  background: rgba(226, 199, 153, 0.1);
}

.site-header__nav > a.site-header__cta {
  flex-shrink: 0;
}

.site-header__mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(203, 213, 225, 0.5);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
  max-height: 80vh;
  overflow-y: auto;
}
.dark .site-header__mobile-menu {
  background: rgba(10, 47, 43, 0.98);
  border-color: rgba(226, 199, 153, 0.1);
}
.site-header__mobile-menu.is-open {
  display: block;
}
@media (min-width: 1024px) {
  .site-header__mobile-menu {
    display: none !important;
  }
}

.site-header__mobile-menu-inner {
  padding: 1rem 1rem 1.5rem;
  max-width: 80rem;
  margin: 0 auto;
}

.site-header__mobile-menu-list,
.site-header__mobile-menu ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.site-header__mobile-menu-list a,
.site-header__mobile-menu ul a {
  display: block;
  padding: 0.75rem 1rem;
  font-weight: 500;
  color: #0A2F2B;
  text-decoration: none;
  border-radius: 1rem;
  transition: background 0.2s;
}
.site-header__mobile-menu-list a:hover,
.site-header__mobile-menu ul a:hover {
  background: rgba(10, 47, 43, 0.08);
  color: #0A2F2B;
}
.dark .site-header__mobile-menu-list a,
.dark .site-header__mobile-menu ul a {
  color: #D1FAE5;
}
.dark .site-header__mobile-menu-list a:hover,
.dark .site-header__mobile-menu ul a:hover {
  background: rgba(255, 255, 255, 0.08);
}

.site-header__mobile-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(203, 213, 225, 0.3);
}
.dark .site-header__mobile-actions {
  border-color: rgba(255, 255, 255, 0.1);
}
.site-header__mobile-actions .site-header__cta,
.site-header__mobile-actions .site-header__portal {
  justify-content: center;
  text-align: center;
}
.site-header__mobile-actions .site-header__login {
  padding: 0.75rem 1rem;
  text-align: center;
  border-radius: 1rem;
  background: rgba(10, 47, 43, 0.06);
}
.site-header__mobile-actions .site-header__login:hover {
  background: rgba(10, 47, 43, 0.1);
}

.site-footer {
  background: var(--color-primary, #0A2F2B);
  border-top: 1px solid rgba(226, 199, 153, 0.2);
  padding-top: 5rem;
  padding-bottom: 2.5rem;
  color: rgba(209, 250, 229, 0.7);
}

.site-footer__inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1rem;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .site-footer__inner {
    padding: 0 1.5rem;
  }
}
@media (min-width: 1024px) {
  .site-footer__inner {
    padding: 0 2rem;
  }
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
  min-width: 0;
}
@media (min-width: 768px) {
  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .site-footer__grid {
    grid-template-columns: 1fr repeat(2, auto) 1fr;
  }
}

.site-footer__brand {
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .site-footer__brand {
    grid-column: 1;
  }
}

.site-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  text-decoration: none;
  color: inherit;
}

.site-footer__logo-img {
  height: 2rem;
  width: auto;
  max-width: 10rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.site-footer__logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: #E2C799;
  color: #0A2F2B;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 0.75rem;
  font-weight: 700;
  font-style: italic;
  border-radius: 0.5rem;
}

.site-footer__logo-text {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #E2C799;
}

.site-footer__tagline {
  color: rgba(209, 250, 229, 0.7);
  margin: 0 0 1.5rem;
  max-width: 20rem;
}

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

.site-footer__contact-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.85);
  text-decoration: none;
  transition: color 0.2s;
}
.site-footer__contact-link .material-symbols-outlined {
  font-size: 1rem;
  color: #E2C799;
  opacity: 0.9;
}
.site-footer__contact-link:hover {
  color: #E2C799;
}

.site-footer__social {
  display: flex;
  gap: 1rem;
}

.site-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(226, 199, 153, 0.1);
  border: 1px solid rgba(226, 199, 153, 0.2);
  color: #E2C799;
  text-decoration: none;
  transition: all 0.2s;
}
.site-footer__social-link:hover {
  background: #E2C799;
  color: #0A2F2B;
}

.site-footer__social-svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.site-footer__heading {
  font-weight: 700;
  color: #E2C799;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}

.site-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer__links li {
  margin-bottom: 1rem;
}
.site-footer__links a {
  color: rgba(209, 250, 229, 0.7);
  text-decoration: none;
  transition: color 0.2s;
}
.site-footer__links a:hover {
  color: #E2C799;
}

.site-footer__newsletter {
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .site-footer__newsletter {
    min-width: 14rem;
  }
}

.site-footer__newsletter-text {
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.7);
  margin-bottom: 1rem;
}

.site-footer__newsletter-form {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 639px) {
  .site-footer__newsletter-form {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
  }
}

.site-footer__newsletter-input {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(226, 199, 153, 0.2);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.05);
  font-size: 0.875rem;
  color: #ffffff;
}
@media (max-width: 639px) {
  .site-footer__newsletter-input {
    flex: none;
  }
}
.site-footer__newsletter-input::-moz-placeholder {
  color: rgba(209, 250, 229, 0.3);
}
.site-footer__newsletter-input::placeholder {
  color: rgba(209, 250, 229, 0.3);
}
.site-footer__newsletter-input:focus {
  outline: none;
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.2);
}

.site-footer__newsletter-btn, .site-footer__newsletter-webform form.webform-submission-form .form-submit,
.site-footer__newsletter-webform form.webform-submission-form button.webform-button--submit,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-submit,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form button.webform-button--submit {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0.5rem 0.75rem;
  min-width: 2.75rem;
  background: #E2C799;
  color: #0A2F2B;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.2s;
  box-sizing: border-box;
  font-size: 0.875rem;
  font-weight: 700;
}
@media (max-width: 639px) {
  .site-footer__newsletter-btn, .site-footer__newsletter-webform form.webform-submission-form .form-submit,
  .site-footer__newsletter-webform form.webform-submission-form button.webform-button--submit,
  .site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-submit,
  .site-footer__newsletter-webform form.site-footer__newsletter-webform-form button.webform-button--submit {
    width: 100%;
    min-height: 2.75rem;
  }
}
.site-footer__newsletter-btn:hover, .site-footer__newsletter-webform form.webform-submission-form .form-submit:hover,
.site-footer__newsletter-webform form.webform-submission-form button.webform-button--submit:hover,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-submit:hover,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form button.webform-button--submit:hover {
  filter: brightness(1.1);
}
.site-footer__newsletter-btn .material-symbols-outlined, .site-footer__newsletter-webform form.webform-submission-form .form-submit .material-symbols-outlined,
.site-footer__newsletter-webform form.webform-submission-form button.webform-button--submit .material-symbols-outlined,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-submit .material-symbols-outlined,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form button.webform-button--submit .material-symbols-outlined {
  font-size: 0.875rem;
}

.site-footer__newsletter-webform {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.site-footer__newsletter-webform .webform-ajax-wrapper {
  width: 100%;
  min-width: 0;
}
.site-footer__newsletter-webform form.webform-submission-form,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
}
@media (max-width: 639px) {
  .site-footer__newsletter-webform form.webform-submission-form,
  .site-footer__newsletter-webform form.site-footer__newsletter-webform-form {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
  }
}
.site-footer__newsletter-webform form.webform-submission-form .form-item,
.site-footer__newsletter-webform form.webform-submission-form .js-form-item,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-item,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form .js-form-item {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
}
.site-footer__newsletter-webform form.webform-submission-form .form-actions,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-actions {
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: stretch;
}
@media (max-width: 639px) {
  .site-footer__newsletter-webform form.webform-submission-form .form-actions,
  .site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-actions {
    width: 100%;
  }
}
.site-footer__newsletter-webform form.webform-submission-form .form-submit,
.site-footer__newsletter-webform form.webform-submission-form button.form-submit,
.site-footer__newsletter-webform form.webform-submission-form button.webform-button--submit,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form .form-submit,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form button.form-submit,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form button.webform-button--submit {
  height: 100%;
  min-height: 2.5rem;
}
.site-footer__newsletter-webform form.webform-submission-form input.form-email,
.site-footer__newsletter-webform form.webform-submission-form input[type=email],
.site-footer__newsletter-webform form.webform-submission-form input.site-footer__newsletter-input,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.form-email,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input[type=email],
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.site-footer__newsletter-input {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(226, 199, 153, 0.2);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.05);
  font-size: 0.875rem;
  color: #ffffff;
  font-family: inherit;
}
.site-footer__newsletter-webform form.webform-submission-form input.form-email::-moz-placeholder, .site-footer__newsletter-webform form.webform-submission-form input[type=email]::-moz-placeholder, .site-footer__newsletter-webform form.webform-submission-form input.site-footer__newsletter-input::-moz-placeholder, .site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.form-email::-moz-placeholder, .site-footer__newsletter-webform form.site-footer__newsletter-webform-form input[type=email]::-moz-placeholder, .site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.site-footer__newsletter-input::-moz-placeholder {
  color: rgba(209, 250, 229, 0.3);
}
.site-footer__newsletter-webform form.webform-submission-form input.form-email::placeholder,
.site-footer__newsletter-webform form.webform-submission-form input[type=email]::placeholder,
.site-footer__newsletter-webform form.webform-submission-form input.site-footer__newsletter-input::placeholder,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.form-email::placeholder,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input[type=email]::placeholder,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.site-footer__newsletter-input::placeholder {
  color: rgba(209, 250, 229, 0.3);
}
.site-footer__newsletter-webform form.webform-submission-form input.form-email:focus,
.site-footer__newsletter-webform form.webform-submission-form input[type=email]:focus,
.site-footer__newsletter-webform form.webform-submission-form input.site-footer__newsletter-input:focus,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.form-email:focus,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input[type=email]:focus,
.site-footer__newsletter-webform form.site-footer__newsletter-webform-form input.site-footer__newsletter-input:focus {
  outline: none;
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.2);
}
.site-footer__newsletter-webform .webform-confirmation {
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.85);
  margin: 0;
}

.site-footer__bottom {
  padding-top: 2rem;
  border-top: 1px solid rgba(226, 199, 153, 0.1);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
@media (min-width: 768px) {
  .site-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
  }
}

.site-footer__copyright {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #E2C799;
  margin: 0;
}

.site-footer__legal {
  display: flex;
  gap: 2rem;
}
.site-footer__legal a {
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.5);
  text-decoration: none;
  transition: color 0.2s;
}
.site-footer__legal a:hover {
  color: #E2C799;
}

.consultation-page {
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .consultation-page {
    padding: 6rem 0;
  }
}

.consultation-page__inner {
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .consultation-page__inner {
    padding: 0 1.5rem;
  }
}
@media (min-width: 1024px) {
  .consultation-page__inner {
    padding: 0 2rem;
  }
}

.consultation-page__header {
  text-align: center;
  margin-bottom: 4rem;
}

.consultation-page__title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 800;
  font-size: 2.25rem;
  color: #0A2F2B;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .consultation-page__title {
    font-size: 3rem;
  }
}
.dark .consultation-page__title {
  color: #ffffff;
}

.consultation-page__title-accent {
  color: #E2C799;
  font-style: italic;
}

.consultation-page__subtitle {
  font-size: 1.125rem;
  color: #475569;
  max-width: 42rem;
  margin: 0 auto;
}
.dark .consultation-page__subtitle {
  color: #94A3B8;
}

.consultation-page__card {
  background: #ffffff;
  border-radius: 2.25rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  overflow: visible;
  border: 1px solid rgba(10, 47, 43, 0.1);
}
.dark .consultation-page__card {
  background: rgba(10, 47, 43, 0.1);
}

.consultation-page__grid {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .consultation-page__grid {
    grid-template-columns: 2fr 3fr;
  }
}

.consultation-page__contact-info {
  background: #0A2F2B;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 2.25rem 0 0 2.25rem;
}
@media (min-width: 768px) {
  .consultation-page__contact-info {
    padding: 3rem;
    border-right: 1px solid rgba(226, 199, 153, 0.1);
  }
}
@media (max-width: 767px) {
  .consultation-page__contact-info {
    border-radius: 2.25rem 2.25rem 0 0;
  }
}
.consultation-page__contact-info a {
  color: #E2C799;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: rgba(226, 199, 153, 0.45);
  text-underline-offset: 0.15em;
}
.consultation-page__contact-info a:hover, .consultation-page__contact-info a:focus-visible {
  color: #D1FAE5;
  text-decoration-color: rgba(209, 250, 229, 0.7);
}

.consultation-page__contact-title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #E2C799;
  margin-bottom: 1.5rem;
}

.consultation-page__contact-items {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.consultation-page__contact-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.consultation-page__contact-item .material-symbols-outlined {
  color: #E2C799;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.consultation-page__contact-label {
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.25rem;
}

.consultation-page__contact-value {
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.6);
  margin: 0;
}

.consultation-page__quote {
  margin-top: 3rem;
  padding: 1.5rem;
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-style: italic;
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.8);
}

.consultation-page__form-wrapper {
  padding: 2rem;
  overflow: visible;
  position: relative;
  z-index: 2;
  border-radius: 0 2.25rem 2.25rem 0;
  background: #ffffff;
}
.dark .consultation-page__form-wrapper {
  background: transparent;
}
@media (max-width: 767px) {
  .consultation-page__form-wrapper {
    border-radius: 0 0 2.25rem 2.25rem;
  }
}
@media (min-width: 768px) {
  .consultation-page__form-wrapper {
    padding: 3rem;
  }
}

.consultation-form .form-item,
.consultation-form .js-form-item {
  margin-bottom: 1.5rem;
  min-width: 0;
}
.consultation-form .form-actions {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  border: none;
  background: transparent;
}
.consultation-form .form-item-service,
.consultation-form .form-item-service-interest,
.consultation-form .form-type-select[class*=service-interest] {
  position: relative;
  z-index: 10;
}
.consultation-form select {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  cursor: pointer;
}
.consultation-form label:not(.visually-hidden):not(.js-form-required-mark),
.consultation-form .fieldset__legend,
.consultation-form legend {
  display: block;
  font-weight: 700;
  font-size: 0.875rem;
  color: #0A2F2B;
  margin-bottom: 0.5rem;
}
.dark .consultation-form label:not(.visually-hidden):not(.js-form-required-mark),
.dark .consultation-form .fieldset__legend,
.dark .consultation-form legend {
  color: #E2C799;
}
.consultation-form input.form-text,
.consultation-form input.form-email,
.consultation-form input[type=text],
.consultation-form input[type=email],
.consultation-form select,
.consultation-form textarea,
.consultation-form textarea.form-textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(10, 47, 43, 0.2);
  background: #ECFDF5;
  color: #0A2F2B;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
}
.consultation-form input.form-text:focus,
.consultation-form input.form-email:focus,
.consultation-form input[type=text]:focus,
.consultation-form input[type=email]:focus,
.consultation-form select:focus,
.consultation-form textarea:focus,
.consultation-form textarea.form-textarea:focus {
  outline: none;
  border-color: #0A2F2B;
  box-shadow: 0 0 0 2px rgba(10, 47, 43, 0.2);
}
.dark .consultation-form input.form-text,
.dark .consultation-form input.form-email,
.dark .consultation-form input[type=text],
.dark .consultation-form input[type=email],
.dark .consultation-form select,
.dark .consultation-form textarea,
.dark .consultation-form textarea.form-textarea {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(10, 47, 43, 0.5);
  color: #ffffff;
}
.dark .consultation-form input.form-text:focus,
.dark .consultation-form input.form-email:focus,
.dark .consultation-form input[type=text]:focus,
.dark .consultation-form input[type=email]:focus,
.dark .consultation-form select:focus,
.dark .consultation-form textarea:focus,
.dark .consultation-form textarea.form-textarea:focus {
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.15);
}
.consultation-form select {
  max-width: 100%;
}
.consultation-form textarea,
.consultation-form textarea.form-textarea {
  min-height: 8rem;
  resize: vertical;
}
.consultation-form .description,
.consultation-form .webform-element-description {
  font-size: 0.875rem;
  color: #475569;
  margin-top: 0.25rem;
}
.dark .consultation-form .description,
.dark .consultation-form .webform-element-description {
  color: #94A3B8;
}
.consultation-form .form-submit,
.consultation-form input.form-submit,
.consultation-form button.form-submit,
.consultation-form button.webform-button--submit,
.consultation-form .button.button--primary.form-submit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 700;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  border-radius: 9999px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  box-sizing: border-box;
  transition: filter 0.2s ease;
  background-color: #E2C799;
  color: #0A2F2B;
}
.consultation-form .form-submit:hover,
.consultation-form input.form-submit:hover,
.consultation-form button.form-submit:hover,
.consultation-form button.webform-button--submit:hover,
.consultation-form .button.button--primary.form-submit:hover {
  filter: brightness(1.08);
}
.dark .consultation-form .form-submit,
.dark .consultation-form input.form-submit,
.dark .consultation-form button.form-submit,
.dark .consultation-form button.webform-button--submit,
.dark .consultation-form .button.button--primary.form-submit {
  color: #0A2F2B;
}

.consultation-page__form-wrapper form .form-item,
.consultation-page__form-wrapper form .js-form-item {
  margin-bottom: 1.5rem;
  min-width: 0;
}
.consultation-page__form-wrapper form .form-actions {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  border: none;
  background: transparent;
}
.consultation-page__form-wrapper form .form-item-service,
.consultation-page__form-wrapper form .form-item-service-interest,
.consultation-page__form-wrapper form .form-type-select[class*=service-interest] {
  position: relative;
  z-index: 10;
}
.consultation-page__form-wrapper form select {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  cursor: pointer;
}
.consultation-page__form-wrapper form label:not(.visually-hidden):not(.js-form-required-mark),
.consultation-page__form-wrapper form .fieldset__legend,
.consultation-page__form-wrapper form legend {
  display: block;
  font-weight: 700;
  font-size: 0.875rem;
  color: #0A2F2B;
  margin-bottom: 0.5rem;
}
.dark .consultation-page__form-wrapper form label:not(.visually-hidden):not(.js-form-required-mark),
.dark .consultation-page__form-wrapper form .fieldset__legend,
.dark .consultation-page__form-wrapper form legend {
  color: #E2C799;
}
.consultation-page__form-wrapper form input.form-text,
.consultation-page__form-wrapper form input.form-email,
.consultation-page__form-wrapper form input[type=text],
.consultation-page__form-wrapper form input[type=email],
.consultation-page__form-wrapper form select,
.consultation-page__form-wrapper form textarea,
.consultation-page__form-wrapper form textarea.form-textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(10, 47, 43, 0.2);
  background: #ECFDF5;
  color: #0A2F2B;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
}
.consultation-page__form-wrapper form input.form-text:focus,
.consultation-page__form-wrapper form input.form-email:focus,
.consultation-page__form-wrapper form input[type=text]:focus,
.consultation-page__form-wrapper form input[type=email]:focus,
.consultation-page__form-wrapper form select:focus,
.consultation-page__form-wrapper form textarea:focus,
.consultation-page__form-wrapper form textarea.form-textarea:focus {
  outline: none;
  border-color: #0A2F2B;
  box-shadow: 0 0 0 2px rgba(10, 47, 43, 0.2);
}
.dark .consultation-page__form-wrapper form input.form-text,
.dark .consultation-page__form-wrapper form input.form-email,
.dark .consultation-page__form-wrapper form input[type=text],
.dark .consultation-page__form-wrapper form input[type=email],
.dark .consultation-page__form-wrapper form select,
.dark .consultation-page__form-wrapper form textarea,
.dark .consultation-page__form-wrapper form textarea.form-textarea {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(10, 47, 43, 0.5);
  color: #ffffff;
}
.dark .consultation-page__form-wrapper form input.form-text:focus,
.dark .consultation-page__form-wrapper form input.form-email:focus,
.dark .consultation-page__form-wrapper form input[type=text]:focus,
.dark .consultation-page__form-wrapper form input[type=email]:focus,
.dark .consultation-page__form-wrapper form select:focus,
.dark .consultation-page__form-wrapper form textarea:focus,
.dark .consultation-page__form-wrapper form textarea.form-textarea:focus {
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.15);
}
.consultation-page__form-wrapper form select {
  max-width: 100%;
}
.consultation-page__form-wrapper form textarea,
.consultation-page__form-wrapper form textarea.form-textarea {
  min-height: 8rem;
  resize: vertical;
}
.consultation-page__form-wrapper form .description,
.consultation-page__form-wrapper form .webform-element-description {
  font-size: 0.875rem;
  color: #475569;
  margin-top: 0.25rem;
}
.dark .consultation-page__form-wrapper form .description,
.dark .consultation-page__form-wrapper form .webform-element-description {
  color: #94A3B8;
}
.consultation-page__form-wrapper form .form-submit,
.consultation-page__form-wrapper form input.form-submit,
.consultation-page__form-wrapper form button.form-submit,
.consultation-page__form-wrapper form button.webform-button--submit,
.consultation-page__form-wrapper form .button.button--primary.form-submit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 700;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  border-radius: 9999px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  box-sizing: border-box;
  transition: filter 0.2s ease;
  background-color: #E2C799;
  color: #0A2F2B;
}
.consultation-page__form-wrapper form .form-submit:hover,
.consultation-page__form-wrapper form input.form-submit:hover,
.consultation-page__form-wrapper form button.form-submit:hover,
.consultation-page__form-wrapper form button.webform-button--submit:hover,
.consultation-page__form-wrapper form .button.button--primary.form-submit:hover {
  filter: brightness(1.08);
}
.dark .consultation-page__form-wrapper form .form-submit,
.dark .consultation-page__form-wrapper form input.form-submit,
.dark .consultation-page__form-wrapper form button.form-submit,
.dark .consultation-page__form-wrapper form button.webform-button--submit,
.dark .consultation-page__form-wrapper form .button.button--primary.form-submit {
  color: #0A2F2B;
}

.login-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
@media (min-width: 1024px) {
  .login-page {
    flex-direction: row;
  }
}

.login-page__branding {
  display: none;
  background: #0A2F2B;
  padding: 4rem;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}
@media (min-width: 1024px) {
  .login-page__branding {
    display: flex;
    width: 40%;
  }
}

.login-page__logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: #ffffff;
}
.login-page__logo-img {
  height: 2.5rem;
  width: auto;
  max-width: 12rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.login-page__logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: #E2C799;
  color: #0A2F2B;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  font-style: italic;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.login-page__logo-text {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
}

.login-page__brand-content {
  max-width: 32rem;
}

.login-page__title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: clamp(1.875rem, 4vw, 3.75rem);
  color: #ffffff;
  line-height: 1.25;
  margin-bottom: 2rem;
}

.login-page__title-accent {
  color: #E2C799;
}

.login-page__tagline {
  font-size: 1.25rem;
  font-weight: 500;
  color: rgba(209, 250, 229, 0.9);
  padding-left: 1.5rem;
  border-left: 3px solid #E2C799;
  margin: 0;
}

.login-page__security {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}
.login-page__security .material-symbols-outlined {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.8);
}

.login-page__form-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: #F8FAFC;
}
@media (min-width: 1024px) {
  .login-page__form-section {
    width: 60%;
    padding: 4rem 6rem;
  }
}

.login-page__form-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  max-width: 28rem;
  margin: 0 auto;
  width: 100%;
  padding: 2rem 1.5rem;
}
@media (min-width: 640px) {
  .login-page__form-inner {
    padding: 3rem 2rem;
  }
}
@media (min-width: 1024px) {
  .login-page__form-inner {
    padding: 4rem 0;
  }
}

.login-page__mobile-logo {
  display: flex;
  margin-bottom: 2.5rem;
}
@media (min-width: 1024px) {
  .login-page__mobile-logo {
    display: none;
  }
}

.login-page__form-header {
  position: relative;
  margin-bottom: 2.5rem;
}

.login-page__theme-toggle {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0.5rem;
  color: #475569;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}
.login-page__theme-toggle .material-symbols-outlined {
  font-size: 1.5rem;
}
.login-page__theme-toggle:hover {
  color: #0A2F2B;
  background: rgba(10, 47, 43, 0.08);
}
.dark .login-page__theme-toggle {
  color: #94A3B8;
}
.dark .login-page__theme-toggle:hover {
  color: #E2C799;
  background: rgba(226, 199, 153, 0.1);
}

.login-page__form-title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 1.875rem;
  color: #0A2F2B;
  margin: 0 0 0.5rem;
}

.login-page__form-desc {
  font-size: 1rem;
  color: #475569;
  margin: 0;
}

.login-page__form .form-item {
  margin-bottom: 1.5rem;
}

.login-page__form .form-item label:not(.option) {
  display: block;
  font-weight: 600;
  color: #0A2F2B;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}

.login-page__pass-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.login-page__pass-header label {
  font-weight: 600;
  color: #0A2F2B;
  font-size: 0.875rem;
}

.login-page__forgot {
  font-size: 0.875rem;
  color: #0A2F2B;
  text-decoration: none;
  font-weight: 500;
}
.login-page__forgot:hover {
  text-decoration: underline;
}

.login-page__form .form-text,
.login-page__form .form-password {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 3rem;
  border-radius: 1rem;
  border: 1px solid #CBD5E1;
  background: #ffffff;
  font-size: 1rem;
  color: #0A2F2B;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.login-page__form .form-text::-moz-placeholder, .login-page__form .form-password::-moz-placeholder {
  color: #475569;
}
.login-page__form .form-text::placeholder,
.login-page__form .form-password::placeholder {
  color: #475569;
}
.login-page__form .form-text:focus,
.login-page__form .form-password:focus {
  outline: none;
  border-color: #0A2F2B;
  box-shadow: 0 0 0 2px rgba(10, 47, 43, 0.15);
}

.login-page__form .form-item-name .form-text {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 1rem center;
  background-size: 1.25rem;
}

.login-page__form .form-item-pass .form-password {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 1rem center;
  background-size: 1.25rem;
}

.login-page__remember {
  margin-bottom: 2rem;
}

.login-page__form .form-item-remember-me .form-checkbox {
  margin-right: 0.5rem;
  width: 1.125rem;
  height: 1.125rem;
  accent-color: #0A2F2B;
}
.login-page__form .form-item-remember-me label {
  font-weight: 400;
  color: #475569;
}

.login-page__submit {
  width: 100%;
  padding: 1rem 1.5rem;
  background: linear-gradient(180deg, rgb(231.6450381679, 209.9007633588, 172.8549618321) 0%, #E2C799 100%);
  color: #0A2F2B;
  font-weight: 700;
  font-size: 1.125rem;
  border: none;
  border-radius: 1.5rem;
  box-shadow: 0 4px 14px rgba(10, 47, 43, 0.15);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: filter 0.2s, box-shadow 0.2s;
}
.login-page__submit:hover {
  filter: brightness(1.05);
  box-shadow: 0 6px 20px rgba(10, 47, 43, 0.2);
}
.login-page__submit::after {
  content: "→";
  font-size: 1.25rem;
  margin-left: 0.5rem;
}

.login-page__form-divider {
  display: flex;
  align-items: center;
  margin: 2.5rem 0;
  gap: 1rem;
}
.login-page__form-divider::before, .login-page__form-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #CBD5E1;
}

.login-page__form-divider-text {
  font-size: 0.875rem;
  font-weight: 500;
  color: #475569;
}

.login-page__biometric-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 1rem 1.5rem;
  background: #ffffff;
  color: #0A2F2B;
  font-weight: 700;
  font-size: 1rem;
  border: 2px solid #CBD5E1;
  border-radius: 1.5rem;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: border-color 0.2s, background 0.2s;
}
.login-page__biometric-btn .material-symbols-outlined {
  font-size: 1.5rem;
}
.login-page__biometric-btn:hover {
  border-color: #0A2F2B;
  background: #ECFDF5;
}

.login-page__request-access {
  margin: 2.5rem 0 0;
  font-size: 1rem;
  color: #475569;
}
.login-page__request-access .login-page__request-link {
  color: #0A2F2B;
  font-weight: 600;
  text-decoration: none;
}
.login-page__request-access .login-page__request-link:hover {
  text-decoration: underline;
}

.login-page__footer {
  margin-top: auto;
  padding: 2.5rem 1.5rem;
  text-align: center;
  border-top: 1px solid #E2E8F0;
}
@media (min-width: 1024px) {
  .login-page__footer {
    text-align: right;
    padding: 2rem 6rem 2rem 0;
  }
}

.login-page__footer-links {
  font-size: 0.875rem;
  color: #475569;
  margin-bottom: 0.5rem;
}
.login-page__footer-links a {
  color: #475569;
  text-decoration: none;
}
.login-page__footer-links a:hover {
  color: #0A2F2B;
}

.login-page__footer-sep {
  margin: 0 0.5rem;
  color: #CBD5E1;
}

.login-page__footer-copy {
  font-size: 0.75rem;
  color: #475569;
  margin: 0;
}

.dark .login-page__form-section {
  background: #051210;
}

.dark .login-page__form-title {
  color: #E2C799;
}

.dark .login-page__form-desc {
  color: #94A3B8;
}

.dark .login-page__form .form-item label:not(.option),
.dark .login-page__pass-header label {
  color: #D1FAE5;
}

.dark .login-page__forgot {
  color: #E2C799;
}
.dark .login-page__forgot:hover {
  color: rgb(237.2900763359, 220.8015267176, 192.7099236641);
}

.dark .login-page__form .form-text,
.dark .login-page__form .form-password {
  background: rgba(10, 47, 43, 0.4);
  border-color: rgba(226, 199, 153, 0.3);
  color: #D1FAE5;
}
.dark .login-page__form .form-text::-moz-placeholder, .dark .login-page__form .form-password::-moz-placeholder {
  color: #94A3B8;
}
.dark .login-page__form .form-text::placeholder,
.dark .login-page__form .form-password::placeholder {
  color: #94A3B8;
}
.dark .login-page__form .form-text:focus,
.dark .login-page__form .form-password:focus {
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.2);
}

.dark .login-page__form .form-item-remember-me label {
  color: #94A3B8;
}

.dark .login-page__form-divider::before,
.dark .login-page__form-divider::after {
  background: #64748B;
}

.dark .login-page__form-divider-text {
  color: #94A3B8;
}

.dark .login-page__biometric-btn {
  background: rgba(10, 47, 43, 0.4);
  color: #E2C799;
  border-color: rgba(226, 199, 153, 0.3);
}
.dark .login-page__biometric-btn:hover {
  background: rgba(10, 47, 43, 0.6);
  border-color: #E2C799;
}

.dark .login-page__request-access {
  color: #94A3B8;
}
.dark .login-page__request-access .login-page__request-link {
  color: #E2C799;
}
.dark .login-page__request-access .login-page__request-link:hover {
  color: rgb(237.2900763359, 220.8015267176, 192.7099236641);
}

.dark .login-page__footer {
  border-color: rgba(226, 199, 153, 0.15);
}

.dark .login-page__footer-links,
.dark .login-page__footer-links a,
.dark .login-page__footer-copy {
  color: #94A3B8;
}

.dark .login-page__footer-links a:hover {
  color: #E2C799;
}

.dark .login-page__footer-sep {
  color: #64748B;
}

.register-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #F8FAFC;
}

.register-page__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 1.5rem 1rem;
  max-width: 80rem;
  margin: 0 auto;
  width: 100%;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .register-page__top {
    padding: 2rem 2rem 1.5rem;
  }
}

.register-page__top-right {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.register-page__theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0.5rem;
  color: #475569;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}
.register-page__theme-toggle .material-symbols-outlined {
  font-size: 1.5rem;
}
.register-page__theme-toggle:hover {
  color: #0A2F2B;
  background: rgba(10, 47, 43, 0.08);
}
.dark .register-page__theme-toggle {
  color: #94A3B8;
}
.dark .register-page__theme-toggle:hover {
  color: #E2C799;
  background: rgba(226, 199, 153, 0.1);
}

.register-page__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: #0A2F2B;
}
.register-page__logo-img {
  height: 2rem;
  width: auto;
  max-width: 10rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 768px) {
  .register-page__logo-img {
    height: 2.5rem;
    max-width: 12rem;
  }
}

.register-page__logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background: #0A2F2B;
  color: #E2C799;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  font-style: italic;
  border-radius: 0.5rem;
}

.register-page__logo-text {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0A2F2B;
}
@media (min-width: 768px) {
  .register-page__logo-text {
    font-size: 1.25rem;
  }
}

.register-page__login-prompt {
  font-size: 0.875rem;
  color: #475569;
  margin: 0;
}
@media (min-width: 768px) {
  .register-page__login-prompt {
    font-size: 1rem;
  }
}

.register-page__login-link {
  color: #0A2F2B;
  font-weight: 600;
  text-decoration: none;
  margin-left: 0.25rem;
}
.register-page__login-link:hover {
  text-decoration: underline;
}

.register-page__inner {
  flex: 1;
  max-width: 72rem;
  width: 100%;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}
@media (min-width: 768px) {
  .register-page__inner {
    padding: 4rem 2rem 5rem;
  }
}

.register-page__header {
  text-align: center;
  margin-bottom: 3rem;
}

.register-page__title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 2.25rem;
  color: #0A2F2B;
  margin: 0 0 1rem;
}
@media (min-width: 768px) {
  .register-page__title {
    font-size: 3rem;
  }
}

.register-page__subtitle {
  font-size: 1.125rem;
  color: #475569;
  margin: 0;
}

.register-page__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 4rem;
}
@media (min-width: 1024px) {
  .register-page__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
  }
}

.register-page__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2.5rem 2rem;
  background: #0A2F2B;
  border-radius: 1.5rem;
  box-shadow: 0 10px 25px -5px rgba(10, 47, 43, 0.3), 0 8px 10px -6px rgba(10, 47, 43, 0.2);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s, box-shadow 0.2s;
}
.register-page__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 35px -5px rgba(10, 47, 43, 0.3);
}

.register-page__card-icon {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  border: 2px solid #E2C799;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.register-page__card-icon .material-symbols-outlined {
  font-size: 2rem;
  color: #E2C799;
}

.register-page__card-title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #ffffff;
  margin: 0 0 1rem;
}

.register-page__card-desc {
  font-size: 0.875rem;
  color: rgba(209, 250, 229, 0.85);
  line-height: 1.625;
  margin: 0 0 1rem;
  flex: 1;
}

.register-page__card-demo {
  font-size: 0.75rem;
  color: rgba(209, 250, 229, 0.7);
  margin: 0 0 1rem;
}
.register-page__card-demo code {
  font-family: ui-monospace, monospace;
  background: rgba(0, 0, 0, 0.2);
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.9em;
}

.register-page__card-cta {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 2px;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.register-page__trust {
  padding-top: 3rem;
  border-top: 1px solid #E2E8F0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  align-items: center;
}

.register-page__trust-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #475569;
}
.register-page__trust-item .material-symbols-outlined {
  color: #E2C799;
  font-size: 1.5rem;
}

.register-page__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2rem 1.5rem;
  border-top: 1px solid #E2E8F0;
  margin-top: auto;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .register-page__footer {
    padding: 2rem 2rem;
  }
}

.register-page__footer-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: #0A2F2B;
}
.register-page__footer-logo-img {
  height: 1.75rem;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.register-page__footer-copy {
  font-size: 0.75rem;
  color: #475569;
  margin: 0;
  order: 3;
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .register-page__footer-copy {
    order: 0;
    width: auto;
    flex: 1;
    text-align: center;
  }
}

.register-page__footer-links {
  display: flex;
  gap: 1rem;
  font-size: 0.875rem;
}
.register-page__footer-links a {
  color: #475569;
  text-decoration: none;
}
.register-page__footer-links a:hover {
  color: #0A2F2B;
}

.register-page__form-wrapper {
  max-width: 28rem;
  margin: 0 auto 4rem;
}

.register-page__form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.register-page__form .form-item,
.register-page__form .form-wrapper {
  margin: 0;
}
.register-page__form .description,
.register-page__form .form-item .description {
  font-size: 0.75rem;
  color: #475569;
  margin-top: 0.25rem;
  line-height: 1.5;
}
.register-page__form fieldset.form-item {
  border: none;
  padding: 0;
  margin: 0;
}
.register-page__form fieldset.form-item legend {
  display: none;
}
.register-page__form label,
.register-page__form .form-item label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0A2F2B;
  margin-bottom: 0.5rem;
}
.register-page__form input[type=text],
.register-page__form input[type=email],
.register-page__form input[type=password],
.register-page__form .form-text,
.register-page__form .form-email,
.register-page__form .form-password {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 3rem;
  font-size: 1rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #0A2F2B;
  border: 1px solid #CBD5E1;
  border-radius: 1rem;
  background: #ffffff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.register-page__form input[type=text]::-moz-placeholder, .register-page__form input[type=email]::-moz-placeholder, .register-page__form input[type=password]::-moz-placeholder, .register-page__form .form-text::-moz-placeholder, .register-page__form .form-email::-moz-placeholder, .register-page__form .form-password::-moz-placeholder {
  color: #475569;
}
.register-page__form input[type=text]::placeholder,
.register-page__form input[type=email]::placeholder,
.register-page__form input[type=password]::placeholder,
.register-page__form .form-text::placeholder,
.register-page__form .form-email::placeholder,
.register-page__form .form-password::placeholder {
  color: #475569;
}
.register-page__form input[type=text]:focus,
.register-page__form input[type=email]:focus,
.register-page__form input[type=password]:focus,
.register-page__form .form-text:focus,
.register-page__form .form-email:focus,
.register-page__form .form-password:focus {
  outline: none;
  border-color: #0A2F2B;
  box-shadow: 0 0 0 2px rgba(10, 47, 43, 0.15);
}
.register-page__form .form-item-name .form-text,
.register-page__form .form-item-account-name .form-text {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 1rem center;
  background-size: 1.25rem;
}
.register-page__form .form-item-mail .form-email,
.register-page__form .form-item-account-mail .form-email {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 1rem center;
  background-size: 1.25rem;
}
.register-page__form .form-item-pass input,
.register-page__form .form-item-account-pass input,
.register-page__form .form-item-pass-pass1 input,
.register-page__form .form-item-pass-pass2 input,
.register-page__form .password-parent input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23475569'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 1rem center;
  background-size: 1.25rem;
}
.register-page__form .js-form-type-password-confirm .form-item {
  margin-bottom: 1rem;
}
.register-page__form .js-form-type-password-confirm .form-item:last-child {
  margin-bottom: 0;
}
.register-page__form .password-strength,
.register-page__form .password-strength__title,
.register-page__form .password-strength__text {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #475569;
}
.register-page__form .password-strength__meter {
  height: 4px;
  border-radius: 2px;
  background: #E2E8F0;
  overflow: hidden;
}
.register-page__form .password-strength__indicator {
  height: 100%;
  border-radius: 2px;
  transition: width 0.2s, background-color 0.2s;
}
.register-page__form .password-strength .is-weak .password-strength__indicator {
  background: #dc2626;
}
.register-page__form .password-strength .is-fair .password-strength__indicator {
  background: #f59e0b;
}
.register-page__form .password-strength .is-good .password-strength__indicator {
  background: #E2C799;
}
.register-page__form .password-strength .is-strong .password-strength__indicator {
  background: #059669;
}
.register-page__form .form-actions {
  margin-top: 1rem;
}
.register-page__form .form-submit,
.register-page__form .register-page__submit {
  width: 100%;
  padding: 1rem 1.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0A2F2B;
  background: linear-gradient(180deg, rgb(231.6450381679, 209.9007633588, 172.8549618321) 0%, #E2C799 100%);
  border: none;
  border-radius: 1.5rem;
  box-shadow: 0 4px 14px rgba(10, 47, 43, 0.15);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: filter 0.2s, box-shadow 0.2s;
}
.register-page__form .form-submit:hover,
.register-page__form .register-page__submit:hover {
  filter: brightness(1.05);
  box-shadow: 0 6px 20px rgba(10, 47, 43, 0.2);
}
.register-page__form .form-submit:active,
.register-page__form .register-page__submit:active {
  transform: scale(0.99);
}
.register-page__form .form-submit::after,
.register-page__form .register-page__submit::after {
  content: "→";
  font-size: 1.25rem;
  margin-left: 0.5rem;
}

.dark .register-page {
  background: #051210;
}

.dark .register-page__logo-text,
.dark .register-page__title {
  color: #E2C799;
}

.dark .register-page__login-prompt {
  color: #94A3B8;
}

.dark .register-page__login-link {
  color: #E2C799;
}
.dark .register-page__login-link:hover {
  color: rgb(237.2900763359, 220.8015267176, 192.7099236641);
}

.dark .register-page__subtitle {
  color: #94A3B8;
}

.dark .register-page__trust {
  border-color: rgba(226, 199, 153, 0.15);
}

.dark .register-page__trust-item {
  color: #94A3B8;
}

.dark .register-page__footer {
  border-color: rgba(226, 199, 153, 0.15);
}

.dark .register-page__footer-copy,
.dark .register-page__footer-links a {
  color: #94A3B8;
}

.dark .register-page__footer-links a:hover {
  color: #E2C799;
}

.dark .register-page__form label,
.dark .register-page__form .form-item label {
  color: #D1FAE5;
}

.dark .register-page__form .description,
.dark .register-page__form .form-item .description {
  color: #94A3B8;
}

.dark .register-page__form input[type=text],
.dark .register-page__form input[type=email],
.dark .register-page__form input[type=password],
.dark .register-page__form .form-text,
.dark .register-page__form .form-email,
.dark .register-page__form .form-password {
  background: rgba(10, 47, 43, 0.4);
  border-color: rgba(226, 199, 153, 0.3);
  color: #D1FAE5;
}
.dark .register-page__form input[type=text]::-moz-placeholder, .dark .register-page__form input[type=email]::-moz-placeholder, .dark .register-page__form input[type=password]::-moz-placeholder, .dark .register-page__form .form-text::-moz-placeholder, .dark .register-page__form .form-email::-moz-placeholder, .dark .register-page__form .form-password::-moz-placeholder {
  color: #94A3B8;
}
.dark .register-page__form input[type=text]::placeholder,
.dark .register-page__form input[type=email]::placeholder,
.dark .register-page__form input[type=password]::placeholder,
.dark .register-page__form .form-text::placeholder,
.dark .register-page__form .form-email::placeholder,
.dark .register-page__form .form-password::placeholder {
  color: #94A3B8;
}
.dark .register-page__form input[type=text]:focus,
.dark .register-page__form input[type=email]:focus,
.dark .register-page__form input[type=password]:focus,
.dark .register-page__form .form-text:focus,
.dark .register-page__form .form-email:focus,
.dark .register-page__form .form-password:focus {
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.2);
}

.dark .register-page__form .password-strength,
.dark .register-page__form .password-strength__title,
.dark .register-page__form .password-strength__text {
  color: #94A3B8;
}

.dark .register-page__form .password-strength__meter {
  background: rgba(226, 199, 153, 0.2);
}

.ai-bot {
  position: fixed;
  z-index: 1000;
  bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
  right: max(1.5rem, env(safe-area-inset-right, 0px));
  left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  max-width: 100vw;
  padding-left: 1rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .ai-bot {
    bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    right: max(1rem, env(safe-area-inset-right, 0px));
    gap: 0.5rem;
    padding-left: 0.75rem;
  }
}

.ai-bot__panel {
  width: min(20rem, 100vw - 2rem);
  max-width: calc(100vw - 2rem);
  height: min(24rem, 72dvh);
  max-height: 72dvh;
  min-height: 14rem;
  border-radius: 1.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(226, 199, 153, 0.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.dark .ai-bot__panel, [data-theme=dark] .ai-bot__panel {
  background: rgba(10, 47, 43, 0.96);
  border-color: rgba(226, 199, 153, 0.25);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.ai-bot__panel[aria-hidden=true] {
  display: none;
}
.ai-bot__panel[aria-hidden=false] {
  display: flex;
}
@media (max-width: 639px) {
  .ai-bot__panel {
    width: calc(100vw - 1.5rem);
    max-width: calc(100vw - 1.5rem);
    border-radius: 1rem;
    height: min(26rem, 65dvh);
    max-height: 65dvh;
  }
}

.ai-bot__header {
  flex-shrink: 0;
  padding: 0.75rem 1rem;
  background: #0A2F2B;
  color: #E2C799;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.ai-bot__status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.ai-bot__pulse {
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  background: #4ade80;
  border-radius: 9999px;
  animation: ai-bot-pulse 2s ease-in-out infinite;
}

@keyframes ai-bot-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.75;
    transform: scale(1.2);
  }
}
.ai-bot__title {
  font-weight: 700;
  font-size: 0.875rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ai-bot__close {
  flex-shrink: 0;
  background: none;
  border: none;
  color: #E2C799;
  cursor: pointer;
  padding: 0.25rem;
  min-width: 2.25rem;
  min-height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  transition: transform 0.2s, background 0.2s;
}
.ai-bot__close:hover {
  transform: rotate(90deg);
  background: rgba(255, 255, 255, 0.08);
}

.ai-bot__messages {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0.75rem 1rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.ai-bot__message {
  padding: 0.75rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  line-height: 1.625;
  word-break: break-word;
}
.ai-bot__message--assistant {
  align-self: flex-start;
  max-width: 95%;
  background: #ECFDF5;
  color: #475569;
  border: 1px solid #D1FAE5;
}
.dark .ai-bot__message--assistant, [data-theme=dark] .ai-bot__message--assistant {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(226, 199, 153, 0.2);
  color: #D1FAE5;
}
.ai-bot__message--user {
  align-self: flex-end;
  max-width: 90%;
  background: rgba(10, 47, 43, 0.08);
  color: #0A2F2B;
  border: 1px solid rgba(10, 47, 43, 0.12);
}
.dark .ai-bot__message--user, [data-theme=dark] .ai-bot__message--user {
  background: rgba(226, 199, 153, 0.14);
  color: #D1FAE5;
  border-color: rgba(226, 199, 153, 0.28);
}

.ai-bot__body {
  margin: 0;
}

.ai-bot__cta {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(10, 47, 43, 0.08);
}
.dark .ai-bot__cta, [data-theme=dark] .ai-bot__cta {
  border-top-color: rgba(226, 199, 153, 0.15);
}

.ai-bot__cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: #ffffff !important;
  background: #0A2F2B;
  border: 1px solid rgba(10, 47, 43, 0.2);
  transition: background 0.15s ease, transform 0.1s ease, filter 0.15s ease;
}
.ai-bot__cta-link:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
.ai-bot__cta-link:focus-visible {
  outline: 2px solid #E2C799;
  outline-offset: 2px;
}
.dark .ai-bot__cta-link, [data-theme=dark] .ai-bot__cta-link {
  background: #E2C799;
  color: #0A2F2B !important;
  border-color: rgba(226, 199, 153, 0.35);
}
.dark .ai-bot__cta-link:hover, [data-theme=dark] .ai-bot__cta-link:hover {
  filter: brightness(1.06);
}

.ai-bot__disclaimer {
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.625rem;
  line-height: 1.45;
  color: #0A2F2B;
  text-align: center;
  font-style: italic;
  background: rgba(10, 47, 43, 0.06);
  border: 1px solid rgba(226, 199, 153, 0.12);
}
.dark .ai-bot__disclaimer, [data-theme=dark] .ai-bot__disclaimer {
  color: rgba(209, 250, 229, 0.85);
  background: rgba(0, 0, 0, 0.2);
  border-color: rgba(226, 199, 153, 0.15);
}

.ai-bot__input-wrapper {
  flex-shrink: 0;
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(226, 199, 153, 0.12);
  position: relative;
}
.dark .ai-bot__input-wrapper, [data-theme=dark] .ai-bot__input-wrapper {
  border-top-color: rgba(226, 199, 153, 0.15);
}

.ai-bot__input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 1rem;
  padding-right: 2.75rem;
  min-height: 2.5rem;
  border: 1px solid rgba(226, 199, 153, 0.25);
  border-radius: 9999px;
  background: #ffffff;
  color: #0A2F2B;
  caret-color: #0A2F2B;
  font-size: 0.875rem;
  line-height: 1.4;
}
.ai-bot__input::-moz-placeholder {
  color: rgba(71, 85, 105, 0.65);
  opacity: 1;
}
.ai-bot__input::placeholder {
  color: rgba(71, 85, 105, 0.65);
  opacity: 1;
}
.ai-bot__input:focus {
  outline: none;
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.25);
}
.dark .ai-bot__input, [data-theme=dark] .ai-bot__input {
  background: rgba(0, 0, 0, 0.35);
  border-color: rgba(226, 199, 153, 0.35);
  color: #ffffff;
  caret-color: #E2C799;
  -webkit-text-fill-color: #ffffff;
}
.dark .ai-bot__input::-moz-placeholder, [data-theme=dark] .ai-bot__input::-moz-placeholder {
  color: rgba(209, 250, 229, 0.45);
  -webkit-text-fill-color: rgba(209, 250, 229, 0.45);
}
.dark .ai-bot__input::placeholder, [data-theme=dark] .ai-bot__input::placeholder {
  color: rgba(209, 250, 229, 0.45);
  -webkit-text-fill-color: rgba(209, 250, 229, 0.45);
}
.dark .ai-bot__input:focus, [data-theme=dark] .ai-bot__input:focus {
  border-color: #E2C799;
  box-shadow: 0 0 0 2px rgba(226, 199, 153, 0.2);
}

.ai-bot__send {
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #E2C799;
  cursor: pointer;
  padding: 0.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  transition: background 0.2s, color 0.2s;
}
.ai-bot__send:hover {
  background: rgba(226, 199, 153, 0.12);
}
.dark .ai-bot__send, [data-theme=dark] .ai-bot__send {
  color: #E2C799;
}
.dark .ai-bot__send:hover, [data-theme=dark] .ai-bot__send:hover {
  background: rgba(226, 199, 153, 0.15);
}

.ai-bot__toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  max-width: calc(100vw - 2rem);
  padding: 0.75rem 1.25rem;
  border-radius: 9999px;
  box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(226, 199, 153, 0.45);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.ai-bot__toggle:hover {
  transform: scale(1.02);
  box-shadow: 0 22px 44px -12px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(0, 0, 0, 0.05);
}
.ai-bot__toggle:active {
  transform: scale(0.98);
}
.dark .ai-bot__toggle, [data-theme=dark] .ai-bot__toggle {
  background: rgba(10, 47, 43, 0.96);
  border-color: rgba(226, 199, 153, 0.45);
  box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.06);
}
@media (max-width: 639px) {
  .ai-bot__toggle {
    gap: 0.5rem;
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 360px) {
  .ai-bot__toggle .ai-bot__label {
    display: none;
  }
  .ai-bot__toggle {
    padding: 0.75rem;
    border-radius: 9999px;
  }
}

.ai-bot__icon {
  position: relative;
  display: flex;
  flex-shrink: 0;
}
.ai-bot__icon .material-symbols-outlined {
  font-size: 1.5rem;
  color: #0A2F2B;
}
.dark .ai-bot__icon .material-symbols-outlined, [data-theme=dark] .ai-bot__icon .material-symbols-outlined {
  color: #E2C799;
}

.ai-bot__badge {
  position: absolute;
  top: -0.25rem;
  right: -0.25rem;
  width: 0.75rem;
  height: 0.75rem;
  background: #E2C799;
  border-radius: 9999px;
}
.ai-bot__badge::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  background: #E2C799;
  animation: ai-bot-ping 2s ease-in-out infinite;
}

@keyframes ai-bot-ping {
  0% {
    transform: scale(1);
    opacity: 0.75;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
.ai-bot__label {
  text-align: left;
  min-width: 0;
}

.ai-bot__label-tag {
  display: block;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #475569;
}
.dark .ai-bot__label-tag, [data-theme=dark] .ai-bot__label-tag {
  color: rgba(209, 250, 229, 0.55);
}

.ai-bot__label-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0A2F2B;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 11rem;
}
.dark .ai-bot__label-title, [data-theme=dark] .ai-bot__label-title {
  color: #ffffff;
}
@media (max-width: 639px) {
  .ai-bot__label-title {
    max-width: 9rem;
  }
}

.client-portal {
  display: flex;
  min-height: 100vh;
  background: #F8FAFC;
  color: #0A2F2B;
  overflow-x: hidden;
}

.client-portal__sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 35;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.2s;
}
@media (min-width: 1024px) {
  .client-portal__sidebar-backdrop {
    display: none !important;
  }
}

.client-portal__sidebar-backdrop.is-visible {
  display: block;
  opacity: 1;
}

.client-portal__sidebar {
  width: 18rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(10, 47, 43, 0.1);
  background: #ffffff;
  position: sticky;
  top: 0;
  height: 100vh;
}
@media (max-width: 1023px) {
  .client-portal__sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 40;
    height: 100vh;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    box-shadow: none;
  }
  .client-portal.is-sidebar-open .client-portal__sidebar {
    transform: translateX(0);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
  }
}
@media (min-width: 1024px) {
  .client-portal__sidebar {
    transform: none;
  }
}

.dark .client-portal,
[data-theme=dark] .client-portal {
  background: #051210;
  color: #D1FAE5;
}

.dark .client-portal__sidebar,
[data-theme=dark] .client-portal__sidebar {
  border-right-color: rgba(255, 255, 255, 0.05);
  background: rgba(0, 0, 0, 0.4);
}

.client-portal__sidebar-inner {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.client-portal__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  margin-bottom: 1rem;
  padding: 0 0.5rem;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s;
}
.client-portal__brand:hover {
  opacity: 0.9;
}

.client-portal__brand-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.client-portal__brand-logo img {
  height: 2rem;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.client-portal__brand-logo .client-portal__logo-img--light {
  display: block;
}
.client-portal__brand-logo .client-portal__logo-img--dark {
  display: none;
}

.dark .client-portal__brand-logo .client-portal__logo-img--light,
[data-theme=dark] .client-portal__brand-logo .client-portal__logo-img--light {
  display: none;
}

.dark .client-portal__brand-logo .client-portal__logo-img--dark,
[data-theme=dark] .client-portal__brand-logo .client-portal__logo-img--dark {
  display: block;
}

.client-portal__logo-mark {
  font-weight: 700;
  font-size: 1.125rem;
  color: #0A2F2B;
  letter-spacing: 0.02em;
}

.dark .client-portal__logo-mark,
[data-theme=dark] .client-portal__logo-mark {
  color: #ffffff;
}

.client-portal__logo-text {
  font-size: 0.875rem;
  color: #475569;
  font-weight: 600;
}

.dark .client-portal__logo-text,
[data-theme=dark] .client-portal__logo-text {
  color: #94A3B8;
}

.client-portal__brand-subtitle {
  font-size: 0.75rem;
  color: #E2C799;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.client-portal__back-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #475569;
  text-decoration: none;
  border-radius: 1rem;
  transition: color 0.2s, background 0.2s;
}
.client-portal__back-link:hover {
  color: #0A2F2B;
  background: rgba(10, 47, 43, 0.05);
}
.client-portal__back-link .material-symbols-outlined {
  font-size: 1.125rem;
}

.dark .client-portal__back-link,
[data-theme=dark] .client-portal__back-link {
  color: #94A3B8;
}
.dark .client-portal__back-link:hover,
[data-theme=dark] .client-portal__back-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}

.client-portal__nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.client-portal__nav-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  color: #475569;
  text-decoration: none;
  font-size: 0.875rem;
  border-radius: 1.5rem;
  transition: color 0.2s, background 0.2s;
}
.client-portal__nav-link:hover {
  color: #0A2F2B;
  background: rgba(10, 47, 43, 0.05);
}
.client-portal__nav-link--active {
  color: #0A2F2B;
  background: rgba(10, 47, 43, 0.1);
  border: 1px solid rgba(10, 47, 43, 0.2);
  font-weight: 600;
}

.dark .client-portal__nav-link,
[data-theme=dark] .client-portal__nav-link {
  color: #94A3B8;
}
.dark .client-portal__nav-link:hover,
[data-theme=dark] .client-portal__nav-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}
.dark .client-portal__nav-link--active,
[data-theme=dark] .client-portal__nav-link--active {
  color: #E2C799;
  background: rgba(226, 199, 153, 0.1);
  border-color: rgba(226, 199, 153, 0.2);
}

.client-portal__user {
  margin-top: auto;
  padding-top: 1.5rem;
}

.client-portal__user-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: rgba(10, 47, 43, 0.05);
  border-radius: 2.25rem;
  border: 1px solid rgba(10, 47, 43, 0.1);
}

.client-portal__user-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #CBD5E1;
  flex-shrink: 0;
}

.client-portal__user-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #0A2F2B;
}

.dark .client-portal__user-card,
[data-theme=dark] .client-portal__user-card {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.05);
}

.dark .client-portal__user-avatar,
[data-theme=dark] .client-portal__user-avatar {
  background: #94A3B8;
}

.dark .client-portal__user-name,
[data-theme=dark] .client-portal__user-name {
  color: #ffffff;
}

.client-portal__user-role {
  font-size: 0.75rem;
  color: #E2C799;
  font-weight: 700;
  text-transform: uppercase;
}

.client-portal__main {
  flex: 1;
  overflow-y: auto;
  min-width: 0;
}

.client-portal__mobile-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  background: none;
  border: none;
  border-radius: 1rem;
  color: #0A2F2B;
  cursor: pointer;
}
.dark .client-portal__mobile-nav-toggle, [data-theme=dark] .client-portal__mobile-nav-toggle {
  color: #D1FAE5;
}
@media (min-width: 1024px) {
  .client-portal__mobile-nav-toggle {
    display: none;
  }
}

.client-portal__header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1rem 1rem 1.5rem;
}
@media (min-width: 768px) {
  .client-portal__header {
    padding: 1.5rem 2rem;
  }
}
.client-portal__header {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(10, 47, 43, 0.1);
}

.client-portal__header .client-portal__title {
  flex: 1;
  min-width: 0;
  font-size: 1.125rem;
}
@media (min-width: 768px) {
  .client-portal__header .client-portal__title {
    font-size: 1.25rem;
  }
}

.client-portal__header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.client-portal__theme-toggle {
  padding: 0.5rem;
  background: transparent;
  border: none;
  border-radius: 1rem;
  color: #0A2F2B;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}
.client-portal__theme-toggle:hover {
  background: rgba(10, 47, 43, 0.1);
  color: #E2C799;
}

.client-portal__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0A2F2B;
}

.dark .client-portal__header,
[data-theme=dark] .client-portal__header {
  background: rgba(15, 23, 42, 0.6);
  border-bottom-color: rgba(255, 255, 255, 0.05);
}

.dark .client-portal__theme-toggle,
[data-theme=dark] .client-portal__theme-toggle {
  color: #D1FAE5;
}
.dark .client-portal__theme-toggle:hover,
[data-theme=dark] .client-portal__theme-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #E2C799;
}

.dark .client-portal__title,
[data-theme=dark] .client-portal__title {
  color: #ffffff;
}

.client-portal__content {
  padding: 1rem;
  max-width: 80rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .client-portal__content {
    padding: 2rem;
  }
}

.client-portal__bento {
  background: #ffffff;
  border: 1px solid rgba(10, 47, 43, 0.15);
  border-radius: 2.25rem;
  padding: 2rem;
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
}
.client-portal__bento:hover {
  border-color: rgba(10, 47, 43, 0.3);
  box-shadow: 0 4px 20px rgba(10, 47, 43, 0.08);
}

.dark .client-portal__bento,
[data-theme=dark] .client-portal__bento {
  background: rgba(10, 47, 43, 0.2);
  border-color: rgba(226, 199, 153, 0.2);
}
.dark .client-portal__bento:hover,
[data-theme=dark] .client-portal__bento:hover {
  border-color: rgba(226, 199, 153, 0.4);
  box-shadow: 0 0 20px rgba(226, 199, 153, 0.05);
}

.client-portal__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .client-portal__grid {
    grid-template-columns: repeat(12, 1fr);
  }
}

.client-portal__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 1.5rem 2rem;
  gap: 1rem;
  border-top: 1px solid rgba(10, 47, 43, 0.1);
  opacity: 0.7;
}
@media (min-width: 768px) {
  .client-portal__footer {
    padding: 2rem 22rem 2rem 2rem;
  }
}

.dark .client-portal__footer,
[data-theme=dark] .client-portal__footer {
  border-top-color: rgba(255, 255, 255, 0.05);
}

.client-portal__footer p {
  font-size: 0.75rem;
  margin: 0;
}

.client-portal__footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  flex: 1;
  justify-content: center;
}
@media (min-width: 768px) {
  .client-portal__footer-links {
    margin-right: 2rem;
  }
}

.client-portal__footer-links a {
  font-size: 0.75rem;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}
.client-portal__footer-links a:hover {
  color: #E2C799;
}

@media (min-width: 768px) {
  .client-portal__grid-item--4 {
    grid-column: span 4;
  }
}

@media (min-width: 768px) {
  .client-portal__grid-item--6 {
    grid-column: span 6;
  }
}

@media (min-width: 768px) {
  .client-portal__grid-item--8 {
    grid-column: span 8;
  }
}

@media (min-width: 768px) {
  .client-portal__grid-item--12 {
    grid-column: span 12;
  }
}

.client-portal__summary-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
}

.client-portal__summary-icon {
  width: 4rem;
  height: 4rem;
  background: rgba(10, 47, 43, 0.1);
  border-radius: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E2C799;
}

.client-portal__summary-body {
  flex: 1;
  min-width: 12rem;
}
.client-portal__summary-body h3 {
  margin: 0 0 0.25rem;
  font-size: 1.125rem;
  color: #0A2F2B;
}
.client-portal__summary-body p {
  margin: 0;
  font-size: 0.875rem;
  color: #475569;
}

.dark .client-portal__summary-body h3,
[data-theme=dark] .client-portal__summary-body h3 {
  color: #ffffff;
}

.dark .client-portal__summary-body p,
[data-theme=dark] .client-portal__summary-body p {
  color: #94A3B8;
}

.client-portal__card-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748B;
  margin: 0 0 0.5rem;
}

.client-portal__card-desc {
  font-size: 0.75rem;
  color: #64748B;
  margin: 0 0 1rem;
}

.client-portal__big-number {
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
  color: #0A2F2B;
}

.dark .client-portal__big-number,
[data-theme=dark] .client-portal__big-number {
  color: #ffffff;
}

.client-portal__score-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 1.5rem 0;
}

.client-portal__score-value {
  font-size: 3rem;
  font-weight: 800;
  color: #0A2F2B;
}

.dark .client-portal__score-value,
[data-theme=dark] .client-portal__score-value {
  color: #ffffff;
}

.client-portal__score-delta {
  font-size: 0.75rem;
  font-weight: 700;
  color: #10b981;
}

.client-portal__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 9999px;
  background: rgba(10, 47, 43, 0.1);
  border: 1px solid rgba(10, 47, 43, 0.2);
}
.client-portal__badge--success {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
}

.client-portal__text-success {
  color: #10b981;
}

.client-portal__accent {
  color: #E2C799;
}

.client-portal__forecast-rows {
  margin: 1rem 0;
}

.client-portal__forecast-row {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  font-size: 0.875rem;
  border-bottom: 1px solid rgba(10, 47, 43, 0.1);
}

.dark .client-portal__forecast-row,
[data-theme=dark] .client-portal__forecast-row {
  border-bottom-color: rgba(255, 255, 255, 0.05);
}

.client-portal__compliance-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}

.client-portal__compliance-item {
  padding: 1rem;
  background: rgba(10, 47, 43, 0.05);
  border-radius: 1.5rem;
  border: 1px solid rgba(10, 47, 43, 0.1);
}
.client-portal__compliance-item p {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0A2F2B;
}

.dark .client-portal__compliance-item,
[data-theme=dark] .client-portal__compliance-item {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.05);
}
.dark .client-portal__compliance-item p,
[data-theme=dark] .client-portal__compliance-item p {
  color: #ffffff;
}

.client-portal__compliance-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #64748B;
}

.client-portal__icon-success {
  color: #10b981;
}

.client-portal__chart-bars {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  height: 12rem;
  margin-top: 1.5rem;
}
.client-portal__chart-bars--large {
  height: 16rem;
}
.client-portal__chart-bars--inline {
  flex: 1;
  margin-top: 0;
  padding: 1.5rem;
  background: rgba(10, 47, 43, 0.3);
  border-radius: 1.5rem;
  border: 1px solid rgba(226, 199, 153, 0.2);
}

.client-portal__chart-bar {
  flex: 1;
  min-width: 1rem;
  background: rgba(10, 47, 43, 0.4);
  border-radius: 1rem 1rem 0 0;
  transition: height 0.3s ease;
}
.client-portal__chart-bar--gold {
  background: rgba(226, 199, 153, 0.3);
}

.client-portal__recommendation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.client-portal__rec-icon {
  width: 3.5rem;
  height: 3.5rem;
  background: rgba(10, 47, 43, 0.08);
  border-radius: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E2C799;
}

.dark .client-portal__rec-icon,
[data-theme=dark] .client-portal__rec-icon {
  background: rgba(255, 255, 255, 0.05);
}

.client-portal__rec-actions {
  display: flex;
  gap: 1rem;
}

.client-portal__vault-hero-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}

.client-portal__vault-icon {
  width: 5rem;
  height: 5rem;
  background: rgba(10, 47, 43, 0.3);
  border-radius: 1.5rem;
  border: 1px solid rgba(226, 199, 153, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E2C799;
  font-size: 2.5rem;
}

.client-portal__vault-body {
  flex: 1;
  min-width: 12rem;
}

.client-portal__protection {
  flex-shrink: 0;
}

.client-portal__protection-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #64748B;
  display: block;
  margin-bottom: 0.5rem;
  text-align: right;
}

.client-portal__progress {
  height: 0.5rem;
  width: 12rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 9999px;
  overflow: hidden;
}

.client-portal__progress-fill {
  height: 100%;
  background: #E2C799;
  border-radius: 9999px;
}

.client-portal__biometric {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.client-portal__biometric-icon {
  width: 6rem;
  height: 6rem;
  border: 2px dashed rgba(226, 199, 153, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  margin-bottom: 1.5rem;
}
.client-portal__biometric-icon .material-symbols-outlined {
  font-size: 2.5rem;
  color: #E2C799;
}

.client-portal__docs-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.client-portal__tags {
  display: flex;
  gap: 0.5rem;
}

.client-portal__tag {
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 9999px;
  background: rgba(226, 199, 153, 0.1);
  border: 1px solid rgba(226, 199, 153, 0.2);
}

.client-portal__doc-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.client-portal__doc-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: rgba(10, 47, 43, 0.04);
  border-radius: 1.5rem;
  border: 1px solid rgba(10, 47, 43, 0.1);
  transition: background 0.2s;
}
.client-portal__doc-item:hover {
  background: rgba(10, 47, 43, 0.08);
}

.dark .client-portal__doc-item,
[data-theme=dark] .client-portal__doc-item {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.05);
}
.dark .client-portal__doc-item:hover,
[data-theme=dark] .client-portal__doc-item:hover {
  background: rgba(255, 255, 255, 0.08);
}

.client-portal__doc-icon {
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(10, 47, 43, 0.08);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.client-portal__doc-icon--pdf .material-symbols-outlined {
  color: #f87171;
}
.client-portal__doc-icon--doc .material-symbols-outlined {
  color: #60a5fa;
}
.client-portal__doc-icon--draw .material-symbols-outlined {
  color: #fbbf24;
}

.dark .client-portal__doc-icon,
[data-theme=dark] .client-portal__doc-icon {
  background: rgba(255, 255, 255, 0.1);
}

.client-portal__doc-title {
  font-size: 0.875rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
  color: #0A2F2B;
}

.client-portal__doc-meta {
  font-size: 0.75rem;
  color: #475569;
  margin: 0;
}

.dark .client-portal__doc-title,
[data-theme=dark] .client-portal__doc-title {
  color: #ffffff;
}

.dark .client-portal__doc-meta,
[data-theme=dark] .client-portal__doc-meta {
  color: #64748B;
}

.dark .client-portal__doc-title,
[data-theme=dark] .client-portal__doc-title {
  color: #ffffff;
}

.dark .client-portal__doc-meta,
[data-theme=dark] .client-portal__doc-meta {
  color: #64748B;
}

.client-portal__doc-download {
  color: #94A3B8;
  cursor: pointer;
  margin-left: auto;
}
.client-portal__doc-item:hover .client-portal__doc-download {
  color: #E2C799;
}

.client-portal__activity-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2rem;
}

.client-portal__activity-table {
  overflow-x: auto;
}
.client-portal__activity-table table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.875rem;
}
.client-portal__activity-table thead {
  border-bottom: 1px solid rgba(10, 47, 43, 0.2);
}
.client-portal__activity-table th {
  padding-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #475569;
}
.client-portal__activity-table td {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(10, 47, 43, 0.1);
  color: #0A2F2B;
}
.client-portal__activity-table tbody tr:last-child td {
  border-bottom: none;
}

.dark .client-portal__activity-table thead,
[data-theme=dark] .client-portal__activity-table thead {
  border-bottom-color: rgba(255, 255, 255, 0.05);
}

.dark .client-portal__activity-table th,
[data-theme=dark] .client-portal__activity-table th {
  color: #64748B;
}

.dark .client-portal__activity-table td,
[data-theme=dark] .client-portal__activity-table td {
  border-bottom-color: rgba(255, 255, 255, 0.05);
  color: #CBD5E1;
}

.client-portal__mono {
  font-family: ui-monospace, monospace;
  font-size: 0.75rem;
  color: #94A3B8;
}

.client-portal__bold {
  font-weight: 700;
}

.client-portal__status {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 0.5rem;
}
.client-portal__status--success {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
}
.client-portal__status--authorized {
  background: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
}

.text-right {
  text-align: right;
}

.client-portal__upload-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
}

.client-portal__upload-icon {
  width: 4rem;
  height: 4rem;
  background: rgba(10, 47, 43, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0A2F2B;
  margin-bottom: 1rem;
}
.client-portal__upload-icon .material-symbols-outlined {
  font-size: 2rem;
}

.client-portal__doc-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  align-items: center;
}

.client-portal__ledger-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.client-portal__analytics-hero {
  position: relative;
  overflow: hidden;
}

.client-portal__analytics-hero-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
}

.client-portal__analytics-stats {
  margin-top: 2rem;
}

.client-portal__strategy-header {
  margin-bottom: 1.5rem;
}

.client-portal__strategy-header .client-portal__badge {
  margin-bottom: 0.5rem;
}

.client-portal__alert.client-portal__alert--warning {
  border-color: rgba(239, 68, 68, 0.3);
  background: rgba(239, 68, 68, 0.05);
}
.client-portal__alert.client-portal__alert--info {
  border-color: rgba(226, 199, 153, 0.3);
  background: rgba(226, 199, 153, 0.05);
}

.client-portal__alert-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.client-portal__alert-header .material-symbols-outlined {
  font-size: 0.875rem;
}

.client-portal__alert--warning .client-portal__alert-header {
  color: #f87171;
}

.client-portal__alert--info .client-portal__alert-header {
  color: #E2C799;
}
/*# sourceMappingURL=components.css.map */
