/* Beacon Gainer Group: ported from the client's design (docs/design/index.html).
   Tokens are also in theme.json; keep the two in step. */
:root {
  /* Beacon Gainer brand guide (HereAfter): navy PMS 540U, rose copper PMS 8043, brown PMS 4695U, cool grey */
  --ink: #003057;          /* navy (guide) */
  --ink-2: #0b3d68;        /* raised navy */
  --ink-deep: #00213d;     /* footer navy */
  --ivory: #f8f4f2;        /* page background, warm off-white */
  --paper: #ffffff;        /* card / strip background */
  --brass: #be8c7c;        /* rose copper (guide) - accents, and text on navy */
  --brass-soft: #ead5cd;   /* light rose - text on navy, hovers */
  --copper-deep: #94604f;  /* rose copper darkened for small text on light backgrounds (4.75:1) */
  --brown: #4c3732;        /* guide brown */
  --grey: #a4a6a8;         /* guide cool grey (lines only, not text) */
  --text: #1d2533;
  --muted: #5b6474;
  --line: #e8deda;
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --wrap: 1120px;
  --gutter: clamp(16px, 4vw, 40px);
  --section: clamp(72px, 10vw, 128px);
}

/* WordPress adds a gap between header, main and footer; the design has none */
.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }
.wp-site-blocks { padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
h1, h2, h3, h4 { text-wrap: balance; margin: 0 0 .5em; }

.wrap { max-width: var(--wrap); margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); box-sizing: border-box; width: 100%; }
.wp-block-group.wrap { max-width: var(--wrap); }

.eyebrow { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--brass); margin: 0 0 18px; }

section.wp-block-group, .bg-section { padding: var(--section) 0; }
.section-head { max-width: 760px; margin-bottom: 56px; }

/* ---------- Header ---------- */
.wp-site-blocks > header { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header { top: 46px; } }
.site-header-bar { position: relative; color: #fff; }
/* blur lives on a pseudo-element: backdrop-filter on the bar itself would trap the fixed mobile menu overlay */
.site-header-bar::before { content: ""; position: absolute; inset: 0; background: rgba(0, 48, 87, .96); backdrop-filter: blur(8px); z-index: -1; }
.site-header-bar .wrap { height: 72px; align-items: center; }
.brand, .brand a { font-family: var(--serif); font-size: 22px; font-weight: 600; letter-spacing: .01em; color: #fff; text-decoration: none; white-space: nowrap; margin: 0; }
.brand a { display: block; line-height: 1.1; }
.nav { font-size: 14px; font-weight: 500; }
.nav a { text-decoration: none; color: rgba(255,255,255,.82); transition: color .2s; white-space: nowrap; }
.nav a:hover { color: var(--brass-soft); }
.nav { gap: 28px; }
.nav .wp-block-navigation__container { gap: 28px; }
.nav .nav-cta > a, .nav .nav-cta a { border: 1px solid var(--brass); padding: 8px 18px; border-radius: 999px; color: #fff; }

/* Hamburger below 1100px (core switches at 600px; the long nav labels need more room) */
@media (max-width: 1100px) {
  .nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .nav .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--ink) !important; color: #fff !important; padding: 24px var(--gutter); }
  .nav .wp-block-navigation__responsive-container.is-menu-open a { color: rgba(255,255,255,.9); }
  .nav .is-menu-open .wp-block-navigation__container, .nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; }
  .nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 0; width: 100%; }
  .nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
  .nav .wp-block-navigation__responsive-container.is-menu-open a { display: block; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); white-space: normal; }
  .nav .wp-block-navigation__responsive-container.is-menu-open .nav-cta a { border: 0; border-radius: 0; color: var(--brass-soft); padding: 14px 0; }
}
.nav .wp-block-navigation__responsive-container-open, .nav .wp-block-navigation__responsive-container-close { color: #fff; }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--ink); color: #fff; padding: clamp(96px, 14vw, 168px) 0 clamp(80px, 10vw, 120px) !important; }
.hero::before { content: ""; position: absolute; width: 900px; height: 900px; right: -260px; top: -380px; background: radial-gradient(circle, rgba(190,140,124,.32) 0%, rgba(190,140,124,0) 62%); pointer-events: none; }
.hero .wrap { position: relative; }
.hero h1 { color: #fff; font-size: clamp(30px, 7.4vw, 96px); font-weight: 500; white-space: nowrap; margin-bottom: 28px; } /* one line (client request); size reduced only as far as needed to fit phones */
.hero h1 em { font-style: italic; color: var(--brass-soft); }
.hero-lede { font-size: clamp(18px, 2vw, 21px); color: rgba(255,255,255,.78); max-width: 46ch; margin: 0; } /* as the original design */

/* ---------- About ---------- */
.about-grid { display: grid !important; grid-template-columns: 1fr 1.6fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.about-intro { position: sticky; top: 112px; }
.about-intro .big, p.big { font-family: var(--serif); font-size: clamp(24px, 2.6vw, 30px); line-height: 1.35; color: var(--ink); }
.timeline { border-left: 1px solid var(--line); }
.milestone { position: relative; padding: 0 0 44px 40px; }
.milestone:last-child { padding-bottom: 0; }
.milestone::before { content: ""; position: absolute; left: -6px; top: 10px; width: 11px; height: 11px; border-radius: 50%; background: var(--ivory); border: 2px solid var(--brass); box-sizing: border-box; }
.milestone .year { font-family: var(--serif); font-size: 30px; font-weight: 600; color: var(--brass); line-height: 1; margin-bottom: 14px; display: block; }
.miolo-tag { display: inline-block; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); background: var(--brass-soft); padding: 3px 10px; border-radius: 4px; margin-left: 10px; vertical-align: middle; }
@media (max-width: 820px) { .about-grid { grid-template-columns: 1fr; } .about-intro { position: static; } }

/* ---------- Buttons (core Button block) ---------- */
.wp-block-buttons { margin-top: 28px; gap: 14px; }
.wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; background: var(--brass); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 15px; padding: 14px 26px; border-radius: 999px; transition: background .2s, transform .2s; }
.wp-block-button__link:hover { background: var(--brass-soft); color: var(--ink); transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link, .wp-block-button.btn-ghost .wp-block-button__link { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); }
.wp-block-button.is-style-outline .wp-block-button__link:hover, .wp-block-button.btn-ghost .wp-block-button__link:hover { background: rgba(255,255,255,.08); color: #fff; transform: translateY(-1px); }

/* ---------- Firms ---------- */
section.firms { background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 72px 0; }
.firms h2 { font-size: clamp(28px, 3.4vw, 38px); }
ul.logo-grid, .logo-grid { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
.logo-grid li { height: 104px; border: 1px dashed var(--line); border-radius: 8px; display: grid; place-items: center; text-align: center; padding: 12px; color: var(--muted); font-size: 13px; }
.logo-grid img { max-height: 56px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .8; }

/* ---------- Programme ---------- */
.programme-grid { display: grid !important; grid-template-columns: 1.5fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.programme-copy p { font-size: 18px; }
.cohort-card { background: var(--ink); color: #fff; border-radius: 14px; padding: 40px 36px; position: relative; overflow: hidden; }
.cohort-card::after { content: ""; position: absolute; right: -120px; bottom: -120px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(190,140,124,.35), rgba(190,140,124,0) 65%); pointer-events: none; }
.cohort-card > * { position: relative; z-index: 1; }
.cohort-card .label { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-soft); margin: 0; }
.cohort-card .big { font-family: var(--serif); font-size: 64px; line-height: 1; margin: 10px 0 4px; color: #fff; }
.cohort-card .facts { margin: 28px 0 0; display: grid; gap: 18px; }
.cohort-card .fact-label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); margin: 0; }
.cohort-card .fact-value { margin: 2px 0 0; font-family: var(--serif); font-size: 22px; line-height: 1.3; color: #fff; }
.cohort-card .wp-block-buttons { margin-top: 32px; }
@media (max-width: 820px) { .programme-grid { grid-template-columns: 1fr; } }

/* ---------- Why ---------- */
section.why { background: var(--paper); border-top: 1px solid var(--line); }
.why-intro { max-width: 760px; font-size: 18px; }
blockquote.pull-quote, .pull-quote { margin: 64px 0; padding: 0 0 0 32px; border: 0; border-left: 3px solid var(--brass); font-family: var(--serif); font-size: clamp(26px, 3.4vw, 38px); line-height: 1.3; color: var(--ink); max-width: 880px; }
.pull-quote p { margin: 0; }
.belief { max-width: 760px; font-size: 18px; }
.returns-title { margin-top: 72px; }
ul.returns, .returns { list-style: none; margin: 32px 0 0; padding: 0; max-width: 760px; }
.returns li { position: relative; padding-left: 28px; margin-bottom: 14px; font-size: 18px; }
.returns li::before { content: ""; position: absolute; left: 4px; top: .75em; width: 6px; height: 6px; border-radius: 50%; background: var(--brass); }

/* ---------- Contact ---------- */
section.contact { background: var(--ink); color: #fff; text-align: center; position: relative; overflow: hidden; }
.contact::before { content: ""; position: absolute; left: 50%; top: -340px; transform: translateX(-50%); width: 800px; height: 600px; background: radial-gradient(circle, rgba(190,140,124,.28), rgba(190,140,124,0) 65%); pointer-events: none; }
.contact .wrap { position: relative; }
.contact h2 { color: #fff; }
.contact p { color: rgba(255,255,255,.78); font-size: 19px; max-width: 40ch; margin-left: auto; margin-right: auto; }
.contact .wp-block-buttons { margin-top: 40px; justify-content: center; }
.contact-divider { width: 64px; height: 1px; background: rgba(255,255,255,.2); border: 0; margin: 56px auto; }

/* Inquiry form */
.bg-inquiry { max-width: 640px; margin: 40px auto 0; text-align: left; }
.bg-inquiry .field { margin-bottom: 18px; }
.bg-inquiry label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--brass-soft); margin-bottom: 6px; }
.bg-inquiry input[type=text], .bg-inquiry input[type=email], .bg-inquiry textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; color: #fff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.25); border-radius: 8px; padding: 13px 14px; }
.bg-inquiry input:focus, .bg-inquiry textarea:focus { outline: 2px solid var(--brass); outline-offset: 1px; border-color: var(--brass); }
.bg-inquiry textarea { min-height: 130px; resize: vertical; }
.bg-inquiry .consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: rgba(255,255,255,.75); }
.bg-inquiry .consent input { margin-top: 5px; accent-color: var(--brass); }
.bg-inquiry .consent label { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 14px; color: rgba(255,255,255,.75); margin: 0; }
.bg-inquiry button { cursor: pointer; border: 0; font: inherit; font-weight: 600; font-size: 15px; background: var(--brass); color: var(--ink); padding: 14px 30px; border-radius: 999px; margin-top: 8px; }
.bg-inquiry button:hover { background: var(--brass-soft); }
.bg-inquiry .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bg-notice { max-width: 640px; margin: 32px auto 0; padding: 16px 20px; border-radius: 8px; text-align: left; font-size: 16px; }
.bg-notice.ok { background: rgba(190,140,124,.18); border: 1px solid var(--brass); color: #fff; }
.bg-notice.err { background: rgba(200,60,60,.18); border: 1px solid #c44; color: #fff; }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink-deep); color: rgba(255,255,255,.55); font-size: 14px; padding: 36px 0; }
.site-footer .wrap { gap: 12px; }
.site-footer p { margin: 0; }
.site-footer .brand, .site-footer .brand a { font-size: 18px; color: #fff; }

/* ---------- Inner (archive) pages ---------- */
.page-banner { background: var(--ink); color: #fff; padding: clamp(64px, 9vw, 112px) 0 clamp(48px, 6vw, 72px); position: relative; overflow: hidden; }
.page-banner::before { content: ""; position: absolute; width: 700px; height: 700px; right: -240px; top: -340px; background: radial-gradient(circle, rgba(190,140,124,.28), rgba(190,140,124,0) 62%); pointer-events: none; }
.page-banner .wrap { position: relative; }
.page-banner h1 { color: #fff; font-size: clamp(40px, 6vw, 72px); font-weight: 500; margin: 0; }
.page-body { padding: 0; }
.page-body .bg-block { padding: clamp(48px, 6vw, 80px) 0; }
.page-body .bg-block.alt { background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.page-body .bg-block.dark { background: var(--ink); color: #fff; }
.page-body .bg-block.dark h2, .page-body .bg-block.dark h3, .page-body .bg-block.dark h4 { color: #fff; }
.page-body .wrap > p, .page-body .wrap > ul, .page-body .wrap > ol { max-width: 760px; }
.page-body h2 { font-size: clamp(30px, 4vw, 44px); }
.page-body ul:not(.returns) li, .page-body ol li { margin-bottom: .5em; }
.page-body a { color: var(--ink); text-decoration-color: var(--brass); text-underline-offset: 3px; }
.page-body .dark a { color: var(--brass-soft); }
.wp-block-details { border-top: 1px solid var(--line); padding: 18px 0; max-width: 880px; }
.wp-block-details:last-of-type { border-bottom: 1px solid var(--line); }
.wp-block-details summary { cursor: pointer; font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--ink); }
.wp-block-details[open] summary { color: var(--brass); }
.page-body .wp-block-columns { gap: clamp(24px, 4vw, 56px); }
.page-body figure { margin: 0 0 1.5em; }
.page-body figure img { border-radius: 8px; }
.page-body .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 32px 0; max-width: 120px; margin-left: 0; opacity: 1; }
.page-body table { border-collapse: collapse; width: 100%; }
.page-body td, .page-body th { border: 1px solid var(--line); padding: 10px 14px; text-align: left; }
.bg-archive-note { background: var(--brass-soft); color: var(--ink); font-size: 13px; text-align: center; padding: 8px var(--gutter); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Footer logo */
.footer-logo { display: block; width: 270px; max-width: 72vw; height: auto; }
.site-footer .wrap { align-items: center; }

/* ===================================================================
   Archive pages: the old Avada layouts rebuilt in the new design system.
   Same structure as the old site (banner, photo band, narrow text column,
   "get in touch" band, disclosure strip), new colours and type.
   =================================================================== */
.bg-narrow { max-width: 760px; margin-left: auto; margin-right: auto; }
.bg-narrow > p, .bg-narrow > ul, .bg-narrow > ol { max-width: none; }
.bg-section { padding: 64px 0; }
.bg-section.bg-alt { background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bg-section.bg-dark { background: var(--ink); color: #fff; }
.bg-section.bg-dark h2, .bg-section.bg-dark h3 { color: #fff; }
.bg-section h2, .bg-section h3, .bg-section h4 { margin-top: 1.2em; }
.bg-section .bg-narrow > h2:first-child, .bg-section .bg-narrow > h3:first-child { margin-top: 0; }
.bg-section h3 { font-size: 22px; }
.bg-section h4 { font-size: 18px; font-family: var(--sans); font-weight: 600; letter-spacing: .02em; }
.bg-section a { text-decoration-color: var(--brass); text-underline-offset: 3px; }
.bg-section a:hover { color: var(--brass); }

/* Title banner */
.bg-banner { position: relative; overflow: hidden; background: var(--ink); color: #fff; padding: clamp(56px, 8vw, 100px) 0; }
.bg-banner::before { content: ""; position: absolute; width: 700px; height: 700px; right: -240px; top: -340px; background: radial-gradient(circle, rgba(190,140,124,.26), rgba(190,140,124,0) 62%); pointer-events: none; }
.bg-banner .wrap { position: relative; }
.bg-banner h1.banner-title { font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--brass-soft); margin: 0 0 18px; line-height: 1.4; }
.bg-banner .wp-block-separator { border: 0; border-top: 1px solid rgba(234,213,205,.45); max-width: none; width: 100%; margin: 0 0 22px; opacity: 1; }
.bg-banner p { font-family: var(--serif); font-size: clamp(22px, 2.6vw, 30px); line-height: 1.35; color: #fff; margin: 0 0 22px; }
.bg-banner .bg-narrow > .wp-block-separator:last-child { margin: 8px 0 0; }
.bg-banner a { color: var(--brass-soft); }
.bg-banner-wide .bg-narrow { max-width: 880px; }
.bg-banner-wide .wp-block-columns { margin-top: 28px; }
.bg-banner-wide p { font-size: clamp(18px, 2vw, 22px); font-family: var(--sans); }
.bg-banner .wp-block-details { border-color: rgba(255,255,255,.2); }
.bg-banner .wp-block-details summary { color: var(--brass-soft); }

/* Photo band */
.bg-image-band.wp-block-cover { width: 100%; padding: 0; margin: 0; }
.bg-image-band .wp-block-cover__inner-container { display: none; }

/* Narrow-column accordions: small caps titles, rules, +/- marker (as the old site) */
.bg-narrow .wp-block-details { border: 0; border-top: 1px solid var(--brass); padding: 0; max-width: none; }
.bg-narrow .wp-block-details:last-of-type { border-bottom: 1px solid var(--brass); }
.bg-narrow .wp-block-details summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; padding: 18px 0; font-family: var(--sans); font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--brass); }
.bg-narrow .wp-block-details summary::-webkit-details-marker { display: none; }
.bg-narrow .wp-block-details summary::after { content: "+"; font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1; flex: none; }
.bg-narrow .wp-block-details[open] summary::after { content: "\2212"; }
.bg-narrow .wp-block-details[open] summary { color: var(--ink); }
.bg-narrow .wp-block-details > :not(summary) { padding-bottom: 6px; }
.bg-narrow .wp-block-details .wp-block-columns { gap: 32px; }
.bg-narrow .wp-block-details ul { padding-left: 1.1em; }

/* "Ready to discuss your goals" band */
.bg-cta { position: relative; overflow: hidden; background: var(--ink); color: #fff; text-align: center; padding: 56px 0; }
.bg-cta::before { content: ""; position: absolute; left: 50%; top: -300px; transform: translateX(-50%); width: 700px; height: 500px; background: radial-gradient(circle, rgba(190,140,124,.24), rgba(190,140,124,0) 65%); pointer-events: none; }
.bg-cta .wrap { position: relative; }
.bg-cta p { font-family: var(--serif); font-size: clamp(20px, 2.4vw, 26px); line-height: 1.4; color: #fff; margin: 0 0 12px; }
.bg-cta a { color: var(--brass-soft); }

/* Disclosure strip */
.bg-disclosure { background: var(--paper); border-top: 1px solid var(--line); text-align: center; padding: 28px 0; }
.bg-disclosure p { margin: 0; font-family: var(--serif); font-size: 20px; color: var(--ink); }
.bg-disclosure a { color: var(--ink); text-decoration-color: var(--brass); }

/* Map */
.bg-map { padding: 0; line-height: 0; }
.bg-map iframe { width: 100%; height: 420px; border: 0; filter: grayscale(.4); }

/* Archive footer (old footer layout: links / links / address) */
.site-footer-archive .footer-cols { gap: 32px; margin: 0 0 28px; }
.site-footer-archive a { color: rgba(255,255,255,.8); text-decoration: none; letter-spacing: .06em; text-transform: uppercase; font-size: 12px; font-weight: 600; line-height: 2.2; }
.site-footer-archive a:hover { color: var(--brass-soft); }
.site-footer-archive .footer-address { text-align: right; text-transform: uppercase; letter-spacing: .06em; font-size: 12px; font-weight: 600; line-height: 1.9; color: rgba(255,255,255,.8); }
.site-footer-archive .footer-copy { border-top: 1px solid rgba(255,255,255,.14); padding-top: 18px; margin: 0; text-align: center; font-size: 12px; }
@media (max-width: 700px) { .site-footer-archive .footer-address { text-align: left; } }
.wp-block-post-content > .wp-block-group, .wp-block-post-content > .wp-block-cover { margin-block-start: 0; margin-block-end: 0; }
.wp-block-post-content > p { margin-block-start: 0; margin-block-end: 1.1em; }
.wp-block-post-content > h2, .wp-block-post-content > h3, .wp-block-post-content > h4 { margin-block-start: 1.6em; margin-block-end: .5em; }
.wp-block-post-content > ul, .wp-block-post-content > ol { margin-block-end: 1.2em; }
.bg-disclosure { padding: 22px 0; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }
/* Centred article titles (Feature page): serif, ruled above and below like the old layout */
.bg-section h2.has-text-align-center, .bg-section h1.has-text-align-center { font-size: clamp(32px, 4.4vw, 52px); margin: 28px 0 22px; }
.bg-section .wp-block-separator { border: 0; border-top: 1px solid var(--brass); opacity: 1; max-width: none; margin: 22px 0; }
.bg-section .wp-block-columns { align-items: center; }

/* Blog posts (old "Briefly" articles) */
.bg-post-hero { margin: 0; }
.bg-post-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bg-post .post-meta { align-items: baseline; margin-bottom: 6px; }
.bg-post .post-meta .eyebrow, .bg-post .post-meta .eyebrow a { margin: 0; color: var(--brass); text-decoration: none; }
.bg-post .post-date { font-size: 13px; letter-spacing: .08em; color: var(--muted); margin: 0; }
.bg-post h1.post-title-main { font-size: clamp(32px, 4.4vw, 52px); text-align: center; margin: 14px 0 34px; padding: 22px 0; border-top: 1px solid var(--brass); border-bottom: 1px solid var(--brass); }
.bg-post .wp-block-post-content > p:first-child em, .bg-post .wp-block-post-content > p:first-child i { color: var(--muted); }
.bg-post .wp-block-post-content p, .bg-post .wp-block-post-content li { font-size: 17px; }
.bg-post .wp-block-post-content figure { margin: 1.8em 0; }
.bg-post .wp-element-caption { font-size: 13px; color: var(--muted); margin-top: 8px; }
.bg-post .wp-block-post-content iframe { max-width: 100%; }

/* Header logo lockup: icon, name, strapline */
.brand-lockup { align-items: center; gap: 12px; }
.brand-lockup::before { content: ""; width: 40px; height: 40px; flex: none; background: url(../img/bg-icon-white.svg) center / contain no-repeat; }
.brand-text { display: flex; flex-direction: column; gap: 3px; }
.site-header-bar .brand-strap { margin: 0; font-family: var(--sans); font-size: 10.5px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--brass-soft); line-height: 1.2; white-space: nowrap; }
.site-footer .brand-lockup::before { display: none; }
@media (max-width: 420px) { .site-header-bar .brand-strap { font-size: 9px; letter-spacing: .18em; } .brand, .brand a { font-size: 19px; } }

/* Post listings (archive, search, index) */
.bg-banner .wp-block-query-title.banner-title { font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--brass-soft); margin: 0; }
.bg-post-list .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.bg-post-card { padding: 28px 0; border-top: 1px solid var(--line); }
.bg-post-card .wp-block-post-title { font-size: clamp(24px, 2.6vw, 30px); margin: 6px 0 10px; }
.bg-post-card .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.bg-post-card .wp-block-post-title a:hover { color: var(--brass); }
.bg-post-card .post-date { font-size: 13px; letter-spacing: .08em; color: var(--muted); }
.wp-block-query-pagination { margin-top: 32px; gap: 12px; }

/* Alumni firm logos (Image blocks in a grid group), styled to the original design's tile spec */
.logo-grid.wp-block-group { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; margin-top: 32px; }
.logo-grid .logo-tile { margin: 0; height: 104px; display: grid; place-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; box-sizing: border-box; }
.logo-grid .logo-tile img { max-height: 56px; max-width: 100%; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .8; mix-blend-mode: multiply; /* multiply: hides the white box around JPG logos */ }


/* ---------- Brand guide colours: accessible accents ----------
   Rose copper is used for text only on navy/brown; on light backgrounds text accents use --copper-deep. */
:focus-visible { outline-color: var(--copper-deep); }
.hero :focus-visible, .contact :focus-visible, .site-header-bar :focus-visible, .bg-banner :focus-visible, .bg-cta :focus-visible, .site-footer :focus-visible, .cohort-card :focus-visible { outline-color: var(--brass-soft); }
.eyebrow { color: var(--copper-deep); }
.hero .eyebrow, .contact .eyebrow, .bg-banner .eyebrow, .page-banner .eyebrow, .cohort-card .eyebrow { color: var(--brass); }
.milestone .year { color: var(--copper-deep); }
.wp-block-details[open] summary { color: var(--copper-deep); }
.bg-narrow .wp-block-details summary { color: var(--copper-deep); }
.bg-narrow .wp-block-details[open] summary { color: var(--ink); }
.bg-post .post-meta .eyebrow, .bg-post .post-meta .eyebrow a { color: var(--copper-deep); }
.bg-section a:hover, .bg-post-card .wp-block-post-title a:hover { color: var(--copper-deep); }
.page-body a, .bg-section a { text-decoration-color: var(--brass); }
.bg-section.bg-dark a, .bg-banner a, .bg-cta a { color: var(--brass-soft); }
/* Archive "get in touch" band in the guide's brown, as on the old site */
.bg-cta { background: var(--brown); }
.bg-inquiry button[disabled] { opacity: .7; cursor: progress; }
.bg-inquiry ::placeholder { color: rgba(255,255,255,.5); }
.bg-inquiry input:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 40px var(--ink-2) inset; }

/* Accessibility fixes (27 Oct) */
.contact h3 { color: #fff; }                                   /* form heading was navy on navy (invisible) */
.bg-inquiry .consent input[type=checkbox] { width: 20px; height: 20px; flex: none; margin-top: 2px; } /* larger tick box target */

/* Alumni logos on one line (Lara's request): every logo shares one row on wider screens.
   Smaller screens fall back to rows of three, then two, so logos stay legible. */
@media (min-width: 900px) {
  .logo-grid.wp-block-group { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
}
@media (max-width: 899px) { .logo-grid.wp-block-group { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .logo-grid.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Registered logo in the header: roundel with (R), BEACON GAINER, FUTURE CONNECTED WEALTH (inline SVG, colours set here) */
.brand-logo { display: block; line-height: 0; flex: none; color: #fff; }
/* Wording 30% smaller than its original proportion to the circle (Elliott, 27 Oct); the circle keeps its size */
.brand-logo .bg-lockup { height: 42px; width: auto; display: block; overflow: visible; }      /* circle 42px */
.brand-logo .bg-mark { fill: #fff; }
.brand-logo .bg-strap { fill: var(--brass-soft); }
@media (max-width: 600px) { .brand-logo .bg-lockup { height: 32px; } }                        /* circle 32px */
@media (max-width: 340px) { .brand-logo .bg-lockup { height: 28px; } }                        /* circle 28px */
.footer-logo { width: 270px; max-width: 72vw; height: auto; }

/* Alumni logos in their own brand colours (Lara, 26 Oct), not greyscale */
.logo-grid .logo-tile img { filter: none; opacity: 1; }

/* ---------- Hero, refined (27 Oct) ----------
   Copy and order unchanged (eyebrow, one-line name, "Foundations..."). The empty space left by the removed
   strapline and values is handled by proportion: a soft beacon glow, the copper lead-in rule and the template's closing line. Content is vertically centred; the template's fine rule closes it. */
.hero { padding: 0 !important; min-height: clamp(360px, 52vh, 560px); display: flex; align-items: center; isolation: isolate; }
.hero > .wrap { width: 100%; padding-top: clamp(64px, 8vw, 104px); padding-bottom: clamp(56px, 7vw, 88px);
  display: grid; grid-template-columns: minmax(0, max-content); } /* content column = width of the name, so the closing line is brought in to match */
/* beacon glow: large and soft (wide, gentle fall-off rather than a bright point) */
.hero::before { width: min(1500px, 170vw); height: min(1500px, 170vw); right: max(-620px, -48vw); top: 50%; transform: translateY(-50%);
  background: radial-gradient(circle closest-side, rgba(190,140,124,.17) 0%, rgba(190,140,124,.12) 30%, rgba(190,140,124,.06) 58%, rgba(190,140,124,0) 100%); z-index: -1; }
/* name: as large as one line allows; lede sits close beneath it */
.hero h1 { font-size: clamp(28px, 9.2vw, 96px); margin-bottom: 20px; letter-spacing: -.005em; }
.hero-lede { max-width: 46ch; }
/* the template's fine rule, closing the hero */
.hero > .wrap::after { content: ""; display: block; margin-top: clamp(32px, 4.5vw, 56px); border-top: 1px solid rgba(255,255,255,.16); }
@media (max-width: 820px) {
  .hero { min-height: 0; }
  .hero::before { width: 200vw; height: 200vw; right: -110vw; top: 50%; bottom: auto; transform: translateY(-50%); }
}


/* ---------- Contact actions: icons (from the original design) + thumb-friendly stack on phones ---------- */
.contact .wp-block-button__link::before { content: ""; width: 18px; height: 18px; flex: none; background: currentColor;
  -webkit-mask: var(--bg-icon) center / contain no-repeat; mask: var(--bg-icon) center / contain no-repeat; }
.contact .wp-block-button__link[href^="tel:"]    { --bg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1.9.4%201.8.7%202.7a2%202%200%200%201-.5%202.1L8%209.8a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.4c.9.3%201.8.6%202.7.7a2%202%200%200%201%201.7%202z%22/%3E%3C/svg%3E"); }
.contact .wp-block-button__link[href^="mailto:"] { --bg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%2220%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22m22%207-10%206L2%207%22/%3E%3C/svg%3E"); }
.contact .wp-block-button__link[href*="wa.me"]   { --bg-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021l1.65-3.8a9%209%200%201%201%203.4%202.9L3%2021%22/%3E%3C/svg%3E"); }
.contact .wp-block-button__link:not([href^="tel:"]):not([href^="mailto:"]):not([href*="wa.me"])::before { display: none; }
/* Phones: app-style contact list (option B, Elliott 27 Oct). One frosted card, three full-width rows:
   icon in a soft copper circle, label, arrow. Uses the same editable Call / Email / WhatsApp buttons. */
@media (max-width: 600px) {
  .contact .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 0; max-width: 420px; margin: 32px auto 0;
    background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; overflow: hidden; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .contact .wp-block-buttons > .wp-block-button { width: 100%; margin: 0; }
  .contact .wp-block-buttons > .wp-block-button + .wp-block-button .wp-block-button__link { border-top: 1px solid rgba(255,255,255,.10); }
  .contact .wp-block-button .wp-block-button__link,
  .contact .wp-block-button.is-style-outline .wp-block-button__link {
    width: 100%; min-height: 68px; padding: 14px 16px; gap: 16px; justify-content: flex-start; text-align: left;
    background: transparent; color: #fff; border: 0; border-radius: 0; font-size: 17px; font-weight: 600; transform: none; }
  .contact .wp-block-button .wp-block-button__link:hover,
  .contact .wp-block-button .wp-block-button__link:active { background: rgba(255,255,255,.06); color: #fff; transform: none; }
  .contact .wp-block-button .wp-block-button__link:focus-visible { outline: 2px solid var(--brass-soft); outline-offset: -4px; }
  /* icon in a soft copper circle (solid copper for Call, the main action) */
  .contact .wp-block-button__link::before { width: 40px; height: 40px; border-radius: 50%; -webkit-mask: none; mask: none;
    background: var(--bg-icon-img) center / 20px no-repeat, rgba(190,140,124,.18); }
  .contact .wp-block-button__link[href^="tel:"]    { --bg-icon-img: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23003057%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1.9.4%201.8.7%202.7a2%202%200%200%201-.5%202.1L8%209.8a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.4c.9.3%201.8.6%202.7.7a2%202%200%200%201%201.7%202z%22/%3E%3C/svg%3E"); }
  .contact .wp-block-button__link[href^="tel:"]::before { background: var(--bg-icon-img) center / 20px no-repeat, var(--brass); }
  .contact .wp-block-button__link[href^="mailto:"] { --bg-icon-img: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ead5cd%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%2220%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22m22%207-10%206L2%207%22/%3E%3C/svg%3E"); }
  .contact .wp-block-button__link[href*="wa.me"]   { --bg-icon-img: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ead5cd%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021l1.65-3.8a9%209%200%201%201%203.4%202.9L3%2021%22/%3E%3C/svg%3E"); }
  /* arrow */
  .contact .wp-block-button__link::after { content: "\203A"; margin-left: auto; color: rgba(255,255,255,.45); font-size: 24px; font-weight: 400; line-height: 1; }
}
@media (min-width: 601px) { .contact .wp-block-button:not(.is-style-outline) .wp-block-button__link { border: 1px solid transparent; } } /* same height as the outlined buttons */

/* =====================================================================
   Motion (27 Oct). Long, gentle decelerations; transform/opacity only.
   Durations: 200ms hover, 450ms header/menus, 900-1200ms reveals.
   ===================================================================== */
:root { --ease-out: cubic-bezier(.22, 1, .36, 1); --ease-in-out: cubic-bezier(.65, 0, .35, 1); --dur-1: 220ms; --dur-2: 450ms; --dur-3: 1000ms; }

/* ---------- Header: fixed; transparent over the hero, solid once scrolled; hides on scroll down ---------- */
.wp-site-blocks > header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header { top: 46px; } }
.wp-site-blocks { padding-top: 72px; }                          /* room for the fixed header on inner pages */
body.home .wp-site-blocks { padding-top: 0; }                   /* homepage: hero runs under the header */
body.home .hero > .wrap { padding-top: calc(72px + clamp(64px, 8vw, 104px)); }
body.home .hero { min-height: calc(72px + clamp(360px, 52vh, 560px)); }
.wp-site-blocks > header.is-ready { transition: transform var(--dur-2) var(--ease-out); }
.wp-site-blocks > header.is-hidden { transform: translateY(-110%); }
.site-header-bar::before { transition: opacity var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out); }
.site-header-bar::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgba(255,255,255,.08); opacity: 1; transition: opacity var(--dur-2) var(--ease-out); pointer-events: none; }
body.home header.is-ready:not(.is-scrolled) .site-header-bar::before { opacity: 0; }
body.home header.is-ready:not(.is-scrolled) .site-header-bar::after { opacity: 0; }
header.is-scrolled .site-header-bar::before { box-shadow: 0 12px 32px -12px rgba(0, 20, 40, .45); }
html.has-modal-open .wp-site-blocks > header { transform: none !important; }   /* never hide while the menu is open */
html { scroll-padding-top: 88px; }

/* ---------- Hero entrance (CSS-only, cannot get stuck hidden) ---------- */
@keyframes bg-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes bg-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.js-motion .hero h1 { animation: bg-rise 1100ms var(--ease-out) 80ms both; }
.js-motion .hero .hero-lede { animation: bg-rise 1100ms var(--ease-out) 260ms both; }
.js-motion .hero > .wrap::after { transform-origin: left center; animation: bg-draw 1400ms var(--ease-out) 520ms both; }
.js-motion .bg-banner .bg-narrow { animation: bg-rise 1000ms var(--ease-out) 80ms both; }

/* ---------- Reveals on scroll (classes added by motion.js only) ---------- */
.js-motion .reveal { opacity: 0; transform: translateY(18px); transition: opacity 900ms var(--ease-out) var(--reveal-delay, 0ms), transform 1100ms var(--ease-out) var(--reveal-delay, 0ms); }
.js-motion .reveal.is-in { opacity: 1; transform: none; }

/* ---------- Micro-interactions ---------- */
.nav .wp-block-navigation-item:not(.nav-cta) > a { background-image: linear-gradient(var(--brass-soft), var(--brass-soft)); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 1px; padding-bottom: 3px; transition: background-size var(--dur-2) var(--ease-out), color var(--dur-1) var(--ease-out); }
.nav .wp-block-navigation-item:not(.nav-cta) > a:hover, .nav .wp-block-navigation-item:not(.nav-cta) > a:focus-visible { background-size: 100% 1px; }
.nav .nav-cta > a { transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out); }
.nav .nav-cta > a:hover { background-color: var(--brass); color: var(--ink); }
.wp-block-button__link { transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out); }
.wp-block-button__link:hover { box-shadow: 0 10px 24px -12px rgba(0, 20, 40, .5); }
.wp-block-button__link:active { transform: translateY(0) scale(.985); transition-duration: 120ms; }
.logo-grid .logo-tile { transition: border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out); }
.logo-grid .logo-tile:hover { border-color: var(--brass); transform: translateY(-2px); box-shadow: 0 12px 28px -18px rgba(0, 48, 87, .45); }
.bg-inquiry input, .bg-inquiry textarea { transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out); }
.bg-inquiry button { transition: background-color var(--dur-1) var(--ease-out), transform var(--dur-2) var(--ease-out); }

/* ---------- Mobile menu: fade and settle; items cascade ---------- */
@keyframes bg-menu-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
.nav .wp-block-navigation__responsive-container.is-menu-open { animation: bg-menu-in var(--dur-2) var(--ease-out) both; }
.nav .is-menu-open .wp-block-navigation-item { animation: bg-rise 600ms var(--ease-out) both; }
.nav .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 60ms; }
.nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 110ms; }
.nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 160ms; }
.nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 210ms; }
.nav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 260ms; }

/* ---------- Accordions open smoothly (progressive: browsers without support simply open instantly) ---------- */
.wp-block-details { interpolate-size: allow-keywords; }
.wp-block-details::details-content { block-size: 0; overflow: hidden; transition: block-size var(--dur-2) var(--ease-out), content-visibility var(--dur-2) allow-discrete; }
.wp-block-details[open]::details-content { block-size: auto; }
.bg-narrow .wp-block-details summary::after { transition: transform var(--dur-2) var(--ease-out); }

/* ---------- Reduced motion: everything instant ---------- */
@media (prefers-reduced-motion: reduce) {
  .js-motion .hero h1, .js-motion .hero .hero-lede, .js-motion .hero > .wrap::after, .js-motion .bg-banner .bg-narrow,
  .nav .wp-block-navigation__responsive-container.is-menu-open, .nav .is-menu-open .wp-block-navigation-item { animation: none !important; }
  .js-motion .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .wp-site-blocks > header.is-ready, .site-header-bar::before, .site-header-bar::after { transition: none !important; }
  .wp-block-details::details-content { transition: none !important; }
}

/* Mobile menu: left-aligned, generous rows (core inherits the desktop right alignment) */
.nav .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; --navigation-layout-align: flex-start; }
.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch !important; justify-content: flex-start !important; text-align: left; width: 100%; }
.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; width: 100%; }
.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; }
.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a { font-size: 18px; padding: 16px 0; }
.nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a { align-self: stretch; }

/* Footer privacy link (shows once the privacy page is published) */
.site-footer p a { margin-left: 1.25em; color: rgba(255,255,255,.8); text-underline-offset: 3px; }
.site-footer p a:hover { color: var(--brass-soft); }
.site-footer-archive .footer-copy a { margin-left: 0; font-size: inherit; letter-spacing: 0; text-transform: none; font-weight: inherit; line-height: inherit; text-decoration: underline; }
