/* Homepage video, membership and certificate sections */
.home-videos,.home-memberships,.home-certificates{padding:76px 24px;background:#fff;color:#14263a}
.home-memberships{background:#f7f8fa}
.home-section-inner{width:min(100%,1180px);margin:0 auto}
.home-videos h2,.home-memberships h2,.home-certificates h2{margin:0;text-align:center;color:#10253e;font-size:clamp(1.8rem,3vw,2.35rem);font-weight:650;line-height:1.2}
.home-section-eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:#a98543;margin:0 0 10px;line-height:1.5}
.home-section-intro{text-align:center;max-width:760px;margin:14px auto 34px;color:#66717c;line-height:1.7;font-size:1rem}
.home-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%;align-items:start}
.home-video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#e8edf2;box-shadow:0 8px 24px rgba(9,31,55,.12)}
.home-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.membership-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;width:100%}
.membership-logo{min-width:0;min-height:112px;display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;border:1px solid #e9edf1;border-radius:6px;text-align:center;color:#183d5b;font-weight:700}
.membership-logo img{display:block;max-width:100%;max-height:90px;width:auto;height:auto;object-fit:contain}
.membership-logo-text{font-size:1rem}
.certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;align-items:stretch}
.certificate-card{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:14px;background:#fff;border:1px solid #e0e4e8;border-radius:4px;text-align:center;text-decoration:none;color:#1b2c40;box-shadow:0 4px 14px rgba(9,31,55,.05);overflow:hidden}
.certificate-card img{width:100%;height:220px;object-fit:contain;display:block}
.certificate-card>span{font-size:.9rem;font-weight:600;margin-top:10px;line-height:1.5}
.certificate-placeholder{border-style:dashed;border-color:#c9d0d8;background:#fafbfc;gap:12px}
.certificate-placeholder-title{font-size:1rem!important}
.certificate-placeholder-note{color:#78838e;font-size:.78rem;line-height:1.5}
@media(max-width:850px){.home-videos,.home-memberships,.home-certificates{padding:60px 22px}.home-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.home-videos,.home-memberships,.home-certificates{padding:48px 18px}.home-video-grid{grid-template-columns:1fr;max-width:680px;margin:0 auto}.membership-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.certificate-grid{grid-template-columns:1fr}.membership-logo{min-height:82px;padding:12px}.certificate-card img{height:200px}}



/* Patient Information Leaflets template — explicitly loaded by the theme */
body .patient-leaflets-page {
  padding-top: 0;
  color: #1a2e45;
  font-family: 'DM Sans', sans-serif;
  overflow-wrap: anywhere;
}
body .patient-leaflets-page .page-hero {
  position: relative;
  display: block;
  min-height: 0;
  margin: 0;
  padding: 148px 24px 48px;
  overflow: visible;
  background: linear-gradient(115deg, #073b5a, #071d3c);
  color: #fff;
  text-align: center;
}
body .patient-leaflets-page .page-hero .container,
body .patient-leaflets-page .leaflet-content,
body .patient-leaflets-page .leaflet-jump-nav .container {
  width: min(100% - 40px, 1180px);
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
body .patient-leaflets-page .page-hero .eyebrow {
  margin: 0 0 10px;
  color: #d7b36b;
  font-size: .82rem;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body .patient-leaflets-page .page-hero h1 {
  margin: 0 0 14px;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(2rem, 4vw, 3.1rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: normal;
  animation: none;
}
body .patient-leaflets-page .page-hero p:not(.eyebrow) {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255,255,255,.86);
  font-size: 1rem;
  line-height: 1.7;
}
body .patient-leaflets-page .leaflet-jump-nav {
  position: relative;
  inset: auto;
  z-index: 1;
  display: block;
  width: 100%;
  padding: 0;
  background: #f5f6f7;
  border-bottom: 1px solid #e3e6e8;
  backdrop-filter: none;
}
body .patient-leaflets-page .leaflet-jump-nav .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 16px 0;
}
body .patient-leaflets-page .leaflet-jump-nav a {
  display: inline-flex;
  align-items: center;
  color: #082b49;
  border: 1px solid #d9dee3;
  border-radius: 999px;
  padding: 8px 15px;
  background: #fff;
  text-decoration: none;
  font-size: .9rem;
  line-height: 1.4;
  font-weight: 600;
}
body .patient-leaflets-page .leaflet-jump-nav a:hover,
body .patient-leaflets-page .leaflet-jump-nav a:focus-visible {
  background: #082b49;
  color: #fff;
}
body .patient-leaflets-page .leaflet-content {
  padding-top: 28px;
  padding-bottom: 64px;
}
body .patient-leaflets-page .leaflet-section {
  display: block;
  padding: 34px 0 24px;
  margin: 0;
  scroll-margin-top: 110px;
}
body .patient-leaflets-page .leaflet-section h2 {
  margin: 0 0 20px;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 2px solid #d2ad62;
  color: #082b49;
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 650;
  line-height: 1.3;
  animation: none;
}
body .patient-leaflets-page .leaflet-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 14px;
}
body .patient-leaflets-page a.leaflet-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 76px;
  padding: 16px;
  border: 1px solid #e2e6e9;
  border-radius: 10px;
  background: #fff;
  color: #18354d;
  text-decoration: none;
  line-height: 1.45;
  box-shadow: 0 4px 14px rgba(7,29,60,.045);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
body .patient-leaflets-page a.leaflet-card:hover {
  transform: translateY(-2px);
  border-color: #d2ad62;
  box-shadow: 0 8px 20px rgba(7,29,60,.1);
}
body .patient-leaflets-page .leaflet-icon {
  display: flex;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f5eddb;
  color: #082b49;
  font-size: 1.2rem;
  font-weight: 700;
}
body .patient-leaflets-page .leaflet-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body .patient-leaflets-page .leaflet-action {
  flex: 0 0 auto;
  color: #6c7780;
  font-size: .78rem;
  white-space: nowrap;
}
body .patient-leaflets-page .leaflet-help {
  display: block;
  margin-top: 42px;
  padding: 30px;
  border-radius: 12px;
  background: #f5f6f7;
  text-align: center;
}
body .patient-leaflets-page .leaflet-help h2 {
  margin: 0 0 12px;
  color: #082b49;
  font-size: 1.7rem;
  line-height: 1.3;
}
body .patient-leaflets-page .leaflet-help p {
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.7;
}
body .patient-leaflets-page .leaflet-help-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}
body .patient-leaflets-page .leaflet-help-actions .button {
  display: inline-block;
  padding: 12px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.4;
}
body .patient-leaflets-page .leaflet-help-actions .button-primary {
  background: #d2ad62;
  color: #071d3c;
}
body .patient-leaflets-page .leaflet-help-actions .button-secondary {
  background: #082b49;
  color: #fff;
}
@media (max-width: 900px) {
  body .patient-leaflets-page .leaflet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .patient-leaflets-page .page-hero { padding-top: 132px; }
}
@media (max-width: 600px) {
  body .patient-leaflets-page .page-hero { padding: 120px 18px 36px; }
  body .patient-leaflets-page .page-hero .container,
  body .patient-leaflets-page .leaflet-content,
  body .patient-leaflets-page .leaflet-jump-nav .container { width: calc(100% - 36px); }
  body .patient-leaflets-page .leaflet-grid { grid-template-columns: 1fr; }
  body .patient-leaflets-page .leaflet-card { padding: 14px; }
  body .patient-leaflets-page .leaflet-action { font-size: .72rem; }
  body .patient-leaflets-page .leaflet-help { padding: 24px 16px; }
}



/* Blog archive and single article templates */
.ent-blog-archive, .ent-single-post { padding-top: 0; color: #1a2e45; }
.ent-blog-container { width: min(100% - 48px, 1180px); margin-left: auto; margin-right: auto; }
.ent-blog-hero { padding: 150px 24px 58px; background: linear-gradient(115deg,#073b5a,#071d3c); color: #fff; text-align: center; }
.ent-blog-hero .ent-blog-container { width: min(100%, 900px); }
.ent-blog-eyebrow { margin: 0 0 10px; color: #b89450; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; line-height: 1.5; font-weight: 600; }
.ent-blog-hero h1 { margin: 0 0 16px; color: #fff; font-family: 'DM Sans',sans-serif; font-size: clamp(2.2rem,4.5vw,3.4rem); font-weight: 600; line-height: 1.15; animation: none; }
.ent-blog-hero p:not(.ent-blog-eyebrow) { margin: 0 auto; max-width: 760px; color: rgba(255,255,255,.85); line-height: 1.75; }
.ent-blog-archive__body { padding-top: 56px; padding-bottom: 76px; }
.ent-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 26px; }
.ent-blog-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e6e3de; border-radius: 8px; background: #fff; box-shadow: 0 5px 20px rgba(11,30,53,.055); }
.ent-blog-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #e9edf0; text-decoration: none; }
.ent-blog-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.ent-blog-card__image:hover img { transform: scale(1.035); }
.ent-blog-card__image-placeholder { display: flex; width: 100%; height: 100%; min-height: 180px; align-items: center; justify-content: center; background: linear-gradient(135deg,#0b1e35,#1b4669); color: #c9a96e; font-family: 'Cormorant Garamond',serif; font-size: 3rem; }
.ent-blog-card__content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 24px; }
.ent-blog-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #718096; font-size: .8rem; line-height: 1.5; }
.ent-blog-meta a { color: #8a6a31; text-decoration: none; }
.ent-blog-card h2, .ent-blog-card h3 { margin: 12px 0; color: #10253e; font-family: 'DM Sans',sans-serif; font-size: 1.3rem; font-weight: 600; line-height: 1.4; }
.ent-blog-card h2 a, .ent-blog-card h3 a { color: inherit; text-decoration: none; }
.ent-blog-card h2 a:hover, .ent-blog-card h3 a:hover { color: #987637; }
.ent-blog-card__excerpt { margin-bottom: 20px; color: #586779; font-size: .95rem; line-height: 1.75; }
.ent-blog-card__excerpt p { margin: 0; }
.ent-blog-read-more { display: inline-flex; gap: 8px; align-items: center; margin-top: auto; color: #806027; text-decoration: none; font-weight: 600; font-size: .9rem; }
.ent-blog-read-more:hover { color: #10253e; }
.ent-blog-pagination { margin-top: 44px; }
.ent-blog-pagination .nav-links { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 0; background: transparent; border: 0; backdrop-filter: none; }
.ent-blog-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 8px 13px; border: 1px solid #d9dfe5; border-radius: 4px; background: #fff; color: #10253e; text-decoration: none; font-size: .9rem; }
.ent-blog-pagination .page-numbers.current, .ent-blog-pagination .page-numbers:hover { border-color: #10253e; background: #10253e; color: #fff; }
.ent-blog-empty { padding: 50px 28px; border: 1px dashed #cbd3da; border-radius: 8px; background: #fff; text-align: center; }
.ent-blog-empty h2 { margin-bottom: 10px; color: #10253e; }
.ent-blog-empty p { color: #586779; line-height: 1.7; }
.ent-article__hero { padding: 150px 24px 56px; background: linear-gradient(115deg,#073b5a,#071d3c); color: #fff; }
.ent-article__hero-inner { width: min(100%,900px); margin: 0 auto; }
.ent-blog-meta--hero { color: rgba(255,255,255,.75); }
.ent-blog-meta--hero a { color: #e6c783; }
.ent-article__hero h1 { max-width: 900px; margin: 18px 0 0; color: #fff; font-family: 'DM Sans',sans-serif; font-size: clamp(2rem,4.3vw,3.4rem); font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; animation: none; }
.ent-article__standfirst { max-width: 800px; margin-top: 18px; color: rgba(255,255,255,.84); font-size: 1.08rem; line-height: 1.8; }
.ent-article__featured-image { margin-top: 36px; margin-bottom: 0; }
.ent-article__featured-image img { display: block; width: 100%; max-height: 560px; border-radius: 8px; object-fit: cover; }
.ent-article__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; padding-top: 52px; padding-bottom: 64px; align-items: start; }
.ent-article__main { min-width: 0; }
.ent-article__content { color: #26394e; font-size: 1.02rem; line-height: 1.9; overflow-wrap: anywhere; }
.ent-article__content > * { margin-bottom: 1.25em; }
.ent-article__content h2, .ent-article__content h3, .ent-article__content h4 { margin-top: 1.6em; margin-bottom: .65em; color: #10253e; font-family: 'DM Sans',sans-serif; font-weight: 600; line-height: 1.35; animation: none; }
.ent-article__content h2 { font-size: 1.8rem; }
.ent-article__content h3 { font-size: 1.4rem; }
.ent-article__content p, .ent-article__content ul, .ent-article__content ol { margin-bottom: 1.25em; }
.ent-article__content ul, .ent-article__content ol { padding-left: 1.5em; }
.ent-article__content a { color: #805f28; text-decoration: underline; text-underline-offset: 3px; }
.ent-article__content img, .ent-article__content video, .ent-article__content iframe { max-width: 100%; }
.ent-article__content img { height: auto; }
.ent-article__content blockquote { margin: 1.8em 0; padding: 8px 0 8px 22px; border-left: 3px solid #c9a96e; color: #536477; }
.ent-article__content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.ent-article__content th, .ent-article__content td { padding: 10px; border: 1px solid #dfe4e8; text-align: left; }
.ent-article__sidebar { display: grid; gap: 22px; }
.ent-article__sidebar-card { padding: 24px; border: 1px solid #e5e8eb; border-radius: 8px; background: #fff; }
.ent-article__sidebar-card h2 { margin: 0 0 12px; color: #10253e; font-family: 'DM Sans',sans-serif; font-size: 1.25rem; line-height: 1.4; animation: none; }
.ent-article__sidebar-card p:not(.ent-blog-eyebrow) { margin: 0 0 18px; color: #647386; font-size: .92rem; line-height: 1.7; }
.ent-blog-button { display: block; padding: 12px 14px; border-radius: 3px; background: #c9a96e; color: #0b1e35; text-align: center; text-decoration: none; font-weight: 600; font-size: .88rem; }
.ent-blog-sidebar-link { display: block; margin-top: 14px; color: #805f28; text-align: center; font-size: .9rem; text-decoration: none; }
.ent-article__recent ul { display: grid; gap: 16px; list-style: none; padding: 0; margin: 0; }
.ent-article__recent li { padding-bottom: 14px; border-bottom: 1px solid #edf0f2; }
.ent-article__recent li:last-child { padding-bottom: 0; border-bottom: 0; }
.ent-article__recent li a { display: block; color: #233950; text-decoration: none; font-size: .9rem; font-weight: 600; line-height: 1.5; }
.ent-article__recent li time { display: block; margin-top: 5px; color: #8290a0; font-size: .78rem; }
.ent-article__tags { padding: 20px 0; border-top: 1px solid #e4e8eb; color: #647386; font-size: .9rem; }
.ent-article__tags a { color: #805f28; text-decoration: none; }
.ent-article__post-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #e4e8eb; }
.ent-article__post-nav-item { min-width: 0; }
.ent-article__post-nav-item--next { text-align: right; }
.ent-article__post-nav a { color: #805f28; text-decoration: none; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.ent-related-posts { padding: 58px 0 76px; background: #f0eee9; }
.ent-related-posts h2 { margin: 0 0 28px; color: #10253e; font-family: 'DM Sans',sans-serif; font-size: 2rem; animation: none; }
.ent-blog-grid--related { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ent-blog-grid--related .ent-blog-card__content { padding: 20px; }
.ent-blog-grid--related .ent-blog-card h3 { font-size: 1.1rem; }
@media (max-width: 1000px) {
  .ent-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ent-article__layout { grid-template-columns: minmax(0,1fr) 270px; gap: 30px; }
}
@media (max-width: 760px) {
  .ent-blog-container { width: min(100% - 36px,1180px); }
  .ent-blog-hero, .ent-article__hero { padding: 125px 18px 42px; }
  .ent-blog-archive__body { padding-top: 32px; padding-bottom: 48px; }
  .ent-blog-grid, .ent-blog-grid--related { grid-template-columns: 1fr; max-width: 600px; margin-left: auto; margin-right: auto; }
  .ent-article__layout { grid-template-columns: 1fr; gap: 30px; padding-top: 32px; padding-bottom: 46px; }
  .ent-article__featured-image { margin-top: 22px; }
  .ent-article__featured-image img { max-height: 380px; }
  .ent-article__sidebar { grid-template-columns: 1fr; }
  .ent-related-posts { padding: 42px 0 52px; }
}



/* Blog archive and single-post header/navigation collision fixes */
body.blog .site-header,
body.archive .site-header,
body.single-post .site-header,
body.single .site-header {
  position: relative;
  z-index: 100;
}
body.blog .site-main,
body.archive .site-main,
body.single-post .site-main,
body.single .site-main {
  position: relative;
  z-index: 1;
}
body.single-post .post-navigation,
body.single-post .navigation.post-navigation,
body.single-post .blog-post-navigation,
body.single-post .single-post-navigation,
body.single-post nav.post-navigation {
  position: relative;
  inset: auto;
  top: auto;
  left: auto;
  right: auto;
  z-index: 2;
  display: flex;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 16px max(24px, calc((100% - 1180px)/2));
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #101c3a;
  border-top: 1px solid rgba(255,255,255,.08);
}
body.single-post .post-navigation a,
body.single-post .navigation.post-navigation a,
body.single-post .blog-post-navigation a,
body.single-post .single-post-navigation a,
body.single-post nav.post-navigation a {
  position: static;
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #c69b3b;
  font-size: .9rem;
  line-height: 1.5;
  text-decoration: none;
}
body.single-post .post-navigation a:hover,
body.single-post .navigation.post-navigation a:hover,
body.single-post .blog-post-navigation a:hover,
body.single-post .single-post-navigation a:hover,
body.single-post nav.post-navigation a:hover {
  color: #fff;
}
body.single-post .single-post-hero,
body.single-post .post-hero,
body.single-post .single-hero {
  position: relative;
  z-index: 1;
  clear: both;
}
body.blog .site-header + .site-main,
body.archive .site-header + .site-main {
  margin-top: 0;
}
@media (max-width: 700px) {
  body.single-post .post-navigation,
  body.single-post .navigation.post-navigation,
  body.single-post .blog-post-navigation,
  body.single-post .single-post-navigation,
  body.single-post nav.post-navigation {
    padding: 14px 18px;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}


/* ===== Shared navy-and-gold footer redesign ===== */
.ent-widget-footer {
  --footer-bg: #0d1935;
  --footer-panel: #122243;
  --footer-gold: #d1b36b;
  --footer-text: #d7deea;
  --footer-muted: #aebbd0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--footer-bg);
  color: var(--footer-text);
  font-family: 'DM Sans', sans-serif;
  border-top: 3px solid var(--footer-gold);
}
.ent-widget-footer *,
.ent-widget-footer *::before,
.ent-widget-footer *::after { box-sizing: border-box; }
.ent-widget-footer__main {
  width: 100%;
  padding: 56px 24px 46px;
  background: linear-gradient(135deg, #0d1935 0%, #102141 100%);
}
.ent-widget-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
  gap: clamp(24px, 3vw, 48px);
  width: min(100%, 1240px);
  margin: 0 auto;
}
.ent-widget-footer__column { min-width: 0; padding: 0; }
.ent-widget-footer .footer-widget { margin: 0 0 18px; }
.ent-widget-footer .footer-widget__title,
.ent-widget-footer h2.footer-widget__title,
.ent-widget-footer .widget-title {
  margin: 0 0 18px;
  padding: 0 0 12px;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  border: 0;
  border-bottom: 1px solid rgba(209,179,107,.36);
  letter-spacing: .01em;
  text-transform: none;
}
.ent-footer-brand {
  display: inline-flex;
  flex-direction: column;
  gap: 5px;
  margin: 0 0 20px;
  text-decoration: none;
}
.ent-footer-brand__name {
  color: var(--footer-gold);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.55rem;
  line-height: 1.1;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ent-footer-brand__descriptor {
  color: var(--footer-muted);
  font-size: .68rem;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
}
.ent-widget-footer .ent-footer-copy,
.ent-widget-footer .footer-widget p,
.ent-widget-footer .textwidget {
  margin: 0 0 16px;
  color: var(--footer-muted);
  font-size: .88rem;
  line-height: 1.8;
}
.ent-widget-footer a {
  color: var(--footer-text);
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease;
}
.ent-widget-footer a:hover,
.ent-widget-footer a:focus-visible { color: var(--footer-gold); }
.ent-widget-footer .ent-footer-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 5px;
  color: var(--footer-gold);
  font-size: .86rem;
  font-weight: 600;
}
.ent-footer-link-list,
.ent-footer-location-list,
.ent-widget-footer .footer-widget ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ent-footer-link-list li,
.ent-widget-footer .footer-widget li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(255,255,255,.075);
}
.ent-footer-link-list a,
.ent-widget-footer .footer-widget li a {
  display: block;
  padding: 8px 0;
  color: var(--footer-text);
  font-size: .86rem;
  line-height: 1.5;
}
.ent-footer-location-list li {
  margin: 0;
  padding: 8px 0;
  color: #f3f5f9;
  font-size: .86rem;
  line-height: 1.45;
  border-bottom: 1px solid rgba(255,255,255,.075);
}
.ent-footer-location-list span {
  display: block;
  margin-top: 3px;
  color: var(--footer-muted);
  font-size: .78rem;
}
.ent-widget-footer .ent-footer-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 20px 0 12px;
  padding: 13px 16px;
  border: 1px solid var(--footer-gold);
  border-radius: 4px;
  background: var(--footer-gold);
  color: #101c35;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.4;
}
.ent-widget-footer .ent-footer-button:hover,
.ent-widget-footer .ent-footer-button:focus-visible {
  background: #e2ca8e;
  color: #101c35;
}
.ent-widget-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: 19px 24px;
  border-top: 1px solid rgba(255,255,255,.1);
  background: #091329;
}
.ent-widget-footer__copyright,
.ent-widget-footer__legal {
  width: min(100%, 1240px);
  color: #98a8c0;
  font-size: .76rem;
  line-height: 1.6;
}
.ent-widget-footer__copyright { margin-left: max(0px, calc((100% - 1240px)/2)); }
.ent-widget-footer__legal {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  margin-right: max(0px, calc((100% - 1240px)/2));
}
.ent-widget-footer__legal a { color: #b5c0d1; }
.ent-widget-footer--fallback { min-height: 0; }
@media (max-width: 1000px) {
  .ent-widget-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
}
@media (max-width: 600px) {
  .ent-widget-footer__main { padding: 40px 20px 32px; }
  .ent-widget-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .ent-widget-footer__bottom { align-items: flex-start; flex-direction: column; padding: 18px 20px; gap: 8px; }
  .ent-widget-footer__copyright,
  .ent-widget-footer__legal { width: 100%; margin: 0; }
  .ent-widget-footer__legal { justify-content: flex-start; flex-wrap: wrap; }
}

/* v1.5.4: supplied membership and As Featured In imagery */
.membership-image-wrap{width:100%;display:flex;justify-content:center;align-items:center;margin:28px auto 0;padding:18px;background:#fff;border:1px solid #e9edf1;border-radius:8px;box-sizing:border-box}
.membership-image-wrap img{display:block;width:100%;max-width:1000px;height:auto;object-fit:contain}
.featured-in-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:center;width:100%;margin-top:30px}
.featured-in-image{display:flex;align-items:center;justify-content:center;min-width:0;min-height:180px;padding:16px;background:#fff;border:1px solid #e9edf1;border-radius:8px;box-shadow:0 4px 14px rgba(9,31,55,.05);box-sizing:border-box}
.featured-in-image img{display:block;max-width:100%;width:auto;height:auto;max-height:260px;object-fit:contain}
@media(max-width:760px){.featured-in-grid{grid-template-columns:1fr;gap:16px}.featured-in-image{min-height:130px}.featured-in-image img{max-height:230px}.membership-image-wrap{padding:10px}}


/* v1.5.6: polished logo layouts for memberships and As Featured In */
.home-memberships .membership-logo-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;
  width:100%;max-width:1080px;margin:30px auto 0;
}
.home-memberships .membership-logo{
  display:flex;align-items:center;justify-content:center;min-width:0;min-height:142px;
  padding:20px;background:#fff;border:1px solid #e4eaf0;border-radius:10px;
  box-shadow:0 5px 18px rgba(16,37,62,.045);box-sizing:border-box;
}
.home-memberships .membership-logo img{
  display:block;width:100%;height:100px;max-width:100%;max-height:100px;object-fit:contain;
}
.home-certificates .featured-in-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;
  width:100%;max-width:1080px;margin:30px auto 0;
}
.home-certificates .featured-in-image{
  display:flex;align-items:center;justify-content:center;min-width:0;min-height:155px;
  padding:22px;background:#fff;border:1px solid #e4eaf0;border-radius:10px;
  box-shadow:0 5px 18px rgba(16,37,62,.045);box-sizing:border-box;overflow:hidden;
}
.home-certificates .featured-in-image img{
  display:block;width:100%;height:105px;max-width:100%;max-height:105px;object-fit:contain;
}
@media(max-width:760px){
  .home-memberships .membership-logo-grid{gap:12px}
  .home-memberships .membership-logo{min-height:112px;padding:12px}
  .home-memberships .membership-logo img{height:76px;max-height:76px}
  .home-certificates .featured-in-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .home-certificates .featured-in-image{min-height:112px;padding:10px}
  .home-certificates .featured-in-image img{height:76px;max-height:76px}
}
@media(max-width:420px){
  .home-memberships .membership-logo-grid{gap:8px}
  .home-memberships .membership-logo{min-height:92px;padding:8px}
  .home-memberships .membership-logo img{height:60px;max-height:60px}
  .home-certificates .featured-in-grid{gap:7px}
  .home-certificates .featured-in-image{min-height:88px;padding:6px}
  .home-certificates .featured-in-image img{height:60px;max-height:60px}
}


/* v1.5.7: explicit featured-logo row; markup also has inline layout fallback for stale CSS caches */
@media(max-width:600px){.home-certificates .featured-in-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.home-certificates .featured-in-image{min-height:90px!important;padding:8px!important}.home-certificates .featured-in-image img{height:58px!important;max-height:58px!important}}
