/*
 * Elisa Rosa Quarta — warm botanical book, production foundation v1.0
 * Load after Elementor/WPForms CSS. Only ERQ content/template scopes are styled.
 * No runtime imports, cursor overrides, generated copy, or JS-dependent content.
 * Markup, font provenance and integration requirements: ../STYLE-CONTRACT.md
 */

@font-face {
  font-family: "Newsreader";
  src: url("fonts/newsreader-roman.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("fonts/newsreader-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Midden";
  src: url("fonts/midden.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* Tokens deliberately do not live on :root or body. */
:is(.erq-site, .erq-header, .erq-footer) {
  --erq-paper: #fffaf2;
  --erq-paper-2: #f6eee2;
  --erq-ink: #3e3b47;
  --erq-ink-soft: #6b6773;
  --erq-rose: #bf8081;
  --erq-rose-deep: #93565a;
  --erq-sage: #d7e3c5;
  --erq-slate: #8fa7a8;
  --erq-slate-deep: #5e7677;
  --erq-label-ink: #536b6c;
  --erq-line: #d9d2c6;
  --erq-field-line: #877c78;
  --erq-error: #7a3a3e;
  --erq-sage-ink: #4f5a49;
  --erq-text: "Newsreader", Georgia, "Times New Roman", serif;
  --erq-display: "Midden", "Newsreader", Georgia, serif;
  --erq-slow: cubic-bezier(.25, .1, .25, 1);
  --erq-wrap: 70rem;
  --erq-gutter: clamp(1rem, 4vw, 3.5rem);
  --erq-section-space: clamp(4rem, 8vw, 6.875rem);
  --erq-measure: 62ch;
  --widgets-spacing: 0;
  --widgets-spacing-row: 0;
  --widgets-spacing-column: 0;
  box-sizing: border-box;
  min-inline-size: 0;
  color: var(--erq-ink);
  background: var(--erq-paper);
  font-family: var(--erq-text);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  font-optical-sizing: auto;
  text-align: start;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

:is(.erq-site, .erq-header, .erq-footer) :where(*, *::before, *::after) {
  box-sizing: border-box;
}

:is(.erq-site, .erq-header, .erq-footer) :where(img, svg, video) {
  max-inline-size: 100%;
}

:is(.erq-site, .erq-header, .erq-footer) :where(img) {
  display: block;
  block-size: auto;
}

:is(.erq-site, .erq-header, .erq-footer) :where(a) {
  color: var(--erq-rose-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  text-decoration-skip-ink: auto;
  overflow-wrap: anywhere;
  transition: color .6s var(--erq-slow), text-decoration-color .6s var(--erq-slow);
}

:is(.erq-site, .erq-header, .erq-footer) :where(a:hover) {
  color: var(--erq-ink);
}

:is(.erq-site, .erq-header, .erq-footer) :where(button, input, select, textarea) {
  font-family: var(--erq-text);
}

:is(.erq-site, .erq-header, .erq-footer) :focus-visible {
  outline: 2px solid var(--erq-rose-deep);
  outline-offset: 4px;
}

:is(.erq-site, .erq-header, .erq-footer) [hidden] {
  display: none !important;
}

:is(.erq-site, .erq-header, .erq-footer) ::selection {
  color: var(--erq-ink);
  background: var(--erq-sage);
}

.erq-site {
  inline-size: 100%;
  --widgets-spacing: 0;
  --widgets-spacing-row: 0;
  --widgets-spacing-column: 0;
}

.erq-site :where(p, ul, ol, dl, figure, blockquote) {
  margin-block: 0 1em;
}

.erq-site :where(h1, h2, h3, h4, h5, h6) {
  margin-block: 0 .5em;
  color: var(--erq-ink);
  font-family: var(--erq-display);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}

.erq-site .elementor-widget-heading .elementor-heading-title {
  color: inherit;
  font-family: var(--erq-display);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .015em;
}

.erq-site .elementor-widget-text-editor {
  color: inherit;
  font-family: var(--erq-text);
  font-size: inherit;
  line-height: inherit;
}

.erq-site :where(h2) { font-size: clamp(1.75rem, 3vw, 2.625rem); }
.erq-site :where(h3) { font-size: clamp(1.375rem, 2vw, 1.75rem); }
.erq-site :where(h4, h5, h6) { font-size: 1.125rem; }
.erq-site :where(strong, b) { font-weight: 600; }
.erq-site :where(em, i, cite) { font-style: italic; }

/* Semantic utilities also work on Elementor widget wrappers. */
:is(.erq-site, .erq-header, .erq-footer) .erq-sr-only:not(:focus):not(:active) {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.erq-header .erq-skip-link {
  position: absolute;
  inset-block-start: .5rem;
  inset-inline-start: var(--erq-gutter);
  z-index: 100;
  padding: .5rem .875rem;
  color: var(--erq-ink);
  background: var(--erq-paper);
  border: 1px solid var(--erq-rose-deep);
  font-size: 1rem;
}

.erq-header .erq-skip-link:not(:focus) {
  clip-path: inset(50%);
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  white-space: nowrap;
}

.erq-site .erq-muted { color: var(--erq-ink-soft); }
.erq-site .erq-small { font-size: .9375rem; }

.erq-site .erq-eyebrow,
.erq-site .erq-eyebrow :is(p, .elementor-heading-title) {
  margin-block: 0 .875rem;
  color: var(--erq-label-ink);
  font: 500 .75rem/1.5 var(--erq-text);
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Full-width bands and bounded content. Do not constrain the Elementor document. */
.erq-site .erq-band {
  inline-size: 100%;
  max-inline-size: none;
  padding: var(--erq-section-space) var(--erq-gutter);
  gap: 0;
}

.erq-site .erq-band--paper { background: var(--erq-paper-2); }

.erq-site .erq-wrap,
.erq-site .erq-band > .e-con-inner {
  inline-size: 100%;
  max-inline-size: var(--erq-wrap);
  margin-inline: auto;
  padding: 0;
}

.erq-site.erq-page,
.erq-site .erq-page {
  inline-size: 100%;
  max-inline-size: calc(var(--erq-wrap) + 2 * var(--erq-gutter));
  margin-inline: auto;
  padding: clamp(3.5rem, 7vw, 6.5rem) var(--erq-gutter) var(--erq-section-space);
}

.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact, .erq-hero) > .e-con-inner {
  grid-column: 1 / -1;
  inline-size: 100%;
  max-inline-size: none;
  margin: 0;
  padding: 0;
}

.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact) :where(.e-con, .elementor-widget) {
  min-inline-size: 0;
}

/* Header: shared design, three independent language-bound WP templates. */
.erq-header {
  position: relative;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  inline-size: 100%;
  padding: .875rem var(--erq-gutter);
  border-block-end: 1px solid var(--erq-line);
}

.erq-header :is(.erq-header-inner, .erq-header-right),
.erq-header > .e-con-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 2.5vw, 2rem);
  padding: 0;
}

.erq-header :is(.erq-header-inner),
.erq-header > .e-con-inner {
  inline-size: 100%;
  max-inline-size: 78rem;
  margin-inline: auto;
}

.erq-header .erq-header-right { margin-inline-start: auto; }

.erq-header :is(.erq-header-brand, .erq-header-navigation, .erq-languages) {
  flex: 0 1 auto;
  inline-size: auto;
  max-inline-size: 100%;
  margin-block: 0;
}

.erq-header .erq-header-brand { flex-shrink: 0; }
.erq-header .erq-header-navigation { margin-inline-start: auto; }
.erq-header .erq-languages { flex-shrink: 0; }

.erq-header .erq-brand,
.erq-header .erq-brand > a,
.erq-header .erq-brand > .elementor-widget-container > a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .75rem;
  min-block-size: 3rem;
  color: var(--erq-ink);
  text-decoration: none;
}

.erq-header .erq-brand img,
.erq-header .erq-brand [data-erq-rose] {
  inline-size: 3rem;
  block-size: 3rem;
  object-fit: contain;
}

.erq-header [data-erq-rose] {
  display: block;
  position: relative;
  overflow: visible;
}

.erq-header [data-erq-rose] svg { display: block; overflow: visible; }
.erq-header [data-erq-rose-image] { transform-origin: center; }

.erq-header .erq-brand-name {
  color: var(--erq-ink);
  font: 400 1.0625rem/1.2 var(--erq-display);
  letter-spacing: .08em;
}

.erq-header .erq-nav {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.25vw, 1.875rem);
  font: 500 .8125rem/1.35 var(--erq-text);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.erq-header .erq-nav :is(ul, .elementor-nav-menu, .hfe-nav-menu) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(1rem, 2.25vw, 1.875rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.erq-header .erq-nav :is(li, .menu-item) { margin: 0; padding: 0; }

.erq-header .erq-nav a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  padding: .5rem 0;
  border-block-end: 1px solid transparent;
  color: var(--erq-ink-soft);
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  background: transparent;
}

.erq-header .erq-nav :is(a:hover, a:focus-visible, a[aria-current="page"], a.erq-current-parent, a[data-erq-current-ancestor], .current-menu-item > a, .current_page_item > a) {
  color: var(--erq-ink);
  border-block-end-color: var(--erq-rose);
}

.erq-header .erq-nav :is(.erq-nav-glide, [data-erq-hairline]) {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  block-size: 1px;
  inline-size: 0;
  background: var(--erq-rose);
  pointer-events: none;
}

/* JS sets this only after a correctly positioned single hairline exists. */
.erq-header .erq-nav[data-erq-hairline-ready] a { border-block-end-color: transparent; }

:is(.erq-header, .erq-footer) .erq-languages,
:is(.erq-header, .erq-footer) .erq-languages ul {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font: 500 .75rem/1.3 var(--erq-text);
  letter-spacing: .1em;
}

:is(.erq-header, .erq-footer) .erq-languages :is(li, p) { margin: 0; }

:is(.erq-header, .erq-footer) .erq-languages .cpel-switcher__list {
  display: flex;
  flex-wrap: nowrap;
  gap: .25rem;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

:is(.erq-header, .erq-footer) .erq-languages .cpel-switcher__lang { margin: 0; padding: 0; }
:is(.erq-header, .erq-footer) .erq-languages .cpel-switcher__flag { display: none; }
:is(.erq-header, .erq-footer) .erq-languages .cpel-switcher__code { margin: 0; font: inherit; text-transform: uppercase; }

:is(.erq-header, .erq-footer) .erq-languages :is(a, span[aria-current]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 2rem;
  min-block-size: 2.75rem;
  color: var(--erq-ink-soft);
  border-block-end: 1px solid transparent;
  text-decoration: none;
}

:is(.erq-header, .erq-footer) .erq-languages :is([aria-current], .current-lang > a, .cpel-switcher__lang--active > a, .cpel-switcher__lang--current > a) {
  color: var(--erq-ink);
  border-block-end-color: var(--erq-rose);
}

.erq-header [data-erq-menu-toggle] { display: none; }

.erq-header :is([data-erq-menu-toggle], [data-erq-menu-close]) {
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-inline-size: 2.75rem;
  min-block-size: 2.75rem;
  padding: .625rem;
  color: var(--erq-ink);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0;
  font: 400 1rem/1.2 var(--erq-text);
}

.erq-header :is([data-erq-menu-toggle], [data-erq-menu-close]):hover {
  border-color: var(--erq-line);
  color: var(--erq-rose-deep);
  background: transparent;
}

.erq-header .erq-menu-icon {
  display: block;
  inline-size: 1.375rem;
  block-size: .875rem;
  border-block: 1px solid currentColor;
  position: relative;
}

.erq-header .erq-menu-icon::after {
  content: "";
  position: absolute;
  inset-inline: .375rem 0;
  inset-block-start: 50%;
  border-block-start: 1px solid currentColor;
}

.erq-header [data-erq-menu-panel] { position: static; }
.erq-header [data-erq-menu-panel][data-erq-mobile-only] { display: none; }

.erq-header[data-erq-menu-ready] [data-erq-menu-panel].is-open {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  inline-size: 100%;
  block-size: 100vh;
  block-size: 100dvh;
  padding: max(1.25rem, env(safe-area-inset-top)) max(var(--erq-gutter), env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(var(--erq-gutter), env(safe-area-inset-left));
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--erq-ink);
  background: var(--erq-paper);
}

.erq-header .erq-menu-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.erq-header [data-erq-menu-close] { display: inline-flex; margin-inline-start: auto; }

.erq-header [data-erq-menu-panel] :is(.erq-mobile-nav, .erq-mobile-nav ul),
.erq-header[data-erq-menu-ready] [data-erq-menu-panel].is-open :is(.erq-nav, .erq-nav ul) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.erq-header .erq-mobile-nav a,
.erq-header [data-erq-menu-panel].is-open .erq-nav a {
  display: block;
  padding: .875rem 0;
  border-block-end: 1px solid var(--erq-line);
  color: var(--erq-ink);
  text-decoration: none;
  font: 400 clamp(1.75rem, 7vw, 2.5rem)/1.2 var(--erq-display);
  letter-spacing: .015em;
}

.erq-header .erq-mobile-nav :is(a[aria-current="page"], .current-menu-item > a) { color: var(--erq-rose-deep); }

.erq-header .erq-menu-contact {
  margin-block-start: auto;
  padding-block-start: 1.5rem;
  color: var(--erq-ink-soft);
  font-size: 1rem;
  line-height: 1.5;
}

.erq-header .erq-menu-contact p { margin-block: 0 .5rem; }

/* Hero: mirrored images flank the type; both follow the copy on small screens. */
.erq-site .erq-hero,
.erq-site .erq-hero > .e-con-inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: 0;
}

.erq-site .erq-hero {
  isolation: isolate;
  inline-size: 100%;
  max-inline-size: none;
  padding: clamp(4.5rem, 10vw, 8.125rem) var(--erq-gutter) clamp(4rem, 9vw, 6.875rem);
  overflow: hidden;
  text-align: center;
}

.erq-site .erq-hero :is(.erq-wordmark, .erq-tagline, .erq-place) {
  grid-column: 1 / -1;
  z-index: 1;
  justify-self: center;
  text-align: center;
}

.erq-site .erq-hero .erq-wordmark {
  inline-size: min(35rem, 62%);
  margin: 0;
  font-size: clamp(2rem, 4.8vw, 4rem);
  line-height: 1.1;
}

.erq-site .erq-wordmark img { inline-size: 100%; margin-inline: auto; }

.erq-site .erq-hero .erq-tagline,
.erq-site .erq-hero .erq-tagline :is(p, .elementor-heading-title) {
  color: var(--erq-ink-soft);
  font: italic 300 clamp(1.25rem, 2.2vw, 1.625rem)/1.4 var(--erq-text);
  letter-spacing: 0;
}

.erq-site .erq-hero .erq-tagline {
  inline-size: min(36rem, 64%);
  margin-block: 1.625rem .5rem;
}

.erq-site .erq-hero .erq-tagline p { margin: 0; }

.erq-site .erq-hero .erq-place,
.erq-site .erq-hero .erq-place :is(p, .elementor-heading-title) {
  margin: 0;
  color: var(--erq-slate-deep);
  font: 500 .75rem/1.5 var(--erq-text);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.erq-site .erq-hero .erq-branch {
  position: absolute;
  z-index: 0;
  inset-block-start: 50%;
  inline-size: clamp(7.5rem, 18vw, 15.5rem);
  margin: 0;
  transform: translateY(-50%);
  pointer-events: none;
}

.erq-site .erq-hero .erq-branch--left { inset-inline-start: clamp(-2rem, 1.5vw, 2.5rem); }
.erq-site .erq-hero .erq-branch--right { inset-inline-end: clamp(-2rem, 1.5vw, 2.5rem); }

.erq-site .erq-hero .erq-branch img {
  inline-size: 100%;
  opacity: .78;
  transform-origin: 50% 100%;
}

/* Optional only when using the SAME source image; paired mirrored files need no flip. */
.erq-site .erq-branch--mirror img { scale: -1 1; }

/* About-at-a-glance, not a sales panel. */
.erq-site .erq-intro,
.erq-site .erq-intro > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
}

.erq-site .erq-intro {
  inline-size: 100%;
  max-inline-size: 65rem;
  margin-inline: auto;
}

.erq-site .erq-portrait {
  position: relative;
  isolation: isolate;
  inline-size: 100%;
  aspect-ratio: 1;
  margin: 0;
}

.erq-site .erq-portrait > .elementor-widget-container,
.erq-site .erq-portrait :is(picture, a) {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}

.erq-site .erq-portrait img {
  inline-size: 100%;
  block-size: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
}

.erq-site .erq-portrait::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -.25rem -.875rem .875rem .25rem;
  border: 1px solid var(--erq-rose);
  border-radius: 50%;
  pointer-events: none;
}

.erq-site .erq-intro-name,
.erq-site .erq-intro-name .elementor-heading-title {
  margin-block: 0 .5rem;
  color: var(--erq-ink);
  font: 400 clamp(2rem, 3.6vw, 2.75rem)/1.08 var(--erq-display);
  letter-spacing: .025em;
}

.erq-site .erq-intro-role {
  margin-block-end: 1.625rem;
  color: var(--erq-ink-soft);
  font: italic 300 1.25rem/1.4 var(--erq-text);
}

.erq-site :is(.erq-stance, .erq-pullquote) {
  max-inline-size: 35ch;
  margin-block: 1.5rem 1.75rem;
  padding-inline-start: 1.375rem;
  border-inline-start: 1px solid var(--erq-rose);
  color: var(--erq-ink);
  font: italic 300 clamp(1.25rem, 2vw, 1.4375rem)/1.45 var(--erq-text);
}

.erq-site :is(.erq-stance, .erq-pullquote) :is(p, blockquote) {
  max-inline-size: none;
  margin: 0;
  text-indent: 0;
}

.erq-site .erq-facts,
.erq-site .erq-facts :is(ul, dl) {
  margin: 0;
  padding: 0;
  list-style: none;
}

.erq-site .erq-facts { max-inline-size: 29rem; margin-block-end: 1.625rem; }

.erq-site .erq-facts :is(li, .erq-fact) {
  display: grid;
  grid-template-columns: minmax(6rem, 7.5rem) minmax(0, 1fr);
  gap: .5rem .875rem;
  padding-block: .625rem;
  border-block-start: 1px solid var(--erq-line);
  font-size: 1rem;
  line-height: 1.45;
}

.erq-site .erq-facts :is(li, .erq-fact):last-child { border-block-end: 1px solid var(--erq-line); }

.erq-site .erq-facts :is(dt, .erq-fact-label, li > span:first-child) {
  color: var(--erq-label-ink);
  font: 500 .6875rem/1.9 var(--erq-text);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.erq-site .erq-facts :is(dd, p) { margin: 0; }

.erq-site .erq-pull {
  inline-size: 100%;
  max-inline-size: 51.25rem;
  margin-inline: auto;
  text-align: center;
}

.erq-site .erq-pull :is(blockquote, .erq-pull-text) {
  margin: 0;
  color: var(--erq-ink);
  font: italic 300 clamp(1.5rem, 3vw, 2.125rem)/1.4 var(--erq-text);
}

.erq-site .erq-pull :is(blockquote, .erq-pull-text) p { margin: 0; }
.erq-site .erq-pull .erq-link { margin-block-start: 1.625rem; }

/* Title / one bar / meaning. No extra ornament is generated. */
.erq-site .erq-page-title {
  inline-size: 100%;
  max-inline-size: 58rem;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.erq-site .erq-page-title :is(h1, h2, .elementor-heading-title) {
  margin: 0;
  color: var(--erq-ink);
  font: 400 clamp(2rem, 4.4vw, 3rem)/1.12 var(--erq-display);
  letter-spacing: .02em;
  text-wrap: balance;
  hyphens: auto;
}

.erq-site .erq-page-title :is(h1, h2, .elementor-heading-title)::after {
  content: "";
  display: block;
  inline-size: min(10rem, 42%);
  block-size: 1px;
  margin: .875rem auto;
  background: var(--erq-slate);
}

.erq-site .erq-page-number {
  margin-block-end: .75rem;
  color: var(--erq-slate-deep);
  font: 400 1.875rem/1.1 var(--erq-display);
}

.erq-site .erq-page-subtitle {
  max-inline-size: 52ch;
  margin-inline: auto;
  color: var(--erq-ink-soft);
  font: italic 300 1.125rem/1.5 var(--erq-text);
}

.erq-site .erq-page-subtitle p { margin: 0; }
.erq-site .erq-page-title--left { margin-inline: 0; text-align: start; }
.erq-site .erq-page-title--left :is(h1, h2, .elementor-heading-title)::after { margin-inline: 0; }
.erq-site .erq-page-title--left .erq-page-subtitle { margin-inline: 0; }

/* The index: editable text, no fixed heights or clipped German titles. */
.erq-site .erq-areas,
.erq-site .erq-areas > .e-con-inner {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 1rem;
}

.erq-site .erq-areas {
  inline-size: 100%;
  max-inline-size: 70rem;
  margin-inline: auto;
}

.erq-site .erq-card,
.erq-site .erq-card > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0;
}

.erq-site .erq-card {
  position: relative;
  isolation: isolate;
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 22rem;
  padding: 1.375rem 1.125rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 1.375rem;
  overflow: hidden;
  color: var(--erq-ink);
  background: var(--erq-sage);
  text-decoration: none;
  transition: transform 1.2s var(--erq-slow), box-shadow 1.2s var(--erq-slow);
}

.erq-site .erq-card > .e-con-inner {
  flex: 1;
  inline-size: 100%;
  max-inline-size: none;
  margin: 0;
  padding: 0;
}

.erq-site .erq-card :is(.erq-card-art, img.erq-card-art) {
  position: absolute;
  z-index: -2;
  inset-block-start: -8%;
  inset-inline-end: -28%;
  inline-size: 120%;
  max-inline-size: none;
  margin: 0;
  pointer-events: none;
}

.erq-site .erq-card .erq-card-art img { inline-size: 100%; }

.erq-site .erq-card .erq-card-art img,
.erq-site .erq-card img.erq-card-art {
  filter: invert(1) brightness(1.6);
  opacity: .72;
  transform-origin: 70% 10%;
  transition: transform 2.4s var(--erq-slow), opacity 1.6s var(--erq-slow);
}

/* Readable text sits on a sage veil; white linework remains visible above it. */
.erq-site .erq-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, transparent 12%, rgb(215 227 197 / .82) 46%, var(--erq-sage) 100%);
  pointer-events: none;
}

.erq-site .erq-card-number,
.erq-site .erq-card-number .elementor-heading-title {
  color: var(--erq-sage-ink);
  font: 400 1.75rem/1.1 var(--erq-display);
  letter-spacing: 0;
}

.erq-site .erq-card .erq-card-number {
  margin-block: 0 auto;
  padding-block-end: 3.5rem;
}

.erq-site .erq-card-title,
.erq-site .erq-card-title .elementor-heading-title {
  color: var(--erq-ink);
  font: 400 clamp(1.25rem, 1.9vw, 1.5rem)/1.15 var(--erq-display);
  letter-spacing: .015em;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.erq-site .erq-card .erq-card-title { margin-block: 0 .625rem; }

.erq-site .erq-card .erq-card-excerpt {
  margin-block: 0 .875rem;
  color: var(--erq-sage-ink);
  font: italic 400 .9375rem/1.45 var(--erq-text);
}

.erq-site .erq-card :is(.erq-card-excerpt p, .erq-card-number p) { margin: 0; }

.erq-site .erq-card .erq-card-read,
.erq-site .erq-card .erq-card-read a {
  color: var(--erq-ink);
  font: 500 .6875rem/1.5 var(--erq-text);
  letter-spacing: .13em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.erq-site .erq-card a { color: var(--erq-ink); }

/* With a container card, make its one title link cover the card. No nested links. */
.erq-site .erq-card .erq-card-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

.erq-site .erq-card:focus-within {
  outline: 2px solid var(--erq-rose-deep);
  outline-offset: 4px;
}

/* Book pages: the default is ragged-right, in the current document language. */
.erq-site .erq-book {
  inline-size: 100%;
  max-inline-size: var(--erq-measure);
  margin-inline: auto;
  color: var(--erq-ink);
  font: 400 1.125rem/1.6 var(--erq-text);
  font-optical-sizing: auto;
  text-align: start;
  overflow-wrap: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}

.erq-site .erq-book p {
  max-inline-size: var(--erq-measure);
  margin: 0;
  text-indent: 0;
  orphans: 3;
  widows: 3;
}

.erq-site .erq-book p + p,
.erq-site .erq-book .elementor-widget-text-editor + .elementor-widget-text-editor > .elementor-widget-container > p:first-child {
  text-indent: 1.6em;
}

.erq-site .erq-book :is(h2, h3, h4, h5, h6) {
  margin-block: 1.75em .65em;
  break-after: avoid;
}

.erq-site .erq-book :is(ul, ol) { margin-block: 1em; padding-inline-start: 1.35em; }
.erq-site .erq-book li + li { margin-block-start: .35em; }
.erq-site .erq-book :is(blockquote, .erq-pullquote) { margin-block: 2rem; }
.erq-site .erq-book :is(blockquote, .erq-pullquote) p { text-indent: 0; }
.erq-site .erq-book :is(hr, .erq-section-break) { margin-block: 2rem; }
.erq-site .erq-book hr { border: 0; border-block-start: 1px solid var(--erq-line); }
.erq-site .erq-book .erq-inline-pullquote {
  display: block;
  max-inline-size: 35ch;
  margin-block: 2rem;
  padding-inline-start: 1.375rem;
  border-inline-start: 1px solid var(--erq-rose);
  font: italic 300 clamp(1.25rem, 2vw, 1.4375rem)/1.45 var(--erq-text);
  text-indent: 0;
}

.erq-site .erq-book .erq-no-indent { text-indent: 0; }
.erq-site .erq-book .erq-paragraph-break { margin-block-start: 1em; text-indent: 0; }

.erq-site .erq-area-layout,
.erq-site .erq-area-layout > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  align-items: start;
  gap: clamp(2rem, 6vw, 5rem);
}

.erq-site .erq-area-layout {
  inline-size: 100%;
  max-inline-size: 65rem;
  margin-inline: auto;
}

.erq-site .erq-area-art {
  inline-size: 100%;
  max-inline-size: 21.25rem;
  margin-inline: auto;
  color: var(--erq-rose);
}

.erq-site .erq-area-art > img,
.erq-site .erq-area-art > .elementor-widget-container > img {
  inline-size: 100%;
  opacity: .55;
}

.erq-site .erq-pager,
.erq-site .erq-pager > .e-con-inner {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}

.erq-site .erq-pager {
  inline-size: 100%;
  max-inline-size: 65rem;
  margin: 3.5rem auto 0;
  padding-block-start: 1.375rem;
  border-block-start: 1px solid var(--erq-line);
  font-size: .9375rem;
}

.erq-site .erq-pager > .e-con-inner { inline-size: 100%; max-inline-size: none; padding: 0; }
.erq-site .erq-pager :is(.erq-prev, .erq-next) { flex: 1 1 14rem; max-inline-size: 30rem; }
.erq-site .erq-pager .erq-next { margin-inline-start: auto; text-align: end; }

.erq-site .erq-pager a {
  display: inline-flex;
  align-items: baseline;
  gap: .625rem;
  min-block-size: 2.75rem;
  padding-block: .5rem;
  color: var(--erq-ink-soft);
  text-decoration: none;
}

.erq-site .erq-pager :is(b, .erq-pager-title) {
  color: var(--erq-ink);
  font: 400 1.125rem/1.35 var(--erq-display);
  text-decoration: underline;
  text-decoration-color: var(--erq-line);
  text-underline-offset: .18em;
}

.erq-site .erq-pager a:hover :is(b, .erq-pager-title) { color: var(--erq-rose-deep); }

/* Quiet text links can be an anchor OR a Text Editor/heading widget wrapper. */
:is(.erq-site, .erq-footer) a.erq-link,
:is(.erq-site, .erq-footer) .erq-link a {
  display: inline-flex;
  align-items: baseline;
  gap: .625rem;
  min-block-size: 2.75rem;
  padding-block: .375rem;
  color: var(--erq-ink);
  font: 400 1.0625rem/1.5 var(--erq-text);
  text-decoration: underline;
  text-decoration-color: var(--erq-rose);
  text-underline-offset: .25em;
  background: transparent;
  border: 0;
  border-radius: 0;
  white-space: normal;
}

:is(.erq-site, .erq-footer) .erq-link p { margin: 0; }
:is(.erq-site, .erq-footer) .erq-link .erq-link-label { border-block-end: 1px solid var(--erq-rose); }
:is(.erq-site, .erq-footer) .erq-link:has(.erq-link-label),
:is(.erq-site, .erq-footer) .erq-link a:has(.erq-link-label) { text-decoration: none; }

:is(.erq-site, .erq-footer) .erq-arrow {
  display: inline-block;
  flex: 0 0 auto;
  color: var(--erq-rose-deep);
  text-decoration: none;
  offset-path: path("M0 0 C10 -2 18 -12 12 -15 C6 -18 2 -8 8 -4 C12 -1 6 1 0 0");
  offset-rotate: 0deg;
  offset-distance: 0%;
}

/* Epigraphs: both languages remain in normal flow until JS explicitly enhances. */
.erq-site .erq-epigraph,
.erq-site [data-erq-epigraph] {
  max-inline-size: 48ch;
  margin-inline: auto;
  color: var(--erq-label-ink);
  font: italic 300 1.0625rem/1.45 var(--erq-text);
}

.erq-site [data-erq-original],
.erq-site [data-erq-translation] { display: block; }

.erq-site [data-erq-epigraph][data-erq-enhanced] { display: grid; }
.erq-site [data-erq-epigraph][data-erq-enhanced] > :is([data-erq-original], [data-erq-translation]) { grid-area: 1 / 1; }
.erq-site [data-erq-epigraph][data-erq-enhanced] > [data-erq-translate] { grid-row: 2; justify-self: start; }
.erq-site [data-erq-translation] { color: var(--erq-ink-soft); }

.erq-site .erq-epigraph :is(p, blockquote),
.erq-site [data-erq-epigraph] :is(p, blockquote) { margin: 0; }

.erq-site [data-erq-translate] {
  display: inline-block;
  max-inline-size: 100%;
  min-block-size: 2.75rem;
  padding: .25rem .125rem;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: inherit;
  white-space: normal;
}

.erq-site [data-erq-translate]:hover { color: var(--erq-ink); background: transparent; }

.erq-site .erq-epigraph-source,
.erq-site [data-erq-epigraph] cite {
  display: block;
  margin-block-start: .5rem;
  color: var(--erq-ink-soft);
  font: 500 .6875rem/1.6 var(--erq-text);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.erq-site .erq-about-end { margin-block-start: 3rem; }
.erq-site .erq-about-end :is(.erq-epigraph, [data-erq-epigraph]) { margin-inline: 0; }

/* Contact and native WPForms. Form behavior, labels and validation stay native. */
.erq-site .erq-contact,
.erq-site .erq-contact > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 4rem);
}

.erq-site .erq-contact {
  inline-size: 100%;
  max-inline-size: 62.5rem;
  margin-inline: auto;
}

.erq-site .erq-contact-info {
  align-self: start;
  inline-size: 100%;
  padding: clamp(1.25rem, 3vw, 1.875rem);
  border-radius: 1.375rem;
  background: var(--erq-paper-2);
}

.erq-site .erq-contact-info :is(.erq-contact-row, .erq-info-row) {
  padding-block: 1rem;
  border-block-start: 1px solid var(--erq-line);
}

.erq-site .erq-contact-info :is(.erq-contact-row, .erq-info-row):first-child { border: 0; padding-block-start: 0; }
.erq-site .erq-contact-info :is(.erq-contact-row, .erq-info-row):last-child { padding-block-end: 0; }

.erq-site .erq-contact-info :is(h2, h3, h4, .erq-info-label, .erq-eyebrow .elementor-heading-title) {
  margin-block: 0 .625rem;
  color: var(--erq-label-ink);
  font: 500 .75rem/1.4 var(--erq-text);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.erq-site .erq-contact-info :is(address, .erq-info-value) {
  margin: 0;
  color: var(--erq-ink);
  font: 400 clamp(1.25rem, 2vw, 1.4375rem)/1.4 var(--erq-display);
  overflow-wrap: anywhere;
}

.erq-site .erq-contact-info :is(a[href^="mailto:"], a[href^="tel:"]) {
  display: inline-block;
  padding-block: .25rem;
  color: var(--erq-ink);
  font-size: clamp(1.125rem, 1.75vw, 1.375rem);
  line-height: 1.5;
}

.erq-site .erq-contact-info p {
  margin-block: 0 .5rem;
  color: var(--erq-ink-soft);
  font-size: .9375rem;
  line-height: 1.5;
}

.erq-site .erq-contact-info p:last-child { margin-block-end: 0; }

/* Ongoing fees: one line, then a native disclosure with the reasons. No cursor change. */
.erq-site .erq-fee details { margin-block-start: .25rem; }
.erq-site .erq-fee summary { display: inline-flex; align-items: baseline; gap: .4em; list-style: none; color: var(--erq-ink); font-size: .9375rem; line-height: 1.5; }
.erq-site .erq-fee summary::-webkit-details-marker { display: none; }
.erq-site .erq-fee summary .erq-link-label { border-block-end: 1px solid var(--erq-rose); }
.erq-site .erq-fee summary .erq-arrow { color: var(--erq-rose-deep); transition: transform .7s var(--erq-slow); }
.erq-site .erq-fee details[open] summary .erq-arrow { transform: rotate(90deg); }
.erq-site .erq-fee .erq-fee-text { margin-block-start: .75rem; }
.erq-site .erq-fee .erq-fee-text p { margin-block: 0 .75rem; }
@media (prefers-reduced-motion: reduce) { .erq-site .erq-fee summary .erq-arrow { transition: none; } }

.erq-site .wpforms-container {
  --wpforms-field-background-color: transparent;
  --wpforms-field-border-color: var(--erq-field-line);
  --wpforms-field-text-color: var(--erq-ink);
  --wpforms-label-color: var(--erq-ink);
  --wpforms-label-sublabel-color: var(--erq-ink-soft);
  --wpforms-label-error-color: var(--erq-error);
  --wpforms-button-background-color: var(--erq-rose-deep);
  --wpforms-button-text-color: var(--erq-paper);
  --wpforms-field-border-radius: 0;
  margin: 0;
  padding: 0;
  color: var(--erq-ink);
  font: 400 1.125rem/1.5 var(--erq-text);
}

.erq-site .wpforms-container .wpforms-form { margin: 0; }
.erq-site .wpforms-container .wpforms-field { margin-block: 0; padding-block: 0 1.5rem; }

.erq-site .wpforms-container .wpforms-form .wpforms-field-label {
  margin-block-end: .5rem;
  padding: 0;
  color: var(--erq-ink);
  font: 500 .8125rem/1.5 var(--erq-text);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.erq-site .wpforms-container .wpforms-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="search"], select, textarea) {
  inline-size: 100%;
  max-inline-size: none;
  min-block-size: 2.75rem;
  block-size: auto;
  padding: .5rem .125rem .625rem;
  border: 0;
  border-block-end: 1px solid var(--erq-field-line);
  border-radius: 0;
  color: var(--erq-ink);
  background-color: transparent;
  box-shadow: none;
  font: 400 1.125rem/1.5 var(--erq-text);
  transition: border-color .6s var(--erq-slow), background-color .6s var(--erq-slow);
}

.erq-site .wpforms-container .wpforms-form textarea {
  min-block-size: 9rem;
  resize: vertical;
}

.erq-site .wpforms-container .wpforms-form :is(input, textarea)::placeholder {
  color: var(--erq-ink-soft);
  opacity: 1;
}

.erq-site .wpforms-container .wpforms-form :is(input, select, textarea):focus {
  border-color: var(--erq-rose-deep);
  outline: 2px solid var(--erq-rose-deep);
  outline-offset: 3px;
  box-shadow: none;
}

.erq-site .wpforms-container .wpforms-form :is(input, select, textarea):disabled {
  color: var(--erq-ink-soft);
  background-color: var(--erq-paper-2);
  opacity: 1;
}

.erq-site .wpforms-container .wpforms-form :is(input, select, textarea)[aria-invalid="true"],
.erq-site .wpforms-container .wpforms-form :is(input, select, textarea).wpforms-error {
  border-block-end: 2px solid var(--erq-error);
}

.erq-site .wpforms-container .wpforms-form :is(input[type="checkbox"], input[type="radio"]) {
  appearance: auto;
  inline-size: 1.125rem;
  block-size: 1.125rem;
  min-inline-size: 1.125rem;
  margin: .25rem .625rem .25rem 0;
  accent-color: var(--erq-rose-deep);
  vertical-align: top;
  box-shadow: none;
}

.erq-site .wpforms-container .wpforms-form :is(.wpforms-field-label-inline, .wpforms-field-sublabel, .wpforms-field-description),
.erq-site .erq-form-note {
  color: var(--erq-ink-soft);
  font: 400 .9375rem/1.5 var(--erq-text);
  letter-spacing: 0;
  text-transform: none;
}

.erq-site .wpforms-container .wpforms-form .wpforms-field-label-inline {
  display: inline-block;
  min-block-size: 1.5rem;
  max-inline-size: calc(100% - 2.25rem);
}

.erq-site .wpforms-container .wpforms-form :is(.wpforms-required-label, label.wpforms-error, em.wpforms-error, .wpforms-error-container) {
  color: var(--erq-error);
  font-family: var(--erq-text);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}

.erq-site .wpforms-container .wpforms-form :is(label.wpforms-error, em.wpforms-error) { padding-block-start: .5rem; }
.erq-site .wpforms-container .wpforms-submit-container { margin: 0; padding-block-start: .25rem; }

.erq-site .wpforms-container .wpforms-form button.wpforms-submit {
  min-inline-size: 6rem;
  min-block-size: 2.875rem;
  padding: .6875rem 1.625rem;
  border: 1px solid var(--erq-rose-deep);
  border-radius: 99px;
  color: var(--erq-rose-deep);
  background: transparent;
  box-shadow: none;
  font: 400 1rem/1.4 var(--erq-text);
  letter-spacing: .02em;
  text-decoration: none;
  white-space: normal;
  transition: color .7s var(--erq-slow), background-color .7s var(--erq-slow), border-color .7s var(--erq-slow);
}

.erq-site .wpforms-container .wpforms-form button.wpforms-submit:is(:hover, :focus-visible):not(:disabled) {
  color: var(--erq-paper);
  background: var(--erq-rose-deep);
  border-color: var(--erq-rose-deep);
}

.erq-site .wpforms-container .wpforms-form button.wpforms-submit:disabled {
  color: var(--erq-ink-soft);
  background: var(--erq-paper-2);
  border-color: var(--erq-field-line);
  opacity: 1;
}

.erq-site :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full) {
  margin: 0;
  padding: 1.5rem;
  border: 1px solid var(--erq-line);
  border-inline-start: 2px solid var(--erq-slate-deep);
  color: var(--erq-ink);
  background: var(--erq-paper-2);
  font: 400 1.125rem/1.6 var(--erq-text);
  overflow-wrap: anywhere;
}

.erq-site :is(.wpforms-confirmation-container, .wpforms-confirmation-container-full) p:last-child { margin-block-end: 0; }

.erq-site :is(.erq-form-status, [data-erq-form-status]) {
  margin-block: 1rem;
  color: var(--erq-ink-soft);
  font: italic 400 1rem/1.5 var(--erq-text);
}

/* Optional: apply to the native form widget only after reviewing field order. */
.erq-site .erq-form-two-up .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.5rem;
}

.erq-site .erq-form-two-up .wpforms-field-container > .wpforms-field {
  grid-column: 1 / -1;
  float: none;
  inline-size: 100%;
  margin-inline: 0;
}

.erq-site .erq-form-two-up .wpforms-field-container > :is(.wpforms-field-name, .wpforms-field-email) { grid-column: auto; }

/* Footer is an address and colophon, never a homepage contact band. */
.erq-footer {
  inline-size: 100%;
  padding: 2.125rem var(--erq-gutter) 1.625rem;
  border-block-start: 1px solid var(--erq-line);
  color: var(--erq-ink-soft);
  font-size: .9375rem;
  line-height: 1.5;
}

.erq-footer .erq-footer-inner,
.erq-footer > .e-con-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  inline-size: 100%;
  max-inline-size: 70rem;
  margin-inline: auto;
  padding: 0;
}

.erq-footer > .elementor-widget,
.erq-footer > .e-con-inner > .elementor-widget { inline-size: auto; max-inline-size: 100%; flex: 0 1 auto; }

.erq-footer .erq-footer-brand {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
}

.erq-footer :is(p, address) { margin: 0; font-style: normal; }
.erq-footer a { color: var(--erq-ink); }

.erq-footer :is(.erq-footer-links, .erq-footer-links ul) {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.erq-footer .erq-footer-links a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  text-decoration-color: var(--erq-line);
}

.erq-footer [data-erq-knot] {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 5.75rem;
  min-block-size: 2.75rem;
  padding: 0;
  color: var(--erq-rose-deep);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-family: var(--erq-text);
}

.erq-footer [data-erq-knot] svg { display: block; inline-size: 100%; block-size: auto; overflow: visible; }
.erq-footer [data-erq-knot] text { font-family: var(--erq-text); }

/* Selected whispers: quiet static artwork exists before JS. */
:is(.erq-site, .erq-header, .erq-footer) .erq-whisper-button {
  min-block-size: 2.75rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: inherit;
  white-space: normal;
}

:is(.erq-site, .erq-header, .erq-footer) .erq-whisper-button:hover { color: inherit; background: transparent; }
/* Kit/theme paint focused buttons slate (button:focus); a click must not leave a fill behind. */
:is(.erq-site, .erq-header, .erq-footer) :is(.erq-whisper-button, [data-erq-translate], [data-erq-menu-toggle], [data-erq-menu-close], .erq-panel-close):is(:focus, :active):not(:hover) { background: transparent; }
.erq-footer [data-erq-knot].erq-whisper-button { color: var(--erq-rose-deep); }
.erq-site .erq-whisper-button:is([data-erq-quilting], [data-erq-spool], [data-erq-peace]) { color: var(--erq-rose); }
.erq-site .erq-whisper-button[data-erq-bouquet] { color: var(--erq-slate-deep); }

.erq-site :is([data-erq-quilting], [data-erq-spool], [data-erq-peace]) {
  display: block;
  inline-size: min(20rem, 100%);
  margin: clamp(2.5rem, 6vw, 4rem) auto;
  padding: 0;
  border: 0;
  color: var(--erq-rose);
  background: transparent;
  font-family: var(--erq-text);
}

.erq-site :is([data-erq-quilting], [data-erq-spool], [data-erq-peace]) svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  overflow: visible;
}

.erq-site [data-erq-quilting] text { fill: var(--erq-slate-deep); font: italic 400 11px var(--erq-text); }

.erq-site [data-erq-bouquet] {
  position: relative;
  inline-size: min(16.25rem, 100%);
  aspect-ratio: 26 / 23;
  margin-inline: auto;
  padding: 0;
  color: var(--erq-slate-deep);
  border: 0;
  background: transparent;
}

.erq-site [data-erq-bouquet] svg { display: block; inline-size: 100%; block-size: auto; overflow: visible; }

.erq-site [data-erq-bouquet-real] {
  position: absolute;
  inset-inline-start: 35.385%;
  inset-block-start: 65.217%;
  inline-size: 26.923%;
  transform: scaleY(-1);
  opacity: .18;
}

.erq-site [data-erq-bouquet-virtual] {
  position: absolute;
  inset-inline-start: 31.538%;
  inset-block-start: 7.826%;
  inline-size: 35.385%;
  opacity: .9;
}

.erq-site [data-erq-pool] {
  display: flex;
  flex-direction: column;
  align-items: center;
  inline-size: min(17rem, 100%);
  margin-inline: auto;
}

.erq-site [data-erq-pool] img { inline-size: 72%; opacity: .6; }
.erq-site [data-erq-pool] img[data-erq-pool-reflection] { opacity: .28; }

.erq-site [data-erq-pool-reflection] {
  margin-block-start: 2px;
  opacity: .28;
  transform: scaleY(-1);
  transform-origin: 50% 50%;
  -webkit-mask-image: linear-gradient(to top, #000 0%, transparent 85%);
  mask-image: linear-gradient(to top, #000 0%, transparent 85%);
}

.erq-site [data-erq-pool-line] { inline-size: 100%; block-size: 1px; background: var(--erq-line); }

.erq-site [data-erq-relationships] {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 1.375rem;
  inline-size: min(21rem, 100%);
  padding-inline: 1rem;
  margin-inline: auto;
}

.erq-site [data-erq-relationships] img {
  inline-size: calc(50% - .6875rem);
  max-inline-size: 7.5rem;
  opacity: .78;
  transform-origin: 50% 100%;
}

.erq-site [data-erq-stem="b"] { max-inline-size: 6.5625rem; }

/* 002g: one plate, two branches; transforms and the thread are set by erq.js. */
.erq-site [data-erq-relationships][data-erq-rel] { display: block; padding-inline: 0; }
.erq-site [data-erq-rel] svg { display: block; inline-size: 100%; block-size: auto; overflow: visible; opacity: .8; }
.erq-site [data-erq-rel] :is(path, ellipse) { fill: none; stroke: var(--erq-rose); stroke-width: 1.1px; stroke-linecap: round; vector-effect: non-scaling-stroke; }

/* 004h: the hip has come loose from its stalk; layered over the plate, it trembles about its broken end. */
.erq-site [data-erq-fall] { position: relative; inline-size: 100%; opacity: .62; }
.erq-site [data-erq-fall] img { display: block; inline-size: 100%; block-size: auto; }
.erq-site [data-erq-fall] [data-erq-fall-hip] { position: absolute; inset: 0; block-size: 100%; transform-origin: 67.2% 58.6%; }
@keyframes erq-tremble {
  0% { transform: rotate(0); }
  30% { transform: rotate(1.4deg) translateY(1px); }
  55% { transform: rotate(-.8deg); }
  80% { transform: rotate(.9deg) translateY(.5px); }
  100% { transform: rotate(-.3deg); }
}

.erq-site [data-erq-morcel] {
  position: relative;
  inline-size: min(18.75rem, 100%);
  aspect-ratio: 30 / 26;
  margin-inline: auto;
  isolation: isolate;
}

.erq-site [data-erq-morcel] canvas {
  position: absolute;
  z-index: 2;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  pointer-events: none;
}

.erq-site [data-erq-morcel] :is([data-erq-plate], [data-erq-tint]) {
  position: absolute;
  inset-inline-start: 13.333%;
  inset-block-start: 5.769%;
  inline-size: 73.333%;
  block-size: 88.077%;
  object-fit: contain;
}

.erq-site [data-erq-plate] { opacity: .82; }

.erq-site [data-erq-tint] {
  z-index: 1;
  visibility: hidden;
  opacity: .2;
  background: linear-gradient(115deg, var(--erq-rose), var(--erq-sage), var(--erq-slate), var(--erq-rose), var(--erq-sage));
  background-size: 400% 100%;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  pointer-events: none;
}

.erq-site [data-erq-mask-ready] [data-erq-tint] { visibility: visible; }

.erq-site [data-erq-torus] {
  inline-size: min(13.75rem, 100%);
  margin: 1rem auto;
  color: var(--erq-rose-deep);
}

.erq-site [data-erq-torus] svg { display: block; inline-size: 100%; block-size: auto; overflow: visible; }

.erq-site .erq-404 {
  max-inline-size: 48rem;
  margin-inline: auto;
  padding: clamp(3.5rem, 8vw, 7rem) var(--erq-gutter);
  text-align: center;
}

.erq-site [data-erq-mobius] { inline-size: min(20rem, 100%); margin: 0 auto 1.625rem; color: var(--erq-rose); }
.erq-site [data-erq-mobius] svg { display: block; inline-size: 100%; block-size: auto; overflow: visible; }
.erq-site .erq-404-verse { font: italic 300 1.375rem/1.5 var(--erq-text); }
.erq-site .erq-404-translation { color: var(--erq-ink-soft); font-size: 1rem; }
.erq-site.erq-not-found { text-align: center; }
.erq-site.erq-not-found .erq-band { max-inline-size: 48rem; margin-inline: auto; }
.erq-site.erq-not-found .erq-pull-quote { margin: 0 auto .75rem; font: italic 300 1.375rem/1.5 var(--erq-text); }
.erq-site.erq-not-found .erq-epigraph-source { color: var(--erq-ink-soft); font: 500 .6875rem/1.6 var(--erq-text); letter-spacing: .13em; text-transform: uppercase; }

/* Elementor legacy sections/columns and modern containers share the same contract.
 * Layout classes belong on sections; card/art/info classes can belong on columns.
 * Widget classes always remain on native editable widgets, never on copied HTML.
 */
.erq-site.elementor-section > .elementor-container,
.erq-site .elementor-section > .elementor-container {
  inline-size: 100%;
  max-inline-size: none;
}

.erq-site.elementor-section > .elementor-container > .elementor-column,
.erq-site.elementor-section > .elementor-container > .elementor-row > .elementor-column {
  inline-size: 100%;
}

.erq-site .elementor-column > .elementor-widget-wrap,
.erq-site.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
  min-inline-size: 0;
  padding: 0;
}

.erq-site .elementor-inner-section { inline-size: 100%; }
.erq-site.erq-page { max-inline-size: none; }
.erq-site.erq-page > :is(.elementor-container, .e-con-inner) { max-inline-size: var(--erq-wrap); margin-inline: auto; }
.erq-site.erq-page--home { max-inline-size: none; padding: 0; }
.erq-site.erq-page--home .erq-areas-intro { padding-inline: var(--erq-gutter); padding-block-end: 2rem; }
.erq-site.erq-page--home .erq-areas { max-inline-size: calc(70rem + 2 * var(--erq-gutter)); padding: 0 var(--erq-gutter) var(--erq-section-space); }

.erq-site .erq-band > .elementor-container {
  max-inline-size: var(--erq-wrap);
  margin-inline: auto;
}

.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact).elementor-section { display: block; }

.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact).elementor-section > .elementor-container,
.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact).elementor-section > .elementor-container > .elementor-row {
  display: grid;
  inline-size: 100%;
  grid-template-columns: inherit;
  gap: inherit;
  align-items: inherit;
}

.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact).elementor-section > .elementor-container > .elementor-row {
  grid-column: 1 / -1;
}

.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact).elementor-section > .elementor-container > .elementor-column,
.erq-site :is(.erq-intro, .erq-areas, .erq-area-layout, .erq-contact).elementor-section > .elementor-container > .elementor-row > .elementor-column {
  inline-size: 100%;
  min-inline-size: 0;
}

.erq-site .erq-hero.elementor-section { display: block; }

.erq-site .erq-hero.elementor-section > .elementor-container,
.erq-site .erq-hero.elementor-section > .elementor-container > .elementor-row {
  display: grid;
  grid-template-columns: minmax(0, 18fr) minmax(0, 64fr) minmax(0, 18fr);
  align-items: center;
  gap: 0;
  inline-size: 100%;
  max-inline-size: 78rem;
  margin-inline: auto;
}

.erq-site .erq-hero.elementor-section > .elementor-container > .elementor-row { grid-column: 1 / -1; }
.erq-site .erq-hero .elementor-column { inline-size: 100%; min-inline-size: 0; }
.erq-site .erq-hero .elementor-widget-wrap { align-content: center; justify-content: center; }

.erq-site .erq-hero .elementor-column .erq-branch {
  position: absolute;
  inset: auto;
  inset-block-start: 50%;
  inset-inline-start: 0;
  inline-size: 100%;
  transform: translateY(-50%);
}

.erq-site .erq-hero .erq-wordmark img { aspect-ratio: 1024 / 135; object-fit: contain; }
.erq-site .erq-hero .erq-branch img { aspect-ratio: 546 / 1024; object-fit: contain; }

.erq-site .erq-hero .erq-hero-copy :is(.erq-wordmark, .erq-tagline) {
  inline-size: min(35rem, 100%);
  margin-inline: auto;
}

.erq-site .erq-intro.erq-band { max-inline-size: none; }
.erq-site .erq-intro.erq-band > .elementor-container { max-inline-size: 65rem; margin-inline: auto; }
.erq-site .erq-intro .elementor-column { align-self: center; }
.erq-site .erq-intro .elementor-widget-wrap { align-content: center; }
.erq-site .erq-card > .elementor-widget-wrap {
  position: static;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-content: stretch;
  align-items: stretch;
  gap: 0;
  inline-size: 100%;
  padding: 0;
}

.erq-site .erq-card :is(.erq-card-title, .erq-card-title > .elementor-widget-container) { position: static; }
.erq-site .erq-area-art.elementor-column { align-self: start; }
.erq-site .erq-article-copy .erq-page-title { margin-block-end: 1rem; }
.erq-site .erq-article-copy :is(.erq-epigraph, [data-erq-epigraph]) { margin-inline: 0; margin-block-end: 2rem; }
.erq-site .erq-area-art > .elementor-widget-wrap { justify-content: center; align-content: start; }
.erq-site .erq-contact-info.elementor-column > .elementor-widget-wrap { display: block; }

.erq-site .erq-pager.elementor-section { display: block; }
.erq-site .erq-pager.elementor-section > .elementor-container { display: flex; flex-wrap: wrap; align-items: baseline; gap: inherit; }
.erq-site .erq-pager.elementor-section > .elementor-container > .elementor-column { flex: 1 1 14rem; min-inline-size: 0; }

/* Native section variants need their grid tracks copied through the wrapper. */
@media (max-width: 47.5rem) {
  .erq-site .erq-hero.elementor-section > .elementor-container,
  .erq-site .erq-hero.elementor-section > .elementor-container > .elementor-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .erq-site .erq-hero .erq-hero-copy { grid-column: 1 / -1; order: 0; }
  .erq-site .erq-hero :is(.erq-hero-left, .erq-hero-right, .erq-hero-side--left, .erq-hero-side--right) { order: 1; }
  .erq-site .erq-hero .elementor-column .erq-branch {
    position: relative;
    inset: auto;
    inline-size: min(10rem, 84%);
    margin-inline: auto;
    transform: none;
  }
}

/* Motion is opt-in after JS policy and first viewport entry. Nothing starts hidden. */
@keyframes erq-ink-in { from { opacity: 0; } to { opacity: .78; } }
@keyframes erq-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes erq-page-arrival { from { opacity: .92; } to { opacity: 1; } }
@keyframes erq-breathe {
  from { transform: rotate(-1.4deg) translateX(-1px); }
  to { transform: rotate(1.4deg) translateX(1px); }
}
@keyframes erq-pool-ripple {
  from { transform: scaleY(-1) skewX(-1.2deg); }
  to { transform: scaleY(-1.03) skewX(1.2deg); }
}
@keyframes erq-stem-a { from { transform: rotate(-3deg); } to { transform: rotate(2.4deg); } }
@keyframes erq-stem-b { from { transform: rotate(3deg); } to { transform: rotate(-2.4deg); } }
@keyframes erq-wind { to { stroke-dashoffset: -960; } }
@keyframes erq-arrow-loop { from { offset-distance: 0%; } to { offset-distance: 100%; } }

:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-started .erq-branch img {
  animation: erq-ink-in 4.5s var(--erq-slow) .4s both, erq-breathe 9s ease-in-out 4.9s infinite alternate;
}

:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-started .erq-branch--right img {
  animation-delay: 1.1s, 4.9s;
  animation-direction: normal, alternate-reverse;
}

:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-started :is(.erq-wordmark, .erq-tagline, .erq-place) {
  animation: erq-enter 2.6s var(--erq-slow) .2s both;
}

:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-started .erq-tagline { animation-delay: 1s; }
:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-started .erq-place { animation-delay: 1.6s; }

:where(html[data-erq-motion="full"]) .erq-site.erq-page-arrival.erq-motion-started,
:where(html[data-erq-motion="full"]) .erq-site .erq-page-arrival.erq-motion-started {
  animation: erq-page-arrival .6s var(--erq-slow) both;
}

:where(html[data-erq-motion="full"]) .erq-site .erq-enter.erq-motion-started {
  animation: erq-enter 2.2s var(--erq-slow) var(--erq-entry-delay, 0s) both;
}

:where(html[data-erq-motion="full"]) .erq-site .erq-card.erq-motion-started {
  animation: erq-enter 1.8s var(--erq-slow) var(--erq-entry-delay, 0s) both;
}

.erq-site .erq-areas .erq-card:nth-child(2) { --erq-entry-delay: .25s; }
.erq-site .erq-areas .erq-card:nth-child(3) { --erq-entry-delay: .5s; }
.erq-site .erq-areas .erq-card:nth-child(4) { --erq-entry-delay: .75s; }
.erq-site .erq-areas .erq-card:nth-child(5) { --erq-entry-delay: 1s; }

:where(html[data-erq-motion="full"]) .erq-site [data-erq-pool].erq-motion-started [data-erq-pool-reflection] {
  animation: erq-pool-ripple 7s ease-in-out infinite alternate;
}

:where(html[data-erq-motion="full"]) .erq-site [data-erq-fall].erq-motion-started [data-erq-fall-hip] {
  animation: erq-tremble 6.5s ease-in-out infinite alternate;
}

:where(html[data-erq-motion="full"]) .erq-site [data-erq-relationships].erq-motion-started [data-erq-stem="a"] {
  animation: erq-stem-a 11s ease-in-out infinite alternate;
}

:where(html[data-erq-motion="full"]) .erq-site [data-erq-relationships].erq-motion-started [data-erq-stem="b"] {
  animation: erq-stem-b 13.7s ease-in-out infinite alternate;
}

:where(html[data-erq-motion="full"]) .erq-site [data-erq-torus].erq-motion-started [data-erq-torus-wind] {
  stroke-dasharray: 220 740;
  animation: erq-wind 3.2s linear infinite;
}

:where(html[data-erq-motion="full"]) :is(.erq-site, .erq-footer) .erq-link:focus-within .erq-arrow {
  animation: erq-arrow-loop 1.6s var(--erq-slow);
}

@media (hover: hover) and (pointer: fine) {
  .erq-site .erq-card:hover { box-shadow: 0 1.125rem 2.25rem -1.5rem rgb(62 59 71 / .4); }
  :where(html[data-erq-motion="full"]) .erq-site .erq-card:hover { transform: translateY(-3px); }
  :where(html[data-erq-motion="full"]) .erq-site .erq-card:hover .erq-card-art img,
  :where(html[data-erq-motion="full"]) .erq-site .erq-card:hover img.erq-card-art { transform: scale(1.04) rotate(-1.5deg); opacity: .9; }
  :where(html[data-erq-motion="full"]) :is(.erq-site, .erq-footer) .erq-link:hover .erq-arrow { animation: erq-arrow-loop 1.6s var(--erq-slow); }
}

/* OS preference changes may resume continuous art, never replay hidden text entry. */
:where(html[data-erq-motion="full"]) .erq-site.erq-page-arrival.erq-motion-static,
:where(html[data-erq-motion="full"]) .erq-site :is(.erq-enter, .erq-page-arrival, .erq-card).erq-motion-static,
:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-static :is(.erq-wordmark, .erq-tagline, .erq-place) {
  animation: none;
  opacity: 1;
}

:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-static .erq-branch img {
  animation: erq-breathe 9s ease-in-out infinite alternate;
  opacity: .78;
}

:where(html[data-erq-motion="full"]) .erq-site .erq-hero.erq-motion-static .erq-branch--right img { animation-direction: alternate-reverse; }

:is(.erq-site, .erq-header, .erq-footer).erq-motion-off,
:is(.erq-site, .erq-header, .erq-footer).erq-motion-off *,
:is(.erq-site, .erq-header, .erq-footer) .erq-motion-off,
:is(.erq-site, .erq-header, .erq-footer) .erq-motion-off * {
  animation-play-state: paused !important;
}

/* Responsive type/layout, with no forced truncation or fixed-height copy. */
@media (max-width: 62.5rem) {
  .erq-site .erq-areas,
  .erq-site .erq-areas > .e-con-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 62rem) {
  .erq-header, .erq-header :is(.erq-header-inner, .erq-header-right), .erq-header > .e-con-inner { flex-wrap: wrap; }
  .erq-header .erq-nav { flex-wrap: wrap; }
  .erq-header[data-erq-menu-ready] .erq-nav { display: none; }
  .erq-header[data-erq-menu-ready] [data-erq-menu-toggle] { display: inline-flex; }
  .erq-header .erq-languages { order: 1; margin-inline-start: auto; }
  .erq-header .erq-header-navigation { order: 2; margin-inline-start: 0; }
  .erq-header[data-erq-menu-ready] [data-erq-menu-panel].is-open .erq-nav { display: flex; }
  /* Before erq.js runs (html.erq-js set inline in <head>): same closed layout, so the header does not jump. */
  html.erq-js .erq-header:not([data-erq-menu-ready]) :is([data-erq-menu-panel], .erq-nav) { display: none; }
  /* The toggle still carries [hidden] (an !important rule) until erq.js clears it. */
  html.erq-js .erq-header:not([data-erq-menu-ready]) [data-erq-menu-toggle] { display: inline-flex !important; }
}

@media (max-width: 50rem) {
  .erq-site .erq-contact,
  .erq-site .erq-contact > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
  .erq-site .erq-contact-info { max-inline-size: none; }
}

@media (max-width: 47.5rem) {
  :is(.erq-site, .erq-header, .erq-footer) { font-size: 1.0625rem; }
  .erq-header { padding-block: .75rem; }
  .erq-header .erq-brand-name { display: none; }
  .erq-header .erq-brand img, .erq-header .erq-brand [data-erq-rose] { inline-size: 2.5rem; block-size: 2.5rem; }
  .erq-header .erq-header-right { gap: .625rem; }
  .erq-header .erq-languages :is(a, span[aria-current]) { min-inline-size: 2.25rem; }
  .erq-site .erq-hero { padding-block: 3.25rem 2.5rem; }
  .erq-site .erq-hero .erq-wordmark { inline-size: min(32rem, 100%); }
  .erq-site .erq-hero .erq-tagline { inline-size: min(31rem, 100%); margin-block-start: 1.375rem; }
  .erq-site .erq-hero :is(.erq-wordmark, .erq-tagline, .erq-place) { order: 0; }
  .erq-site .erq-hero .erq-branch {
    position: relative;
    inset: auto;
    align-self: end;
    grid-column: auto;
    order: 1;
    inline-size: min(10rem, 84%);
    margin-block-start: 2.25rem;
    transform: none;
  }
  .erq-site .erq-hero .erq-branch--left { justify-self: end; margin-inline-end: .625rem; }
  .erq-site .erq-hero .erq-branch--right { justify-self: start; margin-inline-start: .625rem; }
  .erq-site .erq-intro,
  .erq-site .erq-intro > .e-con-inner,
  .erq-site .erq-area-layout,
  .erq-site .erq-area-layout > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
  .erq-site .erq-portrait { max-inline-size: 18.75rem; margin-inline: auto; }
  .erq-site .erq-book { font-size: 1.0625rem; text-align: start; }
  .erq-site .erq-area-art { max-inline-size: 12rem; }
  .erq-site .erq-area-art:has([data-erq-morcel], [data-erq-relationships]) { max-inline-size: 17rem; }
  .erq-footer .erq-footer-inner,
  .erq-footer > .e-con-inner { align-items: flex-start; flex-direction: column; gap: .875rem; }
  .erq-site .erq-page-title--left { text-align: start; }
}

@media (max-width: 40rem) {
  .erq-site .erq-areas,
  .erq-site .erq-areas > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
  .erq-site .erq-card { min-block-size: 0; padding: 1.25rem; }
  .erq-site .erq-card .erq-card-number { padding-block-end: 2rem; }
  .erq-site .erq-card-title,
  .erq-site .erq-card-title .elementor-heading-title { max-inline-size: 24ch; font-size: 1.5rem; }
  .erq-site .erq-card :is(.erq-card-art, img.erq-card-art) { inline-size: 65%; inset-inline-end: -12%; inset-block-start: -18%; }
  .erq-site .erq-card::before { background: linear-gradient(100deg, var(--erq-sage) 10%, rgb(215 227 197 / .82) 56%, transparent 100%); }
  .erq-site .erq-card .erq-card-excerpt { max-inline-size: 38ch; }
  .erq-site .erq-pager { flex-direction: column; gap: .5rem; }
  .erq-site .erq-pager :is(.erq-prev, .erq-next) { flex-basis: auto; max-inline-size: 100%; }
  .erq-site .erq-form-two-up .wpforms-field-container { grid-template-columns: minmax(0, 1fr); }
  .erq-site .erq-facts :is(li, .erq-fact) { grid-template-columns: minmax(5rem, 30%) minmax(0, 1fr); }
}

@media (max-width: 23rem) {
  .erq-site .erq-facts :is(li, .erq-fact) { grid-template-columns: minmax(0, 1fr); gap: .125rem; }
  .erq-header { gap: .5rem; }
  .erq-header :is(.erq-header-inner, .erq-header-right), .erq-header > .e-con-inner { gap: .5rem; }
}

/* Dynamic policy AND OS preference stop CSS motion. JS must also stop RAF/WAAPI. */
:where(html[data-erq-motion="reduced"]) :is(.erq-site, .erq-header, .erq-footer),
:where(html[data-erq-motion="reduced"]) :is(.erq-site, .erq-header, .erq-footer) *,
:where(html[data-erq-motion="reduced"]) :is(.erq-site, .erq-header, .erq-footer) *::before,
:where(html[data-erq-motion="reduced"]) :is(.erq-site, .erq-header, .erq-footer) *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

:where(html[data-erq-motion="reduced"]) .erq-site :is(.erq-enter, .erq-card, .erq-wordmark, .erq-tagline, .erq-place) { opacity: 1 !important; }
:where(html[data-erq-motion="reduced"]) .erq-site [data-erq-plate] { opacity: .82 !important; }
:where(html[data-erq-motion="reduced"]) .erq-site [data-erq-tint] { opacity: .2 !important; }
:where(html[data-erq-motion="reduced"]) .erq-site [data-erq-morcel] canvas { visibility: hidden; }
:where(html[data-erq-motion="reduced"]) .erq-site [data-erq-torus-wind] { stroke-dasharray: none; stroke-dashoffset: 0; }

@media (prefers-reduced-motion: reduce) {
  :is(.erq-site, .erq-header, .erq-footer),
  :is(.erq-site, .erq-header, .erq-footer) *,
  :is(.erq-site, .erq-header, .erq-footer) *::before,
  :is(.erq-site, .erq-header, .erq-footer) *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .erq-site :is(.erq-enter, .erq-card, .erq-wordmark, .erq-tagline, .erq-place) { opacity: 1 !important; }
  .erq-site .erq-hero .erq-branch img { opacity: .78 !important; }
  .erq-site [data-erq-plate] { opacity: .82 !important; }
  .erq-site [data-erq-tint] { opacity: .2 !important; }
  .erq-site [data-erq-morcel] canvas { visibility: hidden; }
  .erq-site [data-erq-torus-wind] { stroke-dasharray: none; stroke-dashoffset: 0; }
  .erq-site .erq-card:hover,
  .erq-site .erq-card:hover .erq-card-art img,
  .erq-site .erq-card:hover img.erq-card-art { transform: none; }
}

@media (forced-colors: active) {
  :is(.erq-site, .erq-header, .erq-footer) { color: CanvasText; background: Canvas; }
  :is(.erq-site, .erq-header, .erq-footer) :where(a) { color: LinkText; }
  :is(.erq-site, .erq-header, .erq-footer) :focus-visible { outline-color: Highlight; }
  .erq-site .erq-card { border-color: CanvasText; }
  .erq-site .erq-card::before { background: Canvas; }
  .erq-site .wpforms-container .wpforms-form :is(input, select, textarea) { border-color: FieldText; }
  .erq-site .wpforms-container .wpforms-form button.wpforms-submit { border-color: ButtonText; color: ButtonText; }
  .erq-header .erq-nav [aria-current="page"],
  :is(.erq-header, .erq-footer) .erq-languages [aria-current] { border-color: LinkText; }
}

@media print {
  :is(.erq-site, .erq-header, .erq-footer) { background: transparent; color: #000; font-size: 12pt; }
  :is(.erq-site, .erq-header, .erq-footer) *,
  :is(.erq-site, .erq-header, .erq-footer) *::before,
  :is(.erq-site, .erq-header, .erq-footer) *::after { animation: none !important; transition: none !important; box-shadow: none !important; }
  .erq-header :is([data-erq-menu-toggle], [data-erq-menu-panel]) { display: none !important; }
  .erq-site :is(.erq-band, .erq-page, .erq-hero) { padding-block: 18pt; }
  .erq-site :is(.erq-enter, .erq-card, .erq-wordmark, .erq-tagline, .erq-place) { opacity: 1 !important; }
  .erq-site .erq-book { max-inline-size: none; font-size: 12pt; }
  .erq-site [data-erq-morcel] canvas { display: none; }
  .erq-site [data-erq-plate] { opacity: .82 !important; }
  .erq-site :is(.erq-card, .erq-contact-info, blockquote) { break-inside: avoid; }
}

/* Header/footer as legacy Elementor section > column (container experiment is off). */
.erq-header.elementor-section > .elementor-container {
  inline-size: 100%;
  max-inline-size: 78rem;
  margin-inline: auto;
}
.erq-footer.elementor-section > .elementor-container {
  inline-size: 100%;
  max-inline-size: 70rem;
  margin-inline: auto;
}
.erq-header.elementor-section > .elementor-container > .elementor-column,
.erq-footer.elementor-section > .elementor-container > .elementor-column { inline-size: 100%; }
.erq-header.elementor-section .elementor-column > .elementor-widget-wrap {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 2.5vw, 2rem);
  padding: 0;
}
.erq-footer.elementor-section .elementor-column > .elementor-widget-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 0;
}
:is(.erq-header, .erq-footer).elementor-section .elementor-widget-wrap > .elementor-element {
  inline-size: auto;
  max-inline-size: 100%;
  flex: 0 1 auto;
  margin-block-end: 0;
}

/* Brand rose: the SVG viewBox leaves room for the quarter-turn arc, so the box is
 * larger than the visible rose; negative block margins keep the header compact. */
.erq-header .erq-brand [data-erq-rose] {
  inline-size: 4.75rem;
  block-size: 4.75rem;
  margin-block: -.875rem;
  margin-inline: -.75rem -.5rem;
}
.erq-header [data-erq-rose] svg { inline-size: 100%; block-size: 100%; }

/* Rose-line.png carries generous margins: give the visible rose about the old logo's presence. */
.erq-header .erq-brand [data-erq-rose] {
  inline-size: 6.25rem;
  block-size: 6.25rem;
  margin-block: -1.625rem;
  margin-inline: -1.5rem -1rem;
}

/* Cards on legacy columns: numbers share the top line, text settles at the bottom. */
.erq-site .erq-card > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  flex: 1;
  align-content: stretch;
}
.erq-site .erq-card > .elementor-widget-wrap > .erq-card-number { margin-block-end: auto; }

/* Legal pages: same frame, readable measure. Their wording is untouched. */
.erq-site.erq-legal .elementor-widget-text-editor { max-inline-size: 44rem; }
.erq-site.erq-legal .elementor-widget-text-editor p { margin-block: 0 .5rem; }
.erq-site.erq-legal .elementor-widget-text-editor p:has(> b:first-child) { margin-block-start: 1.75rem; }

/* Drive-loop arrow: at rest on the baseline; the loop is traced with transforms
 * (offset-path displaced the resting glyph relative to its containing block). */
:is(.erq-site, .erq-footer) .erq-arrow {
  offset-path: none;
  margin-inline-start: .3em;
  vertical-align: baseline;
}
@keyframes erq-arrow-loop {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(9px, -4px); }
  40%  { transform: translate(12px, -13px); }
  55%  { transform: translate(6px, -15px); }
  70%  { transform: translate(4px, -8px); }
  85%  { transform: translate(8px, -3px); }
  100% { transform: translate(0, 0); }
}

@media (max-width: 47.5rem) {
  .erq-header .erq-brand [data-erq-rose] {
    inline-size: 4.5rem;
    block-size: 4.5rem;
    margin-block: -1rem;
    margin-inline: -1rem -.5rem;
  }
}

/* ---- One-page home (2026-10-04 feedback) ---- */

/* Full-screen hero: fills the first view below the header. */
.erq-site .erq-hero.erq-hero--full.elementor-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-block-size: calc(100svh - 7rem);
}
.erq-site .erq-hero.erq-hero--full .erq-wordmark { inline-size: min(100%, 40rem); }
@media (max-width: 47.5rem) {
  .erq-site .erq-hero.erq-hero--full.elementor-section { min-block-size: calc(100svh - 5rem); }
}

/* Anchored home sections clear the top edge; smooth anchor scrolling only with full motion. */
.erq-site :is(#about, #approach, #areas, #contact) { scroll-margin-block-start: 1.5rem; }
:where(html[data-erq-motion="full"]) { scroll-behavior: smooth; }

/* Disclosures: closed until erq.js opens them; always visible while editing in Elementor. */
.erq-site .erq-panel { display: none; }
.erq-site .erq-panel.erq-panel--open,
.elementor-editor-active .erq-site .erq-panel { display: block; }
/* Area panels are also .erq-area-layout sections, whose layout rule sets display:block; keep them closed until opened. */
body:not(.elementor-editor-active) .erq-site .erq-panel.elementor-section:not(.erq-panel--open) { display: none; }
.erq-site .erq-area-panel { scroll-margin-block-start: 1.5rem; }

.erq-site [data-erq-disclosure] .erq-arrow { transition: rotate .6s var(--erq-slow); }
.erq-site [data-erq-disclosure][aria-expanded="true"] .erq-arrow { rotate: 90deg; }

/* About: her opening sentence introduces her; the story continues in place. */
.erq-site .erq-intro-lead p {
  margin-block: 1.75rem 0;
  font: italic 300 1.25rem/1.6 var(--erq-text);
  color: var(--erq-ink);
  max-inline-size: 34rem;
}
.erq-site .erq-about-panel p { max-inline-size: 34rem; }
.erq-site .erq-about-panel > .elementor-widget-container > p:first-child,
.erq-site .erq-about-panel p:first-child { margin-block-start: .5rem; }
.erq-site .erq-about-panel .erq-epigraph { margin-block-start: 1.5rem; text-align: start; }
.erq-site .erq-intro .erq-link { margin-block-start: 1.25rem; }

/* Approach: the full text unfolds under the quote, at reading measure. */
.erq-site .erq-approach-panel {
  max-inline-size: 40rem;
  margin-inline: auto;
  padding-block-start: 1.5rem;
  text-align: start;
}
.erq-site .erq-approach-panel .erq-panel-heading {
  margin-block: 2.25rem 1rem;
  font: 400 1.5rem/1.3 var(--erq-display);
  letter-spacing: .02em;
  text-align: center;
}
.erq-site .erq-approach-panel .erq-ornament { text-align: center; }

/* Area cards: the whole card is the trigger (stretched link); the open one deepens. */
.erq-site .erq-card .erq-card-trigger { color: inherit; text-decoration: none; }
.erq-site .erq-card .erq-card-trigger::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.erq-site .erq-card .erq-card-trigger:focus-visible { outline: none; }
.erq-site .erq-card:has(.erq-card-trigger:focus-visible) { outline: 2px solid var(--erq-rose-deep); outline-offset: 3px; }
.erq-site .erq-card.erq-card--open { box-shadow: inset 0 0 0 1px var(--erq-sage-deep, #9fb08f); filter: saturate(1.08) brightness(.97); }

.erq-site .erq-area-panel.elementor-section {
  inline-size: 100%;
  max-inline-size: calc(46rem + 2 * var(--erq-gutter));
  margin-inline: auto;
  padding: 2.5rem var(--erq-gutter) 3rem;
}
.erq-site .erq-areas .erq-area-panel.elementor-section { flex: 1 1 100%; padding-inline: 0; }
.erq-site .erq-area-panel .erq-page-title { margin-block-end: 1rem; }
.erq-site .erq-panel-actions { margin-block-start: 1.5rem; }
.erq-site .erq-panel-close {
  padding: .5rem 1.25rem;
  border: 1px solid var(--erq-rose-deep);
  border-radius: 999px;
  color: var(--erq-rose-deep);
  background: transparent;
  font: 400 1rem/1.4 var(--erq-text);
}
.erq-site .erq-panel-close:hover { background: var(--erq-paper-2); }

/* Contact closes the home page. */
.erq-site .erq-home-contact { padding-block-start: var(--erq-section-space); }
.erq-site .erq-card:has(.erq-card-trigger) :is(.elementor-widget-wrap, .elementor-widget, .elementor-widget-container, p) { position: static; }
/* The rule above must not pull the etching into the flow: it floats behind the text, as before. */
.erq-site .erq-card:has(.erq-card-trigger) .erq-card-art { position: absolute; }

/* Wind: each card's etching sways from its stem, on its own slow rhythm, never in step. */
@keyframes erq-wind {
  0%, 100% { transform: rotate(0) skewX(0); }
  22% { transform: rotate(1.1deg) skewX(-.5deg); }
  41% { transform: rotate(.2deg) skewX(.2deg); }
  58% { transform: rotate(-.7deg) skewX(.4deg); }
  79% { transform: rotate(.6deg) skewX(-.2deg); }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html[data-erq-motion="full"]) .erq-site .erq-card .erq-card-art {
    transform-origin: 40% 100%;
    animation: erq-wind 11s ease-in-out infinite;
  }
  :where(html[data-erq-motion="full"]) .erq-site .erq-areas .erq-card:nth-child(2) .erq-card-art { animation-duration: 13.7s; animation-delay: -4s; }
  :where(html[data-erq-motion="full"]) .erq-site .erq-areas .erq-card:nth-child(3) .erq-card-art { animation-duration: 12.3s; animation-delay: -7s; }
  :where(html[data-erq-motion="full"]) .erq-site .erq-areas .erq-card:nth-child(4) .erq-card-art { animation-duration: 14.9s; animation-delay: -2s; }
  :where(html[data-erq-motion="full"]) .erq-site .erq-areas .erq-card:nth-child(5) .erq-card-art { animation-duration: 10.4s; animation-delay: -9s; }
}

/* Rose quarter-turns rotate about the rose's own centre: SVG user-space (0,0).
 * `transform-origin: center` resolves against the view box (70,70) and threw the rose sideways. */
.erq-header [data-erq-rose-image] { transform-origin: 0 0; transform-box: view-box; }

/* Area panels on home: epigraph and text share the title's left edge. */
.erq-site .erq-area-panel :is(.erq-epigraph, .erq-epigraph-source) { margin-inline: 0; text-align: start; }
.erq-site .erq-area-panel .erq-book { margin-inline: 0; }
.erq-site .erq-area-panel .erq-epigraph-widget { margin-block-end: 1.5rem; }
.erq-site .erq-about-panel :is(.erq-epigraph, .erq-epigraph-source) { margin-inline: 0; text-align: start; }

/* ---- About block, round 2 (2026-10-04 feedback) ---- */

/* One quiet line instead of the facts table, in the hero's "Berlin Mitte" voice. */
.erq-site .erq-orientation p {
  margin: .875rem 0 0;
  color: var(--erq-sage-ink);
  font: 500 .8125rem/1.5 var(--erq-text);
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Languages of the sessions: a quiet sentence under the orientation line (home) or after her text (About). */
.erq-site .erq-session-languages p {
  margin: .375rem 0 0;
  color: var(--erq-ink-soft);
  font: italic 400 .9375rem/1.5 var(--erq-text);
  letter-spacing: 0;
  text-transform: none;
}
.erq-site .erq-about .erq-session-languages p { margin-block: 1rem 0; }

/* Her story: a label and a drop cap mark the beginning; "Read on" continues the same paragraph. */
.erq-site .erq-story { margin-block-start: 2.25rem; }
.erq-site .erq-story p { max-inline-size: 34rem; }
.erq-site .erq-story .erq-story-label {
  margin: 0 0 .625rem;
  color: var(--erq-label-ink);
  font: italic 300 1.0625rem/1.4 var(--erq-text);
}
.erq-site .erq-story .erq-story-first::first-letter {
  float: left;
  margin: .06em .12em 0 0;
  color: var(--erq-rose-deep);
  font: 400 3.5em/.8 var(--erq-display);
}
.erq-site .erq-expand:not(.erq-panel--open) .erq-story-more { display: none; }
.erq-site .erq-expand:not(.erq-panel--open) .erq-story-lead::after { content: " …"; color: var(--erq-ink-soft); }
.elementor-editor-active .erq-site .erq-expand .erq-story-more { display: revert; }
.erq-site .erq-story .erq-epigraph-widget,
.erq-site .erq-story div.erq-story-more { margin-block-start: 1.5rem; }

/* Inverted bouquet (A) sits under the portrait: the mirror experiment beside her image. */
.erq-site .erq-intro-portrait .erq-whisper-widget { margin-block-start: 1.5rem; }

/* Quotes align with their source line; the translation appears on hover or tap. */
.erq-site .erq-epigraph,
.erq-site [data-erq-epigraph] { margin-inline: 0; text-align: start; }
.erq-site [data-erq-epigraph]:has([data-erq-translate]:focus-visible) { outline: 2px solid var(--erq-rose-deep); outline-offset: 4px; }

/* Area panels on home use the area pages' two-column layout (margin art + text). */
.erq-site .erq-area-panel.erq-area-layout.elementor-section { max-inline-size: calc(var(--erq-wrap) + 2 * var(--erq-gutter)); }
.erq-site .erq-story .erq-story-first { text-indent: 0; }
@media (min-width: 47.51rem) {
  .erq-site .erq-intro.elementor-section > .elementor-container { align-items: flex-start; }
  .erq-site .erq-intro .erq-intro-portrait { align-self: flex-start; }
}
@media (max-width: 47.5rem) {
  .erq-site .erq-intro-portrait .erq-whisper-widget { max-inline-size: 9rem; margin: .25rem auto 0; }
}

/* No drop cap on the story (2026-10-04 feedback). */
.erq-site .erq-story .erq-story-first::first-letter { float: none; margin: 0; color: inherit; font: inherit; }

/* Inverted bouquet (A) opens the "My approach" block on home. */
.erq-site .erq-approach-intro .erq-whisper-widget:has([data-erq-bouquet]) {
  inline-size: min(100%, 13rem);
  margin: 0 auto 2rem;
}

/* Colophon: a whisper of a credit on its own line at the very end. */
.erq-footer.elementor-section .elementor-widget-wrap > .erq-footer-credit { flex: 1 1 100%; inline-size: 100%; }
.erq-footer .erq-footer-credit p {
  margin: .75rem 0 0;
  color: var(--erq-ink-soft);
  font: italic 300 .75rem/1.5 var(--erq-text);
  letter-spacing: .02em;
  text-align: center;
  opacity: .8;
}

/* Home contact: the home root has no page gutter, so the contact blocks bring their own. */
.erq-site.erq-page--home :is(.erq-home-contact, .erq-contact).elementor-section {
  inline-size: 100%;
  max-inline-size: calc(var(--erq-wrap) + 2 * var(--erq-gutter));
  margin-inline: auto;
  padding-inline: var(--erq-gutter);
}
.erq-site.erq-page--home .erq-contact.elementor-section { padding-block-end: var(--erq-section-space); }
