@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");

/* ajh-layout.css
   andrewjhillman.com — violet name-card / magazine.
   Instrument Serif (display) + Plus Jakarta Sans (body). Stay name-card.
   Paper #F5F3FF, ink #3B0764, ELECTRIC VIOLET #7C3AED, pop #F472B6.
   Linked last. No font-size !important on body so the a11y overlay wins.
   Visual only. Do not copy the hub split-hero. */

:root {
  --bg: #F5F3FF !important;
  --panel: #EDE9FE !important;
  --sheet: #FFFFFF !important;
  --navy: #3B0764 !important;
  --ink: #3B0764 !important;
  --body: "Plus Jakarta Sans", system-ui, sans-serif !important;
  --accent: #7C3AED !important;
  --accent-deep: #5B21B6 !important;
  --accent-ink: #5B21B6 !important;
  --line: #DDD6FE !important;
  --line-strong: #C4B5FD !important;
  --gold: #7C3AED !important;
  --gold-deep: #5B21B6 !important;
  --gold-ink: #5B21B6 !important;
  --gold-dk: #5B21B6 !important;
  --gold-dk-ink: #5B21B6 !important;
  --pop: #F472B6 !important;
  --violet: #7C3AED !important;
  --portrait-cream: #F5F3FF;
  --portrait-navy: #3B0764;
  --portrait-gold: #7C3AED;
  --display: "Instrument Serif", Georgia, serif !important;
  --serif: "Instrument Serif", Georgia, serif !important;
  --sans: "Plus Jakarta Sans", system-ui, sans-serif !important;
  --mono: "Plus Jakarta Sans", system-ui, sans-serif !important;
  --measure: 65ch;
}

html { overflow-x: hidden; }

body {
  overflow-x: hidden;
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.55;
  color: #3B0764;
  background-color: #F5F3FF;
  background-image:
    linear-gradient(180deg, rgba(124, 58, 237, 0.08), transparent 34%);
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0;
}

img { max-width: 100%; height: auto; }


img.link-icon,
img[src*="icons.duckduckgo.com"],
svg.link-icon {
  width: 14px;
  height: 14px;
  max-width: 14px;
  max-height: 14px;
  object-fit: contain;
  display: inline-block;
  vertical-align: -2px;
  margin-right: 6px;
  flex-shrink: 0;
}
svg.link-icon { overflow: visible; }

.brand,
h1, h2, h3,
.nav-name,
.wordmark,
.signature-monogram {
  font-family: var(--serif);
  color: var(--ink);
}

/* Tracked name-card wordmark — tighter, not hub display size. */
h1 {
  font-size: clamp(1.7rem, 3.8vw, 2.28rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  text-wrap: balance;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--violet);
  width: max-content;
  max-width: 100%;
  line-height: 1.15;
  margin-bottom: 0.55em;
}

h2 {
  font-size: clamp(1.28rem, 2.4vw, 1.7rem);
  font-weight: 400;
  letter-spacing: 0.01em;
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  text-wrap: balance;
  line-height: 1.22;
  margin-bottom: 0.5em;
}

h3 { font-size: 1.05rem; font-weight: 600; letter-spacing: 0; font-family: var(--sans); }

.brand,
a.brand,
.nav-name,
a.nav-name,
.wordmark {
  font-family: "Instrument Serif", var(--serif);
  font-weight: 400;
  letter-spacing: 0.02em;
  text-decoration: none;
  color: #3B0764;
}
.wordmark { display: inline-block; line-height: 1.05; }
.nav-name em,
.brand em,
.wordmark em {
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.015em;
  color: inherit !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.eyebrow,
.hero .eyebrow,
.page-hero .eyebrow,
.lb-kicker {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  color: var(--accent-deep);
  font-family: var(--sans);
  letter-spacing: 0.18em;
  font-weight: 500;
}

.hero {
  padding: 56px 0 20px;
  background: transparent;
}
.hero .wrap {
  max-width: 34rem;
  text-align: center;
}

.namecard {
  position: relative;
  padding: 44px 36px 40px;
  background: var(--sheet);
  border: 1px solid var(--ink);
  box-shadow:
    0 0 0 1px var(--bg),
    0 0 0 2px var(--violet),
    0 26px 50px rgba(59, 7, 100, 0.08);
}
.namecard::before,
.namecard::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-color: var(--violet);
  border-style: solid;
  pointer-events: none;
}
.namecard::before { top: 8px; left: 8px; border-width: 1px 0 0 1px; }
.namecard::after { bottom: 8px; right: 8px; border-width: 0 1px 1px 0; }

.hero .wrap > .eyebrow,
.hero .wrap > h1,
.hero .wrap > .lede,
.hero .wrap > .sub,
.namecard > .eyebrow,
.namecard > h1,
.namecard > .lede,
.namecard > .sub {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.hero .lede,
.namecard .lede {
  max-width: 36ch;
  font-size: 1.02rem;
  color: var(--ink);
  line-height: 1.5;
}
.hero .sub,
.namecard .sub {
  max-width: 44ch;
  font-size: 0.95rem;
  line-height: 1.55;
}
.hero .btnrow,
.namecard .btnrow { justify-content: center; }

section .wrap { max-width: 40rem; }
section .wrap > .eyebrow {
  text-align: left;
  margin-left: 0;
  letter-spacing: 0.16em;
}
section .wrap > h2,
section .wrap > p:first-of-type {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}
section .wrap > p:first-of-type,
p, .lede { max-width: var(--measure); }

section, section.panel, .portrait-mid {
  padding-block: clamp(3rem, 6vw, 6rem);
}

.hero img[src*="logo-andrew-hillman"] {
  width: 72px !important;
  max-width: 72px;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

img[src*="temple-emanu-el"],
img[src*="scottish-rite"] {
  height: 40px !important;
  width: auto !important;
  max-width: 180px !important;
  max-height: 48px !important;
  object-fit: contain;
}

img[src*="parish-episcopal-building"],
img[src*="parish-episcopal-campus-map"],
img[src*="lamplighter-hillman-innovation-lab"],
img[src*="lamplighter-hillman-interior"] {
  width: 180px !important;
  height: 180px !important;
  max-width: 180px !important;
  max-height: 180px !important;
  object-fit: cover;
  border-radius: 6px;
}

figcaption { text-align: center; }

.portrait-mid {
  text-align: center;
  background:
    radial-gradient(ellipse 62% 78% at 50% 44%, rgba(124, 58, 237, 0.22), transparent 66%),
    linear-gradient(180deg, #EDE9FE 0%, #F5F3FF 100%);
  border-top: 1px solid rgba(124, 58, 237, 0.18);
  border-bottom: 4px solid #F472B6;
}
.portrait-mid .wrap { display: flex; justify-content: center; max-width: none; }

.speaking-portrait,
.hero-portrait,
figure.speaking-portrait,
.portrait-mid figure {
  --portrait-cream: #F5F3FF;
  --portrait-navy: #3B0764;
  --portrait-gold: #7C3AED;
  box-sizing: border-box;
  max-width: 276px !important;
  width: min(78vw, 276px);
  margin: 0.35rem auto 0.25rem;
  padding: 9px 9px 16px;
  background: var(--portrait-cream);
  border: 1px solid var(--portrait-navy);
  box-shadow:
    0 0 0 5px var(--portrait-cream),
    0 0 0 6px var(--portrait-gold),
    0 18px 40px rgba(59, 7, 100, 0.12);
  border-radius: 1px;
  position: relative;
  z-index: 1;
}

.speaking-portrait::before,
.speaking-portrait::after,
.hero-portrait::before,
.hero-portrait::after,
.portrait-mid figure::before,
.portrait-mid figure::after {
  content: none !important;
  display: none !important;
}

.speaking-portrait picture,
.hero-portrait picture,
.portrait-mid figure picture,
.speaking-portrait img,
.hero-portrait img,
.portrait-mid figure img {
  display: block !important;
  width: 100% !important;
  max-width: 258px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center top !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 0;
  border: 1px solid rgba(59, 7, 100, 0.28);
  box-shadow: none !important;
  filter: none;
  background: #EDE9FE;
}

.speaking-portrait figcaption,
.hero-portrait figcaption {
  text-align: center;
  margin-top: 0.85rem;
  font-family: var(--sans);
  font-size: 0.64rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5B21B6;
}

.about img {
  max-width: 260px;
  height: auto;
  object-fit: contain;
  margin-left: auto;
  margin-right: auto;
}

.btn { font-size: 14px; padding: 11px 20px; letter-spacing: 0.02em; min-height: 44px; }
.idbar { background: var(--violet); letter-spacing: 0.06em; font-family: var(--sans); }
.ethics { background: var(--violet); }
.ethics .eyebrow { color: #F5F3FF !important; }

a { color: var(--ink); }
.chip { min-width: 44px; min-height: 44px; }
.chip svg,
svg[stroke="currentColor"] {
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

hr.ornament::before,
.ornament-divider::before {
  content: "" !important;
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4v16'/><path d='M8 8c2.5 2 3.5 2 4 0s1.5-2 4 0'/><path d='M8 16c2.5-2 3.5-2 4 0s1.5 2 4 0'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4v16'/><path d='M8 8c2.5 2 3.5 2 4 0s1.5-2 4 0'/><path d='M8 16c2.5-2 3.5-2 4 0s1.5 2 4 0'/></svg>") center / contain no-repeat;
  font-size: 0 !important;
  color: var(--violet);
}

nav.site {
  background: #F5F3FF;
  border-bottom: 1px solid #7C3AED;
}
nav.site a.nl {
  color: #3B0764;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
}

.card {
  border-left-color: #7C3AED;
  background: var(--sheet);
}
footer { background: var(--panel); }

h1 em, h2 em, h3 em, .hero h1 em, .namecard h1 em {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}

.eyebrow,
.hero .eyebrow,
.page-hero .eyebrow,
.lb-kicker,
.lbl-eyebrow,
.lbl-badge--accent,
[class*="section-eyebrow"] {
  color: var(--ink) !important;
}
.ethics .eyebrow { color: #F5F3FF !important; }
.ethics, .idbar { background: #7C3AED; color: #F5F3FF; }
.ethics a, .idbar a { color: #F5F3FF; }

a, nav.site a.nl, .brand { color: var(--ink); }
p a, li a, dd a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.btn, a.btn, nav.site a.nl { text-decoration: none; }

.btn, a.btn, .btn-pri, a.btn-pri {
  background: #F472B6 !important;
  color: #3B0764 !important;
  border-color: #F472B6 !important;
}
.btn.ghost, a.btn.ghost {
  background: transparent !important;
  color: #3B0764 !important;
  border-color: #7C3AED !important;
}

.portrait-mid { border-bottom: 4px solid #F472B6; }
section.panel { border-top: 4px solid #F472B6; }

@media (max-width: 820px) {
  html, body { overflow-x: hidden; }
  h1 { width: auto; display: inline-block; }
}

@media (max-width: 760px) {
  .about { grid-template-columns: 1fr !important; }
  .grid2, .steps { grid-template-columns: 1fr !important; }
  .dl .row { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
  html, body { overflow-x: hidden; }
  body { font-size: 16px; line-height: 1.55; }
  h1 { font-size: 2rem; letter-spacing: 0.02em; width: auto; max-width: 100%; }
  h2 { font-size: 1.35rem; }
  .wrap, nav.site .in, .idbar .in, footer .wrap, header.hero, .hero {
    padding-left: 20px;
    padding-right: 20px;
  }
  .namecard { padding: 32px 20px 30px; }
  .btnrow, .hero .btnrow, .namecard .btnrow {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: stretch;
  }
  .btn, a.btn, .btn-pri, .nav-cta {
    width: 100%;
    min-height: 44px;
    justify-content: center;
    box-sizing: border-box;
  }
  nav.site .in { flex-wrap: wrap; gap: 10px; }
  nav.site ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px 14px;
  }
  nav.site a.nl {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .speaking-portrait, .hero-portrait, figure.speaking-portrait, .portrait-mid figure {
    max-width: 248px !important;
    width: min(82vw, 248px);
  }
  .speaking-portrait img, .hero-portrait img, .portrait-mid figure img {
    max-width: 100% !important;
  }
  .hero img[src*="logo-andrew-hillman"] {
    width: 56px !important;
    max-width: 56px;
  }
  img[src*="temple-emanu-el"],
  img[src*="scottish-rite"] {
    max-width: 140px !important;
    height: 32px !important;
  }
}

/* Tools restore — visibility + 44px tap only. */
.skip-to-content:focus,
.skip-to-content:focus-visible,
a.skip-to-content:focus,
.skip:focus,
.skip:focus-visible,
.skip-link:focus,
.skip-link:focus-visible,
a.skip-link:focus {
  position: fixed !important;
  left: 12px !important;
  top: 12px !important;
  width: auto !important;
  height: auto !important;
  min-width: 44px;
  min-height: 44px;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center;
  z-index: 2147483646 !important;
}

.enh-bar, .enh-panel, .enh-lang {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.enh-btn, .enh-toggle, .enh-step, .enh-reset {
  min-width: 44px;
  min-height: 44px;
}

.nav-cta, .btn, a.btn, .btn-pri, a.btn-pri, .btn-sec,
button.send, #inquire button.send, #inquire input, #inquire select,
.dl .btn, .dl a.btn, a[download] {
  min-height: 44px;
}

.index a, nav.az a, nav.index a {
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
}
.cc-search, input.cc-search, input[type="search"] {
  min-height: 44px;
  box-sizing: border-box;
}

#site-search-modal {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.85);
  z-index: 10000;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 6rem 1rem 1rem;
}
#site-search-modal.open { display: flex !important; }
#site-search-modal-inner {
  background: #fff;
  max-width: 720px;
  width: 100%;
  border-radius: 14px;
  padding: 1.5rem;
  max-height: 75vh;
  overflow-y: auto;
}
#site-search-close {
  min-width: 44px;
  min-height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  float: right;
  font-size: 1.4rem;
}

#site-tools-bar {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}
#site-tools-bar .stb-btn,
.stb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-width: 44px;
  min-height: 44px;
  background: #3B0764;
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  font-size: 1.1rem;
  position: relative;
}
.stb-btn[data-label]::after {
  content: attr(data-label);
  position: absolute;
  right: 56px;
  white-space: nowrap;
  background: #3B0764;
  color: #fff;
  padding: 0.45rem 0.8rem;
  border-radius: 6px;
  font-size: 0.85rem;
  opacity: 0;
  pointer-events: none;
}
.stb-btn:hover::after,
.stb-btn:focus::after { opacity: 0.98; }

#google_translate_widget {
  position: fixed;
  bottom: 1rem;
  right: 5rem;
  z-index: 9998;
  background: #fff;
  padding: 0.4rem 0.6rem;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  display: none;
}
#google_translate_widget.open { display: block !important; }

@media print {
  #site-tools-bar,
  #site-search-modal,
  #google_translate_widget,
  .enh-bar, .enh-panel, .enh-lang { display: none !important; }
}

/* ==== 2026-08-20 modern bg + type + fine print ====
   Visual only. Solid paper / light wash. Type hierarchy + 62–68ch measure. Body 16–16.5px / lh 1.55–1.6.
   Fine print 0.6875rem / 1.4 / centered. Linked last so these win. */

:root {
  --paper: #F5F3FF !important;
  --fine: rgba(59, 7, 100, 0.55) !important;
  --measure: 68ch;
}


html, body {
  background-color: #F5F3FF !important;
  background-image: none !important;
}
.idbar, .ethics { background: #7C3AED !important; }



/* ----- Body rhythm (uniform across home + inner) ----- */
html body {
  font-size: 16.5px !important;
  line-height: 1.58 !important;
}
html body a:not(.btn):not(.cta):not(.cta-btn):not(.nl):not(.nav-links a):not(.brand) {
  font-size: inherit;
}
/* ----- Type hierarchy (home + inner pages share the system) ----- */
h1, .cover-title, .lb-title {
  text-wrap: balance;
  line-height: 1.12;
}
h2, .block h2, .sec-title, .section-title {
  text-wrap: balance;
  line-height: 1.18;
  margin-top: 1.65em;
  margin-bottom: 0.48em;
}
h3 {
  text-wrap: balance;
  line-height: 1.22;
  margin-top: 1.3em;
  margin-bottom: 0.38em;
}
h1 + p, h2 + p, h3 + p,
h1 + .lede, h2 + .lede, h3 + .lede {
  margin-top: 0.2em;
}

/* Inner pages: same faces, calmer scale, not cramped */
body > .wrap > h1,
main > .wrap > h1,
main > h1:first-child,
body > .wrap h1 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.14;
  margin: 0.15em 0 0.4em;
  max-width: 22ch;
}
body > .wrap > h2,
main > .wrap > h2,
body > .wrap h2 {
  font-size: clamp(1.18rem, 2.2vw, 1.5rem);
  margin-top: 1.7em;
  margin-bottom: 0.45em;
}
body > .wrap > h3,
main > .wrap > h3,
body > .wrap h3 {
  font-size: 1.05rem;
  margin-top: 1.3em;
}

body > .wrap {
  max-width: 44rem;
  margin-inline: auto;
  padding: clamp(2.6rem, 5.5vw, 4.8rem) 1.25rem 3rem;
}
main > .wrap {
  padding-block: clamp(0.4rem, 2vw, 1.2rem);
}

/* Body measure ~60–68ch, paragraph air */
main p, article p, .wrap > p, .col-wide p, .col-narrow p,
.block p, .lede, p.lede, p.body, dd {
  max-width: 68ch;
}
main p, article p, .wrap > p, .col-wide p, .col-narrow p,
.block p.body, p.body {
  margin: 0 0 1.08em;
  line-height: 1.6;
}
.sub, p.sub {
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0 0 1.35em;
  color: var(--fine);
  max-width: 68ch;
}
a.back {
  display: inline-block;
  margin-bottom: 1.25rem;
  font-size: 0.92rem;
}

/* Lists: hanging indent (outside markers, wrap under text) */
main ul, main ol, article ul, article ol, .wrap ul, .wrap ol,
.col-wide ul, .col-narrow ul {
  max-width: 68ch;
  padding-left: 1.5em;
  margin: 0 0 1.2em;
  line-height: 1.6;
  list-style-position: outside;
}
main li + li, article li + li, .wrap li + li {
  margin-top: 0.4em;
}
main li, article li, .wrap li {
  padding-left: 0.25em;
  text-indent: 0;
}

/* ----- Mobile stacks ----- */
@media (max-width: 640px) {
  html, body { overflow-x: hidden; }
  body { font-size: 16px !important; line-height: 1.55 !important; }
  h1, .hero h1, .cover-title, .lb-title, .phero h1, .hero-split h1 {
    font-size: 2rem !important;
    line-height: 1.15 !important;
    max-width: 100%;
  }

  .grid, .grid2, .cards3, .feature, .cols, .stats .row,
  .hero .in, .statement .row, .cover-grid, .port, .card-grid,
  .princ, .impact .row, .contact, .bigfoot .cols,
  .heroart .body, .statband .row {
    grid-template-columns: 1fr !important;
  }
  body > .wrap, main .wrap, .nav-in, footer {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .btnrow, .hero .btns, .hbtns, .cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
}

/* ----- Fine print: small, uniform, centered ----- */
/* Simple footers (copyright / legal / network strip) */
html body footer:not(.bigfoot):not(:has(.footer-inner)),
html body footer.fine:not(:has(.footer-inner)),
html body .fine {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: var(--fine) !important;
  padding: 1.25rem 1.25rem 2rem !important;
  max-width: 42rem;
  margin-inline: auto;
  letter-spacing: 0.01em;
}
html body footer:not(.bigfoot):not(:has(.footer-inner)) .wrap,
html body footer.fine:not(:has(.footer-inner)) .wrap {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center !important;
}

/* Legal bits everywhere — including designed footers */
html body footer .legal,
html body footer p.legal,
html body footer .disclaimer,
html body footer .footer-bottom,
html body footer .footer-bottom div,
html body footer .ah-identity,
html body footer .ah-identity a,
html body footer .base,
html body footer .base span,
html body footer p.fine,
html body .legal,
html body p.legal,
html body .ah-identity,
html body [data-legal],
html body [data-legal] p,
html body [data-legal] div,
html body [data-legal] span,
html body [data-legal-band],
html body footer:not(:has(.footer-inner)):not(.bigfoot) p,
html body footer:not(:has(.footer-inner)):not(.bigfoot) li,
html body footer:not(:has(.footer-inner)):not(.bigfoot) small,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .note,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .fnet-h,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .fl,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .pl,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .netf,
html body footer:not(:has(.footer-inner)):not(.bigfoot) span,
html body footer:not(:has(.footer-inner)):not(.bigfoot) a {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: var(--fine) !important;
}
html body [data-legal],
html body [data-legal-band],
html body .ah-identity,
html body .legal,
html body footer .disclaimer,
html body footer .footer-bottom,
html body footer .base {
  max-width: 42rem;
  margin-inline: auto;
}
html body footer .disclaimer,
html body footer .footer-bottom,
html body [data-legal] {
  padding: 1.25rem 1.25rem 2rem !important;
}

html body footer:not(:has(.footer-inner)):not(.bigfoot) a,
html body footer.fine:not(:has(.footer-inner)) a,
html body .fine a,
html body footer .legal a,
html body footer .pl a,
html body footer .fl a,
html body footer .ah-identity a,
html body footer .netf a,
html body footer .disclaimer a,
html body footer .footer-bottom a,
html body .legal a,
html body .ah-identity a,
html body [data-legal] a,
html body [data-legal] a[style],
html body .pl a {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  color: var(--fine) !important;
  text-decoration: underline !important;
  text-decoration-style: dotted !important;
  text-underline-offset: 2px;
  font-weight: 400 !important;
}

/* Designed footers keep brand / columns; legal strip only shrinks */
html body footer:has(.footer-inner),
html body footer.bigfoot {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
html body footer:has(.footer-inner) .footer-inner,
html body footer:has(.footer-inner) .footer-inner a,
html body footer:has(.footer-inner) .footer-h,
html body footer:has(.footer-inner) .brand-mark,
html body footer.bigfoot .cols,
html body footer.bigfoot .cols a,
html body footer.bigfoot .blurb,
html body footer.bigfoot h3 {
  font-size: revert;
  line-height: revert;
  text-align: revert;
  color: revert;
  max-width: none;
}

html body footer.bigfoot .base,
html body footer.bigfoot .base span,
html body footer.bigfoot [data-legal],
html body footer.bigfoot [data-legal] p,
html body footer.bigfoot [data-legal] div,
html body footer.bigfoot [data-legal] span,
html body footer.bigfoot [data-legal] a {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: var(--fine-on-dark, rgba(255,255,255,0.62)) !important;
}
html body footer.bigfoot [data-legal],
html body footer.bigfoot .base {
  max-width: 42rem;
  margin-inline: auto;
  padding: 1.25rem 1.25rem 1.5rem !important;
}
html body footer.bigfoot [data-legal] a {
  text-decoration: underline !important;
  text-decoration-style: dotted !important;
  text-underline-offset: 2px;
}

html body footer:not(.bigfoot):not(:has(.footer-inner)) .fl,
html body footer:not(.bigfoot):not(:has(.footer-inner)) .pl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 0.85rem;
  max-width: 42rem;
  margin-inline: auto;
}

/* Custom extra — footer AJH serif stamp */
.ajh-extra-stamp{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  margin:0 auto 20px;color:#3B0764;
  font-family:"Instrument Serif",Georgia,serif;font-size:22px;letter-spacing:-.02em;
}
.ajh-extra-stamp .rule{width:42px;height:3px;border-radius:99px;background:#F472B6}
.ajh-extra-stamp .lbl{
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#7C3AED;
}
