body.wd-portal-public,
body.wd-public-marketing,
body.wd-public-light {
  background: #f7f4ed;
  color: #102033;
  margin: 0;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.wd-topbar {
  background: #071321 !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 6px 20px rgba(7, 19, 33, .18) !important;
}

.wd-topbar-inner {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 16px 24px !important;
}

.wd-brand {
  color: #ffffff !important;
}

.wd-nav a {
  color: #f4f7ff !important;
}

.wd-nav a:hover,
.wd-nav a.active {
  background: rgba(255,255,255,.10) !important;
  color: #ffffff !important;
}

.wrap,
.page-shell,
.wd-portal-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 42px 24px 0;
}

.hero,
.wd-portal-hero {
  background: linear-gradient(135deg, #081d35, #123e66);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(0,0,0,.20);
  padding: 40px 44px;
  margin: 0 0 24px;
}

.hero h1,
.wd-portal-hero h1 {
  color: #ffffff;
  max-width: 780px;
}

.hero .subtitle,
.wd-portal-hero .subtitle,
.hero p,
.wd-portal-hero p {
  color: #d9e8f6;
  max-width: 800px;
}

.notice,
.wd-portal-notice {
  background: #eef6ff;
  border: 1px solid #c2daf2;
  border-radius: 16px;
  color: #17314c;
  padding: 16px 18px;
}

.wd-portal-section,
.content-card {
  background: #ffffff;
  border: 1px solid #dbe6f0;
  border-radius: 22px;
  box-shadow: 0 16px 40px rgba(15, 35, 55, .08);
}

.wd-portal-section {
  padding: 30px;
}

.grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.card,
.card-light,
.wd-portal-card {
  background: #ffffff;
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 35, 55, .08);
  position: static !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  float: none !important;
}

.card h2,
.card-light h2,
.wd-portal-card h2 {
  color: #0d1b2a;
}

.card p,
.card-light p,
.wd-portal-card p {
  color: #334155;
}

.portal-limitations,
.wd-portal-limitations {
  margin-top: 38px;
  background: #f1f7fd;
  border-color: #b8d7f4;
  box-shadow: none;
}

.wd-public-footer,
.portal-footer {
  background: #071321 !important;
  color: rgba(255,255,255,.82) !important;
  margin-top: 40px !important;
  padding: 18px 28px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

.wd-public-footer-inner,
.portal-footer .wd-footer-grid {
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: auto minmax(240px, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
}

.wd-public-footer strong,
.portal-footer strong {
  color: #ffffff !important;
}

.wd-public-footer span,
.portal-footer span {
  color: rgba(255,255,255,.72) !important;
  line-height: 1.6 !important;
  font-size: 13px !important;
}

.wd-footer-links,
.portal-footer-links {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 6px 10px !important;
  min-width: 0;
}

.wd-footer-links a,
.portal-footer a {
  color: #d9e8f6 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

.wd-footer-links a:hover,
.portal-footer a:hover {
  color: #ffffff !important;
}

@media (max-width: 900px) {
  .wrap,
  .page-shell,
  .wd-portal-container {
    padding: 28px 16px 0;
  }

  .hero,
  .wd-portal-hero,
  .wd-portal-section {
    padding: 24px;
  }

  .wd-public-footer-inner,
  .portal-footer .wd-footer-grid {
    grid-template-columns: 1fr !important;
    text-align: left !important;
    gap: 12px !important;
  }

  .wd-footer-links,
  .portal-footer-links {
    justify-content: flex-start !important;
  }
}
