/* ============================================================
   EEA interior pages — shared stylesheet.

   index.html (the homepage) is a self-contained single file
   with its chrome inline. The interior pages of the site tree
   share this stylesheet rather than each carrying a copy.

   The first four blocks below — tokens/base, header/nav,
   footer, scroll reveal — are the shared chrome, the same
   rules index.html defines inline. Change one, change both.
   Everything under "interior page components" is new and used
   only by the interior pages.

   Same discipline as index.html: every selector scoped under
   .eea-lp, no global resets, no names that could collide with
   a host theme.
   ============================================================ */

/* ---- tokens / base (shared with index.html) ---- */
.eea-lp, .eea-lp *, .eea-lp *::before, .eea-lp *::after { box-sizing: border-box; }
.eea-lp {
  /* ---- design tokens (from the design-system prototype) ---- */
  --eea-black:#141414; --eea-white:#ffffff; --eea-ink:#1f1f1f; --eea-body:#656565;
  --eea-surface:#f5f5f5; --eea-surface-chip:#f1f1f1; --eea-line:#efefef;
  --eea-neutral-300:#d9d9d9; --eea-neutral-500:#a1a1a1;
  --eea-grad-purple:#ee9bfc; --eea-grad-peach:#ffdbba; --eea-grad-coral:#feaba0; --eea-grad-pink:#fa9fd1;
  --eea-gradient-hero: linear-gradient(0deg, var(--eea-grad-purple) 3%, var(--eea-grad-peach) 38%, var(--eea-grad-coral) 60%, var(--eea-grad-pink) 92%);
  --eea-gold:#ffce00; --eea-blue:#00a3ff;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono-display: "Kode Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-24:96px;
  --radius-xs:8px; --radius-sm:12px; --radius-md:20px; --radius-lg:24px;
  /* Shared editorial rhythm: headings should read with the copy they introduce. */
  --eea-flow-tight:10px; --eea-flow-copy:14px; --eea-flow-lead:24px;
  --eea-content-measure:44ch; --eea-intro-width:1080px; --eea-hero-width:1180px;
  --eea-intro-column-gap:clamp(28px,4vw,56px);

  font-family: var(--font-sans);
  color: var(--eea-ink);
  background: var(--eea-white);
  /* clip, not hidden: hidden makes .eea-lp a scroll container, which breaks
     position:sticky on the header — the menu silently stops following the
     page. clip guards against horizontal overflow the same way without
     creating a scroll container. */
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
.eea-lp img { max-width: 100%; display: block; }
.eea-lp a { text-decoration: none; color: inherit; }
.eea-lp button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
.eea-lp ul { list-style: none; margin: 0; padding: 0; }
.eea-lp main p { text-wrap: pretty; }
.eea-lp .eea-wrap { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 40px; }
@media (max-width: 640px) { .eea-lp .eea-wrap { padding: 0 20px; } }

.eea-lp .eea-eyebrow-row { display: flex; align-items: baseline; gap: 22px; border-top: 1px solid rgba(20,20,20,.18); padding-top: 14px; }
.eea-lp .eea-eyebrow-num { font-family: var(--font-mono-display); font-size: 11px; font-weight: 600; letter-spacing: .14em; color: var(--eea-ink); }
.eea-lp .eea-eyebrow-label { font-family: var(--font-mono-display); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #9a9a9a; }
.eea-lp .eea-btn { display: inline-block; font-size: 14px; font-weight: 500; letter-spacing: -.01em; padding: 15px 26px; border-radius: var(--radius-sm); background: var(--eea-black); color: var(--eea-white); transition: background .2s, color .2s; }
.eea-lp .eea-btn:hover, .eea-lp .eea-btn:focus-visible { background: var(--eea-blue); color: var(--eea-white); }
.eea-lp .eea-btn--sm { font-size: clamp(13px,.72vw,15px); padding: 11px clamp(16px,1.2vw,22px); }
.eea-lp .eea-btn--newsletter { background: var(--eea-white); color: var(--eea-blue); box-shadow: inset 0 0 0 1px var(--eea-blue); }
.eea-lp .eea-btn--newsletter:hover, .eea-lp .eea-btn--newsletter:focus-visible { background: var(--eea-blue); color: var(--eea-white); }
.eea-lp .eea-link-underline { font-size: 14px; font-weight: 500; letter-spacing: -.01em; border-bottom: 1px solid rgba(20,20,20,.3); padding-bottom: 3px; }
.eea-lp .eea-link-arrow { font-size: 14px; font-weight: 500; letter-spacing: -.01em; color: var(--eea-blue); }
.eea-lp .eea-link-arrow:hover { text-decoration: underline; }
.eea-lp :focus-visible { outline: 2px solid var(--eea-blue); outline-offset: 2px; }

/* ---- header / nav ---- */
.eea-lp .eea-header { position: sticky; top: 0; z-index: 80; background: #FFFFFF; border-bottom: 1px solid rgba(20,20,20,0); transition: border-color .25s; }
.eea-lp .eea-header.is-scrolled { border-bottom-color: rgba(20,20,20,.15); }
.eea-lp .eea-header__bar { position: relative; width: calc(100% - clamp(64px,6.6vw,128px)); max-width: none; margin: 0 auto; padding: 0 clamp(20px,1.7vw,36px); height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: clamp(18px,1.4vw,28px); }
.eea-lp .eea-header__color-rule { position: absolute; left: 50%; bottom: 0; width: 100vw; height: 4px; display: flex; overflow: hidden; transform: translateX(-50%); pointer-events: none; }
.eea-lp .eea-header__color-rule-segment { display: block; flex: 1 1 33.333%; height: 4px; }
.eea-lp .eea-header__color-rule-segment--anticipate { background: #EE9BFC; }
.eea-lp .eea-header__color-rule-segment--work { background: #F3CF2B; }
.eea-lp .eea-header__color-rule-segment--connect { background: #FEABA0; }
.eea-lp .eea-logo { flex: 0 0 auto; display: block; }
.eea-lp .eea-logo img { height: clamp(40px,2.5vw,48px); width: auto; }
.eea-lp .eea-header .eea-logo img { filter: invert(1); }
.eea-lp .eea-header__identity { display: flex; align-items: center; gap: clamp(18px,1.25vw,24px); justify-self: start; }
.eea-lp .eea-header__social { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; color: #3d3d3d; }
.eea-lp .eea-header__social a { display: flex; align-items: center; justify-content: center; }
.eea-lp .eea-header__social a:hover { color: var(--eea-blue); }
.eea-lp .eea-nav { display: flex; align-items: center; gap: clamp(18px,1.7vw,32px); font-size: clamp(14px,.82vw,16px); font-weight: 450; letter-spacing: -.012em; color: #3d3d3d; min-width: 0; justify-content: center; justify-self: center; flex-wrap: nowrap; }
.eea-lp .eea-nav a:hover { color: var(--eea-black); }
.eea-lp .eea-nav__item { position: relative; }
.eea-lp .eea-nav__dropdown { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); padding-top: 10px; opacity: 0; pointer-events: none; transition: opacity .15s ease; z-index: 90; }
.eea-lp .eea-nav__item:hover .eea-nav__dropdown, .eea-lp .eea-nav__item:focus-within .eea-nav__dropdown { opacity: 1; pointer-events: auto; }
.eea-lp .eea-nav__dropdown-inner { display: flex; flex-direction: column; gap: 0; min-width: 240px; padding: 12px; background: var(--eea-white); border: 1px solid rgba(20,20,20,.14); border-radius: var(--radius-xs); box-shadow: 0 12px 32px rgba(20,20,20,.14); }
.eea-lp .eea-nav__dropdown-inner a { display: block; padding: 9px 12px 9px 16px; border-left: 2px solid rgba(20,20,20,.12); border-radius: 0; white-space: nowrap; font-size: 14px; line-height: 1.35; transition: color .15s ease, background .15s ease, border-color .15s ease; }
.eea-lp .eea-nav__dropdown-inner a:hover, .eea-lp .eea-nav__dropdown-inner a:focus-visible { background: rgba(20,20,20,.035); border-left-color: var(--eea-blue); color: var(--eea-black); }
.eea-lp .eea-nav__group { display: flex; flex-direction: column; }
.eea-lp .eea-nav__group + .eea-nav__group { margin-top: 13px; padding-top: 13px; border-top: 1px solid rgba(20,20,20,.12); }
.eea-lp .eea-nav__group-label { display: block; padding: 2px 12px 8px; font-family: var(--font-mono-display); font-size: 9px; font-weight: 600; line-height: 1.3; letter-spacing: .15em; text-transform: uppercase; color: #929292; }
.eea-lp .eea-header__actions { display: flex; align-items: center; gap: 14px; justify-self: end; border-left: 1px solid rgba(20,20,20,.18); padding-left: clamp(18px,2vw,34px); }
.eea-lp .eea-header__talk { font-size: 14px; font-weight: 450; letter-spacing: -.012em; color: #3d3d3d; }
.eea-lp .eea-burger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.eea-lp .eea-burger span { width: 22px; height: 2px; background: var(--eea-black); display: block; }
.eea-lp .eea-mobile-nav { display: none; }

@media (max-width: 1500px) {
  .eea-lp .eea-header__talk { display: none; }
}

@media (max-width: 1360px) {
  .eea-lp .eea-header__bar { display: flex; justify-content: space-between; }
  .eea-lp .eea-nav, .eea-lp .eea-header__talk { display: none; }
  .eea-lp .eea-burger { display: flex; }
  .eea-lp .eea-mobile-nav { display: block; position: fixed; inset: 92px 0 0 0; background: var(--eea-white); z-index: 79; padding: 24px 24px 40px; overflow-y: auto; transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
  .eea-lp .eea-mobile-nav.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .eea-lp .eea-mobile-nav a { display: block; padding: 16px 0; font-size: 20px; font-weight: 500; border-bottom: 1px solid var(--eea-line); }
  .eea-lp .eea-mobile-nav a.eea-mobile-nav__sub { margin-left: 10px; padding: 11px 0 11px 18px; border-left: 2px solid rgba(20,20,20,.12); border-bottom: 0; font-size: 16px; font-weight: 450; color: #5c5c5c; }
  .eea-lp .eea-mobile-nav a.eea-mobile-nav__sub:hover, .eea-lp .eea-mobile-nav a.eea-mobile-nav__sub:focus-visible { border-left-color: var(--eea-blue); color: var(--eea-black); }
  .eea-lp .eea-mobile-nav__label { display: block; margin: 14px 0 3px 10px; padding: 10px 0 7px 18px; border-left: 2px solid rgba(20,20,20,.12); font-family: var(--font-mono-display); font-size: 9px; font-weight: 600; line-height: 1.3; letter-spacing: .15em; text-transform: uppercase; color: #929292; }
  .eea-lp .eea-mobile-nav .eea-btn { margin-top: 20px; text-align: center; }
}
@media (max-width: 760px) {
  .eea-lp .eea-header__bar { width: 100%; height: 76px; }
  .eea-lp .eea-header__actions { display: none; }
  .eea-lp .eea-mobile-nav { top: 76px; }
}

/* ---- footer ---- */
.eea-lp .eea-footer { background: var(--eea-black); color: var(--eea-white); }
.eea-lp .eea-footer__bar { width: 100%; height: 4px; display: flex; overflow: hidden; }
.eea-lp .eea-footer__bar-segment { display: block; flex: 1 1 33.333%; height: 4px; }
.eea-lp .eea-footer__bar-segment--anticipate { background: #EE9BFC; }
.eea-lp .eea-footer__bar-segment--work { background: #F3CF2B; }
.eea-lp .eea-footer__bar-segment--connect { background: #FEABA0; }
.eea-lp .eea-footer__inner { padding: clamp(36px,3.5vw,52px) 40px clamp(24px,2vw,32px); }
.eea-lp .eea-footer__grid { display: grid; grid-template-columns: minmax(0,1.4fr) repeat(4, minmax(0,1fr)); gap: clamp(28px,4vw,56px); }
.eea-lp .eea-footer__brand img { height: clamp(44px,3vw,52px); width: auto; margin-bottom: 14px; }
.eea-lp .eea-footer__label { font-family: var(--font-mono-display); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 12px; }
.eea-lp .eea-footer__brand p { margin: 0; font-size: 12px; line-height: 1.45; font-style: italic; letter-spacing: -.008em; color: rgba(255,255,255,.52); max-width: 32ch; }
.eea-lp .eea-footer__col .eea-footer__label { margin-bottom: 16px; }
.eea-lp .eea-footer__links { display: flex; flex-direction: column; gap: 11px; font-size: 14.5px; letter-spacing: -.012em; }
.eea-lp .eea-footer__links a { color: rgba(255,255,255,.75); }
.eea-lp .eea-footer__links a:hover { color: var(--eea-white); }
.eea-lp .eea-footer__bottom { margin-top: clamp(28px,3vw,40px); padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.eea-lp .eea-footer__bottom span { font-family: var(--font-mono-display); font-size: 10px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.38); }
.eea-lp .eea-footer__bottom a:hover, .eea-lp .eea-footer__bottom a:focus-visible { color: var(--eea-white); }
.eea-lp .eea-cookie-settings-link { appearance: none; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.eea-lp .eea-cookie-settings-link:hover, .eea-lp .eea-cookie-settings-link:focus-visible { color: var(--eea-white); }
@media (max-width: 900px) { .eea-lp .eea-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* ---- basic analytics consent ---- */
.eea-cookie-banner { position: fixed; right: 20px; bottom: 20px; left: 20px; z-index: 1000; display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 920px; margin: 0 auto; padding: 20px 22px; border: 1px solid rgba(20,20,20,.18); background: #fff; color: #141414; box-shadow: 0 14px 44px rgba(20,20,20,.2); font-family: Inter, Arial, sans-serif; }
.eea-cookie-banner[hidden] { display: none; }
.eea-cookie-banner__copy { max-width: 640px; }
.eea-cookie-banner__copy strong { display: block; margin-bottom: 5px; font-size: 16px; }
.eea-cookie-banner__copy p { margin: 0 0 5px; font-size: 14px; line-height: 1.45; color: #505050; }
.eea-cookie-banner__copy a { font-size: 13px; text-decoration: underline; text-underline-offset: 2px; }
.eea-cookie-banner__actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.eea-cookie-banner__actions button { min-height: 42px; padding: 9px 15px; border: 1px solid #141414; font: 600 13px/1 Inter, Arial, sans-serif; cursor: pointer; }
.eea-cookie-banner__accept { background: #141414; color: #fff; }
.eea-cookie-banner__reject { background: #fff; color: #141414; }
.eea-cookie-banner__actions button:hover { transform: translateY(-1px); }
.eea-cookie-banner__actions button:focus-visible, .eea-cookie-banner__copy a:focus-visible, .eea-lp .eea-cookie-settings-link:focus-visible { outline: 3px solid #2457ff; outline-offset: 3px; }
@media (max-width: 680px) {
  .eea-cookie-banner { align-items: stretch; flex-direction: column; gap: 14px; right: 12px; bottom: 12px; left: 12px; padding: 18px; }
  .eea-cookie-banner__actions { flex-wrap: wrap; }
  .eea-cookie-banner__actions button { flex: 1 1 150px; }
}

/* ---- scroll reveal ---- */
.eea-lp .eea-reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.eea-lp .eea-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .eea-lp .eea-reveal { opacity: 1; transform: none; transition: none; }
  .eea-lp * { animation: none !important; transition: none !important; }
}

/* ---- components lifted from index.html, used on interior pages ---- */
.eea-lp .eea-chip-row { margin-top: 18px; display: flex; flex-wrap: wrap; }
.eea-lp .eea-chip-row span { font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: #6e6e6e; padding: 0 22px; border-left: 1px solid rgba(20,20,20,.16); }
.eea-lp .eea-chip-row span:first-child { padding-left: 0; border-left: 0; }
.eea-lp .eea-section-label-row { margin-top: clamp(56px,6vw,88px); display: flex; align-items: center; gap: 18px; }
.eea-lp .eea-section-label-row span:first-child { font-family: var(--font-mono-display); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.eea-lp .eea-section-label-row__line { flex: 1 1 auto; height: 1px; background: rgba(20,20,20,.15); }
.eea-lp .eea-section-label-row a { font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: #8a8a8a; }
.eea-lp .eea-room__photo { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #f5f5f5; }
.eea-lp .eea-room__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.eea-lp .eea-room__caption { margin-top: 12px; font-family: var(--font-mono-display); font-size: 10px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: #8a8a8a; }
.eea-lp .eea-timeline { margin-top: clamp(56px,6vw,92px); display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid rgba(20,20,20,.24); }
.eea-lp .eea-timeline__item { padding: 28px 32px 44px; border-left: 1px solid rgba(20,20,20,.16); }
.eea-lp .eea-timeline__item:first-child { border-left: 0; padding-left: 0; }
.eea-lp .eea-timeline__year { font-family: var(--font-mono-display); font-size: clamp(20px,1.9vw,26px); font-weight: 500; letter-spacing: -.05em; margin-bottom: 20px; }
.eea-lp .eea-timeline__year--today { display: flex; align-items: center; gap: 10px; }
.eea-lp .eea-timeline__year--today span:first-child { width: 7px; height: 7px; border-radius: 50%; background: var(--eea-gold); }
.eea-lp .eea-timeline__item h3 { margin: 0 0 12px; font-size: 19px; font-weight: 500; letter-spacing: -.028em; line-height: 1.24; }
.eea-lp .eea-timeline__item p { margin: 0; max-width: 38ch; font-size: 14.5px; line-height: 1.6; color: #6a6a6a; }
/* the grain URL is relative to this stylesheet (assets/), not to the page */
.eea-lp .eea-cta-band { position: relative; margin-top: clamp(48px,5vw,72px); background: var(--eea-gradient-hero); overflow: hidden; }
.eea-lp .eea-cta-band__grain { position: absolute; inset: 0; background-image: url("grain-texture.png"); background-repeat: repeat; opacity: .5; mix-blend-mode: multiply; pointer-events: none; }
.eea-lp .eea-cta-band__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.06); pointer-events: none; }
.eea-lp .eea-cta-band__inner { position: relative; max-width: 1400px; margin: 0 auto; padding: clamp(64px,8vw,120px) 40px; }
.eea-lp .eea-cta-band h2 { margin: 0; font-size: clamp(38px,6.2vw,92px); font-weight: 700; letter-spacing: -.04em; line-height: .94; max-width: 16ch; }
.eea-lp .eea-cta-band__foot { margin-top: clamp(32px,4vw,52px); padding-top: 18px; border-top: 1px solid rgba(20,20,20,.25); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.eea-lp .eea-cta-band__foot a { font-size: 15px; font-weight: 500; letter-spacing: -.012em; border-bottom: 1px solid rgba(20,20,20,.35); padding-bottom: 2px; }
.eea-lp .eea-cta-band__foot span { font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(20,20,20,.6); }
.eea-lp .eea-final-cta { padding: 0 0 clamp(76px,8.5vw,124px); }
.eea-lp .eea-final-cta__inner { padding-top: clamp(56px,6vw,90px); border-top: 1px solid rgba(20,20,20,.18); }
.eea-lp .eea-final-cta h2 { margin: 0; font-size: clamp(32px,4vw,60px); font-weight: 500; letter-spacing: -.035em; line-height: 1.06; max-width: 19ch; text-wrap: balance; }
.eea-lp .eea-final-cta p { margin: 30px 0 0; font-size: 17px; line-height: 1.6; color: #5c5c5c; max-width: 44ch; }
.eea-lp .eea-final-cta__cta { display: flex; align-items: center; gap: 28px; margin-top: 42px; flex-wrap: wrap; }
.eea-lp .eea-final-cta__foot { margin-top: 44px; padding-top: 16px; border-top: 1px solid rgba(20,20,20,.13); }
.eea-lp .eea-final-cta__foot a { font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: #8a8a8a; }
@media (max-width: 900px) {
  .eea-lp .eea-timeline { grid-template-columns: 1fr; }
  .eea-lp .eea-timeline__item { border-left: 0; padding-left: 0; border-top: 1px solid rgba(20,20,20,.16); }
  .eea-lp .eea-timeline__item:first-child { border-top: 0; }
}

/* ============================================================
   interior page components
   ============================================================ */

/* anchors clear the 76px sticky header */
.eea-lp [id] { scroll-margin-top: 96px; }

/* ---- page hero ---- */
.eea-lp .eea-page-hero { padding: clamp(40px,4.5vw,64px) 0 clamp(44px,5vw,72px); border-bottom: 1px solid rgba(20,20,20,.15); }
.eea-lp .eea-crumbs { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: #9a9a9a; }
.eea-lp .eea-crumbs a { color: #9a9a9a; }
.eea-lp .eea-crumbs a:hover { color: var(--eea-black); }
.eea-lp .eea-page-hero__inner { margin-top: clamp(28px,3.5vw,52px); max-width: var(--eea-hero-width); display: grid; grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr); gap: var(--eea-intro-column-gap); align-items: end; }
.eea-lp .eea-page-hero .eea-eyebrow-row { margin-bottom: var(--eea-flow-lead); }
.eea-lp .eea-page-hero h1 { margin: 0; font-size: clamp(36px,4.4vw,62px); font-weight: 500; letter-spacing: -.038em; line-height: 1.03; max-width: 16ch; text-wrap: balance; }
.eea-lp .eea-page-hero__lead p { margin: 0; font-size: 17px; line-height: 1.62; letter-spacing: -.011em; color: #5c5c5c; max-width: 44ch; }
.eea-lp .eea-page-hero__lead .eea-btn, .eea-lp .eea-page-hero__lead .eea-link-underline { margin-top: var(--eea-flow-lead); }
.eea-lp .eea-page-hero__actions { display: flex; align-items: center; gap: 26px; margin-top: var(--eea-flow-lead); flex-wrap: wrap; }
.eea-lp .eea-page-hero--insights { padding-top: 28px; padding-bottom: 32px; border-bottom: 0; }
.eea-lp .eea-page-hero--insights .eea-page-hero__inner { margin-top: 0; align-items: start; }
.eea-lp .eea-page-hero--insights .eea-page-hero__lead p { max-width: 44ch; }
.eea-lp .eea-page-hero--insights .eea-page-hero__actions { margin-top: var(--eea-flow-tight); }
.eea-lp .eea-insights-filter-title { margin: 40px 0 0; font-size: clamp(22px,2.2vw,34px); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; }
.eea-lp .eea-tabs--compact { margin-top: 16px; }
.eea-lp .eea-final-cta--compact { padding-bottom: 56px; }
.eea-lp .eea-final-cta--compact .eea-final-cta__inner { border-top: 0; padding-top: 32px; }

/* ---- generic section ---- */
.eea-lp .eea-sec { padding: clamp(60px,7vw,104px) 0; }
.eea-lp .eea-sec--flush { padding-bottom: 0; }
.eea-lp .eea-sec__intro { margin-top: 0; max-width: var(--eea-intro-width); display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); gap: var(--eea-intro-column-gap); align-items: start; }
.eea-lp .eea-sec__intro h2 { margin: 0; font-size: clamp(28px,3.1vw,46px); font-weight: 500; letter-spacing: -.033em; line-height: 1.08; max-width: 14ch; text-wrap: balance; }
.eea-lp .eea-sec__intro-copy { display: flex; flex-direction: column; gap: var(--eea-flow-copy); padding-top: 4px; }
.eea-lp .eea-sec__intro-copy p { margin: 0; max-width: var(--eea-content-measure); font-size: 16px; line-height: 1.6; color: #656565; }

/* ---- link / fact rows ---- */
.eea-lp .eea-rows { margin-top: 26px; border-bottom: 1px solid rgba(20,20,20,.15); }
.eea-lp .eea-row { display: grid; grid-template-columns: 72px minmax(0,290px) minmax(0,1fr) auto; gap: clamp(18px,3vw,40px); align-items: baseline; padding: 28px 0; border-top: 1px solid rgba(20,20,20,.15); transition: background .2s; }
.eea-lp a.eea-row:hover, .eea-lp button.eea-row:hover { background: rgba(20,20,20,.02); }
/* a <button> standing in for the <a> row (governance items that open a modal) */
.eea-lp button.eea-row { width: 100%; background: none; border: none; border-top: 1px solid rgba(20,20,20,.15); font: inherit; text-align: left; cursor: pointer; }
.eea-lp .eea-row__id { font-family: var(--font-mono-display); font-size: 11px; font-weight: 500; letter-spacing: .1em; color: #b0b0b0; }
.eea-lp .eea-row__title { font-size: clamp(18px,1.5vw,22px); font-weight: 500; letter-spacing: -.028em; line-height: 1.25; }
.eea-lp .eea-row__desc { font-size: 15.5px; font-weight: 400; letter-spacing: -.012em; line-height: 1.55; color: #5c5c5c; max-width: 44ch; }
.eea-lp .eea-row__go { font-size: 14px; font-weight: 500; letter-spacing: -.01em; color: var(--eea-blue); white-space: nowrap; }
.eea-lp .eea-rows--tight .eea-row { padding: 19px 0; grid-template-columns: 112px minmax(0,1fr) auto; }
.eea-lp .eea-rows--tight .eea-row__title { font-size: 17px; }

/* ---- cards ---- */
.eea-lp .eea-cards { margin-top: 26px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid rgba(20,20,20,.15); border-left: 1px solid rgba(20,20,20,.13); }
.eea-lp .eea-cards--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.eea-lp .eea-cards--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.eea-lp .eea-card { display: flex; flex-direction: column; padding: 28px 28px 32px; border-right: 1px solid rgba(20,20,20,.13); border-bottom: 1px solid rgba(20,20,20,.13); transition: background .2s; }
.eea-lp a.eea-card:hover { background: rgba(20,20,20,.02); }
.eea-lp .eea-card h3 { margin: 0; font-size: 20px; font-weight: 500; letter-spacing: -.028em; line-height: 1.2; }
.eea-lp .eea-card__kicker { font-family: var(--font-mono-display); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #9a9a9a; margin-bottom: 16px; }
.eea-lp .eea-card__title { font-size: 20px; font-weight: 500; letter-spacing: -.028em; line-height: 1.2; }
.eea-lp .eea-card__price { font-family: var(--font-mono-display); font-size: clamp(24px,2.4vw,32px); font-weight: 500; letter-spacing: -.05em; margin-top: 14px; }
.eea-lp .eea-card p { margin: var(--eea-flow-tight) 0 0; max-width: 38ch; font-size: 15px; line-height: 1.6; color: #656565; }
.eea-lp .eea-card__go { margin-top: auto; padding-top: 22px; font-size: 14px; font-weight: 500; letter-spacing: -.01em; color: var(--eea-blue); }

/* ---- numbered process steps ---- */
.eea-lp .eea-steps { margin-top: 26px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(24px,3.5vw,56px); }
.eea-lp .eea-step { padding-top: 22px; border-top: 1px solid rgba(20,20,20,.24); }
.eea-lp .eea-step__num { font-family: var(--font-mono-display); font-size: 11px; font-weight: 600; letter-spacing: .14em; color: #b0b0b0; }
.eea-lp .eea-step h3 { margin: 16px 0 var(--eea-flow-tight); font-size: 20px; font-weight: 500; letter-spacing: -.028em; line-height: 1.2; }
.eea-lp .eea-step p { margin: 0; max-width: 38ch; font-size: 15px; line-height: 1.6; color: #656565; }
.eea-lp .eea-step__go { display: inline-block; margin-top: 16px; font-size: 14px; font-weight: 500; color: var(--eea-blue); }

/* ---- FAQ ---- */
.eea-lp .eea-faq { width: min(100%, 60ch); margin-top: 26px; border-bottom: 1px solid rgba(20,20,20,.15); }
.eea-lp .eea-faq details { border-top: 1px solid rgba(20,20,20,.15); }
.eea-lp .eea-faq summary { display: flex; align-items: baseline; justify-content: space-between; gap: 28px; padding: 24px 0; font-size: clamp(17px,1.5vw,20px); font-weight: 500; letter-spacing: -.026em; line-height: 1.3; cursor: pointer; list-style: none; }
.eea-lp .eea-faq summary::-webkit-details-marker { display: none; }
.eea-lp .eea-faq summary::after { content: "+"; font-family: var(--font-mono-display); font-size: 16px; color: #a1a1a1; flex: none; }
.eea-lp .eea-faq details[open] summary::after { content: "–"; }
.eea-lp .eea-faq p { margin: 0 0 24px; font-size: 16px; line-height: 1.65; color: #656565; max-width: 60ch; }

/* ---- member directory ---- */
.eea-lp .eea-filter { margin-top: 30px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
/* these class rules outrank the UA [hidden] rule, so restate it */
.eea-lp .eea-filter[hidden], .eea-lp .eea-dir__empty[hidden], .eea-lp .eea-tabs[hidden] { display: none; }
.eea-lp .eea-filter input { width: min(320px,100%); padding: 12px 14px; font: inherit; font-size: 14px; color: var(--eea-ink); background: var(--eea-white); border: 1px solid rgba(20,20,20,.2); border-radius: var(--radius-xs); }
.eea-lp .eea-filter input::placeholder { color: #a1a1a1; }
.eea-lp .eea-filter__count { font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: #8a8a8a; }
.eea-lp .eea-dir { margin-top: 22px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid rgba(20,20,20,.13); border-left: 1px solid rgba(20,20,20,.13); }
/* Directory cells mirror the homepage member wall: the logo centred in a
   fixed optical band, the member name beneath in the mono label voice.
   Sizes per member are generated — see the member-logo-css region in
   members/index.html and docs/MEMBER-LOGOS.md. */
.eea-lp .eea-dir__item { min-height: 132px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 14px 16px; border-right: 1px solid rgba(20,20,20,.13); border-bottom: 1px solid rgba(20,20,20,.13); font-size: 16px; font-weight: 500; letter-spacing: -.02em; color: #2e2e2e; box-sizing: border-box; transition: background .2s; }
.eea-lp a.eea-dir__item:hover { background: rgba(20,20,20,.03); }
.eea-lp .eea-memberlogo { display: block; flex: 0 0 auto; max-width: 100%; object-fit: contain; filter: brightness(0); opacity: .72; transition: opacity .2s ease; }
.eea-lp .eea-dir__item:hover .eea-memberlogo { opacity: 1; }
.eea-lp .eea-memberlogo__band { height: 44px; max-width: 100%; display: flex; align-items: center; justify-content: center; }
.eea-lp .eea-memberlogo__name { font-family: var(--font-mono-display); font-size: 10px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; color: #a1a1a1; line-height: 1.25; transition: color .2s ease; }
.eea-lp .eea-dir__item:hover .eea-memberlogo__name { color: var(--eea-blue); }
@media (prefers-reduced-motion: reduce) { .eea-lp .eea-memberlogo, .eea-lp .eea-memberlogo__name { transition: none; } }
.eea-lp .eea-dir__empty { padding: 34px 0; font-size: 15px; color: #8a8a8a; }
.eea-lp .is-filtered-out { display: none; }

/* ---- people ---- */
.eea-lp .eea-people { margin-top: 22px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid rgba(20,20,20,.15); border-left: 1px solid rgba(20,20,20,.13); }
.eea-lp .eea-person { padding: 26px 26px 30px; border-right: 1px solid rgba(20,20,20,.13); border-bottom: 1px solid rgba(20,20,20,.13); }
.eea-lp .eea-person__tag { font-family: var(--font-mono-display); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #b0b0b0; }
.eea-lp .eea-person__name { margin: 14px 0 0; font-size: 19px; font-weight: 500; letter-spacing: -.026em; }
.eea-lp .eea-person__role { margin: 8px 0 0; font-size: 14.5px; line-height: 1.55; color: #6a6a6a; }
.eea-lp .eea-person__desc { margin: 6px 0 0; font-size: 14.5px; line-height: 1.55; color: #6e6e6e; }
.eea-lp .eea-person__photo { width: 100%; aspect-ratio: 1 / 1; margin-bottom: 16px; overflow: hidden; border-radius: var(--radius-xs); background: var(--eea-surface); }
.eea-lp .eea-person__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: grayscale(1); display: block; }
.eea-lp .eea-person__photo--empty { display: flex; align-items: center; justify-content: center; font-family: var(--font-mono-display); font-size: 20px; font-weight: 600; letter-spacing: .04em; color: var(--eea-neutral-500); }
.eea-lp .eea-people--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.eea-lp .eea-people--2 .eea-person__photo { max-width: 220px; }

/* ---- filter tabs + post list ---- */
.eea-lp .eea-tabs { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 8px; }
.eea-lp .eea-tab { font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; padding: 10px 16px; border: 1px solid rgba(20,20,20,.16); border-radius: var(--radius-xs); color: #6e6e6e; transition: background .2s, color .2s, border-color .2s; }
.eea-lp .eea-tab:hover { border-color: rgba(20,20,20,.4); color: var(--eea-black); }
.eea-lp .eea-tab[aria-pressed="true"] { background: var(--eea-black); border-color: var(--eea-black); color: var(--eea-white); }
.eea-lp .eea-posts { margin-top: 30px; border-bottom: 1px solid rgba(20,20,20,.15); }
.eea-lp .eea-post { display: grid; grid-template-columns: 200px minmax(0,1fr) auto; gap: clamp(18px,3vw,44px); align-items: center; padding: 26px 0; border-top: 1px solid rgba(20,20,20,.15); transition: background .2s; }
.eea-lp .eea-post:hover { background: rgba(20,20,20,.02); }
.eea-lp .eea-post__meta { display: flex; flex-direction: column; gap: 6px; font-family: var(--font-mono-display); font-size: 10.5px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #9a9a9a; }
.eea-lp .eea-post__date { font-weight: 500; color: #b8b8b8; }
.eea-lp .eea-post__title { font-size: clamp(18px,1.7vw,23px); font-weight: 500; letter-spacing: -.028em; line-height: 1.26; }
.eea-lp .eea-post__copy { min-width: 0; }
.eea-lp .eea-post__copy .eea-post__title { display: block; }
.eea-lp .eea-post__summary { display: block; margin-top: 8px; font-size: 14.5px; line-height: 1.55; color: #6e6e6e; }
.eea-lp .eea-post__read { font-size: 14px; font-weight: 500; letter-spacing: -.01em; color: var(--eea-blue); white-space: nowrap; }

/* ---- callout + prose ---- */
.eea-lp .eea-callout { margin-top: 34px; padding: 28px 32px; background: var(--eea-surface); border-left: 2px solid var(--eea-black); }
.eea-lp .eea-callout__label { font-family: var(--font-mono-display); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #8a8a8a; margin-bottom: 12px; }
.eea-lp .eea-callout p { margin: 0 0 14px; font-size: 16.5px; line-height: 1.62; color: #3d3d3d; max-width: 58ch; }
.eea-lp .eea-callout p:last-child { margin-bottom: 0; }
.eea-lp .eea-prose p { margin: 0 0 18px; font-size: 17px; line-height: 1.68; color: #4d4d4d; max-width: 62ch; }
.eea-lp .eea-prose p:last-child { margin-bottom: 0; }
.eea-lp .eea-prose strong { font-weight: 600; color: var(--eea-ink); }
.eea-lp .eea-prose h2 { margin: 36px 0 var(--eea-flow-copy); font-size: clamp(19px,1.9vw,23px); font-weight: 500; letter-spacing: -.028em; line-height: 1.2; color: var(--eea-ink); }
.eea-lp .eea-prose h2:first-child { margin-top: 0; }
.eea-lp .eea-prose ul { margin: 0 0 20px; padding-left: 22px; list-style: disc; max-width: 62ch; }
.eea-lp .eea-prose li { margin: 0 0 8px; font-size: 17px; line-height: 1.6; color: #4d4d4d; }
.eea-lp .eea-prose li:last-child { margin-bottom: 0; }
.eea-lp .eea-split { margin-top: 46px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,5vw,90px); align-items: start; }

/* ---- editorial manifesto callout (About "what is the EEA") ---- */
.eea-lp .eea-manifesto { margin: 48px 0; padding: 48px 0; border-top: 1px solid rgba(20,20,20,.15); border-bottom: 1px solid rgba(20,20,20,.15); text-align: center; }
.eea-lp .eea-manifesto p { margin: 0 auto; max-width: 19ch; font-size: clamp(30px,4vw,52px); font-weight: 500; letter-spacing: -.035em; line-height: 1.12; color: var(--eea-ink); text-wrap: balance; }
.eea-lp .eea-manifesto + .eea-prose { max-width: 620px; margin: 0 auto; text-align: center; }
.eea-lp .eea-manifesto + .eea-prose p { max-width: 62ch; }

/* ---- modal dialogs (About governance: Antitrust & IPR / Standards relationships) ---- */
.eea-lp .eea-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 24px; }
/* this class rule outranks the UA [hidden] rule, so restate it */
.eea-lp .eea-modal[hidden] { display: none; }
.eea-lp .eea-modal__overlay { position: absolute; inset: 0; background: rgba(20,20,20,.55); }
.eea-lp .eea-modal__dialog { position: relative; width: min(560px,100%); max-height: calc(100vh - 48px); overflow-y: auto; background: var(--eea-white); border-radius: var(--radius-sm); padding: 44px; box-shadow: 0 24px 64px rgba(20,20,20,.24); }
.eea-lp .eea-modal__close { position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; font-size: 22px; line-height: 1; color: #8a8a8a; border-radius: 50%; transition: background .2s, color .2s; }
.eea-lp .eea-modal__close:hover, .eea-lp .eea-modal__close:focus-visible { background: var(--eea-surface); color: var(--eea-black); }
.eea-lp .eea-modal__label { font-family: var(--font-mono-display); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #9a9a9a; margin-bottom: 14px; }
.eea-lp .eea-modal__dialog h2 { margin: 0 0 18px; font-size: clamp(22px,2.4vw,28px); font-weight: 500; letter-spacing: -.03em; line-height: 1.15; max-width: none; }
.eea-lp .eea-modal__dialog p { margin: 0 0 14px; max-width: 52ch; font-size: 15.5px; line-height: 1.6; color: #4d4d4d; }
.eea-lp .eea-modal__dialog p:last-child { margin-bottom: 0; }

/* ---- interior responsive ---- */
@media (max-width: 1000px) {
  .eea-lp .eea-cards, .eea-lp .eea-cards--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .eea-lp .eea-people { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .eea-lp .eea-dir { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .eea-lp .eea-page-hero__inner, .eea-lp .eea-sec__intro, .eea-lp .eea-split { grid-template-columns: 1fr; }
  .eea-lp .eea-page-hero__inner { gap: var(--eea-flow-lead); }
  .eea-lp .eea-sec__intro { gap: 18px; }
  .eea-lp .eea-sec__intro-copy { padding-top: 0; }
  .eea-lp .eea-steps { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .eea-lp .eea-row { grid-template-columns: 60px minmax(0,1fr); }
  .eea-lp .eea-row__desc, .eea-lp .eea-row__go { grid-column: 2 / -1; }
  .eea-lp .eea-rows--tight .eea-row { grid-template-columns: 60px minmax(0,1fr); }
  .eea-lp .eea-cards, .eea-lp .eea-cards--2, .eea-lp .eea-cards--4, .eea-lp .eea-people { grid-template-columns: 1fr; }
  .eea-lp .eea-dir { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .eea-lp .eea-post { grid-template-columns: 1fr; gap: 8px; }
  .eea-lp .eea-post__meta { flex-direction: row; gap: 12px; }
  .eea-lp .eea-callout { padding: 24px; }
  .eea-lp .eea-modal__dialog { padding: 30px; }
}

/* Source-backed Insights thumbnails (#119). */
.eea-lp .eea-post--illustrated { grid-template-columns: 112px 160px minmax(0,1fr) auto; }
.eea-lp .eea-post__thumbnail { display: block; width: 112px; height: 84px; object-fit: contain; background: var(--eea-light, #f6f5f1); }
@media (max-width: 800px) {
  .eea-lp .eea-post--illustrated { grid-template-columns: 88px minmax(0,1fr); gap: 8px 18px; }
  .eea-lp .eea-post__thumbnail { grid-row: 1 / 4; width: 88px; height: 66px; }
  .eea-lp .eea-post--illustrated .eea-post__meta,
  .eea-lp .eea-post--illustrated .eea-post__copy,
  .eea-lp .eea-post--illustrated .eea-post__read { grid-column: 2; }
  .eea-lp .eea-post--illustrated .eea-post__meta { flex-direction: column; }
}
