@import url("../../_ds/vercel-style-dashboard-design-system-3212d87d-2b1b-41a4-964f-854b969af34f/tokens/fonts.css");

/* MediaAtmos subpages — aligned with Home v4 dark. */
:root {
  --ma-bg: #111113;
  --ma-panel: #18181b;
  --ma-dark: #1e1e21;
  --ma-ink: #f5f5f5;
  --ma-sub: #a1a1aa;
  --ma-faint: #71717a;
  --ma-line: #26262b;
  --ma-line-strong: #3f3f45;
  --ma-accent: #f89305;
  --ma-shell: 1184px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ma-bg); }
body {
  margin: 0; overflow-x: hidden; background: var(--ma-bg); color: var(--ma-ink);
  font-family: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font-family: inherit; }
#page, .site, .site-content { min-height: 100%; background: var(--ma-bg); }
img { max-width: 100%; height: auto; }
p { margin: 0 0 1.25rem; color: var(--ma-sub); text-align: left; }
a { color: inherit; text-decoration: none; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
a:hover { color: var(--ma-ink); }
h1, h2, h3, h4, h5 { color: var(--ma-ink); font-weight: 600; letter-spacing: -.035em; }
::selection { background: var(--ma-accent); color: #111113; }
:focus-visible { outline: 2px solid var(--ma-accent); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 999; top: 12px; left: 12px; width: auto; height: auto; padding: 10px 14px; clip: auto; background: var(--ma-ink); color: var(--ma-bg); }

/* Shared navigation */
.site-header {
  position: sticky !important; inset: 0 0 auto; z-index: 100; display: grid !important;
  grid-template-columns: auto 1fr auto; align-items: center; min-height: 64px; height: 64px;
  padding: 0 max(24px, calc((100vw - 1264px) / 2 + 40px)) !important;
  background: rgba(17,17,19,.86) !important; border-bottom: 1px solid transparent;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: border-color .25s ease, background .25s ease;
}
.site-header.is-scrolled { background: rgba(17,17,19,.96) !important; border-color: var(--ma-line); }
.site-header > div:empty { display: none; }
.site-branding { width: 174px; margin: 0; line-height: 0; }
.header-logo { display: block; }
.ma-logo { display: block; width: 168px; height: auto; }
.main-navigation { display: flex !important; align-items: center; gap: 14px; grid-column: 3; }
.main-navigation .home-menu { display: none !important; }
.main-navigation .menu-main-nav-container, .main-navigation .standard-menu, .main-navigation .menu { display: flex; align-items: center; }
.main-navigation .menu { counter-reset: ma-nav; gap: 2px; margin: 0; padding: 0; list-style: none; }
.main-navigation .menu li { counter-increment: ma-nav; }
.main-navigation .menu a { display: block; padding: 8px 10px; color: var(--ma-sub); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.main-navigation .menu a::before { content: "0" counter(ma-nav); margin-right: 7px; color: #55555c; font-family: "Geist Mono", monospace; }
.main-navigation .menu a:hover, .main-navigation .menu a:focus-visible { color: var(--ma-ink); }
#nav-right-widget { margin-left: 8px; padding-left: 10px; border-left: 1px solid var(--ma-line); }
#nav-right-widget .textwidget { display: flex; align-items: center; gap: 6px; }
#nav-right-widget a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--ma-line); color: var(--ma-sub); font-size: 13px; }
#nav-right-widget a:hover { border-color: var(--ma-line-strong); color: var(--ma-ink); }
.ma-contact-link {
  display: inline-flex; align-items: center; height: 38px; margin-left: 2px; padding: 0 17px;
  background: #fff; color: #111113 !important; font: 500 11px/1 "Geist Mono", monospace;
  letter-spacing: .09em; text-transform: uppercase; clip-path: polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
}
.ma-contact-link:hover { background: #d4d4d4; }
.menu-toggle { display: none; border: 0; background: transparent; color: var(--ma-ink); }
.menu-toggle svg { fill: currentColor; }

/* The same frame used by Home v4, injected on legacy WordPress pages. */
.ma-v4-header {
  position: sticky; top: 0; z-index: 100; height: 64px; border-bottom: 1px solid transparent;
  background: rgba(17,17,19,.86); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transition: height .25s ease, border-color .25s ease, background .25s ease;
}
.ma-v4-header.is-scrolled { height: 56px; border-color: var(--ma-line); background: rgba(17,17,19,.96); }
.ma-v4-header, .ma-v4-header * { font-family: "Geist", ui-sans-serif, system-ui, sans-serif !important; }
.ma-v4-header .ma-v4-social, .ma-v4-header .ma-v4-contact { font-family: "Geist Mono", monospace !important; }
.ma-v4-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: min(calc(100% - 80px), 1184px); height: 100%; margin: 0 auto; }
.ma-v4-brand { display: inline-flex; align-items: center; flex: none; }
.ma-v4-brand img { display: block; width: auto; height: 16px; }
/* No margin-left:auto — the flex `space-between` on .ma-v4-header-inner is what
   places the nav, matching Home v4. Metrics below mirror the home header exactly. */
.ma-v4-nav { display: flex; align-items: center; gap: 4px; }
.ma-v4-nav a { position: relative; padding: 6px 12px; color: var(--ma-sub); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
/* Home v4 sets these numerals in the sans face, not mono — keep them identical. */
.ma-v4-nav a span { margin-right: 7px; color: #55555c; }
.ma-v4-nav a:hover { color: var(--ma-ink); }
.ma-v4-actions { display: flex; align-items: center; gap: 8px; }
.ma-v4-social { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid var(--ma-line); color: var(--ma-sub); font: 600 12px/1 "Geist Mono", monospace; }
.ma-v4-social:hover { border-color: var(--ma-line-strong); }
/* margin-left 6px + the 8px flex gap = the 14px Home v4 puts between the social
   cluster and the contact button. */
.ma-v4-contact { display: inline-flex; align-items: center; height: 38px; margin-left: 6px; padding: 0 18px; background: #fff; color: #111113 !important; font: 500 12px/1 "Geist Mono", monospace; letter-spacing: .1em; text-transform: uppercase; clip-path: polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%); }
.ma-v4-contact:hover { background: #d4d4d4; }
.ma-v4-menu-toggle { display: none; width: 38px; height: 38px; padding: 0; border: 1px solid var(--ma-line); background: transparent; color: var(--ma-ink); font: 500 16px/1 "Geist Mono", monospace; cursor: pointer; }

.ma-v4-footer { border-top: 1px solid var(--ma-line); background: var(--ma-bg); }
.ma-v4-footer-inner { width: min(calc(100% - 80px), 1184px); margin: 0 auto; padding: 56px 0 30px; }
.ma-v4-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
.ma-v4-footer-col { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; color: var(--ma-sub); font-size: 13px; line-height: 1.7; }
.ma-v4-footer-col > strong { color: var(--ma-ink); font-size: 13px; font-weight: 600; }
.ma-v4-footer-col img { width: auto; height: 16px; margin-bottom: 4px; }
.ma-v4-footer-col p { max-width: 30ch; margin: 0; color: var(--ma-faint); font-size: 13px; line-height: 1.6; }
.ma-v4-footer-col a { color: var(--ma-sub); }
.ma-v4-footer-col a:hover { color: var(--ma-ink); }
.ma-v4-footer-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--ma-line); color: var(--ma-faint); font-size: 12px; }
.ma-v4-footer-meta span:last-child { font-family: "Geist Mono", monospace; }

/* Single article and client-story hero — mirrors the landing-page hero. */
.single-post .post-wrapper { margin: 0; }
.single-post article { margin: 0; }
.single-post .post-header {
  position: relative !important; isolation: isolate; display: flex !important; align-items: center; justify-content: center;
  width: 100% !important; min-height: min(500px, calc(100svh - 64px)); margin: 0 !important;
  padding: 78px 40px 96px !important; overflow: hidden !important; background: var(--ma-panel) !important;
}
.single-post .post-header::before {
  content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none;
  background-image: radial-gradient(var(--ma-accent) 1.3px, transparent 1.4px); background-size: 13px 13px; opacity: .48;
  mask-image: radial-gradient(circle 390px at 50% 45%, #000 22%, transparent 78%);
  -webkit-mask-image: radial-gradient(circle 390px at 50% 45%, #000 22%, transparent 78%);
}
.single-post .post-header::after {
  content: ""; position: absolute; z-index: 5; right: 0; bottom: -1px; left: 0; height: 65px; pointer-events: none;
  background: var(--ma-bg); clip-path: polygon(0 24px,calc(28% - 40px) 24px,28% 100%,72% 100%,calc(72% + 40px) 24px,100% 24px,100% 100%,0 100%);
}
.single-post .post-overlay { position: relative !important; inset: auto !important; z-index: 4; width: min(100%, 960px) !important; height: auto !important; background: transparent !important; opacity: 1 !important; }
.single-post .post-overlay-content { position: relative !important; inset: auto !important; padding: 0 !important; transform: none !important; text-align: center !important; }
.single-post .sub-heading, #page-narrow-header::before {
  display: block; margin: 0 0 18px !important; color: var(--ma-accent) !important; font: 600 12px/1.2 "Geist Mono", monospace !important;
  letter-spacing: .1em !important; text-transform: uppercase;
}
.single-post .sub-heading::before { content: none; }
.ma-case-mark { display: block; width: auto; height: 54px; margin: 0 auto 22px; object-fit: contain; }
.ma-client-hero-logo {
  display: block; width: auto; max-width: min(48vw, 360px); height: auto; max-height: 150px; margin: 0 auto; object-fit: contain;
}
.ma-client-hero-logo--dazn, .ma-client-hero-logo--rtm { max-width: min(34vw, 180px); }
.ma-client-hero-logo--eleven-sports-network { max-width: min(52vw, 390px); }
.ma-client-hero-title {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.single-post .entry-title {
  margin: 0 auto !important; color: var(--ma-ink); font-family: "Geist", ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(48px, 6vw, 78px) !important; font-weight: 600 !important; letter-spacing: -.045em !important;
  line-height: 1.02 !important; text-align: center !important; text-transform: none;
}
.single-post .post-thumbnail {
  position: absolute !important; z-index: 0; inset: 0 !important; display: block !important; width: 100% !important;
  height: 100% !important; min-height: 0; overflow: hidden; border: 0; background: var(--ma-panel); opacity: 1 !important; clip-path: none;
}
.single-post .post-thumbnail::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,rgba(17,17,19,.5),rgba(17,17,19,.72)), radial-gradient(circle at center,transparent,#111113 92%); }
.single-post .post-thumbnail::after { display: none; }
.single-post .post-thumbnail img, .single-post article.category-client-stories .post-thumbnail img {
  display: block; width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; object-fit: cover; opacity: .3; filter: saturate(.72) contrast(1.06);
}

/* Reading canvas */
.single-post .entry-content { width: min(calc(100% - 80px), var(--ma-shell)); max-width: none; margin: 0 auto !important; padding: 0 0 104px; }
.single-post .entry-content > .section-full { width: 100%; max-width: 820px; margin: 0 auto !important; padding: clamp(72px, 8vw, 112px) 0 56px !important; }
.single-post .entry-content > p { max-width: 760px; margin: 50px auto; font-size: 17px; }
.single-post .entry-content .section-heading { margin: 0 0 30px !important; font-size: clamp(36px, 5vw, 58px) !important; line-height: 1.02 !important; letter-spacing: -.045em; }
.single-post .entry-content p { color: var(--ma-sub); font-size: 17px; line-height: 1.7; }
.single-post .entry-content p:first-of-type { color: #d4d4d8; font-size: 20px; line-height: 1.55; }
.entry-content figure { margin: 24px 0 72px; }
.entry-content figure img { display: block; width: 100%; }
ul.list { margin: 38px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ma-line); }
ul.list li { position: relative; margin: 0; padding: 17px 12px 17px 30px; border-bottom: 1px solid var(--ma-line); color: var(--ma-sub); font-size: 15px; line-height: 1.55; }
ul.list li::before { content: ""; position: absolute; top: 24px; left: 4px; width: 6px; height: 6px; background: var(--ma-accent); transform: rotate(45deg); }
.entry-footer { width: min(calc(100% - 80px), var(--ma-shell)); margin: -60px auto 70px; color: var(--ma-faint); font: 500 11px/1.4 "Geist Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.entry-footer a { color: var(--ma-accent); }
/* Scoped through .site-main to outrank the export's `.site-main .post-navigation`,
   which pins margin-inline to 0 and knocks the block off centre. */
.site-main .post-navigation { width: min(calc(100% - 80px), var(--ma-shell)); margin: 0 auto 104px; border: 1px solid var(--ma-line); }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; }
/* The export floats these at width:50%; the grid owns the sizing now. */
.post-navigation .nav-links > div { min-height: 112px; width: auto; float: none; }
.post-navigation .nav-next { border-left: 1px solid var(--ma-line); text-align: right; }
.post-navigation a { position: relative; display: flex; align-items: center; height: 100%; padding: 28px; color: var(--ma-sub); font-size: 15px; }
.post-navigation .nav-next a { justify-content: flex-end; }
.post-navigation a:hover { background: var(--ma-panel); color: var(--ma-ink); }
.post-navigation .nav-links > div:only-child { grid-column: 1 / -1; border-left: 0; }
.nav-previous a::before { content: "← PREVIOUS"; display: block; margin-right: auto; color: var(--ma-accent); font: 500 10px/1 "Geist Mono", monospace; letter-spacing: .1em; }
.nav-next a::after { content: "NEXT →"; display: block; margin-left: auto; color: var(--ma-accent); font: 500 10px/1 "Geist Mono", monospace; letter-spacing: .1em; }

/* Standard page headers and content */
#page-header, #page-narrow-header, .page-header {
  position: relative; width: min(calc(100% - 80px), var(--ma-shell)); min-height: 300px; margin: 0 auto !important;
  padding: 92px 0 62px !important; display: flex !important; flex-direction: column; justify-content: flex-end;
  background: transparent !important; border-bottom: 1px solid var(--ma-line); overflow: visible !important;
}
#page-header::after, #page-narrow-header::after, .page-header::after {
  content: ""; position: absolute; z-index: 0; inset: 0 calc(50% - 50vw); pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 48px 48px;
}
#page-narrow-header::before { content: "MEDIAATMOS / PLATFORM"; position: relative; z-index: 1; }
#page-header h1, #page-narrow-header h1, .page-header h1 { position: relative; z-index: 1; margin: 0 !important; color: var(--ma-ink); font-size: clamp(46px, 7vw, 88px) !important; line-height: .95 !important; letter-spacing: -.055em; text-transform: none; }
.page-header .page-title { font-size: clamp(38px, 6vw, 72px) !important; }
.page-header .page-title span { color: var(--ma-ink); }
#page-narrow-content, #page-narrow-content.content-area, .entry-content-page {
  width: min(calc(100% - 80px), var(--ma-shell)); max-width: none !important; margin: 0 auto !important;
}
.entry-content-page { padding: 84px 0 104px; }
.entry-content-page > p { max-width: 760px; font-size: 17px; }
.section-full, .section-block { margin: 0 !important; padding: clamp(72px, 8vw, 108px) 0 !important; background: transparent !important; color: var(--ma-ink); }
.section-full > *, .section-block > * { max-width: 100%; }
.sub-heading { color: var(--ma-accent) !important; font: 600 12px/1.2 "Geist Mono", monospace !important; letter-spacing: .1em !important; text-transform: uppercase; }
.section-heading { margin: 0 0 28px !important; color: var(--ma-ink); font-size: clamp(36px, 5vw, 58px) !important; line-height: 1.05 !important; letter-spacing: -.045em; }
.lead { color: #d4d4d8 !important; font-size: clamp(18px, 2vw, 22px) !important; line-height: 1.5 !important; }
.wp-block-columns { gap: clamp(28px, 5vw, 64px); }
.wp-block-column { min-width: 0; }
.wp-block-separator { border-color: var(--ma-line); }
.has-luminous-vivid-amber-color { color: var(--ma-accent) !important; }

/* Archives become concise story grids. */
body.archive #content { width: min(calc(100% - 80px), var(--ma-shell)); margin: 0 auto; }
body.archive #primary { width: 100%; margin: 0; }
body.archive .site-main { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; padding-bottom: 112px; }
body.archive .page-header { grid-column: 1 / -1; width: 100%; }
body.archive article { min-width: 0; margin: 0; border: 1px solid var(--ma-line); background: var(--ma-panel); transition: border-color .2s ease, transform .2s ease; }
body.archive article:hover { border-color: var(--ma-line-strong); transform: translateY(-3px); }
body.archive article .post-header { position: relative; display: flex; align-items: flex-end; min-height: 340px; padding: 30px; overflow: hidden; }
/* Scoped past the export's `.post header.post-header .post-overlay`, which keeps
   this absolutely positioned so it sizes to the card's padding box and clips the
   right edge of longer titles. */
body.archive article .post-header .post-overlay { position: relative; inset: auto; z-index: 2; width: 100%; background: transparent; }
body.archive article .post-overlay-content { position: relative; padding: 0; }
body.archive article .post-thumbnail { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .42; }
body.archive article .post-thumbnail::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 25%, rgba(17,17,19,.9)); }
body.archive article .post-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
body.archive article .sub-heading { margin: 0 0 12px !important; }
body.archive article .entry-title { margin: 0; font-size: clamp(28px, 4vw, 44px); line-height: 1; }
body.archive article .entry-title a { color: var(--ma-ink); }
body.archive article .entry-content, body.archive article .entry-footer, body.archive #secondary { display: none; }

/* FAQ */
.section-faq { position: relative; }
.section-faq .section-bg { opacity: .055 !important; background-size: 55vw !important; background-position: right top !important; }
.section-faq > .wp-block-columns { display: grid !important; grid-template-columns: minmax(0, 780px) 1fr; }
.wp-block-advgb-accordion.advgb-accordion-block { margin: 0 !important; border-bottom: 1px solid var(--ma-line); }
.wp-block-advgb-accordion.advgb-accordion-block:first-of-type { border-top: 1px solid var(--ma-line); }
.wp-block-advgb-accordion .advgb-accordion-header { position: relative; padding: 23px 42px 23px 0 !important; border: 0 !important; background: transparent !important; cursor: pointer; }
.wp-block-advgb-accordion .advgb-accordion-header-title { margin: 0 !important; color: var(--ma-ink) !important; font-size: 18px !important; font-weight: 550 !important; line-height: 1.4 !important; letter-spacing: -.02em; }
.wp-block-advgb-accordion .advgb-accordion-header-icon { top: 22px !important; right: 0 !important; }
.wp-block-advgb-accordion .advgb-accordion-header-icon svg { width: 20px; fill: var(--ma-sub); }
.wp-block-advgb-accordion .advgb-accordion-body { padding: 0 0 28px !important; border: 0 !important; background: transparent !important; color: var(--ma-sub) !important; }
.wp-block-advgb-accordion .advgb-accordion-body p, .wp-block-advgb-accordion .advgb-accordion-body li { max-width: 72ch; color: var(--ma-sub); font-size: 15px; line-height: 1.65; }

/* Contact page.
   `width: auto` is load-bearing: the export's `.wp-block-mkl-section-block{width:100%}`
   pins this to the 1184px column, so the negative full-bleed margins shifted it
   left without widening it and the photo stopped 256px short of the right edge. */
.contact-top-image {
  position: relative; width: auto !important; margin: 0 calc(50% - 50vw) !important;
  min-height: min(560px, calc(100svh - 64px)); padding: 0 !important; overflow: hidden;
  display: flex; align-items: flex-end; border-bottom: 1px solid var(--ma-line); background: var(--ma-panel);
}
.contact-top-image .section-bg { filter: grayscale(1); opacity: .28 !important; }
/* Same dot field and chamfer the landing-page hero uses. */
.contact-top-image::before {
  content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none;
  background-image: radial-gradient(var(--ma-accent) 1.3px, transparent 1.4px); background-size: 13px 13px; opacity: .4;
  mask-image: radial-gradient(circle 420px at 28% 60%, #000 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(circle 420px at 28% 60%, #000 20%, transparent 78%);
}
.contact-top-image::after {
  content: ""; position: absolute; z-index: 3; right: 0; bottom: -1px; left: 0; height: 65px; pointer-events: none;
  background: var(--ma-bg); clip-path: polygon(0 24px,calc(28% - 40px) 24px,28% 100%,72% 100%,calc(72% + 40px) 24px,100% 24px,100% 100%,0 100%);
}
/* Scoped past the export's `.wp-block-mkl-section-block > :last-child{padding-bottom:0}`,
   which zeroed the padding and left the copy sitting underneath the chamfer. */
.contact-top-image .contact-hero-inner {
  position: relative; z-index: 2; width: min(calc(100% - 80px), var(--ma-shell)); margin: 0 auto;
  padding: 0 0 128px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
}
.contact-hero-title { margin: 0 !important; max-width: 15ch; color: var(--ma-ink); font-size: clamp(44px, 6vw, 78px); font-weight: 600; letter-spacing: -.045em; line-height: 1.02; }
.contact-hero-lead { max-width: 54ch; margin: 14px 0 0 !important; color: var(--ma-sub); font-size: 17px; line-height: 1.6; text-wrap: pretty; }
.contact-page .entry-content-page { padding-top: 0; }
.contact-page .section-full { padding-top: 88px !important; }
.contact-page .wp-block-heading { margin: 0 0 14px !important; color: var(--ma-ink); font-size: 13px !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.contact-page .wp-block-column p { color: var(--ma-sub); font-size: 15px; line-height: 1.7; }
.contact-page .wp-block-column a { color: var(--ma-ink); border-bottom: 1px solid #55555c; }
.contact-page .wp-block-column a:hover { border-color: var(--ma-ink); }
.contact-page .wp-block-columns { align-items: start; }
.contact-page .wpcf7 { margin: 0 !important; padding: 32px !important; border: 1px solid var(--ma-line); border-radius: 0 !important; background: var(--ma-panel) !important; clip-path: polygon(0 0,calc(100% - 72px) 0,calc(100% - 48px) 20px,100% 20px,100% 100%,0 100%); }
.contact-page label { display: block; color: var(--ma-sub); font: 500 12px/1.4 "Geist Mono", monospace; letter-spacing: .04em; }
.contact-page input:not([type="submit"]), .contact-page textarea, .search-field {
  display: block; width: 100%; margin-top: 8px; padding: 13px 14px; border: 1px solid var(--ma-line) !important; border-radius: 0;
  background: #111113 !important; color: var(--ma-ink) !important; font-size: 15px; outline: none;
}
.contact-page input:focus, .contact-page textarea:focus, .search-field:focus { border-color: var(--ma-accent) !important; }
.contact-page textarea { min-height: 140px; resize: vertical; }
.contact-page .wpcf7-form > p { margin: 0 0 20px; }
.contact-page .wpcf7-form > p:last-of-type { margin: 0; }
/* Chamfered white button, same as the landing-page CTAs. Scoped through
   .contact-page to outrank the export's `.contact-page .wpcf7-submit{background:0 0}`
   and `.contact-page .wpcf7-form-control{background:#1a1a1a;color:#fff}`. */
.contact-page .wpcf7-submit, .contact-page input[type="submit"],
.wpcf7-submit, input[type="submit"], button[type="submit"] {
  min-height: 44px; padding: 0 24px; border: 0; border-radius: 0; background: #fff; color: #111113;
  font: 500 12px/1 "Geist Mono", monospace; letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
  clip-path: polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%);
  transition: background .2s ease;
}
.contact-page .wpcf7-submit:hover, .wpcf7-submit:hover,
input[type="submit"]:hover, button[type="submit"]:hover { background: #d4d4d4; }
.ma-form-status {
  margin: 18px 0 0 !important; padding: 0 !important; border: 0 !important;
  font-size: 14px; line-height: 1.55; color: var(--ma-sub);
}
.ma-form-status:empty { display: none; }
.ma-form-status[data-state="ok"] { color: var(--ma-ink); }
.ma-form-status[data-state="error"] { color: var(--ma-accent); }

/* Shared footer */
footer.site-footer { margin: 0; padding: 54px max(24px, calc((100vw - 1264px)/2 + 40px)) 34px !important; border-top: 1px solid var(--ma-line); background: var(--ma-bg) !important; }
footer.site-footer .footer-container { display: grid !important; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; max-width: 1184px; margin: 0 auto; }
footer.site-footer .footer-widget { min-width: 0; color: var(--ma-sub); }
footer.site-footer .footer-widget::before { display: block; margin-bottom: 10px; color: var(--ma-ink); font-size: 13px; font-weight: 600; }
footer.site-footer .footer-widget:nth-child(1)::before { content: "Address"; }
footer.site-footer .footer-widget:nth-child(2)::before, footer.site-footer .footer-widget:nth-child(3)::before { content: "Contact"; }
footer.site-footer .footer-widget:nth-child(4)::before { content: "Connect"; }
footer.site-footer .contact-data, footer.site-footer a { color: var(--ma-sub); font-size: 13px; line-height: 1.7; }
footer.site-footer .hl-color { color: var(--ma-accent); }
footer.site-footer .footer-widget:last-child .textwidget { display: flex; gap: 8px; }
footer.site-footer .footer-widget:last-child a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--ma-line); }
footer.site-footer a:hover { border-color: var(--ma-line-strong); color: var(--ma-ink); }
.to-top-btn { position: fixed; z-index: 90; right: 20px; bottom: 20px; width: 40px; height: 40px; padding: 8px; border: 1px solid var(--ma-line); border-radius: 0; background: var(--ma-panel); color: var(--ma-ink); text-align: center; cursor: pointer; }
#cookie-notice { border-top: 1px solid var(--ma-line); font-family: "Geist", sans-serif; }
#cookie-notice .cn-button { background: #fff !important; color: #111113 !important; border-radius: 0 !important; }

/* Existing alternate landing-page sections still inherit the new canvas. */
/* Decorative watermarks ship with inline opacity:1 from the export, which lets
   them dominate the canvas. Home v4 keeps this artwork as a whisper. */
.section-bg { pointer-events: none; opacity: .06 !important; }
.section-cta { background: var(--ma-panel) !important; }
.section-cta .uagb-cta__outer-wrap { background: transparent !important; }
/* The export's CTA buttons are outlined in the legacy orange (#fc9a2d) with a 2px
   radius. Home v4 uses a solid white chamfered button. */
.wp-block-button__link, .uagb-cta__block-link,
.section-cta .uagb-cta__outer-wrap .uagb-cta-typeof-button,
.section-cta .uagb-cta__outer-wrap .uagb-cta__block-link {
  border: 0 !important; border-radius: 0 !important; background: #fff !important; color: #111113 !important;
  font: 500 12px/1 "Geist Mono", monospace !important; letter-spacing: .09em !important; text-transform: uppercase;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
}
.uagb-cta__block-link * { color: #111113 !important; }
.wp-block-button__link:hover, .uagb-cta__block-link:hover { background: #d4d4d4 !important; }

/* ---------------------------------------------------------------------------
   Corrections to the exported WordPress stylesheet.
   Each rule below exists to beat a specific declaration in
   wp-content/cache/autoptimize/…css that contradicts Home v4.
   --------------------------------------------------------------------------- */

/* The export justifies every body paragraph; Home v4 is ragged-right throughout.
   Scoped through .site-content to outrank the export's `.post-wrapper .entry-content p`. */
.site-content .entry-content p, .site-content .entry-content li,
.site-content .entry-content-page p, .site-content .entry-content-page li { text-align: left; }

/* Positive tracking on display type — Home v4 tightens headings instead. */
.post-overlay-content .entry-title, body.archive article .entry-title, .page-header .page-title { letter-spacing: -.035em; }

/* The export hides both of these outright, so the styling further up never applied
   and case studies lost their category line and their next/previous case links. */
.post .entry-footer { display: block; }
.post-navigation { display: block; }

/* Archive cards without a featured image fell back to the export's flat #000. */
body.archive article .post-header { background: var(--ma-panel); }
body.archive article .post-header .post-overlay .post-overlay-content { text-align: left; }
body.archive #secondary, body.page #secondary { display: none; }

/* In-copy links need the Home v4 affordance — ink text on a hairline rule. */
.entry-content a:not(.wp-block-button__link), .entry-content-page a:not(.wp-block-button__link) {
  color: var(--ma-ink); border-bottom: 1px solid #55555c;
}
.entry-content a:hover, .entry-content-page a:hover { border-color: var(--ma-ink); }

/* Page headers: the export centres #page-header/#page-narrow-header, while the
   archive header and every Home v4 section head are left-aligned. */
#page-header, #page-narrow-header, .page-header { align-items: flex-start; text-align: left !important; }

/* Orphaned hero video from the previous theme, left in the markup of /about-us,
   /faq and /home-alt with no CSS of its own. It renders as a raw 1280x720 block
   between the content and the footer, and pans the page sideways on mobile.
   Home v4 carries its own hero video, so this one has nothing left to do. */
#bgvid { display: none; }

/* The export insets .site-main inside an already-inset content area, so every
   template stacked two or three shells and body copy drifted right of its own
   page title by a different amount per template. .site-main carries no width of
   its own now; exactly one ancestor or descendant owns the shell. */
.site-content .site-main { width: 100% !important; max-width: none !important; margin-inline: 0 !important; }
#page-narrow-content .entry-content-page { width: 100%; }

/* The default page template has no shell of its own, so its content ran full-bleed. */
body.page-template-default #primary { width: min(calc(100% - 80px), var(--ma-shell)); margin: 0 auto; }
body.page-template-default .entry-header { padding: 92px 0 34px; }
body.page-template-default .entry-title { margin: 0; font-size: clamp(46px, 7vw, 88px); line-height: .95; letter-spacing: -.055em; }
body.page-template-default .entry-content { padding-bottom: 104px; }

/* FAQ accordions are inert markup in the static export — assets/js/custom.js
   wires them up, and these two rules give it something to toggle. */
.advgb-accordion-block[data-ma-accordion] .advgb-accordion-body { display: none; }
.advgb-accordion-block[data-ma-accordion].is-open .advgb-accordion-body { display: block; }
.advgb-accordion-block[data-ma-accordion] .advgb-accordion-header::after {
  content: "+"; position: absolute; top: 20px; right: 0; color: var(--ma-sub);
  font: 400 20px/1.2 "Geist Mono", monospace; transition: transform .25s ease;
}
.advgb-accordion-block[data-ma-accordion].is-open .advgb-accordion-header::after { transform: rotate(45deg); }
.advgb-accordion-block[data-ma-accordion] .advgb-accordion-header-icon { display: none; }

/* Motion */
.ma-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); }
.ma-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: auto 1fr auto; padding-inline: 24px !important; }
  .main-navigation .standard-menu, #nav-right-widget { display: none !important; }
  .menu-toggle { display: inline-flex !important; align-items: center; justify-content: center; width: 38px; height: 38px; }
  .main-navigation.toggled .standard-menu { display: block !important; position: absolute; top: 64px; right: 0; left: 0; padding: 12px 24px 22px; border-bottom: 1px solid var(--ma-line); background: #111113; }
  .main-navigation.toggled .menu { display: block; }
  .main-navigation.toggled .menu a { padding: 12px 0; }
  .ma-contact-link { margin-right: 4px; }
  .single-post .post-header { width: 100% !important; min-height: 440px; padding: 74px 24px 88px !important; }
  .single-post .post-thumbnail { height: 100% !important; }
  .single-post .entry-content, .entry-footer, .post-navigation, #page-header, #page-narrow-header, .page-header, #page-narrow-content, #page-narrow-content.content-area, .entry-content-page { width: min(calc(100% - 48px), var(--ma-shell)); }
  body.archive #content { width: min(calc(100% - 48px), var(--ma-shell)); }
  footer.site-footer .footer-container { grid-template-columns: 1fr 1fr; }
  .ma-v4-header-inner, .ma-v4-footer-inner { width: calc(100% - 48px); }
  .ma-v4-nav, .ma-v4-actions .ma-v4-social { display: none; }
  .ma-v4-menu-toggle { display: inline-flex; align-items: center; justify-content: center; order: 3; }
  .ma-v4-actions { margin-left: auto; }
  .ma-v4-header.is-menu-open { height: auto; }
  .ma-v4-header.is-menu-open .ma-v4-header-inner { position: relative; height: 64px; }
  .ma-v4-header.is-menu-open .ma-v4-nav { position: absolute; top: 64px; right: -24px; left: -24px; display: flex; flex-direction: column; align-items: stretch; padding: 12px 24px 22px; border-bottom: 1px solid var(--ma-line); background: #111113; }
  .ma-v4-header.is-menu-open .ma-v4-nav a { padding: 12px 0; }
  .ma-v4-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .site-branding { width: 142px; } .ma-logo { width: 138px; }
  .ma-contact-link { height: 36px; padding-inline: 13px; font-size: 10px; }
  .single-post .post-header { min-height: 380px; padding: 68px 24px 80px !important; }
  .single-post .entry-title { font-size: clamp(42px, 13vw, 60px) !important; }
  .single-post .post-thumbnail { height: 100% !important; min-height: 0; }
  .single-post .entry-content { width: calc(100% - 48px); padding-bottom: 76px; }
  .single-post .entry-content > .section-full { padding-top: 64px !important; }
  .entry-content figure { margin-bottom: 48px; }
  .post-navigation .nav-links { grid-template-columns: 1fr; }
  .post-navigation .nav-next { border-top: 1px solid var(--ma-line); border-left: 0; }
  #page-header, #page-narrow-header, .page-header { min-height: 250px; padding-top: 70px !important; }
  #page-header h1, #page-narrow-header h1, .page-header h1 { font-size: 46px !important; }
  .entry-content-page { padding: 62px 0 78px; }
  .wp-block-columns, .section-faq > .wp-block-columns { display: grid !important; grid-template-columns: 1fr !important; }
  body.archive .site-main { grid-template-columns: 1fr; }
  body.archive article .post-header { min-height: 310px; }
  .contact-top-image { min-height: 340px; }
  .contact-top-image::after { right: 24px; bottom: 38px; }
  .contact-page .wpcf7 { padding: 25px !important; }
  footer.site-footer .footer-container { grid-template-columns: 1fr; gap: 30px; }
  .ma-v4-contact { height: 36px; margin-left: 0; padding-inline: 13px; font-size: 10px; }
  .ma-v4-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .ma-v4-footer-meta { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .ma-reveal { opacity: 1; transform: none; }
}
