/* effective-2026 main.css. No preprocessor, no build step.
   Tokens from the Effective guidelines v2 (EA p-08 to p-12) and Kelly's answer K10 (rounded squares).
   Sizes and shadow values are the mock-up's starting values (build-spec 4.3). */

/* Font: self-hosted Latin subset, OFL. Nunito variable, 500 to 900. */
@font-face { font-family: 'Nunito'; src: url('../fonts/Nunito-var.woff2') format('woff2'); font-weight: 500 900; font-style: normal; font-display: swap; }

:root {
  --ea-orange: #EF8A3B;
  --ea-grad: linear-gradient(135deg, #F6A55B 0%, #EC7F33 55%, #E0661F 100%);
  --ea-grad-hover: linear-gradient(135deg, #EC8A3E 0%, #E0661F 100%);
  --ea-apricot: #FDEBDC;
  --ea-cream: #FBF8F2;
  --ea-ink: #231F1C;
  --ea-burnt: #B4500C;
  --ea-burnt-deep: #A3480B;   /* small text on apricot: #B4500C there is 4.42:1, this is 5.19:1 (harness 17 Oct) */
  --ea-accent: #D9661A;
  --ea-on-dark: #F29A55;
  --ea-on-dark-2: #F7B987;
  --ea-body: #4A433F;
  --ea-border: #E3DCCC;
  --ea-footer-text: #E6DDD3;
  --ea-footer-muted: #B3A89D;
  --ea-footer-rule: #3A332E;
  --ea-header-bg: rgba(251, 248, 242, 0.86);   /* cream at 86% */

  --ea-font: 'Nunito', sans-serif;

  --ea-wrap: 1200px;
  --ea-gutter: 24px;
  --ea-radius-btn: 8px;      /* EA p-12, a rule */
  --ea-radius-card: 20px;    /* EA p-12, a rule */
  --ea-radius-panel: 28px;
  --ea-radius-input: 14px;
  --ea-radius-tile: 16px;
  --ea-shadow-card: 0 1px 2px rgba(35, 31, 28, 0.04), 0 18px 40px -18px rgba(35, 31, 28, 0.18);
  --ea-shadow-btn: 0 10px 24px -10px rgba(224, 102, 31, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  --ea-blur-header: 14px;
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--ea-cream);
  color: var(--ea-ink);
  font-family: var(--ea-font);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body.ea-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--ea-burnt); }
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--ea-accent);
  outline-offset: 3px;
}
h1, h2, h3, h4 { font-weight: 900; line-height: 1.05; margin: 0 0 0.5em; }
.ea-h1 { font-size: clamp(44px, 6vw, 76px); letter-spacing: -0.03em; }
.ea-h2 { font-size: clamp(32px, 4vw, 48px); letter-spacing: -0.02em; }
.ea-accent { color: var(--ea-accent); }
.ea-eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px;
  font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ea-burnt);
}
.ea-eyebrow__square { width: 12px; height: 12px; border-radius: 3px; background: var(--ea-grad); }
.ea-eyebrow { align-items: flex-start; text-wrap: balance; }   /* "FOR COACHES AND / TRAINERS" left one word alone beside the phone icon tile (eyes, phase 5) */
.ea-eyebrow__square { flex: none; margin-top: calc((1.7em - 12px) / 2); }   /* beside the first line when a label wraps */
.ea-small { font-size: 14px; color: var(--ea-burnt); }
.ea-lede { font-size: 19px; max-width: 60ch; color: var(--ea-body); }
.ea-placeholder { color: var(--ea-burnt); font-style: italic; }
.ea-wrap { max-width: var(--ea-wrap); margin: 0 auto; padding: 0 var(--ea-gutter); }

.ea-skip {
  position: absolute; left: -999px; top: 12px; z-index: 1000;
  background: var(--ea-ink); color: #FFFFFF; padding: 10px 16px; border-radius: var(--ea-radius-btn);
}
.ea-skip:focus { left: 12px; }

/* Buttons: gradient fill, ink text, 8px (EA p-12, p-16). Ghost: white with a thin border. */
.ea-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 14px 30px;
  background: var(--ea-grad); color: var(--ea-ink);
  font-family: var(--ea-font); font-weight: 800; font-size: 18px; line-height: 1;
  border-radius: var(--ea-radius-btn); text-decoration: none; border: 1.5px solid transparent;
  box-shadow: var(--ea-shadow-btn);
}
.ea-btn:hover { background: var(--ea-grad-hover); color: var(--ea-ink); }
.ea-btn--ghost { background: #FFFFFF; border-color: var(--ea-border); box-shadow: none; }
.ea-btn--ghost:hover { background: #FFFFFF; border-color: var(--ea-accent); color: var(--ea-burnt); }
.ea-actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* Header: sticky, cream at 86% with a 14px blur (EA p-19) */
.ea-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--ea-header-bg);
  -webkit-backdrop-filter: blur(var(--ea-blur-header)); backdrop-filter: blur(var(--ea-blur-header));
  border-bottom: 1px solid rgba(35, 31, 28, 0.06);
}
.ea-header__row { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 84px; }
.ea-logo { display: inline-flex; flex: none; }
.ea-logo img { width: 200px; height: auto; min-width: 160px; }   /* EA p-06: never under 160px */

.ea-nav { display: flex; align-items: center; gap: 28px; }
.ea-nav > a { color: var(--ea-ink); text-decoration: none; font-weight: 700; font-size: 17px; padding: 10px 4px; }
.ea-nav > a:hover { color: var(--ea-burnt); }
.ea-nav .ea-btn { padding: 12px 24px; min-height: 48px; font-size: 17px; }
.ea-nav .ea-btn:hover { color: var(--ea-ink); }

/* Burger and phone menu (under 900px): a plain list */
.ea-burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 48px; height: 48px; padding: 10px; background: #FFFFFF; border: 1.5px solid var(--ea-border);
  border-radius: var(--ea-radius-btn); cursor: pointer;
}
.ea-burger__bar { display: block; height: 2px; background: var(--ea-ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
.ea-burger[aria-expanded="true"] .ea-burger__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ea-burger[aria-expanded="true"] .ea-burger__bar:nth-child(2) { opacity: 0; }
.ea-burger[aria-expanded="true"] .ea-burger__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.ea-mobile { display: none; }
.ea-mobile[hidden] { display: none; }
@media (max-width: 899px) {
  .ea-nav { display: none; }
  .ea-burger { display: flex; }
  /* Absolute under the header, not fixed: the header's backdrop-filter makes it the containing block for
     position: fixed, which sized the menu to the header (a 40px sliver, caught 14 Oct 2026). */
  .ea-mobile {
    display: block; position: absolute; top: 100%; left: 0; right: 0; z-index: 40; overflow-y: auto;
    height: calc(100vh - 84px); height: calc(100dvh - 84px);
    padding: 8px var(--ea-gutter) 40px; background: var(--ea-cream); border-top: 1px solid var(--ea-border);
  }
  .ea-mobile[hidden] { display: none; }
  .ea-mobile__link { display: block; padding: 18px 0; border-bottom: 1px solid var(--ea-border); color: var(--ea-ink); text-decoration: none; font-size: 20px; font-weight: 700; }
  .ea-mobile__cta { margin-top: 24px; width: 100%; }
}

/* Sections */
.ea-hero { padding: 72px 0 96px; }
.ea-hero .ea-h1 { max-width: 14ch; }
.ea-page { padding: 56px 0 80px; }
.ea-page__inner { max-width: 760px; }
.ea-page p { color: var(--ea-body); }
.ea-404 { padding: 96px 0 120px; }

/* Footer: ink background, reversed logo, columns, legal links (EA p-05, p-08) */
.ea-footer { background: var(--ea-ink); color: var(--ea-footer-text); padding: 64px 0 32px; font-size: 15px; }
.ea-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 40px; }
.ea-footer__brand img { width: 200px; height: auto; }
.ea-footer__brand p { color: var(--ea-footer-muted); max-width: 32ch; margin: 18px 0 0; }
.ea-footer__heading { margin: 0 0 12px; font-size: 12px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ea-on-dark-2); }
.ea-footer__col a, .ea-footer__text { display: block; margin: 0; padding: 5px 0; color: var(--ea-footer-text); text-decoration: none; }
.ea-footer__col a:hover { color: #FFFFFF; }
.ea-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--ea-footer-rule); color: var(--ea-footer-muted); font-size: 13px; }
.ea-footer__legal p { margin: 0; }
.ea-footer__legal a { color: var(--ea-footer-text); text-decoration: none; }
.ea-footer__legal a:hover { color: #FFFFFF; }
.ea-footer__consent { padding: 0; border: 0; background: none; font: inherit; color: var(--ea-footer-text); cursor: pointer; }   /* Complianz opens the banner on click */
.ea-footer__consent:hover { color: #FFFFFF; }
/* Cookie banner (Complianz) on the brand, OnPoint's overrides (cd27561) with Effective's tokens. body prefix beats its generated
   banner CSS: grey category panels, green "Always active", Arial buttons, title hidden on phones, centred title over a left message. */
body .cmplz-cookiebanner { --cmplz_category_header_always_active_color: var(--ea-burnt-deep); box-shadow: var(--ea-shadow-card); }   /* #A3480B on apricot 5.19:1 */
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { font-family: var(--ea-font); font-weight: 800; }   /* Complianz sets no font on its buttons (Arial) */
body .cmplz-cookiebanner .cmplz-categories .cmplz-category { background-color: var(--ea-apricot); }   /* body text 8.35:1, toggles 3.08 on / 3.35 off */
body .cmplz-cookiebanner .cmplz-banner-checkbox input:focus-visible + .cmplz-label { outline: 3px solid var(--ea-ink); outline-offset: 3px; border-radius: 12px; }   /* the switch's input is opacity 0, so its own ring never showed (phase 5, Codex round 2) */
body .cmplz-cookiebanner .cmplz-logo { display: none; }
body .cmplz-cookiebanner .cmplz-header { max-height: none; }
body .cmplz-cookiebanner .cmplz-header .cmplz-title { display: block; grid-column: 1 / -1; justify-self: start; font-family: var(--ea-font); font-weight: 900; color: var(--ea-ink); }
body .cmplz-cookiebanner .cmplz-links.cmplz-documents { justify-content: flex-start; }
body .cmplz-cookiebanner .cmplz-documents li:has(> a.cmplz-hidden) { display: none; }   /* unlinked documents left an empty item + gap */
@media (max-width: 768px) {
  body .cmplz-cookiebanner .cmplz-buttons { flex-direction: row; }   /* one row on phones: stacked, the 399px box covered both hero buttons at 390x844 */
  body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { flex: 1 1 0; min-width: 0; padding: 10px 4px; white-space: normal; line-height: 1.2; }   /* "Save preferences" is 125px in a 108px button */
}
@media (max-width: 899px) {
  .ea-footer__grid { grid-template-columns: 1fr 1fr; }
  .ea-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 559px) {
  .ea-footer__grid { grid-template-columns: 1fr; }
}

/* ---------- Phase 1 templates (build-spec 4.2, 4.3): line of work, directory, guides, client stories ---------- */
[hidden] { display: none !important; }
h1, h2, h3, summary, .ea-cta__h { text-wrap: balance; }   /* no lone last word on any heading (eyes read, 16 Oct) */
p, li, blockquote { text-wrap: pretty; }
[id], .ea-dir__group { scroll-margin-top: 100px; }   /* clear the sticky header on anchor jumps */
.ea-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: -1px; padding: 0; border: 0; }
.ea-h1--long { font-size: clamp(36px, 4.6vw, 60px); line-height: 1.08; max-width: 22ch; }
.ea-h3 { font-size: 22px; font-weight: 900; letter-spacing: -0.3px; line-height: 1.25; margin: 0; }
.ea-narrow > * { max-width: 880px; }   /* a narrow measure that keeps the page's left edge */
.ea-tag {
  display: inline-flex; align-items: center; padding: 3px 9px; border: 1.5px solid currentColor; border-radius: 6px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; line-height: 1.4; vertical-align: middle;
}
.ea-tagline { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; color: var(--ea-burnt); }
.ea-tagline .ea-eyebrow { margin: 0; }

/* Page hero: radial apricot glow and the rounded-square shapes (mock-up), words on cream */
.ea-phero { position: relative; overflow: hidden; background: radial-gradient(circle 700px at 85% 20%, rgba(246, 165, 91, 0.10), rgba(246, 165, 91, 0) 70%); }   /* peak 0.10, not the mock-up's 0.16: burnt-orange labels keep 4.5:1 even at the glow's darkest point */
.ea-phero--plain { background: none; }
.ea-phero__inner { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding-top: 40px; padding-bottom: 88px; }
.ea-phero--plain .ea-phero__inner { padding-bottom: 56px; }
.ea-phero .ea-h1 { margin: 0; max-width: 16ch; }
.ea-phero .ea-h1--long { max-width: 22ch; }
.ea-phero .ea-lede { margin: 0; font-size: 21px; line-height: 1.55; max-width: 38ch; }
.ea-phero .ea-eyebrow { margin: 0; }
.ea-shapes { position: absolute; right: -60px; top: 20px; height: min(520px, calc(100% - 40px)); width: auto; aspect-ratio: 1 / 1; pointer-events: none; }   /* never taller than its hero, so no square is cut flat */
.ea-shapes__icon { color: var(--ea-accent); }   /* a line of work's icon on the big pale square (Kelly 20 Oct: dark orange, opposite the title) */
.ea-phero__for { display: contents; }   /* the label sits as before; on a phone it shares a row with the icon tile */
.ea-phero__icon { display: none; }
.ea-crumb { font-size: 16px; font-weight: 700; color: #6E6660; text-wrap: balance; }   /* no lone "designers" on a phone (eyes, phase 5) */
.ea-crumb a { color: var(--ea-burnt); }
.ea-crumb + * { margin-top: 18px; }

/* Sections */
.ea-section { padding: 88px 0; }
.ea-section--white { background: #FFFFFF; border-top: 1px solid #ECE6DA; border-bottom: 1px solid #ECE6DA; }
.ea-section--tight { padding: 40px 0; }
.ea-section--top { padding: 88px 0 40px; }
.ea-section--flush { padding: 0 0 88px; }
.ea-section--last { padding: 40px 0 96px; }
.ea-section .ea-h2 { margin: 0 0 32px; }
.ea-section__head { max-width: 720px; margin-bottom: 36px; }
.ea-section__head .ea-h2 { margin-bottom: 14px; }
.ea-section__head .ea-lede { margin: 0; }

/* Cards: white, 20px corners, the long soft shadow (EA p-12) */
.ea-card { background: #FFFFFF; border: 1px solid #EFE8DC; border-radius: var(--ea-radius-card); box-shadow: var(--ea-shadow-card); }
.ea-card--pad { padding: 30px; }
.ea-card--pad p { margin: 12px 0 0; font-size: 18px; line-height: 1.55; color: var(--ea-body); }
.ea-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }

/* We take care of it all: heading beside three tick rows */
.ea-split { display: flex; flex-wrap: wrap; gap: 56px; }
.ea-split__head { flex: 1 1 340px; }
.ea-split__head .ea-h2 { margin: 0 0 18px; }
.ea-split__head .ea-lede { margin: 0; font-size: 20px; }
.ea-split__head .ea-eyebrow { margin-bottom: 18px; }
.ea-ticks { flex: 1 1 520px; list-style: none; margin: 0; padding: 0; }
.ea-tick { display: flex; gap: 16px; align-items: flex-start; padding: 18px 0; border-top: 1px solid #ECE6DA; }
.ea-tick:last-child { border-bottom: 1px solid #ECE6DA; }
.ea-tick__icon { flex: none; color: var(--ea-accent); }
.ea-tick p { margin: 6px 0 0; font-size: 18px; line-height: 1.5; color: var(--ea-body); }

/* Gradient: the page's one gradient panel (band, featured guide or closing panel). Text on it is always ink (EA p-09). */
.ea-grad { background: var(--ea-grad); color: var(--ea-ink); }
.ea-band__inner { padding-top: 88px; padding-bottom: 88px; }
.ea-band__inner > * { max-width: 960px; }
.ea-band .ea-eyebrow { color: var(--ea-ink); margin-bottom: 22px; }
.ea-eyebrow__square--ink { background: var(--ea-ink); }
.ea-band .ea-h2 { margin: 0 0 22px; }
.ea-band__text { margin: 0 0 22px; font-size: 22px; line-height: 1.6; color: var(--ea-ink); }
.ea-band__link { display: inline-block; color: var(--ea-ink); font-weight: 800; font-size: 18px; text-wrap: balance; }   /* "managers ->" alone on line 2 at 390 (phase 5) */
.ea-band__link:focus-visible, .ea-grad a:focus-visible { outline-color: var(--ea-ink); }

/* Review card: orange stars, the words exactly, "Name · Google review" in burnt orange (EA p-12) */
.ea-review { margin: 0; padding: 44px; display: flex; flex-direction: column; gap: 16px; }
.ea-stars { display: flex; gap: 4px; color: var(--ea-accent); }   /* #D9661A: 3.58:1 on white; the deck's #EF8A3B read 2.5:1, under WCAG 1.4.11's 3:1 for a rating graphic (phase 5) */
.ea-review__words { margin: 0; font-size: 26px; line-height: 1.45; font-weight: 700; }
.ea-review__name { font-size: 17px; font-weight: 800; color: var(--ea-burnt); }

/* Quick questions: native expanding rows in 20px cards */
.ea-faq { display: flex; flex-direction: column; gap: 20px; }
.ea-faq details { background: #FFFFFF; border: 1px solid #ECE6DA; border-radius: var(--ea-radius-card); padding: 22px 28px; }
.ea-faq summary { font-size: 20px; font-weight: 800; cursor: pointer; }
.ea-faq summary:focus-visible { outline: 3px solid var(--ea-accent); outline-offset: 6px; border-radius: 4px; }
.ea-faq details p { margin: 14px 0 0; font-size: 18px; line-height: 1.6; color: var(--ea-body); }

/* Closing call-to-action panel, 28px corners (spec 4.3) */
.ea-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; padding: 56px 48px; border-radius: var(--ea-radius-panel); }
.ea-cta--soft { background: linear-gradient(135deg, #FFF4EA 0%, #FCDCC2 100%); border: 1px solid #F6D7BD; }
.ea-cta__text { max-width: 640px; }
.ea-cta__h { margin: 0; font-size: clamp(30px, 3.4vw, 40px); line-height: 1.1; letter-spacing: -0.04em; }
.ea-cta__h:focus { outline: none; }
.ea-cta__line { margin: 12px 0 0; font-size: 20px; line-height: 1.55; color: var(--ea-body); }
.ea-grad .ea-cta__line { color: var(--ea-ink); }
.ea-btn--ink { background: var(--ea-ink); color: #FFFFFF; box-shadow: none; }
.ea-btn--ink:hover { background: #3A332E; color: #FFFFFF; }

/* Job chips: white, thin border, 8px corners, never pills (EA p-19). A job whose page is to come is a plain chip. */
.ea-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ea-chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 12px 20px;
  background: #FFFFFF; border: 1px solid var(--ea-border); border-radius: var(--ea-radius-btn);
  color: var(--ea-ink); font-weight: 700; font-size: 17px; line-height: 1.2; text-decoration: none;
  text-wrap: balance;   /* a long name ("Presenters and voiceover artists") wraps evenly on a phone, never one word alone (eyes 19 Oct) */
}
a.ea-chip:hover { border-color: var(--ea-accent); color: var(--ea-burnt); }
.ea-chip--soon { border-style: dashed; color: #6E6660; }
.ea-also { margin-top: 56px; }
.ea-also__h { margin: 0 0 14px; font-size: 18px; font-weight: 800; letter-spacing: 0; }

/* Directory and search (brief p4, spec 4.3: cream input, 8px corners, gradient "Find my page") */
.ea-find { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; max-width: 640px; }
.ea-find__input {
  flex: 1 1 320px; min-height: 56px; padding: 0 24px; border-radius: var(--ea-radius-btn); border: 1.5px solid #9C9184;
  background: var(--ea-cream); font-family: var(--ea-font); font-size: 18px; font-weight: 500; color: var(--ea-ink);
}
.ea-find__input::placeholder { color: #6E6660; }
.ea-find__input:focus { outline: 3px solid var(--ea-accent); outline-offset: 2px; border-color: var(--ea-accent); }
.ea-find .ea-btn { border: 0; cursor: pointer; }
.ea-find__status { margin: 0; min-height: 1.7em; font-size: 16px; font-weight: 700; color: var(--ea-body); }
.ea-phero .ea-find__status:empty { display: none; }
.ea-dir { display: flex; flex-direction: column; gap: 24px; }
.ea-dir__group { padding: 36px; }
.ea-dir__h { margin: 0 0 20px; font-size: 28px; letter-spacing: -1px; }

/* Guides listing: topic chips as radios, CSS-only filters (no script) */
.ea-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; border: 0; min-width: 0; }
.ea-tab {
  display: inline-flex; align-items: center; min-height: 48px; padding: 12px 22px; cursor: pointer;
  background: #FFFFFF; border: 1px solid var(--ea-border); border-radius: var(--ea-radius-btn);
  color: var(--ea-ink); font-weight: 700; font-size: 17px; line-height: 1.2;
}
.ea-tab:hover { border-color: var(--ea-accent); color: var(--ea-burnt); }
.ea-tabs input:checked + .ea-tab { background: var(--ea-ink); border-color: var(--ea-ink); color: var(--ea-cream); }
.ea-tabs input:focus-visible + .ea-tab { outline: 3px solid var(--ea-accent); outline-offset: 3px; }
body:has(#ea-t-freelancers:checked) .ea-guide:not([data-topic="freelancers"]),
body:has(#ea-t-contractors:checked) .ea-guide:not([data-topic="contractors"]),
body:has(#ea-t-film-tv:checked) .ea-guide:not([data-topic="film-tv"]),
body:has(#ea-t-xero:checked) .ea-guide:not([data-topic="xero"]),
body:has(#ea-t-deadlines:checked) .ea-guide:not([data-topic="deadlines"]) { display: none; }
.ea-guides__empty { display: none; margin: 0; font-size: 18px; font-weight: 700; color: var(--ea-body); }
body:has(#ea-t-freelancers:checked) .ea-guides__empty[data-topic="freelancers"],
body:has(#ea-t-contractors:checked) .ea-guides__empty[data-topic="contractors"],
body:has(#ea-t-film-tv:checked) .ea-guides__empty[data-topic="film-tv"],
body:has(#ea-t-xero:checked) .ea-guides__empty[data-topic="xero"],
body:has(#ea-t-deadlines:checked) .ea-guides__empty[data-topic="deadlines"] { display: block; }
.ea-guides { display: flex; flex-direction: column; gap: 20px; }
.ea-grid--guides { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.ea-grid--stories, .ea-grid--related { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }   /* two cards share the row */
.ea-guide { display: flex; flex-direction: column; gap: 12px; padding: 30px; color: var(--ea-ink); text-decoration: none; }
a.ea-guide:hover { border-color: #F7B987; color: var(--ea-ink); }
.ea-guide__tag { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0; font-size: 14px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ea-burnt); }
.ea-guide__h { margin: 0; font-size: 23px; line-height: 1.3; letter-spacing: -0.3px; }
.ea-guide__more { margin: auto 0 0; font-size: 16px; font-weight: 700; color: var(--ea-burnt); }
.ea-guide--featured { position: relative; overflow: hidden; padding: 48px; gap: 16px; border-color: #D9661A; }
/* a soft rounded square fills the card's right side on wide screens (graphics only, no circles) */
.ea-guide--featured::before { content: ''; position: absolute; pointer-events: none; display: none; }
.ea-guide--featured::before { width: 240px; height: 240px; right: 72px; top: 50%; margin-top: -120px; border-radius: 32px; background: rgba(255, 255, 255, 0.2); }
@media (min-width: 1100px) { .ea-guide--featured::before { display: block; } }
.ea-guide--featured:hover { border-color: var(--ea-ink); }
.ea-guide--featured .ea-guide__tag, .ea-guide--featured .ea-guide__more { color: var(--ea-ink); }
.ea-guide--featured .ea-guide__h { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.1; letter-spacing: -0.04em; max-width: 24ch; }
.ea-guide--featured .ea-accent { color: var(--ea-ink); }
.ea-guide__short { margin: 0; font-size: 19px; line-height: 1.55; max-width: 640px; }
.ea-guide--featured .ea-guide__more { font-size: 17px; font-weight: 800; }
.ea-story { display: flex; flex-direction: column; gap: 12px; padding: 30px; color: var(--ea-ink); text-decoration: none; }
a.ea-story:hover { border-color: #F7B987; color: var(--ea-ink); }
.ea-story__words { margin: 0; font-size: 18px; line-height: 1.5; color: var(--ea-body); }

/* Guide single: the short answer up top, then the full answer */
.ea-short { width: 100%; }
.ea-short .ea-short__label { margin: 0; font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ea-burnt); }
.ea-short .ea-short__text { font-size: 21px; color: var(--ea-ink); }
.ea-about { margin-top: 72px; display: flex; align-items: center; gap: 64px; }   /* the personal section under Sound familiar? on a line-of-work page (Kelly 20 Oct) */
.ea-about__text { max-width: 760px; }
.ea-about__icon { display: grid; place-items: center; flex: none; width: 184px; height: 184px; margin-left: auto; border-radius: 28px; background: #FCDCC2; color: var(--ea-accent); }   /* the second icon, right of the paragraphs (Kelly 20 Oct 12:40Z: desktop only) */
.ea-about__art { flex: none; width: clamp(240px, 26vw, 340px); height: auto; margin-left: auto; }   /* Kelly's illustration in place of the second icon (20 Oct 16:07Z); sizes= in single-ea_work.php follows this clamp */
.ea-about .ea-h2 { margin: 0 0 20px; text-wrap: balance; }   /* eyes 20 Oct: "Every contract is a / business decision." */
.ea-about p { margin: 0 0 16px; max-width: 56ch; font-size: 19px; line-height: 1.65; color: var(--ea-body); }   /* about 74 characters a line (eyes 20 Oct: 66ch measured 752px, 80 to 88 characters) */
.ea-about p:last-child { margin-bottom: 0; }
.ea-prose { font-size: 18px; color: var(--ea-body); }
.ea-prose h2 { margin: 1.6em 0 0.4em; font-size: 28px; letter-spacing: -0.5px; color: var(--ea-ink); }
.ea-prose h3 { margin: 1.4em 0 0.4em; font-size: 22px; color: var(--ea-ink); }
.ea-prose > :first-child { margin-top: 0; }
.ea-prose p, .ea-prose li { line-height: 1.7; }
/* Guide single: Johann's approved guides (27 Oct 2026): the PDFs' square bullets, Without/With pair and numbered step cards. */
.ea-narrow > .ea-prose { max-width: none; }   /* body text fills the column on desktop, no cap (Jamie 27 Oct 2026: "why does it have a max-width on desktop") */
.single-ea_guide .ea-narrow > .ea-short, .single-ea_guide .ea-narrow > .ea-standfirst, .single-ea_guide .ea-h1--long { max-width: none; }   /* the short answer and the title run the full column too, lined up with the body (Jamie 27 Oct 2026: "widen them to the full column") */
.single-ea_guide .ea-prose ul { padding-left: 1.2em; list-style: square; }
.single-ea_guide .ea-prose ul li::marker { color: var(--ea-orange); }
.ea-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 1em 0; }
.ea-compare__col { padding: 20px 22px; background: #FFFFFF; border: 1px solid var(--ea-border); border-radius: var(--ea-radius-tile); }
.ea-compare__col--with { background: var(--ea-apricot); border-color: transparent; }
.ea-compare .ea-compare__label { margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ea-burnt); }
.ea-compare p { margin: 0; font-size: 16px; }
.ea-compare p:not(.ea-compare__label) + p { margin-top: 8px; }
.ea-prose .ea-stepcards { list-style: none; padding: 0; counter-reset: ea-step; }
.ea-stepcards li { counter-increment: ea-step; display: flex; gap: 14px; margin: 0 0 10px; padding: 14px 18px; background: #FFFFFF; border: 1px solid var(--ea-border); border-radius: var(--ea-radius-tile); }
.ea-stepcards li::before { content: counter(ea-step); flex: none; display: grid; place-items: center; width: 28px; height: 28px; margin-top: 2px; border-radius: 8px; background: var(--ea-grad); color: var(--ea-ink); font-size: 14px; font-weight: 900; }
@media (max-width: 559px) { .ea-compare { grid-template-columns: 1fr; } }
.ea-table { width: 100%; margin: 1em 0; border-collapse: separate; border-spacing: 0; background: #FFFFFF; border: 1px solid var(--ea-border); border-radius: var(--ea-radius-tile); overflow: hidden; font-size: 16px; }   /* the PDFs' tables: flat rate, cheat sheet */
.ea-table th { padding: 12px 18px; background: var(--ea-apricot); font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; text-align: left; color: var(--ea-burnt); }
.ea-table td { padding: 12px 18px; border-top: 1px solid var(--ea-border); vertical-align: top; line-height: 1.5; }
.ea-table td:first-child { font-weight: 700; color: var(--ea-ink); }
.ea-table--amount th:last-child, .ea-table--amount td:last-child { text-align: right; white-space: nowrap; }
.ea-standfirst { margin: 0; font-size: 21px; font-weight: 800; line-height: 1.45; color: var(--ea-ink); }   /* a guide's bold line under the headline (D1, C2 PDFs) */
.ea-keydates { margin: 1.4em 0; padding: 22px 28px; background: #FFFFFF; border: 1px solid var(--ea-border); border-radius: var(--ea-radius-tile); }
.ea-prose .ea-keydates__h { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--ea-burnt); }
.ea-keydates dl { display: grid; grid-template-columns: max-content 1fr; column-gap: 28px; margin: 0; }
.ea-keydates dt, .ea-keydates dd { margin: 0; padding: 12px 0; border-top: 1px solid var(--ea-border); line-height: 1.5; }
.ea-keydates dt:first-of-type, .ea-keydates dt:first-of-type + dd { border-top: 0; }
.ea-keydates dt { font-weight: 800; color: var(--ea-accent); }
@media (max-width: 559px) { .ea-keydates { padding: 18px; } .ea-keydates dl { grid-template-columns: 1fr; } .ea-keydates dd { padding-top: 0; border-top: 0; } }
.ea-prose .ea-guide-note { margin-top: 2em; padding-top: 1.2em; border-top: 1px solid var(--ea-border); font-size: 14px; font-style: italic; color: var(--ea-body); }
@media (max-width: 559px) { .ea-table th, .ea-table td { padding: 10px 12px; } .ea-table th { letter-spacing: 1px; } }

/* Client-story single: first name, line of work, turnover band (K11) */
.ea-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.ea-facts__item { padding: 10px 18px; background: #FFFFFF; border: 1px solid var(--ea-border); border-radius: var(--ea-radius-btn); }
.ea-facts dt { font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ea-burnt); }
.ea-facts dd { margin: 0; font-size: 17px; font-weight: 700; }
.ea-story__quote { margin-top: 48px; }   /* client story: the review under the pasted story (Kelly 19 Oct, free body) */
.ea-story__quote .ea-h2 { margin-bottom: 20px; }

@media (max-width: 899px) {
  .ea-shapes { width: 300px; height: 300px; right: -120px; top: -40px; opacity: 0.55; }
  .ea-phero:has(.ea-phero__icon) .ea-shapes { display: none; }   /* the tile overlapped the faded squares at 768 (eyes 20 Oct) */
  .ea-about__icon, .ea-about__art { display: none; }   /* lazy + hidden: a phone never fetches the illustration */
  .ea-shapes__icon { display: none; }   /* the small faded squares run off the right edge here (eyes 20 Oct, 768px: icon cut by a third) */
  .ea-phero__for { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; }
  .ea-phero__icon { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border-radius: 16px; background: #FCDCC2; color: var(--ea-accent); }   /* its own tile; soft apricot, as #FDEBDC barely showed on the cream hero (eyes 20 Oct) */
}
@media (max-width: 699px) {
  .ea-shapes { display: none; }   /* on a phone the squares sat behind the orange headline words */
}
@media (max-width: 899px) {
  .ea-section { padding: 64px 0; }
  .ea-section--tight { padding: 28px 0; }
  .ea-section--flush { padding: 0 0 64px; }
  .ea-section--last { padding: 28px 0 72px; }
  .ea-phero__inner { padding-bottom: 64px; }
  .ea-phero--plain .ea-phero__inner { padding-bottom: 44px; }
  .ea-band__inner { padding-top: 64px; padding-bottom: 64px; }
  .ea-band__text { font-size: 19px; }
  .ea-review { padding: 28px 24px; }
  .ea-review__words { font-size: 21px; }
  .ea-cta { padding: 36px 24px; }
  .ea-cta .ea-btn { width: 100%; }
  .ea-dir__group { padding: 24px; }
  .ea-dir__h { font-size: 24px; }
  .ea-faq details { padding: 18px 20px; }
  .ea-faq summary { font-size: 18px; }
  .ea-guide--featured { padding: 30px 24px; }
  .ea-split { gap: 32px; }
  .ea-phero .ea-lede { font-size: 19px; }
  .ea-about { margin-top: 48px; }
  .ea-about p { font-size: 18px; }
  .ea-find .ea-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}

/* ---------- Phase 2 pages (build-spec 4.2, 4.3): Home, Contact, Privacy policy, Terms ---------- */
/* Home hero, ELK artboard: headline and review card side by side, the job chips inside the hero */
.ea-home__inner { position: relative; display: flex; flex-direction: column; gap: 48px; padding-top: 72px; padding-bottom: 72px; }
.ea-home__row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 48px; align-items: center; }
.ea-home__text { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.ea-home__text > * { margin: 0; }
.ea-home .ea-eyebrow { text-wrap: balance; }   /* two even lines on a phone, never one word left over */
.ea-home .ea-h1 { font-size: clamp(48px, 7vw, 96px); line-height: 1.02; max-width: 12ch; }
.ea-home .ea-lede { font-size: 21px; line-height: 1.55; max-width: 36ch; }
.ea-review--hero { position: relative; padding: 28px 30px; gap: 12px; background: rgba(255, 255, 255, 0.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 30px 60px -24px rgba(120, 50, 10, 0.35); }
.ea-review--hero .ea-review__words { font-size: 18px; line-height: 1.5; }
.ea-review--hero .ea-review__name { font-size: 15px; }
.ea-review--hero .ea-stars svg, .ea-review--sm .ea-stars svg { width: 20px; height: 20px; }
.ea-jobs { position: relative; display: flex; flex-direction: column; gap: 18px; padding-top: 32px; border-top: 1px solid #F3E6D6; }
.ea-jobs__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; }
.ea-jobs__h { margin: 0; font-size: 26px; letter-spacing: -0.5px; }
.ea-jobs__line { margin: 0; font-size: 17px; line-height: 1.5; color: var(--ea-body); }
.ea-chip--all { background: var(--ea-apricot); border-color: var(--ea-apricot); color: var(--ea-burnt-deep); font-weight: 800; }
a.ea-chip--all:hover { border-color: var(--ea-accent); }

/* Section head with its action on the right (reviews, guides) */
.ea-section__bar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; margin-bottom: 36px; }
.ea-section__bar .ea-h2 { margin: 0; }
.ea-slot-note { margin: 0; padding: 10px 18px; border-radius: var(--ea-radius-btn); background: var(--ea-apricot); color: var(--ea-burnt-deep); font-size: 15px; font-weight: 700; font-style: italic; }
.ea-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Icon cards: an apricot rounded-square tile with an orange line icon (spec 4.3; K10) */
.ea-card--icon { display: flex; flex-direction: column; gap: 16px; }
.ea-card--icon p { margin: 0; }
.ea-tile { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: var(--ea-radius-tile); background: var(--ea-apricot); color: var(--ea-accent); }

/* How it works: white step cards on an apricot band (spec 4.3, Step cards) */
.ea-band--apricot { background: var(--ea-apricot); }
.ea-band--apricot .ea-band__inner > * { max-width: none; }
.ea-band--apricot .ea-h2 { margin: 0 0 40px; }
.ea-steps { list-style: none; margin: 0; padding: 0; }
.ea-steps li { display: flex; flex-direction: column; gap: 14px; }
.ea-steps p { margin: 0; }
.ea-step__n { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: var(--ea-grad); color: var(--ea-ink); font-size: 22px; font-weight: 900; line-height: 1; }

/* Three reviews in a row */
.ea-review--sm { padding: 32px; gap: 14px; }
.ea-review--sm .ea-review__words { font-size: 19px; line-height: 1.55; font-weight: 600; }
.ea-review--sm .ea-review__name { margin-top: auto; font-size: 16px; }

/* Contact: the Engager slot beside Prefer to talk, What happens next and a review */
.ea-contact { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); gap: 32px; }
.ea-contact__form { min-width: 0; }   /* Johann's form straight on the page, no card (Kelly 19 Oct: "out of the box") */
.ea-contact__form > .ea-slot { flex: 1; }
.ea-slot { display: flex; align-items: center; justify-content: center; min-height: 520px; padding: 32px; border: 2px dashed #F2C6A0; border-radius: 16px; text-align: center; }
.ea-slot p { margin: 0; color: var(--ea-burnt); font-size: 18px; font-weight: 700; font-style: italic; }
.ea-contact__aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ea-talk { display: flex; flex-direction: column; gap: 16px; }
.ea-talk__h { margin: 0 0 4px; font-size: 26px; letter-spacing: -0.5px; }
.ea-talk .ea-talk__row { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--ea-ink); }
.ea-talk__row > :last-child { min-width: 0; overflow-wrap: anywhere; }
.ea-talk__row a { color: var(--ea-ink); text-decoration-color: #E8A26E; text-underline-offset: 4px; }
.ea-talk__row a:hover { color: var(--ea-burnt); }
.ea-talk .ea-tile { width: 48px; height: 48px; border-radius: 12px; }
.ea-next { padding: 32px; border-radius: 24px; }
.ea-next__h { margin: 0 0 16px; font-size: 26px; letter-spacing: -0.5px; }
.ea-next__list { list-style: none; margin: 0; padding: 0; counter-reset: ea-next; display: flex; flex-direction: column; gap: 14px; }
.ea-next__list li { counter-increment: ea-next; display: flex; gap: 14px; font-size: 18px; line-height: 1.5; }
.ea-next__list li::before { content: counter(ea-next); flex: none; width: 24px; font-size: 22px; font-weight: 900; line-height: 1.25; }

/* Privacy policy and Terms: the carried-over copy (J13) */
.ea-legal ol, .ea-legal ul { margin: 0; padding-left: 1.6em; }
.ea-legal li { margin: 0.6em 0; }   /* one numbered item per list in the doc: the li margins collapse through, so every gap is the same */
.ea-legal strong { color: var(--ea-ink); }
.ea-legal p:has(> strong:only-child) { text-wrap: balance; }   /* run-in subheadings */
.ea-legal a { overflow-wrap: anywhere; }

/* Cookie Policy (J13, Kelly 17 Oct): the doc's table of cookie types, carried as name and meaning */
.ea-legal dl { margin: 1em 0; }
.ea-legal dt { margin-top: 1.2em; font-weight: 800; color: var(--ea-ink); }
.ea-legal dd { margin: 0.3em 0 0; }
/* The cookie list (Kelly 20 Oct, effective-core/analytics.php): a table on wide screens, one block per cookie on phones */
.ea-legal .ea-cookies { width: 100%; margin: 1em 0; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.ea-legal .ea-cookies th, .ea-legal .ea-cookies td { padding: 10px 16px 10px 0; border-bottom: 1px solid var(--ea-border); text-align: left; vertical-align: top; }
.ea-legal .ea-cookies th { font-weight: 800; color: var(--ea-ink); }
.ea-legal .ea-cookies td:first-child { font-weight: 700; color: var(--ea-ink); overflow-wrap: break-word; }   /* not anywhere: that let the table squeeze the column and split cmplz_consented_service/s (eyes, phase 5) */
.ea-legal .ea-cookies th:last-child { width: 6.5em; padding-right: 0; }   /* eyes 20 Oct: at 73px "How long it lasts" ran to 3 lines */
@media (max-width: 640px) {
  .ea-legal .ea-cookies thead { display: none; }
  .ea-legal .ea-cookies tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--ea-border); }
  .ea-legal .ea-cookies td { display: block; padding: 2px 0; border: 0; }
  .ea-legal .ea-cookies td:not(:first-child)::before { content: attr(data-label) ": "; font-weight: 800; color: var(--ea-ink); }
}

/* Home free report (Kelly, 17 Oct 2026): a white card under the hero, the button to Johann's report form */
.ea-offer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px 36px; padding: 40px 44px; border: 1.5px solid #F7B987; }
.ea-offer .ea-tile { width: 80px; height: 80px; border-radius: 20px; }
.ea-offer .ea-tile svg { width: 38px; height: 38px; }
.ea-offer__text { display: flex; flex-direction: column; gap: 12px; }
.ea-offer__text > * { margin: 0; }
.ea-offer__h { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.15; letter-spacing: -0.03em; max-width: 32ch; text-wrap: balance; }
.ea-offer__line { font-size: 19px; line-height: 1.5; color: var(--ea-body); }

/* Free report page: the guidance, then Johann's Engager form in the same white card */
.ea-report { display: flex; flex-direction: column; gap: 14px; max-width: 820px; }
.ea-report > * { margin: 0; }
.ea-report__h { font-size: 30px; line-height: 1.15; letter-spacing: -0.5px; }
.ea-report p { max-width: 60ch; font-size: 18px; line-height: 1.6; color: var(--ea-body); }
.ea-embed { margin-top: 14px; }
.ea-embed iframe { display: block; width: 100%; height: 2900px; border: 0; background: transparent; }
/* ponytail: Engager sends no height, so the frame is sized to the report form as measured 17 Oct 2026 (2834px at 672px wide,
   3305px at 390px, 3504px at 360px). If Johann adds questions it scrolls inside the frame; re-measure. */

@media (max-width: 899px) {
  .ea-offer { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px 24px; }
  .ea-offer .ea-tile { width: 64px; height: 64px; border-radius: 16px; }
  .ea-offer .ea-btn { width: 100%; }
}
@media (max-width: 599px) {
  /* edge to edge on phones: Engager's own margins plus Cloudflare's 300px check need the full width (OnPoint, 16 Oct) */
  .ea-embed iframe { height: 3900px; }   /* phones, restyled report form in the page column: SUBMIT at 3574px of 3654px at 390 (19 Oct 15:31Z) */
}
/* Contact: Johann's enquiry form in the form card (phase 3). Measured 19 Oct 2026: 1889px at 600 and 390 wide, 1950px at 360;
   the frame keeps ~150 to 200px spare for Engager's validation lines (R64). ponytail: re-measure if Johann adds questions. */
.ea-embed--enquiry iframe { height: 1500px; }   /* desktop: restyled 8-field form, SUBMIT at 1332px (19 Oct 15:31Z); ~70px for error lines */
@media (min-width: 900px) { .ea-contact__aside { position: sticky; top: 112px; align-self: start; } }   /* the aside follows the long form down the page (eyes 19 Oct) */
@media (max-width: 599px) {
  .ea-embed--enquiry iframe { height: 1700px; }   /* 360px phones: 1528px before any error line */
}
.ea-review__name a { color: inherit; text-underline-offset: 3px; }
@media (min-width: 600px) { .ea-keep { white-space: nowrap; } }   /* Guides h1: "answered." never alone; a phone (342px column) still wraps, the pair is 422px at 44px */

@media (max-width: 559px) {
  .ea-h1--fit { font-size: 38px; }   /* "limited company?" needs 352px at 44px; 38px keeps it on one line on a 360px phone (312px) */
}

@media (max-width: 899px) {
  .ea-home__inner { padding-top: 40px; padding-bottom: 56px; gap: 40px; }
  .ea-home__row { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ea-home .ea-shapes { display: none; }
  .ea-home .ea-lede { font-size: 19px; }
  .ea-review--hero { max-width: 460px; padding: 24px; }
  .ea-review--sm { padding: 26px 24px; }
  .ea-review--sm .ea-review__words { font-size: 18px; }
  .ea-jobs__h { font-size: 24px; }
  .ea-grid--three { grid-template-columns: minmax(0, 1fr); }
  .ea-band--apricot .ea-h2 { margin-bottom: 28px; }
  .ea-contact { grid-template-columns: minmax(0, 1fr); }
  .ea-slot { min-height: 280px; }
  .ea-next { padding: 28px 24px; }
  .ea-talk .ea-talk__row { font-size: 17px; }
}
@media (max-width: 559px) {
  .ea-actions .ea-btn { width: 100%; }   /* stacked hero buttons, one width */
}
