.audience-bar {
  background: var(--green-950);
  color: var(--ivory-100);
  font-size: 0.9rem;
}
.audience-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 38px;
}
.audience-inner nav { display: flex; gap: 1rem; }
.audience-inner a {
  color: rgba(255,255,255,0.82);
  font-weight: 700;
  text-decoration: none;
}
.audience-inner a.is-active, .audience-inner a:hover { color: var(--gold-400); }
.region-note { color: rgba(255,255,255,0.64); }
.site-header {
  background: rgba(251,250,246,0.94);
  border-bottom: 1px solid rgba(229,221,200,0.8);
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(16px);
}
.main-header { position: relative; }
.header-inner {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  min-height: 76px;
}
.brand {
  align-items: center;
  color: var(--green-950);
  display: inline-flex;
  font-weight: 900;
  gap: 0.7rem;
  text-decoration: none;
  white-space: nowrap;
}
.brand-mark {
  align-items: center;
  background: var(--gradient-premium);
  border-radius: 50%;
  color: var(--gold-400);
  display: inline-flex;
  font-weight: 900;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.desktop-nav { display: flex; gap: 4px; }
.nav-item { position: relative; }
.nav-link {
  background: transparent;
  border: 0;
  border-radius: var(--radius-pill);
  color: var(--green-900);
  font-weight: 800;
  padding: 0.7rem 0.85rem;
}
.nav-item.is-active .nav-link, .nav-link:hover, .nav-link[aria-expanded="true"] {
  background: var(--ivory-100);
  box-shadow: inset 0 -2px 0 var(--gold-600);
}
.mega-menu {
  left: 50%;
  min-width: min(820px, calc(100vw - 32px));
  opacity: 0;
  padding-top: 14px;
  pointer-events: none;
  position: absolute;
  top: 100%;
  transform: translate(-50%, 10px);
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 30;
}
.nav-item:hover .mega-menu, .nav-item:focus-within .mega-menu, .nav-item.is-open .mega-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.mega-inner {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  padding: 24px;
}
.mega-group h3 {
  color: var(--gold-700);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mega-group a {
  border-radius: var(--radius-sm);
  color: var(--green-950);
  display: block;
  font-weight: 750;
  line-height: 1.3;
  padding: 0.58rem 0.45rem;
  text-decoration: none;
}
.mega-group a:hover {
  background: var(--ivory-100);
  color: var(--gold-700);
}
.header-actions { align-items: center; display: flex; gap: 0.75rem; }
.mobile-toggle {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: none;
  height: 44px;
  padding: 9px;
  width: 46px;
}
.mobile-toggle span {
  background: var(--green-900);
  border-radius: var(--radius-pill);
  display: block;
  height: 2px;
  margin: 5px 0;
}
.mobile-menu {
  background: var(--ivory-50);
  border-top: 1px solid var(--border);
  display: none;
}
.mobile-menu-inner { padding: 12px 20px 24px; }
.mobile-direct, .mobile-section-toggle, .mobile-section-panel a {
  border-radius: var(--radius-sm);
  color: var(--green-950);
  display: block;
  font-weight: 800;
  padding: 0.8rem;
  text-decoration: none;
  width: 100%;
}
.mobile-section-toggle {
  background: var(--white);
  border: 1px solid var(--border);
  text-align: left;
}
.mobile-section-panel {
  background: var(--white);
  border: 1px solid var(--border);
  border-top: 0;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  padding: 0.5rem;
}
.mobile-section-panel h3 {
  color: var(--gold-700);
  font-size: 0.8rem;
  margin: 0.65rem 0.4rem 0.25rem;
  text-transform: uppercase;
}
.breadcrumbs { margin-bottom: 1.2rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; }
.breadcrumbs li { color: var(--muted); font-size: 0.92rem; }
.breadcrumbs li + li::before { content: "/"; margin-right: 0.5rem; }
.breadcrumbs a { color: var(--green-800); font-weight: 800; }
.info-card, .package-card, .inquiry-form, .accordion-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}
.info-card {
  min-height: 230px;
  padding: 24px;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.info-card:hover, .package-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-soft); }
.info-card p { color: var(--muted); }
.card-badge, .package-badge {
  background: var(--teal-100);
  border-radius: var(--radius-pill);
  color: var(--green-800);
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 900;
  margin-bottom: 0.7rem;
  padding: 0.25rem 0.65rem;
}
.package-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.package-card { padding: 28px; position: relative; transition: transform 180ms ease, box-shadow 180ms ease; }
.package-card.is-featured {
  border-color: var(--gold-600);
  box-shadow: 0 18px 48px rgba(159,122,16,0.16);
}
.package-price {
  color: var(--green-900);
  font-size: 1.65rem;
  font-weight: 900;
}
.package-card ul { display: grid; gap: 0.45rem; list-style: none; margin: 1rem 0; }
.package-card li { padding-left: 1.2rem; position: relative; }
.package-card li::before { content: ""; background: var(--gold-600); border-radius: 50%; height: 7px; left: 0; position: absolute; top: 0.65rem; width: 7px; }
.package-fee { color: var(--muted); min-height: 52px; }
.notice-bar { background: var(--green-900); color: var(--ivory-50); padding: 18px 0; }
.notice-inner {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: center;
  text-align: center;
}
.notice-inner span { color: rgba(255,255,255,0.78); }
.visual {
  min-height: 360px;
  position: relative;
}
.visual-dashboard, .visual-tokens, .visual-ring, .visual-vault, .visual-building, .visual-support, .visual-cards {
  background:
    radial-gradient(circle at 72% 24%, rgba(201,162,39,0.22), transparent 26%),
    linear-gradient(145deg, rgba(255,255,255,0.84), rgba(220,235,228,0.62));
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  padding: 28px;
}
.dash-card, .token-panel, .support-card {
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(229,221,200,0.9);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  position: absolute;
}
.dash-main { height: 230px; left: 46px; padding: 22px; top: 58px; width: 68%; }
.dash-top { display: flex; gap: 8px; }
.dash-top span { background: var(--gold-600); border-radius: 50%; height: 10px; width: 10px; }
.chart-bars { align-items: end; display: flex; gap: 12px; height: 130px; margin-top: 26px; }
.chart-bars span { background: linear-gradient(180deg, var(--gold-400), var(--green-700)); border-radius: 8px 8px 0 0; flex: 1; }
.chart-bars span:nth-child(1) { height: 44%; }
.chart-bars span:nth-child(2) { height: 64%; }
.chart-bars span:nth-child(3) { height: 52%; }
.chart-bars span:nth-child(4) { height: 78%; }
.chart-bars span:nth-child(5) { height: 60%; }
.chart-line { border-top: 3px solid var(--green-700); height: 60px; transform: skewY(-9deg); }
.dash-mini { padding: 16px; width: 154px; }
.dash-mini span, .token-panel span { color: var(--muted); display: block; font-size: 0.82rem; }
.dash-mini-a { right: 28px; top: 34px; }
.dash-mini-b { bottom: 36px; right: 76px; }
.token {
  background: radial-gradient(circle at 32% 28%, var(--gold-400), var(--gold-600) 48%, var(--gold-700));
  border: 2px solid rgba(255,255,255,0.7);
  border-radius: 50%;
  box-shadow: var(--shadow-card);
  position: absolute;
}
.token-large { height: 150px; left: 34%; top: 72px; width: 150px; }
.token-mid { height: 96px; left: 16%; top: 180px; width: 96px; }
.token-small { height: 62px; right: 18%; top: 210px; width: 62px; }
.token-panel { bottom: 36px; left: 50%; padding: 18px; transform: translateX(-50%); width: 220px; }
.allocation-ring {
  align-items: center;
  background: conic-gradient(var(--green-700) 0 45%, var(--gold-600) 45% 72%, var(--teal-100) 72% 100%);
  border-radius: 50%;
  display: flex;
  height: 230px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 64px;
  transform: translateX(-50%);
  width: 230px;
}
.allocation-ring::after {
  background: var(--ivory-50);
  border-radius: 50%;
  content: "";
  height: 128px;
  position: absolute;
  width: 128px;
}
.allocation-ring span { color: var(--green-950); font-weight: 900; position: relative; z-index: 1; }
.ring-label {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-card);
  color: var(--green-900);
  font-weight: 800;
  padding: 0.4rem 0.8rem;
  position: absolute;
}
.ring-label-a { left: 12%; top: 88px; }
.ring-label-b { right: 12%; top: 150px; }
.ring-label-c { bottom: 52px; left: 36%; }
.vault-door {
  background: var(--gradient-premium);
  border: 10px solid rgba(255,255,255,0.72);
  border-radius: 50%;
  box-shadow: var(--shadow-soft);
  height: 210px;
  left: 50%;
  position: absolute;
  top: 70px;
  transform: translateX(-50%);
  width: 210px;
}
.vault-door span {
  border: 8px solid var(--gold-400);
  border-radius: 50%;
  height: 86px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 86px;
}
.vault-badge {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  bottom: 52px;
  box-shadow: var(--shadow-card);
  color: var(--green-900);
  font-weight: 900;
  left: 50%;
  padding: 0.7rem 1rem;
  position: absolute;
  transform: translateX(-50%);
}
.building-shape {
  align-items: end;
  display: flex;
  gap: 18px;
  height: 240px;
  justify-content: center;
  padding-top: 50px;
}
.building-shape span {
  background: linear-gradient(180deg, var(--green-700), var(--green-950));
  border-radius: 16px 16px 4px 4px;
  box-shadow: var(--shadow-card);
  width: 80px;
}
.building-shape span:nth-child(1) { height: 140px; }
.building-shape span:nth-child(2) { height: 220px; }
.building-shape span:nth-child(3) { height: 170px; }
.global-line {
  border: 2px solid rgba(201,162,39,0.42);
  border-radius: 50%;
  height: 190px;
  left: 50%;
  position: absolute;
  top: 78px;
  transform: translateX(-50%) rotate(-18deg);
  width: 320px;
}
.support-orb {
  align-items: center;
  background: var(--gradient-premium);
  border-radius: 50%;
  box-shadow: var(--shadow-soft);
  color: var(--gold-400);
  display: flex;
  font-size: 2rem;
  font-weight: 900;
  height: 190px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 72px;
  transform: translateX(-50%);
  width: 190px;
}
.support-card { bottom: 54px; left: 50%; padding: 18px; transform: translateX(-50%); }
.layer-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  height: 168px;
  left: 50%;
  position: absolute;
  top: 88px;
  width: 250px;
}
.layer-one { transform: translateX(-50%) rotate(-9deg); }
.layer-two { background: var(--teal-100); transform: translateX(-44%) rotate(4deg); }
.layer-three { background: linear-gradient(135deg, var(--green-900), var(--gold-600)); transform: translateX(-56%) translateY(38px) rotate(1deg); }
.accordion { display: grid; gap: 14px; margin: 0 auto; max-width: 880px; }
.accordion-item { overflow: hidden; }
.accordion-trigger {
  align-items: center;
  background: var(--white);
  border: 0;
  color: var(--green-950);
  display: flex;
  font-weight: 900;
  justify-content: space-between;
  padding: 20px;
  text-align: left;
  width: 100%;
}
.accordion-icon {
  border-bottom: 2px solid var(--green-900);
  border-right: 2px solid var(--green-900);
  height: 10px;
  transform: rotate(45deg);
  width: 10px;
}
.accordion-trigger[aria-expanded="true"] .accordion-icon { transform: rotate(225deg); }
.accordion-panel { padding: 0 20px 20px; }
.inquiry-form { padding: 26px; }
.form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-field { margin-bottom: 12px; }
.form-field label, .checkbox-field { color: var(--green-950); display: block; font-weight: 800; margin-bottom: 0.35rem; }
input, select, textarea {
  background: var(--ivory-50);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--charcoal);
  min-height: 46px;
  padding: 0.75rem;
  width: 100%;
}
textarea { resize: vertical; }
.checkbox-field {
  align-items: flex-start;
  display: flex;
  gap: 0.7rem;
  line-height: 1.4;
}
.checkbox-field input { flex: 0 0 auto; min-height: auto; margin-top: 0.25rem; width: auto; }
.form-status { font-weight: 800; margin-bottom: 1rem; }
.form-status.is-success { color: var(--green-700); }
.form-status.is-error { color: var(--danger); }
.lead-registration-form .full-width { width: 100%; }
.lead-registration-form input[type="submit"] { cursor: pointer; }
.modal[hidden] { display: none; }
.modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 1800;
}
.modal-backdrop {
  background: rgba(6,26,20,0.68);
  inset: 0;
  position: absolute;
}
.modal-dialog {
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  max-height: min(90vh, 920px);
  max-width: 760px;
  overflow: auto;
  padding: 28px;
  position: relative;
  width: min(100%, 760px);
}
.modal-close {
  background: var(--ivory-100);
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--green-950);
  font-size: 1.4rem;
  height: 42px;
  position: absolute;
  right: 18px;
  top: 18px;
  width: 42px;
}
.modal-heading { max-width: 600px; padding-right: 48px; }
.floating-chat {
  align-items: center;
  background: var(--green-900);
  border: 1px solid var(--gold-600);
  border-radius: var(--radius-pill);
  bottom: 18px;
  box-shadow: var(--shadow-soft);
  color: var(--white);
  display: inline-flex;
  font-weight: 900;
  gap: 0.6rem;
  padding: 0.8rem 1rem;
  position: fixed;
  right: 18px;
  text-decoration: none;
  z-index: 1200;
}
.floating-chat span {
  background: var(--gold-600);
  border-radius: 50%;
  height: 12px;
  width: 12px;
}
.site-footer {
  background: var(--green-950);
  color: rgba(255,255,255,0.74);
  padding: 58px 0 26px;
}
.footer-grid {
  display: grid;
  gap: 28px;
  grid-template-columns: 1.4fr repeat(3, 1fr);
}
.footer-brand { color: var(--white); margin-bottom: 1rem; }
.footer-brand img {
  background: var(--ivory-100);
  border-radius: var(--radius-sm);
  max-width: min(320px, 100%);
  padding: 6px;
}
.site-footer h2 { color: var(--gold-400); font-size: 1rem; }
.site-footer a {
  color: rgba(255,255,255,0.78);
  display: block;
  padding: 0.2rem 0;
  text-decoration: none;
}
.site-footer a:hover { color: var(--gold-400); }
.footer-legal {
  border-top: 1px solid rgba(255,255,255,0.14);
  font-size: 0.9rem;
  margin-top: 36px;
  padding-top: 22px;
}

.header-notice {
  background: var(--green-950);
  color: rgba(255,255,255,0.82);
  font-size: 0.88rem;
}

.header-notice-inner {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: center;
  min-height: 38px;
  text-align: center;
}

.header-notice strong {
  color: var(--gold-400);
  white-space: nowrap;
}

.header-notice a {
  color: var(--white);
  font-weight: 800;
  text-decoration-color: var(--gold-600);
  text-underline-offset: 0.25em;
  white-space: nowrap;
}

.audience-bar {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  color: var(--green-950);
}

.audience-inner {
  gap: 22px;
  min-height: 82px;
}

.brand img {
  display: block;
  height: auto;
  max-width: min(330px, 34vw);
  width: 330px;
}

.audience-switcher {
  background: var(--ivory-100);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  display: inline-flex;
  gap: 4px;
  padding: 4px;
}

.audience-switcher a {
  border-radius: var(--radius-pill);
  color: var(--green-900);
  font-weight: 900;
  padding: 0.52rem 0.9rem;
}

.audience-switcher a.is-active,
.audience-switcher a:hover {
  background: var(--green-900);
  color: var(--ivory-50);
}

.header-utilities {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  justify-content: flex-end;
}

.header-utilities > a:not(.button) {
  color: var(--green-900);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.header-utilities > a:not(.button):hover {
  color: var(--gold-700);
}

.audience-inner .header-utilities .button-secondary,
.mobile-account-actions .button-secondary {
  color: var(--green-950);
}

.mobile-account-actions {
  border-bottom: 1px solid var(--border);
  display: none;
  gap: 0.7rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.9rem;
}

.mobile-account-actions .button {
  justify-content: center;
  width: 100%;
}

.main-header {
  background: rgba(251,250,246,0.96);
  border-bottom: 1px solid rgba(229,221,200,0.8);
}

.header-inner {
  justify-content: center;
  min-height: 58px;
}

.desktop-nav {
  justify-content: center;
  width: 100%;
}

.desktop-nav-professional {
  gap: 12px;
}

.professional-link {
  display: inline-flex;
  text-decoration: none;
}

.professional-link.is-active {
  background: var(--ivory-100);
  box-shadow: inset 0 -2px 0 var(--gold-600);
}

.hero-image-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  margin: 0;
  overflow: hidden;
  position: relative;
}

.hero-image-panel::after {
  background: linear-gradient(135deg, rgba(11,46,34,0.1), rgba(201,162,39,0.16));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.hero-image-panel img {
  aspect-ratio: 16 / 9;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.legal-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 24px;
}

.legal-panel {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 24px;
}

.legal-panel p:last-child {
  margin-bottom: 0;
}

.form-field-wide {
  grid-column: 1 / -1;
}
