/*
Theme Name:  Electrical Workers FCU
Description: Kadence child theme for Electrical Workers 558 Federal Credit Union. Brand layer, rate engine, and hero block.
Template:    kadence
Author:      Electrical Workers 558 FCU
Version:     1.0.0
Text Domain: kadence-ewfcu
*/

/* ==========================================================================
   Electrical Workers 558 FCU — child theme brand layer
   Theme: Kadence (child)  ·  Host: Kinsta  ·  v1.0

   WHERE THIS GOES
   Child theme  →  wp-content/themes/kadence-ewfcu/style.css
   (Generate the child theme with Kadence Child Theme Builder first.)
   Do NOT paste this into Customizer → Custom CSS. The child theme file is
   version-controllable, has no character limit, and survives theme updates.

   BEFORE IT WORKS — one find/replace:
   Replace every  UPLOAD_PATH  with your real Media Library prefix,
   e.g.  /wp-content/uploads/2026/08
   (Media → click any image → Copy URL to find it. No trailing slash.)

   THE PALETTE IS NOT DUPLICATED HERE.
   Every brand color reads from Kadence's Global Palette, so changing a
   color in the Customizer changes it everywhere. Set the 9 palette slots
   per the runbook (Phase 1) before judging any color on the site.
   ========================================================================== */

:root {
  /* --- Brand palette: aliases onto Kadence Global Colors --- */
  --ew-blue:        var(--global-palette1, #00539F);
  --ew-blue-deep:   var(--global-palette2, #002D57);
  --ew-blue-sky:    var(--global-palette3, #6B9FCC);
  --ew-red:         var(--global-palette4, #E03A3E);
  --ew-red-deep:    var(--global-palette5, #861517);
  --ew-gold:        var(--global-palette6, #CFA35C);
  --ew-gold-deep:   var(--global-palette7, #A87D3A);
  --ew-cream:       var(--global-palette8, #F5F0E8);
  --ew-ink:         var(--global-palette9, #1C1C1C);

  /* Values with no palette slot */
  --ew-cream-deep:  #EDE8DF;
  --ew-ink-muted:   #5A5A5A;
  --ew-ink-faint:   #9E9E9E;
  --ew-line:        #D8D3CA;
  --ew-line-soft:   #E8E3DC;

  /* Gold fails WCAG AA as text on cream. This is the darkened gold used
     for every eyebrow, label, and rate suffix on a light background.
     Never use --ew-gold for text on cream. */
  --ew-gold-text:   #7A5920;

  /* Hero / dark-band gradient — the one piece of shine the brand allows */
  --ew-gradient-hero: linear-gradient(160deg, #005CAE 0%, #00539F 40%, #00427E 100%);
  --ew-gradient-deep: linear-gradient(160deg, #00539F 0%, #002D57 55%, #001A33 100%);

  /* Texture — TIGHT tile. Never scale this up; large reads as fake. */
  --ew-texture-paper: url('UPLOAD_PATH/texture-paper.png');
  --ew-texture-tile:  200px;

  /* Type */
  --ew-font-display: 'Arvo', Georgia, serif;
  --ew-font-body:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Layout — content width matches the approved design */
  --ew-content:      1200px;
  --ew-gutter:       40px;
  --ew-ease:         cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   1 · BASE
   ========================================================================== */

body {
  background-color: var(--ew-cream);
  color: var(--ew-ink);
  font-family: var(--ew-font-body);
  font-size: 18px;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.ew-display {
  font-family: var(--ew-font-display);
  font-weight: 700;
  line-height: 1.1;
  color: var(--ew-blue);
  text-wrap: balance;
}

p { text-wrap: pretty; }

/* Gold emphasis word inside a headline. Switch color, never italic-bold. */
.ew-display em,
.ew-gold-word,
h1 .ew-gold-word, h2 .ew-gold-word {
  color: var(--ew-gold);
  font-style: normal;
}
/* On cream, the emphasis word needs the darkened gold */
.ew-paper .ew-gold-word,
.ew-on-cream .ew-gold-word { color: var(--ew-gold-text); }

/* Links — defined globally so editor-added links are never browser blue */
a { color: var(--ew-blue); text-decoration-color: var(--ew-line); }
a:hover { color: var(--ew-blue-deep); }
.ew-paper-dark a { color: #fff; }
.ew-paper-dark a:hover { color: var(--ew-gold); }

/* Content container: force Kadence rows to the approved 1200px */
.ew-container,
.entry-content > .alignwide { max-width: var(--ew-content); margin-inline: auto; }

/* ==========================================================================
   2 · TEXTURE  —  add as Row → Advanced → CSS Class
   One material everywhere: pressed-paper tooth on cream AND on blue.
   Do not introduce a second grain.
   ========================================================================== */

.ew-paper {
  background-color: var(--ew-cream);
  background-image: var(--ew-texture-paper);
  background-size: var(--ew-texture-tile);
}
.ew-paper--deep { background-color: var(--ew-cream-deep); }

.ew-paper-dark { position: relative; background: var(--ew-gradient-deep); color: #fff; }
.ew-paper-dark::before {
  content: ''; position: absolute; inset: 0;
  background-image: var(--ew-texture-paper);
  background-size: var(--ew-texture-tile);
  pointer-events: none; z-index: 0;
}
.ew-paper-dark > * { position: relative; z-index: 1; }
.ew-paper-dark h1, .ew-paper-dark h2, .ew-paper-dark h3 { color: #fff; }
.ew-paper-dark .ew-gold-word { color: var(--ew-gold); }

/* ==========================================================================
   3 · HERO  —  the bolt divider
   Structure (rendered by the ACF hero block, blocks/ew-hero/render.php):

   .ew-hero
     .ew-hero__photo      full-size, clip-path cuts the bolt notch at 60%
       .ew-hero__img      the photograph, parallaxed
     .ew-hero__flash      gold lightning, revealed on hover only
     .ew-hero__inner      headline + buttons, left 60%

   The clip-path polygon IS the bolt. Do not "tidy" these numbers — they
   are the approved silhouette, matched to the logo's ascending bolt.
   ========================================================================== */

.ew-hero {
  position: relative;
  overflow: hidden;
  background: var(--ew-gradient-hero);
  color: #fff;
}

.ew-hero__photo {
  position: absolute; top: 0; right: 0; bottom: 5px; left: 0;
  clip-path: polygon(60% 0%, 100% 0%, 100% 100%, 60% 100%,
                     64.5% 66%, 57.75% 66%, 62.25% 33%, 55.5% 33%);
  pointer-events: none;
}
.ew-hero__img {
  position: absolute; left: 53%; right: 0; top: -3%; height: 106%;
  object-fit: cover; width: auto; min-width: 47%;
  /* Warms the photo so any supplied image sits in the brand's paper world */
  filter: sepia(0.18) saturate(0.85) contrast(1.05);
  will-change: transform;
}

/* Gold lightning along the notch. Hidden at rest — it fires on hover only,
   so the page never animates at people who did not ask for it. */
.ew-hero__flash {
  position: absolute; inset: 0; pointer-events: none;
  clip-path: polygon(60% 0%, 100% 0%, 100% 100%, 60% 100%,
                     64.5% 66%, 57.75% 66%, 62.25% 33%, 55.5% 33%);
  box-shadow: inset 0 0 0 3px var(--ew-gold);
  opacity: 0;
  transition: opacity 0.22s ease;
}
.ew-hero:hover .ew-hero__flash { animation: ew-flash 0.9s var(--ew-ease); }

@keyframes ew-flash {
  0%   { opacity: 0; }
  12%  { opacity: 1; }
  26%  { opacity: 0.15; }
  38%  { opacity: 0.9; }
  100% { opacity: 0; }
}

.ew-hero__inner {
  position: relative; z-index: 2;
  max-width: var(--ew-content);
  margin: 0 auto;
  padding: 92px var(--ew-gutter) 100px;
}
.ew-hero__eyebrow {
  font-size: 18px; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--ew-gold);
  margin-bottom: 18px;
}
.ew-hero h1 {
  font-size: 60px; line-height: 1.1; margin: 0;
  color: #fff; max-width: 700px;
}
.ew-hero__sub {
  font-size: 18px; line-height: 1.7; margin: 20px 0 0;
  max-width: 560px; color: rgba(255,255,255,0.82);
}
.ew-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

/* ==========================================================================
   4 · RATE BAND
   Numbers come from the ACF Rates options page via [ew_rate].
   Never type a rate into this section by hand.
   ========================================================================== */

.ew-rateband { border-bottom: 1px solid var(--ew-line-soft); }
.ew-rateband__inner {
  max-width: var(--ew-content); margin: 0 auto;
  padding: 54px var(--ew-gutter) 58px;
  display: grid; grid-template-columns: 1fr 1fr 1fr auto; align-items: center;
}
.ew-rate { padding: 0 44px; border-left: 1px solid var(--ew-line); }
.ew-rate:first-child { padding-left: 0; padding-right: 44px; border-left: 0; }
.ew-rate__label {
  font-size: 18px; font-weight: 700; letter-spacing: 0.14em;
  color: var(--ew-ink-muted); white-space: nowrap; text-transform: uppercase;
}
.ew-rate__figure {
  font-family: var(--ew-font-display); font-weight: 700; font-size: 44px;
  color: var(--ew-blue); margin-top: 10px; line-height: 1;
}
.ew-rate__suffix { font-size: 24px; color: var(--ew-gold-text); }

/* Gold-underlined text link, used across the page */
.ew-link {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 18px; font-weight: 700; letter-spacing: 0.04em;
  color: var(--ew-blue); text-decoration: none;
  padding-bottom: 5px; border-bottom: 2px solid var(--ew-gold);
  transition: color 0.2s ease, transform 0.25s var(--ew-ease);
}
.ew-link:hover { color: var(--ew-blue-deep); transform: translateX(5px); }
.ew-link--bare { border-bottom: 0; padding-bottom: 0; }

/* ==========================================================================
   5 · CARDS
   ========================================================================== */

.ew-card {
  background: #fff; border: 0.5px solid var(--ew-line-soft);
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,45,87,0.07);
  transition: box-shadow 0.25s ease, transform 0.25s var(--ew-ease);
  display: flex; flex-direction: column;
}
.ew-card:hover { box-shadow: 0 8px 28px rgba(0,45,87,0.12); transform: translateY(-3px); }
.ew-card__media { aspect-ratio: 16 / 9; overflow: hidden; }
.ew-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ew-card__body { padding: 28px 32px 32px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ew-card__body h3 { font-size: 22px; margin: 0; }
.ew-card__body p { font-size: 18px; color: var(--ew-ink-muted); margin: 0 0 10px; }
.ew-card__body .ew-link { margin-top: auto; align-self: flex-start; }

/* Callout note — gold left border */
.ew-note { border-left: 3px solid var(--ew-gold); padding: 18px 24px; background: #fff; border-radius: 6px; }

/* ==========================================================================
   6 · SECTION RHYTHM  +  eyebrow / chapter marker
   ========================================================================== */

.ew-section { padding: 84px 0 92px; }
.ew-section__inner { max-width: var(--ew-content); margin: 0 auto; padding: 0 var(--ew-gutter); }
.ew-section__head { max-width: 840px; margin-bottom: 44px; }
.ew-section__head h2 { font-size: 36px; margin: 12px 0; }
.ew-section__head p { font-size: 18px; color: var(--ew-ink-muted); margin: 0; }

.ew-eyebrow {
  font-family: var(--ew-font-body);
  font-size: 18px; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--ew-gold-text);
}
.ew-paper-dark .ew-eyebrow { color: var(--ew-gold); }

/* Leveled bolt as a divider cap before a gold rule */
.ew-rule { display: flex; align-items: center; gap: 10px; }
.ew-rule::before {
  content: ''; width: 70px; height: 22px; flex: 0 0 auto;
  background: url('UPLOAD_PATH/bolt-rule.png') no-repeat left center / contain;
}
.ew-rule::after { content: ''; flex: 1; height: 2px; background: var(--ew-gold); }

/* ==========================================================================
   7 · FULL-BLEED SPLIT  (Membership, Heritage)
   Photo pinned to one edge, text in the 1200px container. Mirrored pair.
   ========================================================================== */

.ew-split { position: relative; overflow: hidden; }
.ew-split__photo { position: absolute; top: 0; bottom: 0; width: 34%; overflow: hidden; }
.ew-split__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ew-split--left  .ew-split__photo { left: 0; }
.ew-split--right .ew-split__photo { right: 0; }

.ew-split__inner {
  position: relative; z-index: 2;
  max-width: var(--ew-content); margin: 0 auto;
  padding: 78px var(--ew-gutter) 84px;
  display: grid; gap: 56px; align-items: center;
}
.ew-split--left  .ew-split__inner { grid-template-columns: 34% 1fr; }
.ew-split--right .ew-split__inner { grid-template-columns: 1fr 34%; }
.ew-split--left  .ew-split__body { grid-column: 2; }

/* Oversized emblem watermark. One per surface, never with a bolt. */
.ew-split__mark {
  position: absolute; right: -140px; top: 50%; transform: translateY(-50%);
  height: 760px; width: auto; opacity: 0.55; pointer-events: none; z-index: 1;
}

/* ==========================================================================
   8 · MEMBER REVIEWS ROTATOR
   Markup: wp/patterns/reviews-rotator.html · behaviour: ewfcu-site.js.
   Photo left (224×272), big Arvo quote right with ONE gold phrase, red
   quotation mark. The pause control is required, not decorative — a
   moving region with no visible pause fails WCAG 2.2.2. The red quote
   glyph is part of the approved design and is a glyph, not a CTA; the
   hero button remains the page's one red action.
   ========================================================================== */

.ew-reviews { background: var(--ew-cream-deep); border-top: 1px solid var(--ew-line-soft); }

.ew-reviews-head { display: flex; align-items: center; gap: 14px; margin-bottom: 30px; }
.ew-reviews-stars { display: inline-flex; gap: 3px; }
.ew-reviews-stars svg { width: 19px; height: 19px; fill: var(--ew-gold); }

.ew-reviews-rotator { display: grid; min-height: 280px; }
.ew-reviews-rotator > .ew-review {
  grid-area: 1 / 1; margin: 0;
  opacity: 0; pointer-events: none;
  transition: opacity 0.9s var(--ew-ease);
  display: grid; grid-template-columns: 224px 1fr; gap: 48px; align-items: center;
}
.ew-reviews-rotator > .ew-review.is-current { opacity: 1; pointer-events: auto; }

.ew-review__photo { width: 224px; height: 272px; object-fit: cover; border-radius: 10px; display: block; }
.ew-review__mark {
  font-family: var(--ew-font-display); font-weight: 700;
  font-size: 64px; line-height: 0.42; color: var(--ew-red); margin: 0 0 2px;
}
.ew-review__quote {
  font-family: var(--ew-font-display); font-weight: 700;
  font-size: 34px; line-height: 1.36; color: var(--ew-blue); margin: 0;
}
.ew-review__gold { color: var(--ew-gold-deep); }
.ew-review__who { display: flex; align-items: baseline; gap: 12px; margin-top: 26px; }
.ew-review__name { font-family: var(--ew-font-display); font-weight: 700; font-size: 22px; color: var(--ew-ink); }
.ew-review__tag {
  font-size: 18px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ew-gold-text);
}

/* Controls — injected by ewfcu-site.js directly after the rotator */
.ew-rotator-controls { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
.ew-rotator-pause {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; padding: 0;
  border: 1.5px solid var(--ew-line); border-radius: 50%;
  background: transparent; cursor: pointer;
  transition: border-color 0.18s ease;
}
.ew-rotator-pause svg { fill: var(--ew-blue); }
.ew-rotator-pause:hover { border-color: var(--ew-blue); }
.ew-rotator-dots { display: flex; gap: 4px; }
.ew-rotator-dot {
  width: 28px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.ew-rotator-dot span {
  width: 10px; height: 10px; border-radius: 50%;
  border: 1.5px solid var(--ew-blue); background: transparent;
  transition: background 0.18s ease;
}
.ew-rotator-dot.is-on span { background: var(--ew-blue); }

/* ==========================================================================
   9 · BUTTONS
   Red = the single highest-priority action on a view. One per screen.
   On the homepage that is "Apply for a Loan" in the hero. The header CTA
   is blue precisely so the hero's red stays the only red.
   ========================================================================== */

.wp-block-button__link,
.kb-button {
  font-family: var(--ew-font-body); font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  border-radius: 4px;
  transition: background 0.18s ease, color 0.18s ease;
}

.ew-btn-red   .wp-block-button__link, .kb-button.ew-btn-red   { background: var(--ew-red);  color: #fff; }
.ew-btn-red   .wp-block-button__link:hover, .kb-button.ew-btn-red:hover   { background: var(--ew-red-deep); color: #fff; }
.ew-btn-blue  .wp-block-button__link, .kb-button.ew-btn-blue  { background: var(--ew-blue); color: #fff; }
.ew-btn-blue  .wp-block-button__link:hover, .kb-button.ew-btn-blue:hover  { background: var(--ew-blue-deep); color: #fff; }
.ew-btn-gold  .wp-block-button__link, .kb-button.ew-btn-gold  { background: var(--ew-gold); color: var(--ew-blue-deep); }
.ew-btn-gold  .wp-block-button__link:hover, .kb-button.ew-btn-gold:hover  { background: var(--ew-gold-deep); color: #fff; }
.ew-btn-ghost .wp-block-button__link, .kb-button.ew-btn-ghost {
  background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.6);
}
.ew-btn-ghost .wp-block-button__link:hover, .kb-button.ew-btn-ghost:hover { background: #fff; color: var(--ew-blue); }

/* ==========================================================================
   10 · HEADER + MEGA MENU  (Kadence Header Builder / Ultimate Menu)
   Mega panels are CREAM with blue text so they read as paper dropped over
   the blue nav — not as more nav.
   ========================================================================== */

.site-header-row .kadence-mega-menu,
.kadence-menu-mega-enabled > .sub-menu {
  background-color: var(--ew-cream) !important;
  background-image: var(--ew-texture-paper);
  background-size: var(--ew-texture-tile);
  border-top: 2px solid var(--ew-gold);
  box-shadow: 0 12px 32px rgba(0,45,87,0.16);
  color: var(--ew-ink);
}
.kadence-mega-menu a { color: var(--ew-ink); }
.kadence-mega-menu a:hover { color: var(--ew-blue); }
.kadence-mega-menu .ew-eyebrow { margin-bottom: 4px; }

/* Mega column list rows */
.ew-mega-link {
  display: block; padding: 12px 0;
  border-bottom: 1px solid var(--ew-line);
  text-decoration: none; color: var(--ew-ink);
  transition: transform 0.28s var(--ew-ease);
}
.ew-mega-link:hover { transform: translateX(4px); }
.ew-mega-link__title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; }
.ew-mega-link__desc  { display: block; margin: 3px 0 0 34px; font-size: 15px; color: var(--ew-ink-muted); }

/* Mega panel's right rail (photo + button) */
.ew-mega-rail { background: var(--ew-cream-deep); border-left: 1px solid var(--ew-line); padding: 26px 32px 30px; }

/* Announcement bar (Hooked Element above header) */
.ew-announce {
  background: var(--ew-blue-deep); color: #fff;
  font-size: 15px; letter-spacing: 0.04em; text-align: center; padding: 10px 20px;
}
.ew-announce a { color: var(--ew-gold); text-decoration: underline; }

/* ==========================================================================
   11 · FOOTER + DISCLOSURES
   ========================================================================== */

.ew-disclosures {
  background: var(--ew-cream-deep);
  border-top: 1px solid var(--ew-line);
  font-size: 15px; line-height: 1.65; color: var(--ew-ink-muted);
}
.ew-disclosures__inner { max-width: var(--ew-content); margin: 0 auto; padding: 40px var(--ew-gutter) 48px; }
.ew-disclosures h4 { font-size: 15px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ew-ink); font-family: var(--ew-font-body); margin: 0 0 10px; }
.ew-disclosures p { margin: 0 0 10px; }

.ew-compliance { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.ew-compliance img { height: 46px; width: auto; }

/* ==========================================================================
   12 · SCROLL REVEAL  (driven by ewfcu-site.js)
   Quiet and editorial: 24px rise + fade, staggered. No parallax on mobile,
   no bounce, nothing loops.
   ========================================================================== */

.ew-reveal { opacity: 0; transform: translateY(24px); }
.ew-reveal.is-in {
  opacity: 1; transform: none;
  transition: opacity 0.8s var(--ew-ease), transform 0.8s var(--ew-ease);
}

/* ==========================================================================
   13 · RESPONSIVE
   The bolt notch is a desktop device. Below 1024px the photo goes to a
   normal 16:9 band above the copy — trying to keep the notch at phone
   width turns it into visual noise.
   ========================================================================== */

@media (max-width: 1024px) {
  .ew-hero { display: flex; flex-direction: column-reverse; }
  .ew-hero__photo {
    position: relative; inset: auto; width: 100%; aspect-ratio: 16 / 9;
    clip-path: none;
  }
  .ew-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; }
  .ew-hero__flash { display: none; }
  .ew-hero h1 { font-size: 40px; }
  .ew-hero__inner { padding: 56px 24px 64px; }

  .ew-rateband__inner { grid-template-columns: 1fr 1fr; gap: 32px 0; padding: 40px 24px 44px; }
  .ew-rate, .ew-rate:first-child { padding: 0 24px; border-left: 1px solid var(--ew-line); }
  .ew-rate:nth-child(odd) { padding-left: 0; border-left: 0; }
  .ew-rateband .ew-link { grid-column: 1 / -1; justify-self: start; }

  .ew-split__photo { position: relative; width: 100%; height: 320px; }
  .ew-split__inner,
  .ew-split--left .ew-split__inner,
  .ew-split--right .ew-split__inner { grid-template-columns: 1fr; padding: 56px 24px 64px; gap: 28px; }
  .ew-split--left .ew-split__body { grid-column: 1; }
  .ew-split__mark { display: none; }

  .ew-reviews-rotator > .ew-review { grid-template-columns: 120px 1fr; gap: 24px; align-items: start; }
  .ew-review__photo { width: 120px; height: 146px; }
  .ew-review__quote { font-size: 24px; }

  .ew-section { padding: 56px 0 64px; }
  .ew-section__inner, .ew-disclosures__inner { padding-inline: 24px; }
  .ew-section__head h2 { font-size: 30px; }
}

@media (max-width: 600px) {
  body { font-size: 17px; }
  .ew-hero h1 { font-size: 32px; }
  .ew-rateband__inner { grid-template-columns: 1fr; }
  .ew-rate, .ew-rate:first-child, .ew-rate:nth-child(odd) {
    padding: 0 0 20px; border-left: 0; border-bottom: 1px solid var(--ew-line);
  }
  .ew-reviews-rotator > .ew-review { grid-template-columns: 1fr; }
  .ew-review__quote { font-size: 21px; }
  /* Never let a tap target fall under 44px */
  .wp-block-button__link, .kb-button { min-height: 44px; }
}

/* ==========================================================================
   14 · ACCESSIBILITY
   ========================================================================== */

:focus-visible { outline: 3px solid var(--ew-gold); outline-offset: 2px; }
.ew-paper-dark :focus-visible { outline-color: #fff; }

@media (prefers-reduced-motion: reduce) {
  .ew-reveal { opacity: 1; transform: none; transition: none; }
  .ew-reviews-rotator > .ew-review { transition: none; }
  .ew-hero:hover .ew-hero__flash { animation: none; }
  .ew-hero__img { transform: none !important; }
  .ew-card:hover { transform: none; }
  * { scroll-behavior: auto !important; }
}

/* ==========================================================================
   15 · EDITOR PARITY
   Makes the block editor show the brand instead of white-and-Times, so
   staff editing the homepage see roughly what visitors see.
   Kadence loads style.css in the editor when the child theme declares it.
   ========================================================================== */

.editor-styles-wrapper { background-color: var(--ew-cream); font-family: var(--ew-font-body); }
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3 { font-family: var(--ew-font-display); color: var(--ew-blue); }

/* PRINT — members do print rate sheets */
@media print {
  .ew-hero__photo, .ew-split__photo, .ew-split__mark,
  .ew-announce, .ew-rotator-controls, .site-header, .site-footer { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .ew-hero, .ew-paper-dark { background: #fff !important; color: #000 !important; }
  .ew-hero h1, .ew-paper-dark h2 { color: #000 !important; }
}
