/* ==========================================================================
   Energy Alignment 1.4.2: class page design and scroll effects
   Class names used in the page code (all added in the block's
   "Additional CSS class(es)" box):

   ea-hero        Cover block at the top of a class page (photo scrolls slowly)
   acc-blue / acc-green / acc-gold / acc-red / acc-violet
                  Add one to the ea-hero cover to set the page's accent colour
   ea-facts       Columns block under the opening photo (the facts bar)
     is-price     the column holding the price (used by the phone booking bar)
     is-free      the "Your first hour is free" column
   ea-offset      Full width group holding a text and photo section
     ea-offset-cols   Columns block inside it (add "is-rev" for photo on the left)
     ea-offset-img    Image block in the photo column (square, moves on scroll)
   ea-cards-list  List block shown as small cards
   ea-testi       Testimonials columns (fade and rise in one after another)
   ea-cta         The "Your first hour is free" ending group
   ea-lines-page  Add to the first group on a page (e.g. Classes) to give its
                  headings the growing lines without an opening photo
   ea-socials     Group of social cards in the seminar sign up
   ea-venues      Columns block of class time cards (see 1.4.0 notes below)
   ea-book-form   First group on the Book a class page
   ea-fade, ea-rise, ea-stagger   gentle fade ins (unchanged names)
   ========================================================================== */

:root { --acc: var(--wp--preset--color--violet); }
body.acc-blue { --acc: var(--wp--preset--color--class-tai-chi); }
body.acc-green { --acc: var(--wp--preset--color--class-qigong); }
body.acc-gold { --acc: var(--wp--preset--color--class-meditation); }
body.acc-red { --acc: var(--wp--preset--color--class-martial-arts); }
body.acc-violet { --acc: var(--wp--preset--color--violet); }

/* ---------- Opening photo ---------- */
.wp-block-cover.ea-hero { min-height: 640px !important; padding: 0 !important; overflow: hidden; align-items: flex-end !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.ea-hero .wp-block-cover__image-background { top: -12% !important; height: 124% !important; object-position: 50% 35%; will-change: transform; }
.ea-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(15,20,17,.85) 0%, rgba(15,20,17,.6) 38%, rgba(15,20,17,.1) 70%) !important; opacity: 1 !important; }
.wp-block-cover.ea-hero .wp-block-cover__inner-container { width: 100% !important; max-width: var(--wp--style--global--wide-size, 1140px) !important; margin: 0 auto !important; padding: 90px var(--wp--style--root--padding-right, 24px) 140px var(--wp--style--root--padding-left, 24px); color: #fff; }
.ea-hero .wp-block-cover__inner-container > * { max-width: 560px; margin-left: 0 !important; margin-right: 0 !important; }
.ea-hero h1 { color: #fff; }
.ea-hero .ea-eyebrow { color: #BFE0CD; }
.ea-hero .ea-feature { color: #E8ECE9; border-left-color: #8FC2A6; font-size: clamp(1.1rem, 1.7vw, 1.3rem); max-width: 520px; }
.ea-hero .wp-block-buttons { margin-top: 1.75rem; }
.ea-hero .wp-block-button.is-style-outline .wp-block-button__link,
.ea-hero .wp-block-button.ea-outline .wp-block-button__link { color: #fff; border-color: #fff; }
.ea-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast-2); }
body.acc-gold .ea-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(15,20,17,.9) 0%, rgba(15,20,17,.78) 45%, rgba(15,20,17,.3) 80%) !important; }
@media (max-width: 900px) {
  .ea-hero .wp-block-cover__background { background: linear-gradient(0deg, rgba(15,20,17,.9) 0%, rgba(15,20,17,.7) 55%, rgba(15,20,17,.5) 100%) !important; }
}
@media (max-width: 600px) {
  .wp-block-cover.ea-hero { min-height: 0 !important; }
  .ea-hero .wp-block-cover__inner-container { padding-top: 70px; padding-bottom: 96px; }
  .ea-hero h1 { font-size: 2.125rem; }
  .ea-hero .ea-feature { font-size: 1.1rem; }
  .ea-hero .wp-block-cover__image-background { object-position: 50% 35%; }
  .ea-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .ea-hero .wp-block-button, .ea-hero .wp-block-button__link { width: 100%; }
}

/* ---------- Facts bar ---------- */
.wp-block-columns.ea-facts { position: relative; z-index: 2; margin-top: -72px !important; margin-bottom: 0 !important; background: #fff; border-radius: 18px; box-shadow: 0 18px 40px rgba(0,0,0,.12); display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 0 !important; overflow: hidden; }
.wp-block-columns.ea-facts.ea-facts-3, .wp-block-columns.ea-facts:has(> .wp-block-column:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
.ea-facts > .wp-block-column { padding: 24px 26px; border-right: 1px solid var(--wp--preset--color--line); margin: 0 !important; flex-basis: auto !important; }
.ea-facts > .wp-block-column:last-child { border-right: 0; }
.ea-facts p { margin: 0 !important; }
.ea-facts p:first-child { font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--contrast-3); }
.ea-facts p:nth-child(2) { font-family: var(--wp--preset--font-family--heading); font-size: 1.3rem; line-height: 1.35; color: var(--wp--preset--color--contrast-2); margin-top: 4px !important; }
.ea-facts p:nth-child(3) { font-size: .85rem; color: var(--wp--preset--color--contrast-3); }
.ea-facts .is-free { background: #EEF5F0; }
.ea-facts .is-free p:nth-child(2) { color: #2F6B4C; }
.ea-fx .ea-facts > .wp-block-column { opacity: 0; transform: translateX(70px); }
.ea-fx .ea-facts.ea-go > .wp-block-column { animation: ea-fin 1.1s cubic-bezier(.2,.7,.2,1) forwards; }
.ea-fx .ea-facts.ea-go > .wp-block-column:nth-child(1) { animation-delay: .15s; }
.ea-fx .ea-facts.ea-go > .wp-block-column:nth-child(2) { animation-delay: .4s; }
.ea-fx .ea-facts.ea-go > .wp-block-column:nth-child(3) { animation-delay: .65s; }
.ea-fx .ea-facts.ea-go > .wp-block-column:nth-child(4) { animation-delay: .9s; }
.ea-fx .ea-facts.ea-go > .wp-block-column.is-free { animation-name: ea-fin, ea-glow; animation-duration: 1.1s, 1.8s; animation-timing-function: cubic-bezier(.2,.7,.2,1), ease; animation-fill-mode: forwards, none; }
.ea-fx .ea-facts.ea-go > .wp-block-column.is-free:nth-child(3) { animation-delay: .65s, 1.7s; }
.ea-fx .ea-facts.ea-go > .wp-block-column.is-free:nth-child(4) { animation-delay: .9s, 1.9s; }
@keyframes ea-fin { to { opacity: 1; transform: none; } }
@keyframes ea-glow { 0% { box-shadow: inset 0 0 0 0 rgba(78,139,108,0); } 40% { box-shadow: inset 0 0 0 3px rgba(78,139,108,.55), 0 0 24px rgba(78,139,108,.35); } 100% { box-shadow: inset 0 0 0 0 rgba(78,139,108,0); } }
@media (max-width: 900px) {
  .wp-block-columns.ea-facts { grid-template-columns: 1fr 1fr !important; }
  .ea-facts > .wp-block-column:nth-child(2) { border-right: 0; }
  .ea-facts > .wp-block-column:nth-child(-n+2) { border-bottom: 1px solid var(--wp--preset--color--line); }
}
@media (max-width: 600px) {
  .wp-block-columns.ea-facts { margin-top: -56px !important; }
  .ea-facts > .wp-block-column { padding: 14px 16px; }
  .ea-facts p:first-child { font-size: .72rem; }
  .ea-facts p:nth-child(2) { font-size: 1.06rem; }
  .ea-facts p:nth-child(3) { font-size: .78rem; }
  .ea-facts > .wp-block-column:nth-child(3) { border-right: 1px solid var(--wp--preset--color--line); }
  /* three boxes: first full width, then two side by side */
  .ea-facts:has(> .wp-block-column:nth-child(3):last-child) > .wp-block-column:first-child { grid-column: 1 / -1; border-right: 0; }
  .ea-facts:has(> .wp-block-column:nth-child(3):last-child) > .wp-block-column:nth-child(2) { border-right: 1px solid var(--wp--preset--color--line); border-bottom: 0; }
}

/* ---------- Text beside a square photo that moves on scroll ---------- */
.ea-offset { overflow: hidden; padding-block: clamp(4.4rem, 8vw, 6.9rem) !important; }
.ea-offset-cols { gap: 70px !important; align-items: center !important; }
.ea-offset-cols.is-rev > .wp-block-column:last-child { order: -1; }
.ea-offset-cols > .wp-block-column:last-child { margin-top: -60px; }
.ea-offset-cols.is-rev > .wp-block-column:last-child { margin-top: 60px; }
.ea-offset-img { margin: 0 !important; }
.ea-offset-img img { width: 100%; aspect-ratio: 1/1; object-fit: cover; box-shadow: 0 24px 50px rgba(0,0,0,.12); will-change: transform; }
.ea-offset-cols > .wp-block-column:first-child p { max-width: 520px; }
@media (max-width: 781px) {
  .ea-offset { padding-block: 70px !important; }
  .ea-offset-cols { gap: 34px !important; }
  .ea-offset-cols.is-rev > .wp-block-column:last-child { order: 0; }
  .ea-offset-cols > .wp-block-column:last-child, .ea-offset-cols.is-rev > .wp-block-column:last-child { margin-top: 0; }
  .ea-offset-img img { transform: none !important; box-shadow: 0 12px 26px rgba(0,0,0,.1); }
}

/* ---------- Photo beside text that stays still (e.g. Elemental Qigong) ---------- */
.ea-split-img { margin: 0 !important; }
.ea-split-img img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
@media (max-width: 781px) { .ea-split-img img { aspect-ratio: 4/3; } }

/* ---------- Heading lines that grow from the centre with the scroll ---------- */
h2.ea-lnh { position: relative; padding-bottom: 16px; }
h2.ea-lnh::after { content: ""; position: absolute; bottom: 0; height: 2px; background: var(--acc); left: calc(var(--lx, 0px) + var(--tw, 0px) * (1 - var(--lw, 0)) / 2); width: calc(var(--tw, 0px) * var(--lw, 0)); }
.ea-cta .ea-feature::before { display: none !important; }

/* ---------- Lists as small cards ---------- */
ul.ea-cards-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin-top: 1.25rem; }
ul.ea-cards-list li { margin: 0; background: #fff; border: 1px solid var(--wp--preset--color--line); border-top: 3px solid var(--acc); border-radius: 12px; padding: 12px 16px; font-size: .95rem; line-height: 1.45; }
.has-base-2-background-color ul.ea-cards-list li { background: #fff; }
@media (max-width: 600px) { ul.ea-cards-list { grid-template-columns: 1fr; } }

/* ---------- Gentle reveal for testimonials and cards ---------- */
.ea-fx .ea-pop { opacity: 0; transform: translateY(34px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.ea-fx .ea-pop.ea-in { opacity: 1; transform: none; }
.ea-testi > .wp-block-column { position: relative; }
.ea-testi > .wp-block-column::before { content: "\201C"; position: absolute; right: 22px; top: 6px; font-family: var(--wp--preset--font-family--heading); font-size: 72px; line-height: 1; color: var(--acc); opacity: .18; }
@media (hover: hover) { .ea-fx .ea-testi > .wp-block-column.ea-in:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.08); } }

/* ---------- ea-fade, ea-rise, ea-stagger ---------- */
.ea-fx .ea-fade { opacity: 0; transition: opacity .9s ease; }
.ea-fx .ea-rise { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.ea-fx .ea-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.ea-fx .ea-fade.ea-in, .ea-fx .ea-rise.ea-in, .ea-fx .ea-stagger > .ea-in { opacity: 1; transform: none; }

/* ---------- Phone booking bar ---------- */
.ea-bookbar { display: none; }
@media (max-width: 600px) {
  .ea-bookbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: #fff; border-top: 1px solid var(--wp--preset--color--line); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); align-items: center; justify-content: space-between; gap: 12px; box-shadow: 0 -6px 20px rgba(0,0,0,.08); transform: translateY(110%); transition: transform .35s ease; font-size: .95rem; }
  .ea-bookbar.ea-show { transform: none; }
  .ea-bookbar b { font-family: var(--wp--preset--font-family--heading); font-weight: 400; font-size: 1.1rem; color: var(--wp--preset--color--contrast-2); }
  .ea-bookbar a { background: var(--wp--preset--color--violet); color: #fff; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; font-size: .9rem; border-radius: 6px; padding: 10px 22px; min-height: 44px; display: inline-flex; align-items: center; }
}

/* ---------- Seminar sign up: social cards ---------- */
.ea-socials { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 14px !important; max-width: 620px; margin: 30px auto 6px !important; }
.ea-socials > p { margin: 0 !important; }
.ea-socials a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 18px 12px; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; text-decoration: none; color: var(--wp--preset--color--contrast-2); transition: transform .3s ease, box-shadow .3s ease; font-size: .85rem; color: var(--wp--preset--color--contrast-3); }
.ea-socials a strong { font-weight: 600; font-size: 1rem; color: var(--wp--preset--color--contrast-2); }
.ea-socials a::before { content: ""; width: 30px; height: 30px; background: var(--wp--preset--color--violet); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.ea-socials a:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
.ea-socials .ea-ig a { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.3' cy='6.7' r='1'/%3E%3C/svg%3E"); }
.ea-socials .ea-fb a { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M14 8h3V4h-3a4 4 0 0 0-4 4v3H7v4h3v6h4v-6h3l1-4h-4V8.5c0-.3.2-.5.5-.5z'/%3E%3C/svg%3E"); }
.ea-socials .ea-yt a { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='4'/%3E%3Cpath d='M10 9l5 3-5 3z'/%3E%3C/svg%3E"); }
.has-base-2-background-color .ea-socials a { background: #fff; }
:not(.has-base-2-background-color) > .ea-socials a { background: var(--wp--preset--color--base-2); }
@media (max-width: 600px) {
  .ea-socials { grid-template-columns: 1fr; gap: 10px !important; }
  .ea-socials a { flex-direction: row; justify-content: flex-start; gap: 14px; padding: 14px 18px; text-align: left; }
  .ea-socials a strong { min-width: 92px; }
}
@media (max-width: 600px) { .ea-news .mailpoet_paragraph, .ea-news .mailpoet_text, .ea-news .mailpoet_submit { width: 100% !important; } }

/* ---------- Video placeholder keeps its shape before the thumbnail loads ---------- */
.ea-lite { aspect-ratio: 16/9; }
.ea-lite img { height: 100%; }

/* ---------- Free practice: videos stacked ---------- */
.ea-videos-stack { display: grid; gap: 34px; max-width: 760px; margin-inline: auto; }
.ea-videos-stack .ea-small { text-align: center; margin-top: 8px; }


/* ---------- 1.4.0: class time cards ----------
   Columns block "ea-venues" (one column per class). In each column:
   paragraph "ea-tags" holding <span class="ea-tag">Day</span> <span class="ea-tag">Place</span>,
   heading (class name), paragraph "ea-small" (description),
   paragraph "ea-when" holding <span>time</span> <span>price</span> (sits at the bottom). */
.wp-block-columns.ea-venues { display: grid !important; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; gap: 1.6rem !important; }
.ea-venues > .wp-block-column { display: flex; flex-direction: column; margin: 0 !important; flex-basis: auto !important; }
.ea-venues > .wp-block-column > * { margin-top: 0; }
p.ea-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 .6rem !important; }
p.ea-tags .ea-tag { margin: 0; font-size: .68rem; letter-spacing: .05em; padding: .22rem .6rem; white-space: nowrap; }
.ea-venues h3 { margin: 0 0 .35rem !important; font-size: 1.35rem; }
.ea-venues .ea-small { margin: 0 0 .8rem !important; }
p.ea-when { margin: auto 0 0 !important; padding-top: .75rem; border-top: 1px solid var(--wp--preset--color--line); display: flex; justify-content: space-between; gap: .75rem; font-size: .9rem; line-height: 1.4; }
p.ea-when span:first-child { white-space: nowrap; font-weight: 600; color: var(--wp--preset--color--contrast-2); }
p.ea-when span:last-child { text-align: right; color: var(--wp--preset--color--contrast-3); }
@media (max-width: 1000px) { .wp-block-columns.ea-venues { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .wp-block-columns.ea-venues { grid-template-columns: 1fr; grid-auto-rows: auto; gap: 1rem !important; } .ea-venues > .wp-block-column { padding: 1.25rem !important; } }

/* ---------- 1.4.0: membership card glow ---------- */
@keyframes ea-glowv { 0% { box-shadow: 0 0 0 0 rgba(107,63,160,0); } 40% { box-shadow: 0 0 0 4px rgba(107,63,160,.35), 0 0 30px rgba(107,63,160,.35); } 100% { box-shadow: 0 0 0 0 rgba(107,63,160,0); } }
.ea-fx .ea-prices > .ea-featured.ea-glow { animation: ea-glowv 1.8s ease .6s 1; }

/* ---------- 1.4.0: quicker first class steps and questions ---------- */
.ea-fx .ea-pop.ea-quick { transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }

/* ---------- 1.4.0: Book a class page ----------
   First group on the page gets the class "ea-book-form" (form first, no photo). */
.ea-book-form { padding-top: clamp(2.5rem, 6vw, 3.5rem) !important; }
.ea-book-form h1 { font-size: clamp(2.1rem, 4vw, 3rem); margin-bottom: .6rem; }
.ea-book-form .ea-feature { border-left: 0 !important; padding-left: 0 !important; margin-bottom: 1.6rem; }
.ea-book-form .ea-feature::before { display: none !important; }
.ea-book-form .wpforms-container { margin-top: 0 !important; }


/* ---------- 1.4.2: stronger reveals (Home and everywhere) ---------- */
.ea-fx .ea-pop { transform: translateY(50px); }
.ea-fx .ea-rise { opacity: 0; transform: translateY(60px) scale(.95); transition: opacity 1.1s ease, transform 1.3s cubic-bezier(.2,.7,.2,1); }
.ea-fx .ea-rise.ea-in { opacity: 1; transform: none; }
.ea-fx .ea-slide { opacity: 0; transform: translateX(70px); transition: opacity .9s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.ea-fx .ea-slide.ea-in { opacity: 1; transform: none; }
.ea-split-img { overflow: visible; }
.ea-split-img img { will-change: transform; }
@media (max-width: 781px) { .ea-split-img img { transform: none !important; } }

/* ---------- Reduced motion: everything shows, nothing moves ---------- */
@media (prefers-reduced-motion: reduce) {
  .ea-hero .wp-block-cover__image-background, .ea-offset-img img, .ea-split-img img { transform: none !important; }
  .ea-fx .ea-facts > .wp-block-column, .ea-fx .ea-pop, .ea-fx .ea-slide, .ea-fx .ea-prices > .ea-featured, .ea-fx .ea-fade, .ea-fx .ea-rise, .ea-fx .ea-stagger > * { opacity: 1 !important; transform: none !important; }
}
.ea-section:has(.ea-split-img) { overflow: hidden; }

/* ---------- 1.4.2: About page "hello" opening ----------
   Group "ea-hello" holding columns: image "ea-hello-img" and the text
   (eyebrow, H1 with <span class="ea-hi2">, feature line, list). Plays once on load. */
.ea-hello-img { margin: 0 !important; }
.ea-hello-img img { width: 100%; aspect-ratio: 1/1; object-fit: cover; object-position: 50% 30%; }
.ea-hello h1 .ea-hi2 { display: inline-block; }
@keyframes ea-hello-photo { from { opacity: 0; transform: scale(1.08) translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes ea-hello-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.ea-fx .ea-hello .ea-hello-img img { animation: ea-hello-photo 1.4s cubic-bezier(.2,.7,.2,1) both; }
.ea-fx .ea-hello .ea-eyebrow { animation: ea-hello-up .8s ease .35s both; }
.ea-fx .ea-hello h1 { animation: ea-hello-up .9s cubic-bezier(.2,.7,.2,1) .6s both; }
.ea-fx .ea-hello h1 .ea-hi2 { animation: ea-hello-up .9s cubic-bezier(.2,.7,.2,1) 1.1s both; }
.ea-fx .ea-hello .ea-feature { animation: ea-hello-up .9s ease 1.5s both; }
.ea-fx .ea-hello .ea-list li { animation: ea-hello-up .7s ease both; }
.ea-fx .ea-hello .ea-list li:nth-child(1) { animation-delay: 1.8s; }
.ea-fx .ea-hello .ea-list li:nth-child(2) { animation-delay: 1.95s; }
.ea-fx .ea-hello .ea-list li:nth-child(3) { animation-delay: 2.1s; }
@media (prefers-reduced-motion: reduce) { .ea-hello *, .ea-hello img { animation: none !important; } }

/* ---------- 1.4.3: picture links show they can be clicked ----------
   Class cards, one to one cards and article pictures: the photo zooms gently inside
   its frame, the card gets a soft shadow and the title arrow nudges right. */
.ea-classes .wp-block-image a, .ea-card .wp-block-image a, .ea-posts .wp-block-post-featured-image a { display: block; overflow: hidden; border-radius: 30px; }
.ea-card .wp-block-image a { border-radius: 0; }
.ea-classes .wp-block-image img, .ea-card .wp-block-image img, .ea-posts .wp-block-post-featured-image img { transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.ea-cls-title a::after, .ea-card h3::after { content: "\2192"; display: inline-block; margin-left: .35em; font-weight: 400; transition: transform .35s ease; }
.ea-card h3::after { color: var(--wp--preset--color--violet); }
.ea-classes > .wp-block-column, .ea-card { cursor: pointer; }
.ea-classes .wp-block-image, .ea-card { transition: box-shadow .4s ease; }
@media (hover: hover) {
  .ea-classes > .wp-block-column:hover .wp-block-image img, .ea-card:hover .wp-block-image img, .ea-posts .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.07); filter: brightness(1.05); }
  .ea-classes > .wp-block-column:hover .wp-block-image { box-shadow: 0 16px 34px rgba(0,0,0,.14); border-radius: 30px; }
  .ea-card:hover { box-shadow: 0 16px 34px rgba(0,0,0,.1); }
  .ea-classes > .wp-block-column:hover .ea-cls-title a::after, .ea-card:hover h3::after { transform: translateX(6px); }
}
@media (max-width: 600px) { .ea-classes .wp-block-image a { border-radius: 18px; } }
@media (prefers-reduced-motion: reduce) { .ea-classes .wp-block-image img, .ea-card .wp-block-image img, .ea-posts .wp-block-post-featured-image img { transition: none; transform: none !important; } }
/* lift and shadow, the same feel as the social cards (uses "translate" so it doesn't fight the pop in animation) */
.ea-fx .ea-classes > .wp-block-column.ea-pop, .ea-fx .ea-card.ea-pop { transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, translate .35s ease; }
.ea-classes > .wp-block-column, .ea-card, .ea-posts .wp-block-post { transition: box-shadow .35s ease, translate .35s ease; }
.ea-posts .wp-block-post-featured-image { transition: box-shadow .35s ease; border-radius: 22px; }
.ea-posts .wp-block-post { cursor: pointer; }
@media (hover: hover) {
  .ea-classes > .wp-block-column:hover, .ea-card:hover, .ea-posts .wp-block-post:hover { translate: 0 -6px; }
  .ea-posts .wp-block-post:hover .wp-block-post-featured-image { box-shadow: 0 16px 34px rgba(0,0,0,.14); }
  .ea-posts .wp-block-post:hover .wp-block-post-title a { color: var(--wp--preset--color--violet); }
  .ea-classes > .wp-block-column:hover .wp-block-image img, .ea-card:hover .wp-block-image img, .ea-posts .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
}

/* ---------- 1.4.4: MailPoet sign up form on brand ----------
   Email box and Join button side by side (stacked on phones), no white box behind. */
.ea-news:is(#ea-news, .ea-news) .mailpoet_form, .ea-news:is(#ea-news, .ea-news) div.mailpoet_form { background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; width: 100% !important; max-width: 480px !important; margin: 26px auto 8px !important; }
.ea-news:is(#ea-news, .ea-news) form.mailpoet_form { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; align-items: stretch !important; background: transparent !important; padding: 0 !important; margin: 0 !important; max-width: none !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_paragraph { margin: 0 !important; padding: 0 !important; flex: 1 1 240px; width: auto !important; max-width: none !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_paragraph:has(.mailpoet_submit) { flex: 0 0 auto; text-align: center !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_form_paragraph, .ea-news:is(#ea-news, .ea-news) p.mailpoet_form_paragraph { display: none !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_text, .ea-news:is(#ea-news, .ea-news) input.mailpoet_text { width: 100% !important; height: 50px !important; min-height: 50px !important; padding: 0 16px !important; margin: 0 !important; border: 1px solid #CFCFD6 !important; border-radius: 6px !important; background: #fff !important; font-family: var(--wp--preset--font-family--body) !important; font-size: 1rem !important; color: var(--wp--preset--color--contrast) !important; box-sizing: border-box !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_text:focus { outline: 2px solid var(--wp--preset--color--violet) !important; outline-offset: 1px; border-color: var(--wp--preset--color--violet) !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_submit, .ea-news:is(#ea-news, .ea-news) input.mailpoet_submit { width: auto !important; height: 50px !important; min-height: 50px !important; padding: 0 30px !important; margin: 0 !important; border: 0 !important; border-radius: 6px !important; background: var(--wp--preset--color--violet) !important; color: #fff !important; font-family: var(--wp--preset--font-family--body) !important; font-size: .95rem !important; font-weight: 500 !important; letter-spacing: .05em !important; text-transform: uppercase !important; cursor: pointer; transition: background .25s ease, transform .25s ease; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_submit:hover { background: #57318A !important; transform: translateY(-2px); }
.ea-news:is(#ea-news, .ea-news) .mailpoet_message { flex-basis: 100%; margin: 4px 0 0 !important; padding: 0 !important; text-align: center; font-size: .95rem; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_validate_success { color: #2F6B4C !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_validate_error, .ea-news:is(#ea-news, .ea-news) .parsley-errors-list { color: #B42318 !important; font-size: .85rem; list-style: none; padding: 0; margin: 4px 0 0; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_form_loading { display: none; }
@media (max-width: 600px) {
  .ea-news:is(#ea-news, .ea-news) .mailpoet_paragraph, .ea-news:is(#ea-news, .ea-news) .mailpoet_paragraph:has(.mailpoet_submit) { flex: 1 1 100%; }
  .ea-news:is(#ea-news, .ea-news) .mailpoet_submit, .ea-news:is(#ea-news, .ea-news) input.mailpoet_submit { width: 100% !important; }
}
/* 1.4.5: Join button always centred, whatever MailPoet's own layout does */
.ea-news:is(#ea-news, .ea-news) form.mailpoet_form { justify-content: center !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_submit { display: block !important; margin-left: auto !important; margin-right: auto !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_paragraph { text-align: center !important; }
.ea-news:is(#ea-news, .ea-news) .mailpoet_text { text-align: left !important; }

/* ---------- 1.4.6: phones, quicker and lighter animations ---------- */
.ea-fx.ea-phone .ea-pop, .ea-fx.ea-phone .ea-rise, .ea-fx.ea-phone .ea-slide, .ea-fx.ea-phone .ea-fade, .ea-fx.ea-phone .ea-stagger > * { transition-duration: .55s !important; }
.ea-fx.ea-phone .ea-pop:not(.ea-in) { transform: translateY(22px); }
.ea-fx.ea-phone .ea-rise:not(.ea-in) { transform: translateY(26px) scale(.98); }
.ea-fx.ea-phone .ea-slide:not(.ea-in) { transform: translateX(30px); }
.ea-fx.ea-phone .ea-stagger > *:not(.ea-in) { transform: translateY(18px); }
.ea-fx.ea-phone .ea-facts.ea-go > .wp-block-column { animation-duration: .6s !important; }
.ea-fx.ea-phone .ea-facts.ea-go > .wp-block-column:nth-child(1) { animation-delay: .05s; }
.ea-fx.ea-phone .ea-facts.ea-go > .wp-block-column:nth-child(2) { animation-delay: .15s; }
.ea-fx.ea-phone .ea-facts.ea-go > .wp-block-column:nth-child(3) { animation-delay: .25s; }
.ea-fx.ea-phone .ea-facts.ea-go > .wp-block-column:nth-child(4) { animation-delay: .35s; }
.ea-fx.ea-phone .ea-facts.ea-go > .wp-block-column.is-free { animation-duration: .6s, 1.6s !important; }
@media (max-width: 600px) {
  .ea-hero h1 { font-size: clamp(1.85rem, 8.5vw, 2.125rem); }
  .ea-hero .wp-block-cover__background { background: linear-gradient(0deg, rgba(15,20,17,.92) 0%, rgba(15,20,17,.78) 60%, rgba(15,20,17,.6) 100%) !important; }
}
