/* Elementor adapter (added for the WordPress build).
   On the live site Elementor's own base stylesheets are not loaded (the plugin removes them),
   and in the editor they sit in a lower cascade layer. The rules below clear anything left on
   Elementor's elements (images are left alone so their width and height attributes still apply), so the brand stylesheet that follows applies exactly as on the static site. */
:where(.e-con, .e-atomic-element, .e-heading-base, .e-paragraph-base, .e-button-base, .e-svg-base,
  .e-form-label-base, .e-form-input-base, .e-form-select-base, .e-form-checkbox-base, .e-form-textarea-base,
  .e-form-submit-button-base, .e-form-success-message-base, .e-form-error-message-base) { all: revert; }
:where(.e-heading-base, .e-paragraph-base) a { all: revert; }

/* Open letter: long-form reading page.
   Built on the Optima Energy Design System, shared with the launch page (index.html). */
:root {
  --navy: #000035;
  --cyan: #0693e3;
  --purple: #9b51e0;
  --magenta: #ff00ff;

  --bg: #f7f7fb;
  --fg: #111111;
  --ink: #000035;
  --fg-muted: #555566;
  --line: rgba(17, 17, 60, 0.10);
  --line-strong: rgba(17, 17, 60, 0.18);
  --glass: rgba(255, 255, 255, 0.58);
  --glass-strong: rgba(255, 255, 255, 0.82);
  --glass-edge: rgba(255, 255, 255, 0.85);
  --glass-shadow: 0 1px 2px rgba(0, 0, 53, 0.06), 0 10px 24px -14px rgba(0, 0, 53, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  --btn-shadow: 0 1px 2px rgba(0, 0, 53, 0.18), 0 6px 14px -6px rgba(0, 0, 53, 0.35);
  --header-bg: rgba(247, 247, 251, 0.82);
  --orb-a: rgba(6, 147, 227, 0.20);
  --orb-b: rgba(155, 81, 224, 0.16);
  --orb-c: rgba(255, 0, 255, 0.12);
  --title-grad: linear-gradient(95deg, #0572b8 0%, #7a35c9 50%, #c400c4 100%);
  --btn-grad: linear-gradient(95deg, #0670b0 0%, #8a3fd6 52%, #c000c0 100%);
  --accent-ink: #0569a8;
  --focus: #0569a8;
  --field-border: #8d8da3;
  --c-bur: #8a3fd6;
  --chip: rgba(6, 147, 227, 0.09);
  --ok: #1d7a52;
  --ok-bg: rgba(31, 138, 92, 0.12);
  --bad: #c13438;
  --bad-bg: rgba(193, 52, 56, 0.08);
  --field: rgba(255, 255, 255, 0.85);

  --font-display: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --r-xs: 4px;
  --r-btn: 8px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --gutter: clamp(16px, 4vw, 40px);
  --max: 1200px;
  --head-h: 68px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #03032a; --fg: #f2f2fa; --ink: #ffffff; --fg-muted: #b6b6cc; --line: rgba(255, 255, 255, 0.10); --line-strong: rgba(255, 255, 255, 0.20);
    --glass: rgba(255, 255, 255, 0.055); --glass-strong: rgba(20, 20, 70, 0.78); --glass-edge: rgba(255, 255, 255, 0.14);
    --glass-shadow: 0 1px 2px rgba(0, 0, 0, 0.30), 0 16px 32px -18px rgba(0, 0, 0, 0.70), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --btn-shadow: 0 1px 2px rgba(0, 0, 0, 0.40), 0 6px 14px -6px rgba(0, 0, 0, 0.70);
    --header-bg: rgba(3, 3, 42, 0.80);
    --orb-a: rgba(6, 147, 227, 0.30); --orb-b: rgba(155, 81, 224, 0.30); --orb-c: rgba(255, 0, 255, 0.20);
    --title-grad: linear-gradient(95deg, #3fb8ff 0%, #c48bff 52%, #ff6bff 100%);
    --accent-ink: #4dbdff; --c-bur: #c48bff; --chip: rgba(6, 147, 227, 0.16); --focus: #4dbdff; --field-border: #6e6e8c;
    --ok: #9ff0cf; --ok-bg: rgba(123, 220, 181, 0.16); --bad: #ff7b80; --bad-bg: rgba(229, 72, 77, 0.14);
    --field: rgba(255, 255, 255, 0.06);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #03032a; --fg: #f2f2fa; --ink: #ffffff; --fg-muted: #b6b6cc; --line: rgba(255, 255, 255, 0.10); --line-strong: rgba(255, 255, 255, 0.20);
  --glass: rgba(255, 255, 255, 0.055); --glass-strong: rgba(20, 20, 70, 0.78); --glass-edge: rgba(255, 255, 255, 0.14);
  --glass-shadow: 0 1px 2px rgba(0, 0, 0, 0.30), 0 16px 32px -18px rgba(0, 0, 0, 0.70), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --btn-shadow: 0 1px 2px rgba(0, 0, 0, 0.40), 0 6px 14px -6px rgba(0, 0, 0, 0.70);
  --header-bg: rgba(3, 3, 42, 0.80);
  --orb-a: rgba(6, 147, 227, 0.30); --orb-b: rgba(155, 81, 224, 0.30); --orb-c: rgba(255, 0, 255, 0.20);
  --title-grad: linear-gradient(95deg, #3fb8ff 0%, #c48bff 52%, #ff6bff 100%);
  --accent-ink: #4dbdff; --c-bur: #c48bff; --chip: rgba(6, 147, 227, 0.16); --focus: #4dbdff; --field-border: #6e6e8c;
  --ok: #9ff0cf; --ok-bg: rgba(123, 220, 181, 0.16); --bad: #ff7b80; --bad-bg: rgba(229, 72, 77, 0.14);
  --field: rgba(255, 255, 255, 0.06);
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--head-h) + 16px); -webkit-font-smoothing: antialiased; }
body { margin: 0; background: var(--bg); color: var(--fg); font-family: var(--font-body); font-size: 17px; line-height: 1.6; overflow-x: hidden; caret-color: var(--cyan); }
::selection { background: rgba(6, 147, 227, 0.24); color: inherit; }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: var(--r-xs); }
[id] { scroll-margin-top: calc(var(--head-h) + 24px); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 12px; top: -100px; z-index: 60; padding: 10px 16px; border-radius: var(--r-btn); background: var(--ink); color: var(--bg); font-family: var(--font-display); font-weight: 600; text-decoration: none; }
.skip:focus { top: 12px; }
main:focus { outline: none; }

/* Ambient light field behind every glass pane */
.ambient { position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(40vw 40vw at 8% 12%, var(--orb-a), transparent 70%),
    radial-gradient(38vw 38vw at 92% 28%, var(--orb-b), transparent 70%),
    radial-gradient(45vw 45vw at 70% 92%, var(--orb-c), transparent 70%),
    radial-gradient(35vw 35vw at 15% 80%, var(--orb-b), transparent 70%); }

.wrap { max-width: var(--max); margin: 0 auto; padding-inline: var(--gutter); }
h1, h2, h3 { font-family: var(--font-display); margin: 0; text-wrap: balance; color: var(--ink); }
h1 { font-size: clamp(40px, 6.2vw, 80px); line-height: 1.04; letter-spacing: -0.03em; font-weight: 700; }
h2 { font-size: clamp(30px, 3.8vw, 46px); line-height: 1.12; letter-spacing: -0.02em; font-weight: 600; }
h3 { font-size: 20px; line-height: 1.3; font-weight: 600; }
p { margin: 0; text-wrap: pretty; }
.grad { background: var(--title-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
h1.grad { padding-bottom: 0.12em; margin-bottom: -0.12em; }
.lede { font-size: clamp(18px, 1.5vw, 20px); color: var(--fg-muted); max-width: 60ch; }
.muted { color: var(--fg-muted); }
.eyebrow { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-ink); margin-bottom: 14px; }
.stack { display: grid; gap: 18px; align-content: start; }

.glass { background: var(--glass); border: 1px solid var(--glass-edge); border-radius: var(--r-lg); box-shadow: var(--glass-shadow);
  backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%); }

/* Buttons: squared, Optima gradient for the primary action only */
.btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.btn { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; cursor: pointer; text-decoration: none;
  font-family: var(--font-display); font-weight: 600; font-size: 16px; line-height: 1; padding: 15px 22px; border-radius: var(--r-btn);
  color: #fff; background: var(--btn-grad); background-size: 140% 100%; background-position: 0 0;
  box-shadow: var(--btn-shadow); transition: background-position 320ms var(--ease), transform 120ms var(--ease); }
.btn:hover { background-position: 100% 0; }
.btn:active { transform: translateY(1px); }
.btn svg { width: 18px; height: 18px; transition: transform 200ms var(--ease); }
.btn:hover svg { transform: translateX(2px); }
.btn.alt { background: var(--glass-strong); color: var(--fg); border: 1px solid var(--line-strong); box-shadow: none; }
.btn.alt:hover { border-color: var(--fg-muted); }
.btn.small { padding: 11px 16px; font-size: 15px; }
@media (max-width: 420px) { .btn { white-space: normal; text-align: center; line-height: 1.25; } }
.tlink { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--accent-ink); text-decoration: none; }
.tlink:hover { text-decoration: underline; text-underline-offset: 4px; }
.tlink svg { width: 16px; height: 16px; }

/* Header: full-width bar */
.top { position: sticky; top: 0; z-index: 40; padding-top: env(safe-area-inset-top, 0px); background: var(--header-bg); border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px) saturate(150%); -webkit-backdrop-filter: blur(18px) saturate(150%); transition: box-shadow 240ms var(--ease); }
.top.is-scrolled { box-shadow: 0 8px 24px -16px rgba(0, 0, 0, 0.4); }
.bar { display: flex; align-items: center; gap: clamp(16px, 3vw, 40px); height: var(--head-h); }
.brand { display: flex; align-items: center; flex: none; align-self: stretch; }
.brand img { height: 30px; width: auto; }
.logo-dark { display: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .logo-dark { display: block; } :root:not([data-theme="light"]) .logo-light { display: none; } }
:root[data-theme="dark"] .logo-dark { display: block; }
:root[data-theme="dark"] .logo-light { display: none; }
.home-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 4px; margin-right: auto; text-decoration: none; font-family: var(--font-display); font-weight: 500; font-size: 15px; color: var(--fg-muted); white-space: nowrap; transition: color 150ms var(--ease); }
.home-link svg { width: 16px; height: 16px; transition: transform 200ms var(--ease); }
.home-link:hover { color: var(--fg); }
.home-link:hover svg { transform: translateX(-2px); }
.bar .actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.icon-btn { flex: none; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; cursor: pointer; border-radius: var(--r-btn);
  color: var(--fg); background: transparent; border: 1px solid var(--line-strong); transition: background 150ms var(--ease), border-color 150ms var(--ease); }
.icon-btn:hover { background: var(--chip); border-color: var(--fg-muted); }
.icon-btn svg { width: 18px; height: 18px; }
.icon-btn svg[hidden] { display: none; }
@media (max-width: 520px) { :root { --head-h: 60px; } .bar { gap: 12px; } .brand img { height: 24px; } .bar .actions { gap: 8px; } .icon-btn { width: 40px; height: 40px; } .bar .btn.small { padding: 10px 13px; font-size: 14px; } .home-link { font-size: 14px; } }
@media (max-width: 400px) { .home-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } .home-link svg { width: 18px; height: 18px; } }
@media (max-width: 340px) { .bar .actions .btn.small { display: none; } }

section { padding-block: clamp(56px, 8vw, 104px); }
.head { display: grid; gap: 16px; max-width: 760px; margin-bottom: clamp(28px, 4vw, 44px); }
.head .eyebrow { margin-bottom: -2px; }
.hero { padding-block: clamp(48px, 7vw, 96px) clamp(32px, 5vw, 56px); }
.hero .eyebrow { margin-bottom: 18px; }

/* Footer: plain, on the page background */
footer { margin-top: clamp(24px, 4vw, 48px); border-top: 1px solid var(--line); }
.foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 28px; padding-block: 28px 40px; font-size: 14px; color: var(--fg-muted); }
.foot img { height: 30px; width: auto; }
.foot .links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.foot a { text-decoration: none; color: var(--fg); }
.foot a:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (hover: none), (max-width: 760px) { .glass { -webkit-backdrop-filter: none; backdrop-filter: none; } }
@media (forced-colors: active) { .btn { border: 1px solid ButtonText; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } html { scroll-behavior: auto; } }
/* Open letter: reading layout */
.letter-hero h1 { font-size: clamp(34px, 4.8vw, 62px); line-height: 1.08; max-width: 18ch; }
.letter-hero .meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 26px; font-family: var(--font-display); font-weight: 500; font-size: 16px; color: var(--fg); }
.letter-hero .meta time { color: var(--fg-muted); }
.letter-hero .meta .to::after { content: "·"; margin-left: 18px; color: var(--fg-muted); }
@media (max-width: 560px) { .letter-hero .meta { display: grid; } .letter-hero .meta .to::after { content: none; } }
.letter-hero .btns { margin-top: 30px; }
.letter-hero .from { margin-top: 8px; font-size: 16px; color: var(--fg-muted); }
.figs-h { margin-bottom: 14px; font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--fg); }
.figs.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.decl { margin: 0 0 2em; padding: 18px 22px; border-radius: var(--r-md); background: var(--chip); font-size: 15.5px; line-height: 1.6; }
.decl b { display: block; margin-bottom: 4px; font-family: var(--font-display); font-weight: 600; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-ink); }
.letter a { color: var(--accent-ink); text-underline-offset: 3px; }
.letter h3 { font-size: 19px; line-height: 1.3; margin: 1.6em 0 0.7em; color: var(--ink); }
.fnref { font-size: 0.68em; line-height: 0; margin-left: 1px; }
.fnref a { text-decoration: none; font-weight: 600; padding: 0 2px; }
.sig-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sig-grid li { display: grid; gap: 4px; align-content: start; padding: 16px; border: 1px solid var(--line-strong); border-radius: var(--r-md); background: var(--glass-strong); }
.sig-logo { display: grid; place-items: center; height: 88px; margin-bottom: 8px; padding: 12px 16px; border-radius: var(--r-sm); background: #fff; border: 1px solid rgba(17, 17, 60, 0.08); }
.sig-logo img { max-height: 46px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.sig-logo img.sq { max-height: 64px; }
.sig-grid b { font-family: var(--font-display); font-weight: 600; font-size: 16px; line-height: 1.35; color: var(--ink); }
.sig-grid span:not(.sig-logo) { font-size: 14.5px; line-height: 1.45; color: var(--fg-muted); }
@media (max-width: 520px) { .sig-grid { grid-template-columns: 1fr; } }
.notes { margin-top: clamp(40px, 5vw, 56px); }
.notes h2 { margin-top: 0; font-size: 18px; }
.fn-list, .src-list { margin: 0; padding-left: 1.4em; font-size: 14px; line-height: 1.6; color: var(--fg-muted); display: grid; gap: 6px; }
.src-list a, .fn-list a { overflow-wrap: anywhere; }
.fnback { text-decoration: none; }

.md-quote { margin: 0; padding-top: clamp(28px, 4vw, 40px); border-top: 1px solid var(--line-strong); display: grid; gap: 18px; max-width: 64ch; }
.md-quote blockquote { margin: 0; display: grid; gap: 0.9em; font-family: var(--font-display); font-weight: 500; font-size: clamp(19px, 1.9vw, 24px); line-height: 1.5; letter-spacing: -0.005em; color: var(--ink); }
.md-quote blockquote p:first-child::before { content: "“"; margin-left: -0.45em; color: var(--accent-ink); }
.md-quote blockquote p:last-child::after { content: "”"; color: var(--accent-ink); }
.md-quote figcaption { display: grid; gap: 2px; font-size: 15px; color: var(--fg-muted); }
.md-quote figcaption b { font-family: var(--font-display); font-weight: 600; color: var(--fg); }
@media (max-width: 560px) { .md-quote blockquote p:first-child::before { margin-left: 0; } }
.figs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.figs li { display: grid; align-content: start; gap: 6px; padding: 20px clamp(14px, 2vw, 24px); border-left: 1px solid var(--line); }
.figs li:first-child { border-left: 0; padding-left: 0; }
.figs b { font-family: var(--font-display); font-weight: 600; font-size: clamp(28px, 3vw, 38px); line-height: 1.05; letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.figs span { font-size: 15px; line-height: 1.45; color: var(--fg-muted); }
.figs-cap { margin-top: 12px; font-size: 14px; color: var(--fg-muted); }
.figs-cap a { color: var(--accent-ink); text-underline-offset: 3px; }
@media (max-width: 860px) {
  .figs, .figs.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .figs li:nth-child(3) { border-left: 0; padding-left: 0; }
  .figs li:nth-child(n+3) { border-top: 1px solid var(--line); }
  .figs li:nth-child(2n) { padding-right: 0; }
}
@media (max-width: 359px) {
  .figs { grid-template-columns: 1fr; }
  .figs li { border-left: 0; padding: 16px 0; }
  .figs li + li { border-top: 1px solid var(--line); }
}

.reading { display: grid; grid-template-columns: minmax(0, 68ch) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); padding-block: clamp(40px, 6vw, 72px) clamp(40px, 6vw, 72px); align-items: start; }
.letter { font-size: 18px; line-height: 1.7; color: var(--fg); min-width: 0; }
.letter > p + p { margin-top: 1.25em; }
.letter h2 { font-size: clamp(22px, 2.2vw, 26px); line-height: 1.25; letter-spacing: -0.01em; margin: 2.2em 0 0.9em; }
.asks { list-style: none; margin: 0; padding: 0; counter-reset: ask; border-top: 1px solid var(--line-strong); }
.asks li { counter-increment: ask; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.asks li::before { content: counter(ask, decimal-leading-zero); font-family: var(--font-display); font-weight: 600; font-size: 15px; line-height: 1.95; color: var(--accent-ink); font-variant-numeric: tabular-nums; }
.asks + p { margin-top: 2em; }
.signoff { margin-top: 2.4em; padding-top: 24px; border-top: 1px solid var(--line-strong); font-size: 18px; line-height: 1.6; }
.signoff b { display: block; font-family: var(--font-display); font-weight: 600; font-size: 20px; color: var(--ink); }
.signoff span { color: var(--fg-muted); }
.signatories { margin-top: clamp(48px, 6vw, 72px); }
.signatories h2 { margin-top: 0; }
.sig-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-strong); }
.sig-list li { padding: 14px 0; border-bottom: 1px solid var(--line); font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--ink); }
.sig-more { margin-top: 14px; font-size: 16px; color: var(--fg-muted); }

.side { position: sticky; top: calc(var(--head-h) + 32px); max-width: 300px; padding: 22px; display: grid; gap: 14px; }
.side p { font-size: 15px; line-height: 1.5; color: var(--fg-muted); }
.side h2 { font-size: 19px; line-height: 1.3; letter-spacing: 0; }
.side .eyebrow { margin-bottom: -6px; }
.side .btn { width: 100%; }
.side a.tlink { font-size: 14px; }
@media (max-width: 1080px) {
  .reading { grid-template-columns: minmax(0, 1fr); }
  .letter { max-width: 68ch; }
  .side { display: none; }
}

.closing { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px clamp(28px, 5vw, 64px); align-items: center; padding: clamp(28px, 4vw, 52px); }
.closing h2 { font-size: clamp(28px, 3.4vw, 40px); }
.closing .stack { gap: 14px; }
.closing .eyebrow { margin-bottom: -4px; }
.note { font-size: 14px; color: var(--fg-muted); }
.closing .note { font-size: 15px; }
.closing .note a { color: var(--accent-ink); text-underline-offset: 3px; }
@media (max-width: 760px) { .closing { grid-template-columns: 1fr; } }
.closing-sec { padding-block: 0 clamp(48px, 7vw, 88px); }

/* Cookie consent */
.consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 460px; padding: 18px 20px; display: grid; gap: 12px;
  border-radius: var(--r-md); background: var(--glass-strong); border: 1px solid var(--line-strong); box-shadow: 0 16px 40px -16px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); font-size: 15px; line-height: 1.5; color: var(--fg); }
.consent[hidden] { display: none; }
.consent b { font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--ink); }
.consent p { margin: 0; color: var(--fg-muted); }
.consent a { color: var(--accent-ink); text-underline-offset: 3px; }
.consent .btns { display: flex; flex-wrap: wrap; gap: 8px; }
.cookie-settings { padding: 0; border: 0; background: none; font: inherit; color: var(--fg); cursor: pointer; }
.cookie-settings:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Elementor adapter: page wrappers and native form messages */
.elementor-location-header, .elementor-location-footer { display: contents; }
.e-form-success-message-base, .e-form-error-message-base { display: none; }
form.form-state-success .e-form-success-message-base, form.form-state-error .e-form-error-message-base { display: block; }
