.mega-footer {
  --footer-bg: #0b0b0a;
  --footer-panel: #151513;
  --footer-panel-soft: #1c1b18;
  --footer-gold: #d7bd89;
  --footer-text: #f5f1e8;
  --footer-muted: rgba(245, 241, 232, 0.62);
  --footer-line: rgba(255, 255, 255, 0.14);
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--footer-bg) !important;
  color: var(--footer-text) !important;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  text-align: left !important;
}

.mega-footer * { box-sizing: border-box; }
.mega-footer a { color: inherit; text-decoration: none; }
.mega-footer p { margin: 0; text-align: left !important; }

.mega-footer-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #1a1916;
  border-top: 3px solid var(--footer-gold);
  border-bottom: 1px solid var(--footer-line);
  padding: 0 clamp(20px, 5vw, 76px);
}

.mega-footer-trust > div {
  min-width: 0;
  padding: 27px 26px;
  border-right: 1px solid var(--footer-line);
}

.mega-footer-trust > div:first-child { padding-left: 0; }
.mega-footer-trust > div:last-child { padding-right: 0; border-right: 0; }
.mega-footer-trust strong { display: block; color: var(--footer-text); font-family: Georgia, serif; font-size: 1.03rem; }
.mega-footer-trust span { display: block; margin-top: 7px; color: var(--footer-muted); font-size: 0.82rem; line-height: 1.55; }

.mega-footer-shell {
  display: block !important;
  justify-content: initial !important;
  width: min(1520px, 100%);
  margin: 0 auto;
  padding: 66px clamp(20px, 5vw, 76px) 28px;
  font-size: 1rem !important;
}

.mega-footer-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.75fr);
  gap: clamp(36px, 7vw, 110px);
  align-items: start;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--footer-line);
}

.mega-footer-intro > div:first-child > p { max-width: 790px; color: var(--footer-muted); font-size: 0.94rem; line-height: 1.75; }
.mega-footer-wordmark { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 23px; }
.mega-footer-wordmark > span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--footer-gold); color: var(--footer-gold); font-family: Georgia, serif; font-size: 1.65rem; }
.mega-footer-wordmark strong { color: #fff; font-family: Georgia, serif; font-size: 1.35rem; letter-spacing: 0.12em; }
.mega-footer-wordmark em { display: block; margin-top: 3px; color: var(--footer-gold); font-family: "DM Sans", Arial, sans-serif; font-size: 0.58rem; font-style: normal; font-weight: 600; letter-spacing: 0.48em; }

.mega-footer-contact-card { padding: 26px 28px; background: var(--footer-panel-soft); border: 1px solid rgba(215, 189, 137, 0.32); }
.mega-footer-contact-card > span { color: var(--footer-gold); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.12em; }
.mega-footer-contact-card > strong { display: block; margin-top: 8px; font-family: Georgia, serif; font-size: 1.35rem; }
.mega-footer-contact-card > p { margin-top: 10px; color: var(--footer-muted); font-size: 0.86rem; line-height: 1.6; }
.mega-footer-contact-card > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 19px; }
.mega-footer-contact-card a { display: flex; min-height: 46px; align-items: center; justify-content: center; border: 1px solid var(--footer-line); padding: 10px 12px; font-size: 0.78rem; font-weight: 700; text-align: center; }
.mega-footer-contact-card a:last-child { border-color: #23875b; background: #176b45; }
.mega-footer-contact-card a:hover { border-color: var(--footer-gold); color: var(--footer-gold); }
.mega-footer-contact-card a:last-child:hover { color: #fff; background: #21875a; }

.mega-footer-directory {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 32px;
  padding: 50px 0;
  border-bottom: 1px solid var(--footer-line);
}

.mega-footer-directory section { min-width: 0; }
.mega-footer-directory h2,
.mega-footer-notices h2 {
  position: relative;
  margin: 0 0 24px;
  padding-bottom: 12px;
  color: #fff;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mega-footer-directory h2::after,
.mega-footer-notices h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--footer-gold); }
.mega-footer-directory a { display: block; width: fit-content; margin: 0 0 13px; color: var(--footer-muted); font-size: 0.86rem; line-height: 1.45; }
.mega-footer-directory a::before { content: "›"; margin-right: 7px; color: var(--footer-gold); }
.mega-footer-directory a:hover { color: #fff; transform: translateX(3px); }

.mega-footer-company {
  display: grid !important;
  grid-template-columns: minmax(270px, 0.72fr) minmax(0, 1.28fr);
  gap: 48px;
  padding: 44px 0;
  border-bottom: 1px solid var(--footer-line);
}

.mega-footer-company-heading > span { color: var(--footer-gold); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.13em; }
.mega-footer-company-heading h2 { margin: 8px 0 12px; color: #fff; font-family: Georgia, serif; font-size: 2rem; }
.mega-footer-company-heading p { max-width: 440px; color: var(--footer-muted); font-size: 0.86rem; line-height: 1.65; }
.mega-footer-company dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin: 0; }
.mega-footer-company dl > div { display: grid; grid-template-columns: minmax(130px, 0.8fr) minmax(0, 1.2fr); gap: 16px; align-items: start; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.09); }
.mega-footer-company dt { color: var(--footer-muted); font-size: 0.78rem; line-height: 1.45; }
.mega-footer-company dd { margin: 0; color: #fff; font-size: 0.84rem; font-weight: 700; line-height: 1.45; }
.mega-footer-company .pending-data { color: #cbbd9f; font-weight: 500; }
.mega-footer-company .pending-data::before { content: "○ "; color: var(--footer-gold); }

.mega-footer-notices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; padding: 44px 0; border-bottom: 1px solid var(--footer-line); }
.mega-footer-notices h2 { margin-bottom: 16px; }
.mega-footer-notices article p { color: var(--footer-muted); font-size: 0.82rem; line-height: 1.65; }

.mega-footer-disclaimer { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 34px; background: var(--footer-panel); border: 1px solid var(--footer-line); }
.mega-footer-disclaimer > div { padding: 24px 28px; }
.mega-footer-disclaimer > div:first-child { border-right: 1px solid var(--footer-line); }
.mega-footer-disclaimer strong { display: block; margin-bottom: 8px; color: var(--footer-gold); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; }
.mega-footer-disclaimer p { color: var(--footer-muted); font-size: 0.82rem; line-height: 1.62; }

.mega-footer-bottom { display: grid !important; grid-template-columns: 1fr 1fr auto; gap: 24px; align-items: center; padding: 30px 0 0; color: rgba(245, 241, 232, 0.48); }
.mega-footer-bottom p { font-size: 0.76rem; line-height: 1.55; }
.mega-footer-bottom a { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid var(--footer-line); border-radius: 50%; color: #fff; font-size: 0.78rem; font-weight: 700; }
.mega-footer-bottom a:hover { border-color: var(--footer-gold); color: var(--footer-gold); }

@media (max-width: 1180px) {
  .mega-footer-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 42px; }
  .mega-footer-notices { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .mega-footer-trust { grid-template-columns: 1fr 1fr; }
  .mega-footer-trust > div { border-bottom: 1px solid var(--footer-line); }
  .mega-footer-trust > div:nth-child(2) { border-right: 0; padding-right: 0; }
  .mega-footer-trust > div:nth-child(3) { padding-left: 0; border-bottom: 0; }
  .mega-footer-trust > div:nth-child(4) { border-right: 0; border-bottom: 0; padding-right: 0; }
  .mega-footer-intro,
  .mega-footer-company { grid-template-columns: 1fr; }
  .mega-footer-intro { gap: 30px; }
  .mega-footer-company { gap: 28px; }
  .mega-footer-bottom { grid-template-columns: 1fr auto; }
  .mega-footer-bottom p:nth-child(2) { grid-column: 1; }
  .mega-footer-bottom a { grid-column: 2; grid-row: 1 / span 2; }
}

@media (max-width: 600px) {
  .mega-footer-shell { padding-top: 48px; padding-bottom: 92px; }
  .mega-footer-trust { grid-template-columns: 1fr; padding: 0 20px; }
  .mega-footer-trust > div { padding: 20px 0 !important; border-right: 0; border-bottom: 1px solid var(--footer-line) !important; }
  .mega-footer-trust > div:last-child { border-bottom: 0 !important; }
  .mega-footer-intro { padding-bottom: 38px; }
  .mega-footer-contact-card { padding: 23px 20px; }
  .mega-footer-contact-card > div { grid-template-columns: 1fr; }
  .mega-footer-directory { grid-template-columns: 1fr 1fr; gap: 38px 22px; padding: 40px 0; }
  .mega-footer-directory h2 { font-size: 0.78rem; }
  .mega-footer-directory a { font-size: 0.84rem; }
  .mega-footer-company dl { grid-template-columns: 1fr; }
  .mega-footer-company dl > div { grid-template-columns: 1fr; gap: 5px; }
  .mega-footer-notices { grid-template-columns: 1fr; gap: 30px; }
  .mega-footer-disclaimer { grid-template-columns: 1fr; }
  .mega-footer-disclaimer > div:first-child { border-right: 0; border-bottom: 1px solid var(--footer-line); }
  .mega-footer-bottom { grid-template-columns: 1fr; padding-top: 26px; }
  .mega-footer-bottom p:nth-child(2),
  .mega-footer-bottom a { grid-column: 1; grid-row: auto; }
  .mega-footer-bottom a { width: 100%; height: 46px; border-radius: 0; }
}

@media (max-width: 390px) {
  .mega-footer-directory { grid-template-columns: 1fr; }
  .mega-footer-wordmark strong { font-size: 1.16rem; }
}
