/* Easy Green frontend stylesheet — consolidated in 0.1.33.
 * Source order is intentionally preserved from the former split cascade.
 */

/* === Core / header / homepage / footer === */
:root {
  --eg-tanne:#005538;
  --eg-klee:#008939;
  --eg-grass:#8ABD24;
  --eg-sand:#F5F1E9;
  --eg-yellow:#FFF17A;
  --eg-lime:#C7FE7A;
  --eg-ink:#002216;
  --eg-white:#fff;
  --eg-border:rgba(0,34,22,.10);
  --eg-shadow:0 12px 28px rgba(0,34,22,.10);
  --eg-radius:18px;
  --eg-ease-out:cubic-bezier(.22,1,.36,1);
  --eg-container:min(1240px, calc(100vw - 32px));
  /* Gotham X Narrow is part of the GRÜNE brand system but is not bundled by Sunflower.
     Keep the family name first so installations that load it can use it; the
     fallbacks only prevent broken rendering where the licensed font is absent. */
  --eg-font-gotham-x-narrow:"Gotham X Narrow","Gotham XNarrow","Arial Narrow","PT Sans",sans-serif;
}

html { scroll-behavior:smooth; }
body.easy-green { background:var(--eg-sand); color:var(--eg-ink); font-family:"PT Sans",sans-serif; }
body.easy-green { overflow-x:clip; }
body.easy-green #page { overflow:visible !important; }
.eg-container { width:var(--eg-container); margin-inline:auto; }

/* Header */
/* Keep Easy Green completely out of Sunflower's own #masthead behaviour. The
   child header deliberately uses its own id so parent sticky/hide scripts do not
   move it off-screen. */
body.easy-green #easy-green-header.eg-header {
  position:sticky !important;
  top:0 !important;
  z-index:9990 !important;
  display:block !important;
  width:100%;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  isolation:isolate;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body.easy-green #easy-green-header.eg-header::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:rgba(247,244,237,.985);
  border-bottom:1px solid rgba(0,34,22,.075);
  opacity:1;
  transition:opacity .2s ease;
}
body.admin-bar.easy-green #easy-green-header.eg-header { top:32px !important; }
.eg-header__inner {
  position:relative;
  isolation:isolate;
  width:var(--eg-container);
  min-height:72px;
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:18px;
  border-radius:18px;
  transform:translate3d(0,0,0);
  /* audit-allow-header-morph: the desktop header is the one deliberate
     exception to the no-layout-transition rule. Its small isolated box may
     morph between full and floating states; expensive filter/shadow animation
     remains forbidden. */
  transition:
    width .34s var(--eg-ease-out),
    min-height .34s var(--eg-ease-out),
    padding .34s var(--eg-ease-out),
    transform .34s var(--eg-ease-out);
}
.eg-header__inner::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(0,34,22,.09);
  border-radius:inherit;
  background:rgba(247,244,237,.96);
  box-shadow:0 12px 34px rgba(0,34,22,.14);
  opacity:0;
  transition:opacity .2s ease;
}
.eg-brand { display:flex; align-items:center; gap:8px; color:var(--eg-tanne); min-width:max-content; }
.eg-brand__logo {
  display:block;
  max-height:36px;
  max-width:158px;
  width:auto;
  object-fit:contain;
  transition:max-height .32s var(--eg-ease-out),max-width .32s var(--eg-ease-out);
}
.eg-brand__mark { width:36px; height:36px; display:block; transition:width .32s var(--eg-ease-out),height .32s var(--eg-ease-out); }
.eg-brand__mark svg { width:100%; height:100%; }
.eg-brand__text { display:flex; flex-direction:column; font-size:11px; line-height:.88; transition:font-size .32s var(--eg-ease-out); }
.eg-brand__text strong { font-weight:800; }
.eg-brand__text small { font-size:11px; margin-top:3px; transition:font-size .32s var(--eg-ease-out),margin-top .32s var(--eg-ease-out); }
.eg-nav--desktop { margin-left:auto; min-width:0; }
.eg-nav__list { display:flex; align-items:center; gap:clamp(12px,1.05vw,18px); list-style:none; margin:0; padding:0; }
.eg-nav__list > li { position:relative; margin:0; padding:0; list-style:none; }
.eg-nav__list > li > a {
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  color:var(--eg-ink);
  font-weight:700;
  font-size:13.5px;
  line-height:1.1;
  white-space:nowrap;
  transition:color .18s ease,min-height .32s var(--eg-ease-out),font-size .32s var(--eg-ease-out);
}
.eg-nav__list > li > a:hover,
.eg-nav__list > li.current-menu-item > a,
.eg-nav__list > li.current-menu-ancestor > a { color:var(--eg-klee); }
.eg-nav__list > li.current-menu-item > a::before,
.eg-nav__list > li.current-menu-ancestor > a::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:currentColor;
}
.eg-nav__list > li.menu-item-has-children > a::after {
  content:"";
  width:5px;
  height:5px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
  transition:transform .18s ease;
}
.eg-nav__list > li.menu-item-has-children:hover > a::after,
.eg-nav__list > li.menu-item-has-children:focus-within > a::after { transform:rotate(225deg) translate(-1px,-1px); }

/* The parent theme also styles .sub-menu. Reset it here so nested menu items never
   expand the header into a multi-column sitemap. */
body.easy-green .eg-header .eg-nav__list > li > .sub-menu {
  position:absolute !important;
  z-index:100;
  top:calc(100% + 3px) !important;
  left:50% !important;
  right:auto !important;
  width:max-content !important;
  min-width:220px !important;
  max-width:min(310px,calc(100vw - 32px)) !important;
  height:auto !important;
  margin:0 !important;
  padding:9px !important;
  display:block !important;
  list-style:none !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid var(--eg-border) !important;
  border-radius:14px !important;
  box-shadow:0 18px 46px rgba(0,34,22,.16) !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,7px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
body.easy-green .eg-header .eg-nav__list > li:first-child > .sub-menu { left:0 !important; transform:translate(0,7px); }
body.easy-green .eg-header .eg-nav__list > li:last-child > .sub-menu { left:auto !important; right:0 !important; transform:translate(0,7px); }
body.easy-green .eg-header .eg-nav__list > li:hover > .sub-menu,
body.easy-green .eg-header .eg-nav__list > li:focus-within > .sub-menu {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
body.easy-green .eg-header .eg-nav__list > li:first-child:hover > .sub-menu,
body.easy-green .eg-header .eg-nav__list > li:first-child:focus-within > .sub-menu,
body.easy-green .eg-header .eg-nav__list > li:last-child:hover > .sub-menu,
body.easy-green .eg-header .eg-nav__list > li:last-child:focus-within > .sub-menu { transform:translate(0,0); }
body.easy-green .eg-header .eg-nav__list .sub-menu li {
  display:block !important;
  position:relative !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  list-style:none !important;
}
body.easy-green .eg-header .eg-nav__list .sub-menu a {
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  padding:9px 11px !important;
  border-radius:9px !important;
  color:var(--eg-ink) !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  background:transparent !important;
}
body.easy-green .eg-header .eg-nav__list .sub-menu a:hover,
body.easy-green .eg-header .eg-nav__list .sub-menu a:focus,
body.easy-green .eg-header .eg-nav__list .sub-menu .current-menu-item > a {
  color:var(--eg-tanne) !important;
  background:rgba(199,254,122,.38) !important;
}
.eg-header__actions { display:flex; align-items:center; gap:7px; }
.eg-icon-button,.eg-menu-toggle {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:0;
  padding:0;
  background:transparent;
  color:var(--eg-ink);
  transition:width .32s var(--eg-ease-out),height .32s var(--eg-ease-out);
}
.eg-icon-button svg,.eg-menu-toggle svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:width .32s var(--eg-ease-out),height .32s var(--eg-ease-out);
}
.eg-search-toggle { cursor:pointer; border-radius:50%; transition:background .18s ease,color .18s ease; }
.eg-search-toggle:hover,
.eg-search-toggle:focus-visible,
.eg-search-toggle[aria-expanded="true"] { background:rgba(199,254,122,.46); color:var(--eg-tanne); outline:none; }
.eg-search-toggle:focus-visible { box-shadow:0 0 0 3px rgba(0,137,57,.22); }

.eg-search-panel {
  position:absolute;
  z-index:120;
  left:50%;
  top:calc(100% - 1px);
  width:var(--eg-container);
  transform:translateX(-50%);
}
.eg-search-panel[hidden] { display:none !important; }
.eg-search-panel__inner {
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(360px,1.4fr);
  gap:28px;
  align-items:end;
  padding:22px 24px 24px;
  border:1px solid rgba(0,34,22,.10);
  border-top:0;
  border-radius:0 0 20px 20px;
  background:rgba(247,244,237,.98);
  box-shadow:0 22px 48px rgba(0,34,22,.16);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.eg-search-panel__copy .eg-kicker { margin:0 0 4px; }
.eg-search-panel__copy strong {
  display:block;
  font-size:clamp(20px,2vw,30px);
  line-height:1.05;
  font-weight:800;
}
.eg-search-form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.eg-search-form input[type="search"] {
  width:100%;
  min-height:48px;
  padding:0 16px;
  border:2px solid rgba(0,85,56,.18);
  border-radius:999px;
  background:#fff;
  color:var(--eg-ink);
  font:inherit;
  font-size:16px;
  outline:none;
}
.eg-search-form input[type="search"]:focus {
  border-color:var(--eg-klee);
  box-shadow:0 0 0 3px rgba(0,137,57,.15);
}
.eg-search-form button {
  min-height:48px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:var(--eg-yellow);
  color:var(--eg-ink);
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:transform .16s ease,background .16s ease;
}
.eg-search-form button:hover,
.eg-search-form button:focus-visible {
  background:#ffe85c;
  outline:none;
}
.eg-menu-toggle { display:none; cursor:pointer; }
.eg-header-cta,.eg-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 15px;
  border-radius:999px;
  background:var(--eg-yellow);
  color:var(--eg-ink)!important;
  font-weight:800;
  box-shadow:0 3px 0 rgba(0,0,0,.05);
  transition:transform .2s ease;
}
.eg-header-cta {
  font-size:13.5px;
  transition:transform .2s ease,padding .32s var(--eg-ease-out),font-size .32s var(--eg-ease-out);
}

/* Sunflower 26 social profiles on the homepage. The links themselves and their
   order still come from the parent theme settings; Easy Green only gives the
   original icon strip a place next to the hero. */
body.easy-green .eg-header-socials.social-media-profiles {
  position:absolute !important;
  top:calc(100% + 16px) !important;
  right:max(18px,calc((100vw - 1240px)/2 - 54px)) !important;
  z-index:40;
  margin:0 !important;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
body.easy-green .eg-header-socials .sunflower__socials {
  display:flex !important;
  flex-direction:column;
  gap:7px;
  height:auto !important;
}
body.easy-green .eg-header-socials .sunflower__socials a {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:var(--eg-tanne) !important;
  background:rgba(247,244,237,.94) !important;
  border:1px solid rgba(0,34,22,.1);
  box-shadow:0 7px 18px rgba(0,34,22,.12);
  transition:transform .16s ease,background .16s ease,color .16s ease;
}
body.easy-green .eg-header-socials .sunflower__socials a:hover,
body.easy-green .eg-header-socials .sunflower__socials a:focus-visible {
  color:#fff !important;
  background:var(--eg-tanne) !important;
}
body.easy-green .eg-header-socials .sunflower__socials a:focus-visible {
  outline:3px solid var(--eg-yellow);
  outline-offset:2px;
}
body.easy-green .eg-header-socials .sunflower__socials svg,
body.easy-green .eg-header-socials .sunflower__socials i {
  width:18px;
  height:18px;
  font-size:18px;
}
body.easy-green .eg-header.is-scrolled .eg-header-socials {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
}

/* Deliberately JS-driven rather than scroll-timeline driven. This avoids two
   competing scroll systems and keeps the floating state predictable in WP. */
@media (min-width:1081px) {
  /* Restore the compact floating morph, but keep the expensive parts out of
     the animation: no backdrop-filter and no animated box-shadow. */
  body.easy-green #easy-green-header.eg-header.is-scrolled::before { opacity:0; }
  .eg-header.is-scrolled .eg-header__inner {
    width:min(1080px,calc(100vw - 44px));
    min-height:56px;
    padding:0 13px;
    transform:translate3d(0,8px,0);
  }
  .eg-header.is-scrolled .eg-header__inner::before { opacity:1; }
  .eg-header.is-scrolled .eg-brand__logo { max-height:30px; max-width:136px; }
  .eg-header.is-scrolled .eg-brand__mark { width:30px; height:30px; }
  .eg-header.is-scrolled .eg-brand__text { font-size:9.75px; }
  .eg-header.is-scrolled .eg-brand__text small { font-size:9.75px; margin-top:2px; }
  .eg-header.is-scrolled .eg-nav__list > li > a { min-height:30px; font-size:12.6px; }
  .eg-header.is-scrolled .eg-header-cta { padding:6px 12px; font-size:12.6px; }
  .eg-header.is-scrolled .eg-icon-button { width:30px; height:30px; }
  .eg-header.is-scrolled .eg-icon-button svg { width:17px; height:17px; }
}

.eg-mobile-menu { background:var(--eg-sand); border-top:1px solid var(--eg-border); padding:10px max(16px,calc((100vw - 720px)/2)) 24px; }
.eg-mobile-menu__list,.eg-mobile-menu__list ul { list-style:none; margin:0; padding:0; }
.eg-mobile-menu__list > li { border-bottom:1px solid var(--eg-border); }
.eg-mobile-menu__list a { display:block; padding:13px 4px; color:var(--eg-ink); font-weight:800; line-height:1.2; }
.eg-mobile-menu__list .sub-menu {
  position:static !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 10px;
  width:auto !important;
  height:auto !important;
  margin:-3px 0 11px !important;
  padding:0 0 0 14px !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.eg-mobile-menu__list .sub-menu li { border:0 !important; }
.eg-mobile-menu__list .sub-menu a { padding:8px 4px; font-size:14px; font-weight:700; color:rgba(0,34,22,.78); }
.eg-mobile-menu__list .current-menu-item > a { color:var(--eg-klee); }
.eg-mobile-menu__cta { display:block; text-align:center; margin-top:16px; padding:13px; background:var(--eg-yellow); color:var(--eg-ink); border-radius:999px; font-weight:800; }

/* Hero */
.eg-hero {
  position:relative;
  min-height:610px;
  background:var(--eg-tanne);
  color:#fff;
  isolation:isolate;
}
.eg-hero__visual {
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,rgba(0,85,56,.99) 0%,rgba(0,85,56,.95) 31%,rgba(0,85,56,.68) 43%,rgba(0,85,56,.18) 59%,rgba(0,85,56,0) 73%),
    var(--eg-hero-image);
  background-size:cover;
  background-position:center;
  z-index:-1;
}
.eg-hero__content { padding:72px 0 142px; }
.eg-hero__copy { max-width:620px; }
.eg-hero h1.eg-hero-claim {
  display:block;
  max-width:min(760px,100%);
  margin:0 0 36px;
  color:#fff;
  line-height:.82;
  letter-spacing:-.035em;
}
.eg-hero-claim__line {
  position:relative;
  display:block;
  width:fit-content;
  max-width:100%;
  isolation:isolate;
  transform-origin:left center;
}
.eg-hero-claim__line + .eg-hero-claim__line { margin-top:-2px; }
.eg-hero-claim__text {
  position:relative;
  z-index:2;
  display:block;
  max-width:100%;
}
.eg-hero-claim__line--font-gruene {
  font-family:"GrueneType Neue",sans-serif;
  font-weight:400;
  font-style:oblique 8deg;
  transform:skewX(-4deg);
}
.eg-hero-claim__line--font-gotham {
  font-family:var(--eg-font-gotham-x-narrow);
  font-weight:700;
  font-style:normal;
  letter-spacing:-.045em;
}
.eg-hero-claim__line--small-white,
.eg-hero-claim__line--large-white { color:#fff; }
.eg-hero-claim__line--small-green,
.eg-hero-claim__line--large-green { color:var(--eg-lime); }
.eg-hero-claim__line--small-white,
.eg-hero-claim__line--small-green {
  font-size:clamp(48px,4.45vw,72px);
  line-height:.84;
}
.eg-hero-claim__line--large-white,
.eg-hero-claim__line--large-green {
  margin-left:clamp(8px,1vw,16px);
  font-size:clamp(72px,6.8vw,108px);
  line-height:.79;
}
.eg-hero-claim__line.has-marker {
  margin-bottom:17px;
}
.eg-hero-claim__line.has-marker::after {
  content:"";
  position:absolute;
  z-index:1;
  left:-2.8%;
  bottom:-13px;
  width:106%;
  height:24px;
  pointer-events:none;
  background:url("../img/marker-brush.svg") center / 100% 100% no-repeat;
  transform:rotate(-.55deg);
  transform-origin:center;
}
.eg-hero__subline {
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(22px,2vw,32px);
  line-height:1.05;
  margin:0 0 14px;
}
.eg-hero__text { font-size:19px; line-height:1.45; max-width:540px; margin:0; }
.eg-hero-ctas {
  position:absolute;
  left:50%;
  bottom:-54px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  z-index:5;
}
.eg-hero-card {
  min-height:112px;
  border-radius:15px;
  padding:18px;
  display:grid;
  grid-template-columns:52px 1fr 38px;
  gap:12px;
  align-items:center;
  box-shadow:var(--eg-shadow);
  transition:.2s transform;
}
.eg-hero-card--light { background:#fff; color:var(--eg-ink); }
.eg-hero-card--green { background:var(--eg-tanne); color:#fff; }
.eg-hero-card--yellow { background:var(--eg-yellow); color:var(--eg-ink); }
.eg-hero-card__icon svg,.eg-tool-card__icon svg {
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.eg-hero-card__copy { display:flex; flex-direction:column; line-height:1.1; min-width:0; }
.eg-hero-card__copy strong { font-family:"GrueneType Neue",sans-serif; font-size:24px; font-weight:400; }
.eg-hero-card__copy small { font-size:14px; line-height:1.25; margin-top:4px; }
.eg-card-arrow {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--eg-lime);
  color:var(--eg-tanne);
  margin-left:auto;
  flex:0 0 auto;
}
.eg-card-arrow svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.eg-hero-card--yellow .eg-card-arrow { background:var(--eg-tanne); color:#fff; }

/* Sections */
.eg-section { padding:82px 0 0; }
.eg-hero + .eg-section { padding-top:126px; }
.eg-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:24px; }
.eg-section-head--split > div { flex:1.25; }
.eg-section-head--split > .eg-section-head__aside { flex:.75; }
.eg-section-head__aside { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.eg-section-head p { margin:0; }
.eg-kicker {
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:12px;
  color:var(--eg-tanne);
  margin-bottom:6px!important;
}
.eg-section h2,.eg-footer__cta h2 {
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(42px,5vw,64px);
  line-height:.87;
  font-weight:400;
  color:var(--eg-ink);
  margin:0;
  letter-spacing:-.015em;
}
.eg-more { color:var(--eg-tanne); font-weight:800; border-bottom:1px solid currentColor; padding-bottom:2px; white-space:nowrap; }
.eg-more:hover,.eg-more:focus-visible { color:var(--eg-ink) !important; border-bottom-width:2px; }
.eg-more:focus-visible { outline:2px solid var(--eg-klee); outline-offset:4px; border-radius:2px; }

/* Topics */
.eg-topic-grid {
  display:grid;
  grid-template-columns:repeat(var(--eg-grid-count,3),minmax(0,1fr));
  gap:28px 16px;
  align-items:start;
}
.eg-topic-item {
  min-width:0;
}
.eg-topic-card {
  position:relative;
  min-height:300px;
  border-radius:14px;
  overflow:hidden;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background-image:linear-gradient(0deg,rgba(0,60,40,.96) 0%,rgba(0,60,40,.60) 27%,rgba(0,60,40,.12) 58%,rgba(0,60,40,.02) 78%),var(--eg-card-image);
  background-size:cover;
  background-position:center;
  box-shadow:0 3px 12px rgba(0,34,22,.08);
  transition:transform .24s var(--eg-ease-out),border-color .18s ease;
}
.eg-topic-card:hover,
.eg-topic-card:focus-visible {
  color:#fff !important;
}
.eg-topic-card:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:3px; }
.eg-topic-card:hover strong,.eg-topic-card:focus-visible strong { color:#fff !important; }
.eg-topic-card:hover .eg-card-arrow,.eg-topic-card:focus-visible .eg-card-arrow { background:var(--eg-yellow); color:var(--eg-ink); }
.eg-topic-card__tag {
  position:absolute;
  left:16px;
  top:16px;
  background:rgba(255,255,255,.96);
  color:var(--eg-tanne);
  border:1px solid rgba(0,85,56,.10);
  border-radius:999px;
  padding:6px 11px 5px;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:10.5px;
  line-height:1;
  font-weight:800;
  box-shadow:0 3px 10px rgba(0,34,22,.06);
}
.eg-topic-card__copy { display:block; padding-right:50px; }
.eg-topic-card strong {
  display:block;
  max-width:92%;
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(30px,2.5vw,39px);
  line-height:.9;
  font-weight:400;
  text-wrap:balance;
}
.eg-topic-card .eg-card-arrow { position:absolute; right:16px; bottom:16px; }
.eg-topic-card__intro {
  margin:14px 4px 0;
  max-width:95%;
  color:var(--eg-ink);
  font-size:15px;
  line-height:1.48;
  font-weight:520;
}

/* News */
.eg-news-grid {
  display:grid;
  grid-template-columns:repeat(var(--eg-grid-count,3),minmax(0,1fr));
  gap:12px;
}
.eg-news-card {
  background:#fff;
  border:1px solid var(--eg-border);
  border-radius:14px;
  overflow:hidden;
  display:grid;
  grid-template-columns:42% 58%;
  min-height:178px;
  box-shadow:0 3px 12px rgba(0,34,22,.035);
  transition:transform .2s ease,border-color .2s ease;
}
.eg-news-card:focus-within {
  border-color:rgba(0,85,56,.28);
}
.eg-news-card__image { background:#e7e7e1; min-width:0; }
.eg-news-card__image { overflow:hidden; }
.eg-news-card__image img { width:100%; height:100%; min-height:178px; object-fit:cover; display:block; transition:transform .28s ease; }
.eg-news-card:focus-within .eg-news-card__image img { transform:scale(1.025); }
.eg-news-card__body { position:relative; padding:17px 45px 18px 16px; min-width:0; background:#fff; color:var(--eg-ink); }
.eg-news-card__meta { display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; font-size:10.5px; color:#53635d; text-transform:uppercase; font-weight:700; line-height:1.15; }
.eg-news-card__meta span { background:var(--eg-lime); color:var(--eg-tanne); padding:5px 7px 4px; border-radius:999px; letter-spacing:.025em; }
.eg-news-card__meta time { white-space:nowrap; }
.eg-news-card h3 { font-family:"GrueneType Neue",sans-serif; font-size:24px; line-height:.96; font-weight:400; margin:10px 0 0; hyphens:auto; }
.eg-news-card h3 a,
.eg-news-card h3 a:hover,
.eg-news-card h3 a:focus { color:var(--eg-ink) !important; background:transparent !important; text-decoration:none !important; }
.eg-news-card h3 a:focus-visible { outline:2px solid var(--eg-klee); outline-offset:3px; border-radius:2px; }
.eg-news-card__image:focus-visible,.eg-news-card .eg-card-arrow:focus-visible { outline:3px solid var(--eg-klee); outline-offset:-3px; }
.eg-news-card:hover .eg-card-arrow,.eg-news-card:focus-within .eg-card-arrow { background:var(--eg-tanne); color:#fff; }
.eg-news-card:hover .eg-news-card__meta span,.eg-news-card:focus-within .eg-news-card__meta span { background:var(--eg-lime); color:var(--eg-ink); }
.eg-news-card .eg-card-arrow { position:absolute; right:12px; bottom:12px; }

/* Tools */
.eg-tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.eg-tool-card {
  display:grid;
  grid-template-columns:50px 1fr 34px;
  gap:12px;
  align-items:center;
  padding:17px 18px;
  border-radius:12px;
  background:#fff;
  color:var(--eg-ink);
  border:1px solid var(--eg-border);
  transition:.2s transform;
}
.eg-tool-card:nth-child(1),.eg-tool-card:nth-child(3) { background:linear-gradient(100deg,#edffd6,var(--eg-lime)); }
.eg-tool-card span:nth-child(2) { display:flex; flex-direction:column; min-width:0; }
.eg-tool-card strong { font-family:"GrueneType Neue",sans-serif; font-size:23px; line-height:1; font-weight:400; }
.eg-tool-card small { font-size:14px; line-height:1.25; margin-top:3px; }

/* Events */
.eg-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.eg-event-card { display:grid; grid-template-columns:68px 1fr 34px; gap:12px; align-items:center; padding:14px; background:#fff; border:1px solid var(--eg-border); border-radius:12px; color:var(--eg-ink); }
.eg-event-date { width:60px; min-height:66px; background:var(--eg-yellow); border-radius:8px; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:.9; }
.eg-event-date strong { font-family:"GrueneType Neue",sans-serif; font-size:30px; font-weight:400; }
.eg-event-date small { text-transform:uppercase; font-size:12px; font-weight:800; }
.eg-event-copy { display:flex; flex-direction:column; min-width:0; }
.eg-event-copy strong { font-family:"GrueneType Neue",sans-serif; font-size:22px; line-height:.95; font-weight:400; }
.eg-event-copy small { font-size:13px; margin-top:5px; }

/* Team: deliberately without a colored box, like the mockup */
.eg-team { padding-bottom:78px; }
.eg-team__layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); gap:54px; align-items:end; }
.eg-team__copy h2 { max-width:780px; }
.eg-team__copy > p:last-child { font-size:17px; line-height:1.45; max-width:720px; margin:14px 0 0; }
.eg-team__side { display:flex; flex-direction:column; gap:18px; align-items:flex-start; padding-bottom:4px; }
.eg-team__people { display:flex; align-items:center; padding-left:10px; min-height:66px; }
.eg-team__person,.eg-team__more {
  width:62px;
  height:62px;
  border-radius:50%;
  border:4px solid var(--eg-sand);
  margin-left:-10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 3px 12px rgba(0,34,22,.10);
  display:grid;
  place-items:center;
}
.eg-team__person:first-child { margin-left:0; }
.eg-team__person img { width:100%; height:100%; object-fit:cover; display:block; }
.eg-team__person--placeholder { color:var(--eg-tanne); background:#e8f4e3; }
.eg-team__person--placeholder svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.eg-team__more { width:34px; height:34px; border-width:3px; margin-left:-5px; background:var(--eg-lime); color:var(--eg-tanne); font-weight:900; font-size:21px; box-shadow:none; }

/* Custom homepage blocks */
.eg-custom { padding-top:84px; }
.eg-custom__inner { margin-inline:auto; }
.eg-custom--normal .eg-custom__inner { width:min(860px,calc(100vw - 32px)); }
.eg-custom--wide .eg-custom__inner { width:var(--eg-container); }
.eg-custom--full .eg-custom__inner { width:100%; }
.eg-custom--bg-sand,.eg-custom--bg-green,.eg-custom--bg-lime,.eg-custom--bg-yellow { padding-bottom:84px; }
.eg-custom--bg-sand { background:var(--eg-sand); }
.eg-custom--bg-green { background:var(--eg-tanne); color:#fff; }
.eg-custom--bg-lime { background:var(--eg-lime); }
.eg-custom--bg-yellow { background:var(--eg-yellow); }

/* Footer */
.eg-footer { background:var(--eg-tanne); color:#fff; }
.eg-footer a { color:#fff; }
.eg-footer__cta-wrap { background:var(--eg-sand); padding:6px 0 48px; }
.eg-footer__cta {
  background:var(--eg-yellow);
  color:var(--eg-ink);
  border-radius:20px;
  padding:34px 38px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:36px;
  box-shadow:0 12px 30px rgba(0,34,22,.08);
}
.eg-footer__cta .eg-kicker { color:var(--eg-tanne); }
.eg-footer__cta h2 { font-size:clamp(40px,4.4vw,58px); }
.eg-footer__cta p:last-child { max-width:720px; margin:12px 0 0; font-size:17px; line-height:1.4; }
.eg-footer__cta-button { display:inline-flex; align-items:center; justify-content:center; padding:13px 20px; border-radius:999px; background:var(--eg-tanne); color:#fff!important; font-weight:800; white-space:nowrap; transition:.2s transform; }
.eg-footer__main { display:grid; grid-template-columns:1.1fr 1.4fr auto; gap:42px; align-items:start; }
.eg-footer__brand { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.eg-footer__brand > a { display:block; }
.eg-footer__logo { max-height:64px; max-width:220px; width:auto; object-fit:contain; filter:brightness(0) invert(1); }
.eg-footer__fallback-logo { display:flex; align-items:center; gap:10px; line-height:.9; }
.eg-footer__mark { width:48px; height:48px; display:block; }
.eg-footer__mark svg { width:100%; height:100%; }
.eg-footer__site-name { font-family:"GrueneType Neue",sans-serif; font-size:26px; line-height:1; margin-top:6px; }
.eg-footer__brand > span:last-child { color:rgba(255,255,255,.72); }
.eg-footer__menu,.eg-footer__legal { display:flex; flex-wrap:wrap; gap:12px 18px; list-style:none; padding:0; margin:0; }
.eg-footer__menu a { font-weight:700; }
.eg-footer__socials { display:flex; justify-content:flex-end; }
.eg-footer .sunflower__socials { display:flex; gap:12px; }
.eg-footer .sunflower__socials a { font-size:22px; }
.eg-footer__bottom { border-top:1px solid rgba(255,255,255,.18); display:flex; justify-content:space-between; gap:20px; font-size:13px; }
.eg-footer__bottom a { color:#fff; }

@media (max-width:1100px) {
  .eg-nav__list { gap:16px; }
  .eg-topic-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
  .eg-news-grid { grid-template-columns:1fr; }
  .eg-news-card { grid-template-columns:240px 1fr; }
  .eg-event-grid,.eg-tools-grid { grid-template-columns:1fr; }
  .eg-section-head--split { display:block; }
  .eg-section-head--split > .eg-section-head__aside { margin-top:18px; max-width:720px; }
  .eg-team__layout { grid-template-columns:1fr; gap:26px; }
  .eg-team__side { flex-direction:row; align-items:center; justify-content:space-between; }
  .eg-footer__main { grid-template-columns:1fr 1fr; }
  .eg-footer__socials { grid-column:1/-1; justify-content:flex-start; }
}

@media (max-width:1080px) and (min-width:960px) {
  .eg-nav--desktop { display:none; }
  .eg-menu-toggle { display:grid; }
}

@media (max-width:959px) {
  .eg-nav--desktop { display:none; }
  .eg-menu-toggle { display:grid; }
  .eg-header-cta { padding:9px 14px; }
  .eg-brand__text { font-size:11px; }
  .eg-hero-ctas { grid-template-columns:1fr; }
  .eg-section { padding-top:66px; }
  .eg-section h2 { font-size:50px; }
  .eg-footer__cta { grid-template-columns:1fr; }
  .eg-footer__cta-button { justify-self:start; }
  .eg-footer__main,.eg-footer__bottom { display:block; }
  .eg-footer__menu { margin:24px 0; }
  .eg-footer__bottom nav { margin-top:14px; }
}

@media (max-width:640px) {
  :root { --eg-container:calc(100vw - 24px); }
  .eg-mobile-menu__list .sub-menu { grid-template-columns:1fr; }
  body.admin-bar.easy-green #easy-green-header.eg-header { top:46px !important; }
  .eg-header__inner { gap:10px; }
  .eg-brand__logo { max-width:150px; max-height:40px; }
  .eg-brand__text { display:none; }
  .eg-header-cta { display:none; }
  .eg-hero__content { padding:230px 0 170px; }
  .eg-hero h1 { font-size:58px; }
  .eg-hero h1 strong { margin-left:4px; }
  .eg-hero h1 strong::after { bottom:-10px; height:18px; }
  .eg-hero__subline { font-size:22px; }
  .eg-hero__text { font-size:17px; }
  .eg-section h2 { font-size:42px; }
  .eg-section-head { display:block; }
  .eg-more { display:inline-block; margin-top:14px; }
  .eg-topic-grid { grid-template-columns:1fr; }
  .eg-topic-card { min-height:225px; }
  .eg-topic-card strong { font-size:30px; }
  .eg-topic-card__intro { margin-top:12px; font-size:14px; line-height:1.45; }
  .eg-news-card { grid-template-columns:112px minmax(0,1fr); min-height:148px; }
  .eg-news-card__image img { min-height:148px; }
  .eg-news-card__body { padding:13px 40px 13px 12px; }
  .eg-news-card__meta { gap:5px; font-size:9.5px; }
  .eg-news-card h3 { font-size:21px; margin-top:8px; }
  .eg-tool-card { grid-template-columns:42px 1fr 32px; padding:14px; }
  .eg-team__side { flex-direction:column; align-items:flex-start; }
  .eg-team__people { max-width:100%; transform:scale(.9); transform-origin:left center; }
  .eg-footer__cta-wrap { padding-bottom:32px; }
  .eg-footer__cta { padding:26px 22px; border-radius:16px; }
  .eg-footer__cta h2 { font-size:42px; }
  .eg-custom--bg-sand,.eg-custom--bg-green,.eg-custom--bg-lime,.eg-custom--bg-yellow { padding-bottom:60px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  body.easy-green [class^="eg-"],
  body.easy-green [class*=" eg-"],
  body.easy-green .eg-news-card__image img,
  body.easy-green .eg-feature-post__image img,
  body.easy-green .eg-archive-card__image img,
  body.easy-green .eg-related-card__image img {
    transition:none !important;
    animation:none !important;
  }
}

@media (max-width:767px) {
  body.easy-green .eg-header-socials { display:none !important; }
}



/* === Archive and single-post editorial styles === */
/* Editorial blog / archive */
.eg-archive { padding-bottom:86px; }
.eg-archive-hero { padding:82px 0 42px; }
.eg-archive-hero__inner {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:70px;
  align-items:end;
}
.eg-archive-hero h1 {
  max-width:880px;
  margin:0;
  color:var(--eg-ink);
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(58px,7vw,96px);
  font-weight:400;
  line-height:.84;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.eg-archive-hero__intro {
  max-width:540px;
  margin:0 0 6px;
  font-size:21px;
  line-height:1.45;
  color:rgba(0,34,22,.86);
}
.eg-category-filter { padding:0 0 36px; }
.eg-category-filter__inner { display:flex; flex-wrap:wrap; gap:8px; }
.eg-category-pill {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid rgba(0,85,56,.18);
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:var(--eg-tanne) !important;
  font-size:13px;
  font-weight:800;
  line-height:1;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.eg-category-pill:hover,
.eg-category-pill:focus-visible {
  background:var(--eg-lime);
  color:var(--eg-ink) !important;
  border-color:rgba(0,85,56,.32);
}
.eg-category-pill.is-active {
  background:var(--eg-tanne);
  color:#fff !important;
  border-color:var(--eg-tanne);
}
.eg-category-pill:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:2px; }
.eg-archive__content { min-height:320px; }
.eg-feature-post {
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  min-height:430px;
  overflow:hidden;
  border:1px solid var(--eg-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 26px rgba(0,34,22,.08);
}
.eg-feature-post__image { display:block; min-height:430px; overflow:hidden; background:#e5e7df; }
.eg-feature-post__image img { width:100%; height:100%; min-height:430px; object-fit:cover; display:block; transition:transform .35s ease; }
.eg-feature-post:focus-within .eg-feature-post__image img { transform:scale(1.018); }
.eg-feature-post__body {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:42px clamp(28px,4vw,56px);
  color:var(--eg-ink);
}
.eg-archive-card__meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 10px;
  color:#58665f;
  font-size:11px;
  font-weight:800;
  line-height:1.15;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.eg-archive-card__meta span {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 9px 4px;
  border-radius:999px;
  background:var(--eg-lime);
  color:var(--eg-tanne);
}
.eg-archive-card__meta time { white-space:nowrap; }
.eg-feature-post h2 {
  margin:15px 0 0;
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(42px,4.6vw,62px);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.015em;
  text-wrap:balance;
}
.eg-feature-post h2 a,
.eg-feature-post h2 a:hover,
.eg-feature-post h2 a:focus { color:var(--eg-ink) !important; text-decoration:none !important; }
.eg-feature-post__body > p { margin:18px 0 0; font-size:17px; line-height:1.5; color:rgba(0,34,22,.82); }
.eg-feature-post__link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:24px;
  padding:11px 16px;
  border-radius:999px;
  background:var(--eg-yellow);
  color:var(--eg-ink) !important;
  font-weight:800;
  transition:transform .16s ease;
}
.eg-feature-post__link:focus-visible,
.eg-feature-post h2 a:focus-visible,
.eg-feature-post__image:focus-visible { outline:3px solid var(--eg-klee); outline-offset:3px; }
.eg-archive-list-head { margin:58px 0 14px; }
.eg-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.eg-archive-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--eg-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 3px 12px rgba(0,34,22,.04);
  transition:transform .2s ease,border-color .2s ease;
}
.eg-archive-card:focus-within { border-color:rgba(0,85,56,.25); }
.eg-archive-card__image { display:block; aspect-ratio:16/10; overflow:hidden; background:#e5e7df; }
.eg-archive-card__image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.eg-archive-card:focus-within .eg-archive-card__image img { transform:scale(1.025); }
.eg-archive-card__body { position:relative; min-height:250px; padding:20px 54px 24px 20px; color:var(--eg-ink); }
.eg-archive-card h2 {
  margin:12px 0 0;
  font-family:"GrueneType Neue",sans-serif;
  font-size:31px;
  font-weight:400;
  line-height:.93;
  hyphens:auto;
  text-wrap:balance;
}
.eg-archive-card h2 a,
.eg-archive-card h2 a:hover,
.eg-archive-card h2 a:focus { color:var(--eg-ink) !important; text-decoration:none !important; }
.eg-archive-card__body > p { margin:13px 0 0; font-size:14.5px; line-height:1.46; color:rgba(0,34,22,.78); }
.eg-archive-card .eg-card-arrow { position:absolute; right:16px; bottom:16px; }
.eg-archive-card:hover .eg-card-arrow,
.eg-archive-card:focus-within .eg-card-arrow { background:var(--eg-tanne); color:#fff; }
.eg-archive-card h2 a:focus-visible,
.eg-archive-card__image:focus-visible,
.eg-archive-card .eg-card-arrow:focus-visible { outline:3px solid var(--eg-klee); outline-offset:3px; }
.eg-pagination { margin-top:48px; }
.eg-pagination .nav-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px; }
.eg-pagination .page-numbers {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  padding:7px 12px;
  border:1px solid rgba(0,85,56,.16);
  border-radius:999px;
  background:#fff;
  color:var(--eg-tanne) !important;
  font-weight:800;
}
.eg-pagination .page-numbers.current { background:var(--eg-tanne); border-color:var(--eg-tanne); color:#fff !important; }
.eg-pagination a.page-numbers:hover,
.eg-pagination a.page-numbers:focus-visible { background:var(--eg-lime); color:var(--eg-ink) !important; }
.eg-pagination a.page-numbers:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:2px; }
.eg-empty-state { max-width:760px; padding:60px 0 20px; }
.eg-empty-state h2 { margin:0; font-family:"GrueneType Neue",sans-serif; font-size:54px; line-height:.92; font-weight:400; }
.eg-empty-state > p:last-child { font-size:17px; line-height:1.5; }

@media (max-width:1100px) {
  .eg-archive-hero__inner { grid-template-columns:1fr; gap:18px; }
  .eg-archive-hero__intro { max-width:760px; }
  .eg-feature-post { grid-template-columns:1fr 1fr; }
  .eg-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .eg-archive { padding-bottom:60px; }
  .eg-archive-hero { padding:50px 0 28px; }
  .eg-archive-hero h1 { font-size:56px; }
  .eg-archive-hero__intro { font-size:17px; }
  .eg-category-filter { padding-bottom:26px; }
  .eg-category-filter__inner { flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; scrollbar-width:none; }
  .eg-category-filter__inner::-webkit-scrollbar { display:none; }
  .eg-category-pill { flex:0 0 auto; }
  .eg-feature-post { grid-template-columns:1fr; min-height:0; }
  .eg-feature-post__image,.eg-feature-post__image img { min-height:260px; }
  .eg-feature-post__image { aspect-ratio:16/10; }
  .eg-feature-post__body { padding:26px 22px 28px; }
  .eg-feature-post h2 { font-size:42px; }
  .eg-feature-post__body > p { font-size:16px; }
  .eg-archive-list-head { margin-top:42px; }
  .eg-archive-grid { grid-template-columns:1fr; gap:14px; }
  .eg-archive-card { display:grid; grid-template-columns:118px minmax(0,1fr); }
  .eg-archive-card__image { aspect-ratio:auto; min-height:180px; }
  .eg-archive-card__body { min-height:180px; padding:16px 46px 18px 14px; }
  .eg-archive-card h2 { font-size:25px; }
  .eg-archive-card__body > p { display:none; }
  .eg-archive-card__meta { font-size:9.5px; gap:5px; }
  .eg-archive-card__meta span { padding:4px 7px 3px; min-height:22px; }
}

/* Editorial single post */
.eg-single { padding-bottom:0; }
.eg-single-hero { padding:62px 0 42px; }
.eg-single-hero__inner { max-width:1160px; }
.eg-single-back {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:32px;
  color:var(--eg-tanne) !important;
  font-weight:800;
  font-size:14px;
}
.eg-single-back:hover,.eg-single-back:focus-visible { color:var(--eg-klee) !important; }
.eg-single-back:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:4px; border-radius:4px; }
.eg-single-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:18px; color:rgba(0,34,22,.7); font-weight:700; font-size:13px; }
.eg-single-category {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px 5px;
  border-radius:999px;
  background:var(--eg-lime);
  color:var(--eg-tanne) !important;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.eg-single-category:hover,.eg-single-category:focus-visible { background:var(--eg-tanne); color:#fff !important; }
.eg-single-category:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:2px; }
.eg-single-hero h1 {
  max-width:1100px;
  margin:0;
  color:var(--eg-ink);
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(58px,7.2vw,104px);
  font-weight:400;
  line-height:.85;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.eg-single-deck {
  max-width:830px;
  margin:28px 0 0;
  font-size:clamp(20px,2vw,27px);
  line-height:1.38;
  color:rgba(0,34,22,.82);
}
.eg-single-featured { margin-top:8px; margin-bottom:66px; }
.eg-single-featured img { display:block; width:100%; max-height:720px; object-fit:cover; border-radius:22px; box-shadow:0 12px 34px rgba(0,34,22,.10); }
.eg-single-featured figcaption { max-width:860px; margin:10px auto 0; font-size:12.5px; line-height:1.45; color:rgba(0,34,22,.62); }
.eg-single-layout { display:grid; grid-template-columns:180px minmax(0,820px); justify-content:center; gap:70px; align-items:start; }
.eg-single-rail { min-width:0; }
.eg-single-rail__sticky { position:sticky; top:110px; padding-top:6px; color:rgba(0,34,22,.72); font-size:13px; }
.eg-single-rail__sticky > .eg-kicker,.eg-single-rail__topics .eg-kicker { margin-bottom:8px; }
.eg-single-rail__topics { margin-top:28px; padding-top:22px; border-top:1px solid var(--eg-border); }
.eg-single-rail__topics a { display:block; width:max-content; max-width:100%; margin:7px 0; color:var(--eg-tanne) !important; font-weight:700; }
.eg-single-rail__topics a:hover,.eg-single-rail__topics a:focus-visible { color:var(--eg-klee) !important; text-decoration:underline; text-underline-offset:3px; }
.eg-article-content { min-width:0; font-size:19px; line-height:1.68; color:var(--eg-ink); }
.eg-article-content > *:first-child { margin-top:0; }
.eg-article-content p { margin:0 0 1.45em; }
.eg-article-content h2,.eg-article-content h3,.eg-article-content h4 {
  color:var(--eg-ink);
  font-family:"GrueneType Neue",sans-serif;
  font-weight:400;
  line-height:.98;
  letter-spacing:-.018em;
  text-wrap:balance;
}
.eg-article-content h2 { margin:1.45em 0 .45em; font-size:clamp(40px,4.3vw,62px); }
.eg-article-content h3 { margin:1.35em 0 .4em; font-size:clamp(31px,3vw,43px); }
.eg-article-content h4 { margin:1.3em 0 .4em; font-size:27px; }
.eg-article-content a:not(.no-extralink):not(.gt-lightbox-trigger):not(:where(.wp-block-button__link,.wp-element-button,.eg-button)) { color:var(--eg-tanne) !important; text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; }
.eg-article-content a:not(.no-extralink):not(.gt-lightbox-trigger):not(:where(.wp-block-button__link,.wp-element-button,.eg-button)):hover,.eg-article-content a:not(.no-extralink):not(.gt-lightbox-trigger):not(:where(.wp-block-button__link,.wp-element-button,.eg-button)):focus-visible { color:var(--eg-klee) !important; text-decoration-thickness:3px; }
.eg-article-content a:not(.no-extralink):not(.gt-lightbox-trigger):not(:where(.wp-block-button__link,.wp-element-button,.eg-button)):focus-visible { outline:3px solid var(--eg-yellow); outline-offset:3px; border-radius:2px; }
.eg-article-content ul,.eg-article-content ol { margin:0 0 1.55em; padding-left:1.25em; }
.eg-article-content li { margin:.35em 0; padding-left:.15em; }
.eg-article-content blockquote:not(.easy-blog-quote-box__quote),.eg-article-content .wp-block-quote:not(.easy-blog-quote-box__quote) {
  position:relative;
  margin:2.5em 0;
  padding:28px 34px 28px 36px;
  border:0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,34,22,.07);
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(30px,3.5vw,46px);
  font-weight:400;
  line-height:1.05;
}
.eg-article-content blockquote:not(.easy-blog-quote-box__quote)::before,.eg-article-content .wp-block-quote:not(.easy-blog-quote-box__quote)::before {
  content:"";
  position:absolute;
  left:26px;
  right:28px;
  top:-14px;
  height:28px;
  background:url('../img/marker-stroke.svg') center/100% 100% no-repeat;
  pointer-events:none;
}
.eg-article-content blockquote:not(.easy-blog-quote-box__quote) p:last-of-type,.eg-article-content .wp-block-quote:not(.easy-blog-quote-box__quote) p:last-of-type { margin-bottom:0; }
.eg-article-content blockquote:not(.easy-blog-quote-box__quote) cite,.eg-article-content .wp-block-quote:not(.easy-blog-quote-box__quote) cite { display:block; margin-top:15px; font-family:"PT Sans",sans-serif; font-size:13px; font-weight:700; font-style:normal; line-height:1.4; }


/* Easy Blog quote: the plugin owns the component; Easy Green only provides
   site-specific tokens and a deliberately narrow visual skin. */
.eg-article-content .easy-blog-quote-box {
  --easy-blog-extra-background:var(--eg-white);
  --easy-blog-extra-text:var(--eg-ink);
  --easy-blog-extra-accent:var(--eg-yellow);
  position:relative;
  margin:2.5em 0 1.6em;
  padding:56px 34px 28px 76px;
  border:0;
  border-radius:16px;
  background:var(--easy-blog-extra-background);
  box-shadow:0 8px 24px rgba(0,34,22,.07);
  color:var(--easy-blog-extra-text);
  overflow:visible;
}
.eg-article-content .easy-blog-quote-box::before {
  content:"“";
  position:absolute;
  top:51px;
  left:25px;
  right:auto;
  color:var(--eg-tanne);
  font-family:"GrueneType Neue",sans-serif;
  font-size:76px;
  font-weight:400;
  line-height:.62;
  opacity:1;
  pointer-events:none;
  z-index:2;
}
.eg-article-content .easy-blog-quote-box::after {
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:10px;
  height:26px;
  background:url('../img/marker-stroke.svg') center/100% 100% no-repeat;
  pointer-events:none;
}
.eg-article-content .easy-blog-quote-box__quote {
  position:relative;
  z-index:1;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--eg-tanne);
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(30px,3.5vw,46px);
  font-weight:400;
  line-height:1.05;
}
.eg-article-content .easy-blog-quote-box__quote::before,
.eg-article-content .easy-blog-quote-box__quote::after { content:none; }
.eg-article-content .easy-blog-quote-box__quote p { margin:0; }
.eg-article-content .easy-blog-quote-box__quote p + p { margin-top:.8em; }
.eg-article-content .easy-blog-quote-box__caption {
  position:static;
  inset:auto;
  transform:none;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .7rem;
  width:auto;
  margin:20px 0 0;
  padding:0;
  border:0;
  background:transparent;
  font-family:"PT Sans",sans-serif;
  font-size:13px;
  line-height:1.4;
}
.eg-article-content .easy-blog-quote-box__name { font-weight:700; }
.eg-article-content .easy-blog-quote-box__position { opacity:.68; }
.eg-article-content .easy-blog-quote-box + h2,
.eg-article-content .easy-blog-quote-box + h3,
.eg-article-content .easy-blog-quote-box + h4 { margin-top:.75em; }
.eg-article-content figure:not(.easy-blog-auto-image):not(.gt-bento-item):not(.easy-blog-quote-box) { margin:2.25em 0; }
.eg-article-content figure:not(.easy-blog-auto-image):not(.gt-bento-item):not(.easy-blog-quote-box) img { border-radius:14px; }
.eg-article-content figcaption:not(.gt-fig-caption):not(.easy-blog-quote-box__caption) { margin-top:8px; color:rgba(0,34,22,.62); font-size:12.5px; line-height:1.4; }
.eg-article-content .alignwide {
  width:min(1040px,calc(100vw - 40px));
  max-width:none;
  margin-left:calc((100% - min(1040px,calc(100vw - 40px))) / 2);
  margin-right:calc((100% - min(1040px,calc(100vw - 40px))) / 2);
}
.eg-article-content .alignfull {
  width:100vw;
  max-width:none;
  margin-left:calc((100% - 100vw) / 2);
  margin-right:calc((100% - 100vw) / 2);
}
.eg-article-content .wp-block-image.alignwide img,.eg-article-content .wp-block-image.alignfull img { width:100%; }

/* Plugin boundary: Easy Blog owns layout, spacing, radii, captions, gallery and
   lightbox behaviour. One deliberately narrow compatibility polish is applied
   to inline article images: the plugin's simple scale transition is rendered on
   one stable compositor layer and uses the same soft easing as Easy Green. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body.easy-green .eg-article-content .easy-blog-auto-image--inline .easy-blog-auto-image__link {
    isolation:isolate;
    contain:paint;
  }
  body.easy-green .eg-article-content .easy-blog-auto-image--inline .easy-blog-auto-image__img {
    transform:translate3d(0,0,0) scale(1);
    transform-origin:50% 50%;
    transition:transform .52s cubic-bezier(.22,1,.36,1);
    will-change:transform;
  }
  body.easy-green .eg-article-content .easy-blog-auto-image--inline .easy-blog-auto-image__link:hover .easy-blog-auto-image__img {
    transform:translate3d(0,0,0) scale(1.03);
  }
}
@media (prefers-reduced-motion:reduce) {
  body.easy-green .eg-article-content .easy-blog-auto-image--inline .easy-blog-auto-image__img {
    transform:none;
    transition:none;
  }
}
/* Content buttons share one theme appearance, including custom homepage blocks.
   Keep them out of the editorial text-link rules above: their higher-priority green
   text previously won over white button labels and hid them on green fills.
   Saved Gutenberg colors/outline styles must not split the theme appearance. */
body.easy-green :is(.wp-block-button .wp-block-button__link,.wp-block-button__link,.wp-element-button) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  --eg-button-background:var(--eg-tanne);
  --eg-button-color:var(--eg-white);
  border:2px solid transparent;
  border-radius:999px;
  background:var(--eg-button-background) !important;
  color:var(--eg-button-color) !important;
  font-family:inherit;
  font-size:1rem;
  font-weight:800;
  line-height:1.4;
  text-align:center;
  text-decoration:none;
  padding:12px 20px;
  cursor:pointer;
}
body.easy-green :is(.wp-block-button .wp-block-button__link,.wp-block-button__link,.wp-element-button):is(:hover,:focus-visible) {
  --eg-button-background:var(--eg-lime);
  --eg-button-color:var(--eg-ink);
}
body.easy-green :is(.wp-block-button .wp-block-button__link,.wp-block-button__link,.wp-element-button):focus-visible {
  outline:3px solid var(--eg-tanne);
  outline-offset:3px;
}
.eg-article-content table { width:100%; margin:1.8em 0; border-collapse:collapse; font-size:16px; }
.eg-article-content th,.eg-article-content td { padding:12px 14px; border-bottom:1px solid var(--eg-border); text-align:left; vertical-align:top; }
.eg-article-content th { color:var(--eg-tanne); font-weight:800; }
.eg-page-links { margin-top:38px; font-weight:800; }
.eg-single-tags { display:flex; flex-wrap:wrap; gap:7px; max-width:1070px; margin-top:52px; }
.eg-single-tags a { padding:7px 11px; border-radius:999px; background:rgba(255,255,255,.72); border:1px solid var(--eg-border); color:var(--eg-tanne) !important; font-size:12px; font-weight:800; }
.eg-single-tags a:hover,.eg-single-tags a:focus-visible { background:var(--eg-lime); color:var(--eg-ink) !important; }
.eg-post-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:1070px; margin-top:28px; padding-top:28px; border-top:1px solid var(--eg-border); }
.eg-post-navigation__item { display:flex; flex-direction:column; gap:8px; min-height:130px; padding:20px 22px; border-radius:16px; background:#fff; border:1px solid var(--eg-border); color:var(--eg-ink) !important; transition:transform .18s ease,border-color .18s ease; }
.eg-post-navigation__item--next { text-align:right; align-items:flex-end; }
.eg-post-navigation__item strong { max-width:430px; font-family:"GrueneType Neue",sans-serif; font-size:28px; font-weight:400; line-height:1.02; }
.eg-post-navigation__item:hover,.eg-post-navigation__item:focus-visible { border-color:rgba(0,85,56,.22); }
.eg-post-navigation__item:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:3px; }
.eg-related-posts { margin-top:82px; padding:70px 0 86px; background:rgba(255,255,255,.55); border-top:1px solid rgba(0,34,22,.06); }
.eg-related-posts__head { max-width:900px; margin-bottom:26px; }
.eg-related-posts__head h2 { margin:0; font-family:"GrueneType Neue",sans-serif; font-size:clamp(48px,5.2vw,74px); font-weight:400; line-height:.9; letter-spacing:-.02em; }
.eg-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.eg-related-card { overflow:hidden; border-radius:16px; background:#fff; border:1px solid var(--eg-border); transition:transform .18s ease; }
.eg-related-card__image { display:block; aspect-ratio:16/10; overflow:hidden; }
.eg-related-card__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.eg-related-card:focus-within .eg-related-card__image img { transform:scale(1.025); }
.eg-related-card__body { padding:16px 18px 20px; }
.eg-related-card h3 { margin:10px 0 0; font-family:"GrueneType Neue",sans-serif; font-size:31px; font-weight:400; line-height:.96; }
.eg-related-card h3 a { color:var(--eg-ink) !important; }
.eg-related-card h3 a:hover,.eg-related-card h3 a:focus-visible { color:var(--eg-tanne) !important; }
.eg-related-card__image:focus-visible,.eg-related-card h3 a:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:3px; }

@media (max-width:980px) {
  .eg-single-layout { grid-template-columns:1fr; max-width:850px; gap:24px; }
  .eg-single-rail__sticky { position:static; display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding:0 0 18px; border-bottom:1px solid var(--eg-border); }
  .eg-single-rail__sticky > .eg-kicker { margin:0; }
  .eg-single-rail__topics { display:none; }
  .eg-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eg-related-card:last-child { display:none; }
}
@media (max-width:700px) {
  .eg-single-hero { padding:42px 0 28px; }
  .eg-single-back { margin-bottom:22px; }
  .eg-single-hero h1 { font-size:clamp(50px,15vw,72px); }
  .eg-single-deck { margin-top:20px; font-size:19px; }
  .eg-single-featured { margin-top:0; margin-bottom:40px; width:100%; }
  .eg-single-featured img { border-radius:0; max-height:520px; }
  .eg-single-featured figcaption { padding-inline:16px; }
  .eg-article-content { font-size:17px; line-height:1.65; }
  .eg-article-content h2 { font-size:42px; }
  .eg-article-content h3 { font-size:33px; }
  .eg-article-content blockquote:not(.easy-blog-quote-box__quote),.eg-article-content .wp-block-quote:not(.easy-blog-quote-box__quote) { margin-inline:-4px; padding:24px 22px; font-size:34px; }
  .eg-article-content .alignwide,.eg-article-content .alignfull { width:100vw; margin-left:calc((100% - 100vw) / 2); margin-right:calc((100% - 100vw) / 2); }
  .eg-post-navigation { grid-template-columns:1fr; }
  .eg-post-navigation__item--next { text-align:left; align-items:flex-start; }
  .eg-related-posts { margin-top:58px; padding:52px 0 62px; }
  .eg-related-grid { grid-template-columns:1fr; }
  .eg-related-card:last-child { display:block; }
  .eg-related-card { display:grid; grid-template-columns:112px minmax(0,1fr); }
  .eg-related-card__image { aspect-ratio:auto; min-height:150px; }
  .eg-related-card__body { padding:14px; }
  .eg-related-card h3 { font-size:25px; }
}



/* === Responsive and page composition refinements === */
/* 0.1.13 – functional search panel */
@media(max-width:1080px){
  .eg-search-panel { width:min(720px,calc(100vw - 24px)); }
  .eg-search-panel__inner { grid-template-columns:1fr; gap:14px; border-radius:0 0 18px 18px; }
}
@media(max-width:620px){
  .eg-search-form { grid-template-columns:1fr; }
  .eg-search-form button { width:100%; }
}


/* Search results */
.eg-search-results .eg-archive-hero__inner { align-items:center; }
.eg-search-results .eg-archive-hero h1 span { color:var(--eg-klee); }
.eg-search-form--results { width:100%; max-width:620px; justify-self:end; }
.eg-empty-state .eg-search-form--results { margin-top:22px; justify-self:start; }
@media(max-width:1080px){
  .eg-search-form--results { justify-self:start; max-width:760px; }
}

/* 0.1.14 – single post cleanup, search hardening, mobile polish and pages */
.eg-single-layout--content-only {
  display:block;
  width:min(860px,calc(100vw - 32px));
  max-width:none;
}

/* Sunflower has broad button/form rules. Keep the Easy Green search control
   deterministic in both the header panel and search results. */
body.easy-green .eg-search-form {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:center !important;
}
body.easy-green .eg-search-form input[type="search"] {
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  height:48px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 17px !important;
  border:2px solid rgba(0,85,56,.28) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--eg-ink) !important;
  box-shadow:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
body.easy-green .eg-search-form input[type="search"]:focus {
  border-color:var(--eg-klee) !important;
  box-shadow:0 0 0 3px rgba(0,137,57,.14) !important;
}
body.easy-green .eg-search-form button[type="submit"] {
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  min-width:116px !important;
  height:48px !important;
  min-height:48px !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 20px !important;
  border:2px solid var(--eg-tanne) !important;
  border-radius:999px !important;
  background:var(--eg-yellow) !important;
  color:var(--eg-ink) !important;
  box-shadow:none !important;
  font:inherit !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
body.easy-green .eg-search-form button[type="submit"]:hover,
body.easy-green .eg-search-form button[type="submit"]:focus-visible {
  background:var(--eg-tanne) !important;
  color:#fff !important;
  outline:none !important;
}

/* Standard pages */
.eg-page { padding-bottom:90px; }
.eg-page-hero { padding:70px 0 54px; }
.eg-page-hero h1 {
  font-family:"GrueneType Neue",sans-serif;
  font-weight:400;
}
.eg-page-hero__image img {
  display:block;
}

@media (max-width:959px) {
  /* Match the mobile mockup more closely: compact header, hero copy in the
     upper image area and CTA stack starting inside the first viewport. */
  body.easy-green #easy-green-header.eg-header { background:rgba(247,244,237,.99); }
  .eg-header__inner { min-height:58px; }
  .eg-brand__logo { max-height:34px; max-width:130px; }
  .eg-brand__mark { width:34px; height:34px; }
  .eg-header__actions { gap:4px; }
  .eg-icon-button,.eg-menu-toggle { width:34px; height:34px; }

  .eg-hero {
    min-height:480px;
    overflow:visible;
  }
  .eg-hero__visual {
    background-image:
      linear-gradient(180deg,rgba(0,85,56,.30) 0%,rgba(0,85,56,.42) 32%,rgba(0,85,56,.82) 70%,rgba(0,85,56,.98) 100%),
      var(--eg-hero-image);
    background-position:56% center;
  }
  .eg-hero__content { padding:38px 0 142px; }
  .eg-hero__copy { max-width:520px; }
  .eg-hero h1 { font-size:clamp(52px,11vw,72px); margin-bottom:26px; }
  .eg-hero__subline { font-size:24px; margin-bottom:10px; }
  .eg-hero__text { max-width:470px; font-size:16px; line-height:1.38; }
  .eg-hero-ctas { bottom:-112px; gap:7px; }
  .eg-hero-card { min-height:66px; grid-template-columns:36px 1fr 30px; padding:9px 11px; border-radius:10px; }
  .eg-hero-card__icon svg { width:28px; height:28px; }
  .eg-hero-card__copy strong { font-size:19px; }
  .eg-hero-card__copy small { margin-top:2px; font-size:11.5px; }
  .eg-hero-card .eg-card-arrow { width:28px; height:28px; }
  .eg-hero + .eg-section { padding-top:158px; }

  /* Mobile navigation is a viewport panel. Submenus are accordions instead of
     permanently expanded trees, which keeps the menu compact and scrollable. */
  .eg-mobile-menu {
    position:fixed;
    z-index:9985;
    top:calc(var(--wp-admin--admin-bar--height, 0px) + 58px);
    left:0;
    right:0;
    bottom:0;
    max-height:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:10px max(16px,calc((100vw - 720px)/2)) 24px;
    background:rgba(247,244,237,.995);
    border-top:1px solid var(--eg-border);
    box-shadow:0 18px 38px rgba(0,34,22,.12);
  }
  body.eg-menu-open { overflow:hidden; }
  .eg-mobile-menu__list > li { position:relative; }
  .eg-mobile-menu__list > li > a { padding:11px 42px 11px 4px; font-size:16px; }
  .eg-mobile-menu__list .sub-menu {
    display:none !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin:0 0 7px !important;
    padding:0 0 3px 14px !important;
  }
  .eg-mobile-menu__list li.is-submenu-open > .sub-menu { display:block !important; }
  .eg-mobile-menu__list .sub-menu a { padding:7px 4px; font-size:13.5px; }
  .eg-submenu-toggle {
    position:absolute;
    top:5px;
    right:0;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:var(--eg-tanne);
    cursor:pointer;
  }
  .eg-submenu-toggle::before {
    content:"";
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translate(-1px,-1px);
    transition:transform .16s ease;
  }
  .is-submenu-open > .eg-submenu-toggle::before { transform:rotate(225deg) translate(-1px,-1px); }
  .eg-submenu-toggle:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:2px; }
  .eg-mobile-menu__cta { margin-top:12px; padding:11px; }

  .eg-page-hero { padding:50px 0 36px; }
}

@media (max-width:620px) {
  body.easy-green .eg-search-form { grid-template-columns:1fr auto !important; gap:7px !important; }
  body.easy-green .eg-search-form button[type="submit"] {
    min-width:94px !important;
    width:auto !important;
    padding:0 14px !important;
    font-size:14px !important;
  }
  .eg-search-panel { width:calc(100vw - 12px); }
  .eg-search-panel__inner { gap:12px; padding:15px 12px 16px; }
  .eg-search-panel__copy strong { font-size:21px; }

  .eg-hero { min-height:442px; }
  .eg-hero__content { padding:34px 0 132px; }
  .eg-hero h1 { font-size:50px; line-height:.80; margin-bottom:23px; }
  .eg-hero h1 strong::after { bottom:-9px; height:17px; }
  .eg-hero__subline { font-size:21px; }
  .eg-hero__text { font-size:15px; line-height:1.34; }
  .eg-hero-ctas { bottom:-110px; }
  .eg-hero + .eg-section { padding-top:154px; }

  .eg-page { padding-bottom:64px; }
  .eg-page-hero { padding:42px 0 28px; }
  .eg-page-hero--with-image .eg-page-hero__inner { gap:24px; }
  .eg-page-hero__image { margin-left:-12px; }
  .eg-page-content { width:var(--eg-container); }
}


/* 0.1.15 – navigation reliability + compact editorial pages */

/* Desktop dropdowns: remove the tiny dead zone between parent item and panel.
   The transparent bridge keeps :hover active while the pointer travels down. */
@media (min-width:1081px) {
  body.easy-green .eg-header .eg-nav__list > li > .sub-menu {
    top:100% !important;
  }
  body.easy-green .eg-header .eg-nav__list > li > .sub-menu::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-12px;
    height:14px;
    background:transparent;
  }
}

/* Mobile/tablet header: logo left, generous touch targets right. */
@media (max-width:1080px) {
  .eg-header__inner {
    min-height:64px;
    gap:10px;
  }
  .eg-header__actions {
    margin-left:auto;
    flex:0 0 auto;
    justify-content:flex-end;
    gap:6px;
  }
  .eg-icon-button,
  .eg-menu-toggle {
    width:44px;
    height:44px;
    border-radius:999px;
    cursor:pointer;
  }
  .eg-icon-button svg,
  .eg-menu-toggle svg {
    width:23px;
    height:23px;
    stroke-width:2.2;
  }
  .eg-menu-toggle svg { stroke-width:2.6; }
  .eg-menu-toggle:hover,
  .eg-menu-toggle:focus-visible,
  .eg-menu-toggle[aria-expanded="true"] {
    background:rgba(199,254,122,.46);
    color:var(--eg-tanne);
    outline:none;
  }
  .eg-menu-toggle:focus-visible { box-shadow:0 0 0 3px rgba(0,137,57,.22); }

  /* The hamburger already replaces desktop navigation at 1080px, therefore
     its menu must use the same compact/scrollable panel up to that breakpoint. */
  .eg-mobile-menu {
    position:fixed;
    z-index:9985;
    top:calc(var(--wp-admin--admin-bar--height, 0px) + 64px);
    left:0;
    right:0;
    bottom:0;
    max-height:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:10px max(16px,calc((100vw - 720px)/2)) 28px;
    background:rgba(247,244,237,.995);
    border-top:1px solid var(--eg-border);
    box-shadow:0 18px 38px rgba(0,34,22,.12);
  }
  body.eg-menu-open { overflow:hidden; }
  .eg-mobile-menu__list > li { position:relative; }
  .eg-mobile-menu__list > li > a { padding:11px 42px 11px 4px; font-size:16px; }
  .eg-mobile-menu__list .sub-menu {
    display:none !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin:0 0 7px !important;
    padding:0 0 3px 14px !important;
  }
  .eg-mobile-menu__list li.is-submenu-open > .sub-menu { display:block !important; }
  .eg-mobile-menu__list .sub-menu a { padding:7px 4px; font-size:13.5px; }
  .eg-submenu-toggle {
    position:absolute;
    top:5px;
    right:0;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:var(--eg-tanne);
    cursor:pointer;
  }
  .eg-submenu-toggle::before {
    content:"";
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translate(-1px,-1px);
    transition:transform .16s ease;
  }
  .is-submenu-open > .eg-submenu-toggle::before { transform:rotate(225deg) translate(-1px,-1px); }
  .eg-submenu-toggle:focus-visible { outline:3px solid var(--eg-yellow); outline-offset:2px; }
  .eg-mobile-menu__cta { margin-top:12px; padding:11px; }
}

/* Normal pages: a denser editorial intro instead of a large empty stage. */
body.easy-green .eg-page {
  margin:0 !important;
}
body.easy-green .eg-page-hero {
  position:relative;
}
.eg-page-hero__inner {
  position:relative;
}
.eg-page-deck {
  max-width:760px;
}

/* Without an image, title and intro share the width on wide screens. This
   keeps the opening compact while retaining generous whitespace. */
@media (min-width:960px) {
  .eg-page-hero:not(.eg-page-hero--with-image).eg-page-hero--with-deck .eg-page-hero__copy {
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.78fr);
    gap:clamp(36px,5vw,72px);
    align-items:end;
  }
  .eg-page-hero:not(.eg-page-hero--with-image).eg-page-hero--with-deck .eg-page-deck {
    margin:0 0 4px;
  }
  .eg-page-hero:not(.eg-page-hero--with-image) h1::after {
    content:"";
    display:block;
    width:116px;
    height:14px;
    margin-top:18px;
    background:url('../img/marker-stroke.svg') center/100% 100% no-repeat;
    transform:rotate(-1.5deg);
  }
}

/* Featured image: true split hero, vertically centred and deliberately
   shallower. Long headings stay readable without pushing the image below. */
.eg-page-hero--with-image .eg-page-hero__inner {
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr) !important;
  gap:clamp(34px,4vw,56px) !important;
  align-items:center !important;
}
.eg-page-hero--with-image .eg-page-hero__copy { min-width:0; }
.eg-page-hero--with-image + .eg-page-content { margin-top:18px; }

@media (max-width:959px) {
  body.easy-green .eg-page-hero {
    padding:30px 0 22px !important;
  }
  .eg-page-hero--with-image .eg-page-hero__inner {
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .eg-page-hero h1 { font-size:clamp(46px,10.5vw,68px); }
  .eg-page-deck { font-size:18px; }
  .eg-page-content { margin-top:8px; }
}

@media (max-width:620px) {
  .eg-brand__logo { max-height:38px; max-width:140px; }
  .eg-page-hero__image { width:100%; margin:0 !important; }
}


/* 0.1.16 – homepage colour polish, editorial event block, unified pages */

/* Hero highlight cards: the middle “green” card is intentionally very pale.
   Keep all link states explicit so parent-theme visited styles cannot leak in. */
.eg-hero-card--green,
.eg-hero-card--green:link,
.eg-hero-card--green:visited {
  background:#e9ffd5 !important;
  color:var(--eg-tanne) !important;
}
.eg-hero-card--green .eg-card-arrow {
  background:var(--eg-tanne);
  color:#fff;
}
.eg-hero-card--green:hover,
.eg-hero-card--green:focus-visible {
  color:var(--eg-tanne) !important;
}

/* Topic headlines must remain white over photography, including visited links. */
.eg-topic-card,
.eg-topic-card:link,
.eg-topic-card:visited,
.eg-topic-card strong,
.eg-topic-card:visited strong {
  color:#fff !important;
}
.eg-topic-card:hover strong,
.eg-topic-card:focus-visible strong {
  color:#fff !important;
}

/* Marker stroke: thicker translucent “felt-tip” body, slightly overlapping
   the last line instead of reading as two geometric underlines. */
.eg-hero h1 strong::after {
  left:-4%;
  right:-12%;
  bottom:-7px;
  height:24px;
  opacity:.98;
  transform:rotate(-.45deg) skewX(5deg);
}

/* Events are deliberately a different visual species from tools/news cards. */
.eg-events-panel {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:16px;
  padding:16px;
  border:1px solid rgba(0,85,56,.12);
  border-radius:22px;
  background:linear-gradient(125deg,#f1ffe4 0%,#fbf8ef 70%);
  box-shadow:0 10px 28px rgba(0,34,22,.055);
}
.eg-event-featured {
  position:relative;
  min-height:318px;
  overflow:hidden;
  border-radius:17px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px 68px 23px 24px;
  background:
    linear-gradient(0deg,rgba(0,64,42,.98) 0%,rgba(0,64,42,.77) 38%,rgba(0,64,42,.18) 76%,rgba(0,64,42,.06) 100%),
    var(--eg-event-image,linear-gradient(135deg,#006b49,#00462f));
  background-size:cover;
  background-position:center;
  color:#fff !important;
  box-shadow:0 8px 24px rgba(0,34,22,.13);
  transition:transform .2s ease;
}
.eg-event-featured:not(.has-image) {
  background:
    radial-gradient(circle at 80% 16%,rgba(199,254,122,.22),transparent 34%),
    linear-gradient(135deg,#00754d,#00442e);
}
.eg-event-featured:visited,
.eg-event-featured:hover,
.eg-event-featured:focus-visible { color:#fff !important; }
.eg-event-featured:focus-visible {
  outline:3px solid var(--eg-yellow);
  outline-offset:3px;
}
.eg-event-featured__date {
  position:absolute;
  top:18px;
  left:18px;
  width:76px;
  min-height:80px;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:.86;
  background:var(--eg-yellow);
  color:var(--eg-ink);
  box-shadow:0 7px 18px rgba(0,34,22,.13);
}
.eg-event-featured__date strong {
  font-family:"GrueneType Neue",sans-serif;
  font-size:40px;
  font-weight:400;
}
.eg-event-featured__date small {
  margin-top:4px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:800;
}
.eg-event-featured__copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.eg-event-featured__kicker {
  margin-bottom:7px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:11px;
  font-weight:800;
  color:var(--eg-lime);
}
.eg-event-featured__copy > strong {
  max-width:92%;
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(33px,3vw,47px);
  line-height:.9;
  font-weight:400;
  text-wrap:balance;
}
.eg-event-featured__copy > span {
  margin-top:10px;
  font-size:14px;
  line-height:1.35;
  color:rgba(255,255,255,.88);
}
.eg-event-featured .eg-card-arrow {
  position:absolute;
  right:18px;
  bottom:18px;
  background:var(--eg-lime);
  color:var(--eg-tanne);
}
.eg-event-list {
  display:grid;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:10px;
}
.eg-event-list__item {
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 34px;
  gap:12px;
  align-items:center;
  min-height:96px;
  padding:12px;
  border:1px solid rgba(0,85,56,.12);
  border-radius:13px;
  background:#fff;
  color:var(--eg-ink) !important;
  transition:transform .18s ease,border-color .18s ease;
}
.eg-event-list__item:visited { color:var(--eg-ink) !important; }
.eg-event-list__item:hover,
.eg-event-list__item:focus-visible {
  color:var(--eg-ink) !important;
  border-color:rgba(0,85,56,.28);
}
.eg-event-list__item:focus-visible {
  outline:3px solid var(--eg-klee);
  outline-offset:2px;
}
.eg-event-list__item .eg-event-date {
  width:58px;
  min-height:62px;
  background:var(--eg-lime);
}
.eg-event-list__item .eg-event-date strong { font-size:27px; }
.eg-event-list__item .eg-event-date small { font-size:10px; }
.eg-event-list__item .eg-event-copy small {
  font-size:12px;
  color:rgba(0,34,22,.72);
}
.eg-event-list__item:hover .eg-card-arrow,
.eg-event-list__item:focus-visible .eg-card-arrow {
  background:var(--eg-tanne);
  color:#fff;
}

.eg-page-hero h1::after { content:none !important; }
.eg-page-hero--with-image .eg-page-hero__inner { display:block !important; }

/* Normal pages: one stable composition regardless of excerpt/image.
   Title occupies roughly two thirds; an optional image uses the remaining
   third. The excerpt sits underneath as a calm centred deck. */
body.easy-green .eg-page {
  padding-bottom:78px;
}
body.easy-green .eg-page-hero {
  margin:0 !important;
}
.eg-page-hero__top {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(250px,.82fr);
  gap:clamp(34px,5vw,68px);
  align-items:center;
}
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__top {
  grid-template-columns:minmax(0,2fr) minmax(220px,.82fr);
}
.eg-page-hero__copy {
  max-width:none !important;
  min-width:0;
}
.eg-page-title-marker {
  display:block;
  margin-top:17px;
  background:url("../img/marker-stroke.svg") center / 100% 100% no-repeat;
  transform:rotate(-1deg);
}
.eg-page-hero__image {
  position:relative;
  margin:0 !important;
  min-width:0;
}
.eg-page-hero__image::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto -10px -10px 12px;
  height:46%;
  border-radius:18px;
  background:rgba(199,254,122,.34);
}
.eg-page-hero__image img {
  width:100%;
  max-height:300px;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:17px;
  box-shadow:0 10px 28px rgba(0,34,22,.10);
}
.eg-page-content {
  width:min(860px,calc(100vw - 32px));
}
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-title-marker {
  width:150px;
}
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__top::after {
  content:"";
}

/* Explicitly neutralise the older 0.1.15 page-grid variants. */
@media (min-width:960px) {
  .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__copy {
    display:block !important;
  }
}
@media (max-width:959px) {
  .eg-events-panel {
    grid-template-columns:1fr;
  }
  .eg-event-featured {
    min-height:280px;
  }
  .eg-event-list {
    grid-template-rows:none;
  }
  .eg-page-hero__top,
  .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__top {
    grid-template-columns:1fr;
    gap:24px;
  }
  .eg-page-hero__image {
    width:min(520px,100%);
  }
  .eg-page-hero__image img {
    max-height:none;
    aspect-ratio:16/9;
  }
}
@media (max-width:620px) {
  .eg-page-title-marker {
    margin-top:12px;
  }
  .eg-page-hero__image img {
    border-radius:13px;
    aspect-ratio:4/3;
  }
  .eg-page-deck {
    margin-top:21px !important;
  }
  .eg-events-panel {
    padding:10px;
    border-radius:16px;
  }
  .eg-event-featured {
    min-height:250px;
    border-radius:13px;
    padding:20px 56px 18px 18px;
  }
  .eg-event-featured__date {
    top:14px;
    left:14px;
    width:64px;
    min-height:68px;
  }
  .eg-event-featured__date strong { font-size:34px; }
  .eg-event-featured__copy > strong { font-size:32px; }
  .eg-event-list__item {
    grid-template-columns:56px minmax(0,1fr) 30px;
    min-height:86px;
    padding:10px;
  }
}

/* Explicit child templates use the same editorial archive look even when the
   parent theme provides more-specific category/tag/author/date templates. */
body.easy-green.category .eg-archive,
body.easy-green.tag .eg-archive,
body.easy-green.author .eg-archive,
body.easy-green.date .eg-archive,
body.easy-green.taxonomy .eg-archive {
  display:block;
}

/* 0.1.17 – global service footer, calmer event metadata, bolder page hero */

/* The knowledge/service cards now belong to the global footer. This creates a
   useful pre-footer on every page and removes one repetitive homepage block. */
.eg-footer__tools-wrap {
  background:var(--eg-sand);
  padding:58px 0 16px;
}
.eg-footer__tools {
  padding-top:0;
}
.eg-footer__tools-head {
  margin-bottom:22px;
}
.eg-footer__tools-head h2 {
  font-family:"GrueneType Neue",sans-serif;
  font-weight:400;
  letter-spacing:-.015em;
}
.eg-footer__tools-head .eg-kicker { margin-bottom:9px; }
.eg-footer__tools-grid .eg-tool-card {
  min-height:88px;
  box-shadow:0 5px 18px rgba(0,34,22,.045);
}
.eg-footer__tools-grid .eg-tool-card:nth-child(1),
.eg-footer__tools-grid .eg-tool-card:nth-child(3) {
  background:linear-gradient(100deg,#efffdd,#c7fe7a);
}
.eg-footer__cta-wrap {
  padding-top:18px;
}

/* The secondary event column should read as calm editorial information rather
   than tiny utility text. Time and place get their own line. */
.eg-event-list__item .eg-event-copy strong {
  font-size:22px;
  line-height:.98;
}
.eg-event-list__item .eg-event-copy small.eg-event-copy__meta {
  display:grid;
  gap:3px;
  margin-top:7px;
  font-family:"PT Sans",sans-serif;
  font-size:13.5px;
  font-weight:600;
  line-height:1.28;
  letter-spacing:0;
  text-transform:none;
  color:rgba(0,34,22,.72);
}
.eg-event-copy__meta > span:last-child {
  color:rgba(0,34,22,.60);
}

/* Standard pages: the image becomes a real visual counterpart. On large
   screens it tucks slightly underneath the title area; a soft sand gradient
   keeps even long headlines perfectly readable. */
@media (min-width:960px) {
  body.easy-green .eg-page-hero {
    padding-top:clamp(48px,5vw,76px) !important;
    padding-bottom:30px !important;
  }
  .eg-page-hero__top {
    position:relative;
    grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr) !important;
    gap:0 !important;
    align-items:center !important;
  }
  .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__top {
    grid-template-columns:minmax(0,2fr) minmax(250px,.72fr) !important;
  }
  .eg-page-hero--with-image .eg-page-hero__copy {
    position:relative;
    z-index:3;
    padding:34px 48px 34px 0;
  }
  .eg-page-hero--with-image .eg-page-hero__copy::after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0 -118px 0 -32px;
    border-radius:0 36px 36px 0;
    background:linear-gradient(90deg,
      var(--eg-sand) 0%,
      var(--eg-sand) 73%,
      rgba(245,241,233,.97) 84%,
      rgba(245,241,233,.68) 92%,
      rgba(245,241,233,0) 100%);
    pointer-events:none;
  }
  .eg-page-hero h1 {
    max-width:790px;
    font-size:clamp(56px,4.6vw,78px) !important;
    line-height:.86 !important;
  }
  .eg-page-hero--with-image .eg-page-hero__image {
    position:relative;
    z-index:1;
    margin-left:-78px !important;
    transform:translateY(8px);
  }
  .eg-page-hero--with-image .eg-page-hero__image::after {
    inset:auto -12px -12px 24px;
    height:54%;
    border-radius:22px;
  }
  .eg-page-hero--with-image .eg-page-hero__image img {
    min-height:370px;
    max-height:440px;
    aspect-ratio:4/3;
    border-radius:22px;
    box-shadow:0 16px 40px rgba(0,34,22,.12);
  }
  .eg-page-deck {
    width:min(820px,88%);
    margin-top:34px !important;
  }
}

@media (max-width:959px) {
  .eg-footer__tools-wrap { padding-top:44px; }
  .eg-footer__tools-head h2 { font-size:46px; }
  .eg-page-hero--with-image .eg-page-hero__image img {
    box-shadow:0 12px 30px rgba(0,34,22,.10);
  }
}

@media (max-width:620px) {
  .eg-footer__tools-wrap { padding:34px 0 10px; }
  .eg-footer__tools-head { margin-bottom:16px; }
  .eg-footer__tools-head h2 { font-size:39px; }
  .eg-footer__tools-grid .eg-tool-card { min-height:76px; }
  .eg-event-list__item .eg-event-copy strong { font-size:20px; }
  .eg-event-list__item .eg-event-copy small.eg-event-copy__meta { font-size:12.5px; }
}



/* === Page, footer and event detail refinements === */
/* 0.1.18 – integrated service footer + cleaner editorial page hero */

/* Service cards are now genuinely part of the footer rather than a separate
   sand-coloured pre-footer. The dark footer starts with the service module and
   the cards keep their own light surfaces for contrast. */
.eg-footer__upper {
  position:relative;
  color:#fff;
  overflow:hidden;
}
.eg-footer__upper::before {
  content:"";
  position:absolute;
  right:-10vw;
  top:-190px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(199,254,122,.08);
  pointer-events:none;
}
.eg-footer__tools-wrap { display:none !important; }
.eg-footer__tools-integrated {
  position:relative;
  z-index:1;
}
.eg-footer__tools-integrated .eg-footer__tools-head {
  margin-bottom:24px;
}
.eg-footer__tools-integrated .eg-footer__tools-head .eg-kicker {
  color:var(--eg-lime);
}
.eg-footer__tools-integrated .eg-footer__tools-head h2 {
  color:#fff;
}
.eg-footer .eg-footer__tools-grid .eg-tool-card,
.eg-footer .eg-footer__tools-grid a.eg-tool-card,
.eg-footer .eg-footer__tools-grid a.eg-tool-card:visited,
.eg-footer .eg-footer__tools-grid a.eg-tool-card:hover,
.eg-footer .eg-footer__tools-grid a.eg-tool-card:focus-visible {
  color:var(--eg-ink) !important;
}
.eg-footer .eg-footer__tools-grid .eg-tool-card strong,
.eg-footer .eg-footer__tools-grid .eg-tool-card small,
.eg-footer .eg-footer__tools-grid .eg-tool-card svg {
  color:inherit !important;
  stroke:currentColor;
}
.eg-footer .eg-footer__tools-grid .eg-tool-card:nth-child(1),
.eg-footer .eg-footer__tools-grid .eg-tool-card:nth-child(3) {
  background:linear-gradient(100deg,#efffdd,#c7fe7a);
}
.eg-footer .eg-footer__tools-grid .eg-tool-card:nth-child(2) {
  background:#fff;
}
.eg-footer .eg-footer__tools-grid .eg-card-arrow {
  background:var(--eg-lime);
  color:var(--eg-tanne) !important;
}

.eg-footer__upper .eg-footer__cta {
  position:relative;
  z-index:1;
  margin-top:34px;
  background:var(--eg-yellow);
  color:var(--eg-ink);
  box-shadow:none;
}
.eg-footer__upper .eg-footer__cta .eg-kicker { color:var(--eg-tanne); }
.eg-footer__upper .eg-footer__cta-button {
  background:var(--eg-ink);
  color:#fff !important;
}
.eg-footer__cta-wrap { display:none !important; }
.eg-footer__main {
  padding-top:40px;
}

/* Standard pages use one clear composition: a large image rises to the top
   right, while the headline finishes exactly on the image's lower edge. Only
   the actual title lines receive the sand background where they cross the
   picture – no translucent panel. */
.eg-page-hero--with-image .eg-page-hero__stage {
  min-height:clamp(390px,31vw,500px);
}
.eg-page-hero__copy {
  position:relative;
  z-index:3;
}
.eg-page-hero--with-image .eg-page-hero__copy {
  position:absolute;
  left:0;
  bottom:0;
  width:min(74%,900px);
  padding:0;
}
.eg-page-hero--with-image .eg-page-hero__copy::after {
  content:none !important;
  display:none !important;
}
.eg-page-title-highlight {
  display:inline;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.eg-page-title-marker {
  position:absolute;
  left:2px;
  bottom:-20px;
  width:168px;
  height:18px;
  margin:0 !important;
  z-index:5;
}
.eg-page-hero--with-image .eg-page-hero__image {
  position:absolute !important;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:56%;
  height:auto;
  margin:0 !important;
  transform:none !important;
}
.eg-page-hero--with-image .eg-page-hero__image::after {
  inset:auto -12px -12px 28px;
  height:44%;
  border-radius:22px;
  background:rgba(199,254,122,.28);
}
.eg-page-hero--with-image .eg-page-hero__image img {
  display:block;
  width:100%;
  height:100%;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover;
  object-position:center center;
  border-radius:22px;
  box-shadow:0 16px 42px rgba(0,34,22,.12);
}

/* No image: keep the same typography but avoid manufacturing empty space. */
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__stage {
  padding-bottom:22px;
}
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__copy {
  position:relative;
  width:min(850px,72%);
}
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-title-marker {
  bottom:0;
  transform:translateY(14px) rotate(-1deg);
}

@media (max-width:959px) {
  .eg-footer__upper { padding:44px 0 38px; }
  .eg-footer__upper .eg-footer__cta { margin-top:28px; }

  .eg-page-hero--with-image .eg-page-hero__stage {
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:26px;
  }
  .eg-page-hero--with-image .eg-page-hero__copy,
  .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__copy {
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
  }
  .eg-page-title-highlight {
    padding-right:.06em;
  }
  .eg-page-title-marker {
    position:relative;
    display:block;
    left:0;
    bottom:auto;
    margin-top:12px !important;
  }
  .eg-page-hero--with-image .eg-page-hero__image {
    position:relative !important;
    inset:auto;
    width:min(680px,100%);
    height:auto;
  }
  .eg-page-hero--with-image .eg-page-hero__image img {
    height:auto;
    aspect-ratio:16/10 !important;
  }
  .eg-page-deck {
    margin-top:26px !important;
  }
}

@media (max-width:620px) {
  .eg-footer__upper { padding:34px 0 30px; }
  .eg-footer__tools-integrated .eg-footer__tools-head h2 { font-size:39px; }
  .eg-footer__upper .eg-footer__cta { margin-top:22px; }
  .eg-page-hero h1 { font-size:clamp(44px,12vw,58px) !important; }
  .eg-page-title-marker { width:125px; height:15px; }
  .eg-page-hero--with-image .eg-page-hero__image img { border-radius:14px; aspect-ratio:4/3 !important; }
  .eg-page-deck { font-size:18px; }
}

/* 0.1.19 – approved page hero (organic form) + compact modern footer */

/* Standard page hero: stable composition for every page. The image is large
   and calm, the headline stays fully on sand, and one organic lime shape acts
   as a restrained recurring Easy-Green accent behind the image. */
.eg-page-hero__inner {
  max-width:1320px !important;
}
.eg-page-hero__stage {
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr) !important;
  gap:clamp(32px,4vw,64px) !important;
  align-items:center !important;
  min-height:0 !important;
  overflow:visible;
}
.eg-page-hero__stage::before {
  content:"";
  position:absolute;
  z-index:0;
  left:38%;
  top:4%;
  width:clamp(230px,23vw,360px);
  height:clamp(260px,27vw,410px);
  border-radius:58% 42% 62% 38% / 44% 59% 41% 56%;
  background:linear-gradient(145deg,rgba(215,255,161,.62),rgba(199,254,122,.22));
  transform:rotate(10deg);
  pointer-events:none;
}
.eg-page-hero__copy,
.eg-page-hero--with-image .eg-page-hero__copy,
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__copy {
  position:relative !important;
  inset:auto !important;
  z-index:2;
  width:auto !important;
  max-width:620px !important;
  padding:0 !important;
}
.eg-page-hero h1 {
  margin:0 !important;
  max-width:620px !important;
  font-size:clamp(56px,5vw,84px) !important;
  line-height:.88 !important;
  letter-spacing:-.025em;
  text-wrap:balance;
  color:var(--eg-ink);
}
.eg-page-title-highlight { background:none !important; padding:0 !important; }
.eg-page-title-marker,
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-title-marker {
  position:relative !important;
  display:block !important;
  left:auto !important;
  bottom:auto !important;
  width:160px !important;
  height:18px !important;
  margin:14px 0 0 !important;
  transform:rotate(-1deg) !important;
  z-index:3;
}
.eg-page-hero--with-image .eg-page-hero__image,
.eg-page-hero__image {
  position:relative !important;
  inset:auto !important;
  z-index:1;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  transform:none !important;
}
.eg-page-hero--with-image .eg-page-hero__image::after,
.eg-page-hero__image::after { content:none !important; }
.eg-page-hero--with-image .eg-page-hero__image img,
.eg-page-hero__image img {
  display:block;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  aspect-ratio:1.52/1 !important;
  object-fit:cover;
  object-position:center center;
  border-radius:clamp(20px,2vw,30px) !important;
  box-shadow:0 18px 42px rgba(0,34,22,.09) !important;
}
.eg-page-deck {
  width:min(880px,92%) !important;
  margin:clamp(30px,3vw,44px) auto 0 !important;
  text-align:center !important;
  font-size:clamp(19px,1.6vw,23px) !important;
  line-height:1.5 !important;
  color:rgba(0,34,22,.82);
}
.eg-page-content {
  margin-top:clamp(22px,3vw,42px) !important;
}
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__stage {
  grid-template-columns:minmax(0,720px) 1fr !important;
  min-height:260px !important;
}
.eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__stage::before {
  left:55%;
  opacity:.7;
}

/* Footer: the three service cards and the participation CTA form one coherent
   footer module instead of stacked page-like sections. */
.eg-footer__upper {
  background:linear-gradient(135deg,#004c36 0%,#006341 62%,#005538 100%) !important;
}
.eg-footer__footer-grid-wrap { position:relative; z-index:1; }
.eg-footer__tools-integrated .eg-footer__tools-head { margin:0 0 24px !important; }
.eg-footer__tools-integrated .eg-footer__tools-head h2 {
  max-width:1000px;
  font-size:clamp(43px,4.2vw,62px);
}
.eg-footer__service-grid {
  align-items:stretch;
}
.eg-footer .eg-footer-card {
  min-height:118px;
  border-radius:16px;
}
.eg-footer .eg-footer-card.eg-tool-card {
  display:grid;
  align-items:center;
  gap:12px;
  border:1px solid rgba(255,255,255,.22);
}
.eg-footer-card--cta {
  display:flex;
  flex-direction:column;
  gap:16px;
  background:var(--eg-yellow);
  color:var(--eg-ink);
}
.eg-footer-card--cta .eg-kicker {
  margin:0 0 6px;
  color:var(--eg-tanne) !important;
}
.eg-footer-card--cta h3 {
  margin:0;
  font-family:"GrueneType Neue",sans-serif;
  line-height:.98;
  font-weight:400;
}
.eg-footer-card--cta p:not(.eg-kicker) {
  margin:8px 0 0;
}
.eg-footer-card--cta .eg-footer__cta-button {
  align-self:flex-end;
  padding:10px 16px;
  font-size:14px;
}
.eg-footer__main {
  border-top:1px solid rgba(255,255,255,.18);
}
.eg-footer__bottom {
  color:rgba(255,255,255,.78) !important;
}
.eg-footer__credit { display:inline-flex; flex-wrap:wrap; gap:.35em; align-items:center; }
.eg-footer__credit a {
  color:#fff !important;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:1180px) {
  .eg-footer__service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eg-footer-card--cta { min-height:150px; }
}

@media (max-width:959px) {
  .eg-page-hero__stage,
  .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__stage {
    grid-template-columns:1fr !important;
    gap:28px !important;
    min-height:0 !important;
  }
  .eg-page-hero__stage::before,
  .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__stage::before {
    left:auto;
    right:8%;
    top:30%;
    width:260px;
    height:300px;
  }
  .eg-page-hero__copy,
  .eg-page-hero--with-image .eg-page-hero__copy,
  .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__copy { max-width:760px !important; }
  .eg-page-hero h1 { max-width:760px !important; }
  .eg-page-hero--with-image .eg-page-hero__image,
  .eg-page-hero__image { width:min(760px,100%) !important; margin-left:auto !important; }
  .eg-page-deck { width:min(760px,100%) !important; text-align:left !important; }
}

@media (max-width:700px) {
  body.easy-green .eg-page-hero { padding:28px 0 22px !important; }
  .eg-page-hero h1 { font-size:clamp(44px,12vw,58px) !important; }
  .eg-page-title-marker { width:126px !important; height:15px !important; margin-top:10px !important; }
  .eg-page-hero__stage::before { width:190px; height:220px; right:-8%; top:34%; }
  .eg-page-hero--with-image .eg-page-hero__image img,
  .eg-page-hero__image img { aspect-ratio:4/3 !important; border-radius:18px !important; }
  .eg-page-deck { margin-top:24px !important; font-size:18px !important; }
  .eg-footer__service-grid { grid-template-columns:1fr; }
  .eg-footer .eg-footer-card { min-height:96px; }
  .eg-footer-card--cta { min-height:170px; }
}

/* 0.1.20 – compact approved page hero, footer composition, event detail */

/* Standard pages: keep the whole editorial intro comfortably inside the first
   desktop viewport. This follows approved concept C more closely: title left,
   organic lime accent in the middle, large image right, deck immediately below. */
body.easy-green .eg-page {
  min-height:0 !important;
  padding-top:0 !important;
}
body.easy-green .eg-page-hero {
  min-height:0 !important;
}
body.easy-green .eg-page-title-marker {
  margin-top:10px !important;
}
body.easy-green .eg-page-hero--with-image .eg-page-hero__image,
body.easy-green .eg-page-hero__image {
  max-width:none !important;
}

/* Footer matches the approved mockup: editorial heading + three service cards
   form the left column, while the yellow participation card is the right rail. */
.eg-footer__upper {
  padding:42px 0 34px !important;
}
.eg-footer__feature-layout {
  display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(300px,.92fr);
  gap:18px;
  align-items:stretch;
}
.eg-footer__knowledge {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.eg-footer__tools-head {
  margin:0 0 18px !important;
}
.eg-footer__tools-head .eg-kicker {
  margin:0 0 6px !important;
  color:var(--eg-lime) !important;
}
.eg-footer__tools-head h2 {
  margin:0 !important;
  max-width:none !important;
  font-size:clamp(39px,3.5vw,56px) !important;
  line-height:.95 !important;
  color:#fff !important;
}
.eg-footer__service-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:auto;
}
.eg-footer .eg-footer-card.eg-tool-card {
  min-height:104px !important;
  grid-template-columns:38px minmax(0,1fr) 30px !important;
  padding:15px !important;
  border-radius:14px !important;
}
.eg-footer .eg-footer-card.eg-tool-card strong {
  font-size:clamp(18px,1.4vw,22px) !important;
  line-height:1 !important;
}
.eg-footer .eg-footer-card.eg-tool-card small {
  font-size:12px !important;
  line-height:1.28 !important;
}
.eg-footer-card--cta {
  min-height:100% !important;
  padding:22px !important;
  border-radius:16px !important;
  justify-content:space-between !important;
}
.eg-footer-card--cta h3 {
  font-size:clamp(31px,2.65vw,43px) !important;
}
.eg-footer-card--cta p:not(.eg-kicker) {
  font-size:14px !important;
  line-height:1.38 !important;
}
.eg-footer__main {
  margin-top:0 !important;
  padding:28px 0 22px !important;
}
.eg-footer__bottom {
  padding:14px 0 22px !important;
  min-height:54px;
}

/* Easy Green event detail. */
.eg-event-detail {
  background:var(--eg-sand);
  color:var(--eg-ink);
  padding:20px 0 70px;
}
.eg-event-detail__container { max-width:1180px; }
.eg-event-detail__back {
  display:inline-flex;
  align-items:center;
  margin:0 0 16px;
  color:var(--eg-tanne) !important;
  font-weight:800;
  text-decoration:none;
}
.eg-event-detail__back:hover,
.eg-event-detail__back:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.eg-event-detail__hero {
  position:relative;
}
.eg-event-detail__image {
  margin:0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 14px 38px rgba(0,34,22,.09);
}
.eg-event-detail__image img {
  display:block;
  width:100%;
  height:clamp(280px,35vw,430px);
  object-fit:cover;
}
.eg-event-detail__title-block {
  position:relative;
  z-index:2;
  display:grid;
  align-items:end;
  margin:-54px auto 0;
  background:var(--eg-sand);
  border-radius:18px 18px 0 0;
}
.eg-event-detail__date-badge {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:var(--eg-yellow);
  text-align:center;
  line-height:1;
}
.eg-event-detail__date-badge small {
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.eg-event-detail__date-badge strong {
  margin:2px 0;
  font-family:"GrueneType Neue",sans-serif;
  line-height:.9;
  font-weight:400;
}
.eg-event-detail__date-badge span {
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}
.eg-event-detail__title-block h1 {
  margin:0;
  font-family:"GrueneType Neue",sans-serif;
  font-weight:400;
  letter-spacing:-.02em;
  color:var(--eg-ink);
  text-wrap:balance;
}
.eg-event-detail__deck {
  margin:12px 0 0;
  max-width:820px;
  line-height:1.4;
  color:rgba(0,34,22,.78);
}
.eg-event-detail__facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:16px auto 0;
}
.eg-event-detail__fact {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:13px;
  align-items:center;
  border:1px solid var(--eg-border);
  border-radius:14px;
}
.eg-event-detail__fact-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  color:var(--eg-tanne);
  font-size:26px;
}
.eg-event-detail__fact-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.7; }
.eg-event-detail__fact small {
  display:block;
  margin-bottom:3px;
  color:var(--eg-klee);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.eg-event-detail__fact strong {
  display:block;
  font-size:17px;
  line-height:1.25;
}
.eg-event-detail__fact strong span {
  display:block;
  margin-top:3px;
  font-weight:500;
  color:rgba(0,34,22,.70);
}
.eg-event-detail__actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:14px auto 0;
}
.eg-event-detail__primary,
.eg-event-detail__secondary,
.eg-event-detail__map .show-leaflet {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 18px;
  border:0;
  border-radius:999px;
  font:inherit;
  font-weight:800;
  text-decoration:none !important;
  cursor:pointer;
}
.eg-event-detail__primary,
.eg-event-detail__map .show-leaflet { background:var(--eg-tanne); color:#fff !important; }
.eg-event-detail__secondary { background:#fff; color:var(--eg-tanne) !important; border:1px solid var(--eg-border); }
.eg-event-detail__primary:hover,
.eg-event-detail__primary:focus-visible,
.eg-event-detail__map .show-leaflet:hover,
.eg-event-detail__map .show-leaflet:focus-visible { background:var(--eg-klee); }
.eg-event-detail__content {
  width:min(820px,100%);
  margin:42px auto 0;
}
.eg-event-detail__organizer {
  width:min(820px,100%);
  margin:30px auto 0;
  padding:18px 20px;
  border-left:5px solid var(--eg-lime);
  background:#fff;
  border-radius:0 12px 12px 0;
}
.eg-event-detail__organizer span { display:block; color:var(--eg-klee); font-size:12px; font-weight:900; text-transform:uppercase; }
.eg-event-detail__organizer strong,
.eg-event-detail__organizer a { display:inline-block; margin-top:4px; color:var(--eg-ink) !important; font-weight:800; }
.eg-event-detail__map-wrap {
  width:min(980px,100%);
  margin:42px auto 0;
}
.eg-event-detail__map-wrap h2 { margin:0 0 14px; }
.eg-event-detail__map {
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  border-radius:18px;
  background:linear-gradient(135deg,#efffdd,#dff9bd);
  text-align:center;
  overflow:hidden;
}
.eg-event-detail__map .before-loading { max-width:480px; }
.eg-event-detail__map .before-loading strong { display:block; font-size:22px; }
.eg-event-detail__map .before-loading p { margin:8px 0 16px; }

@media (max-width:1080px) {
  body.easy-green .eg-page-hero__stage,
  body.easy-green .eg-page-hero--with-image .eg-page-hero__stage {
    grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr) !important;
    gap:32px !important;
  }
  .eg-footer__feature-layout { grid-template-columns:1fr; }
  .eg-footer-card--cta {
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
  }
}

@media (max-width:820px) {
  body.easy-green .eg-page-hero { padding:22px 0 18px !important; }
  body.easy-green .eg-page-hero__stage,
  body.easy-green .eg-page-hero--with-image .eg-page-hero__stage {
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  body.easy-green .eg-page-hero--with-image .eg-page-hero__image img,
  body.easy-green .eg-page-hero__image img {
    height:auto !important;
    aspect-ratio:16/10 !important;
  }
  body.easy-green .eg-page-deck {
    width:100% !important;
    margin-top:18px !important;
    text-align:left !important;
  }
  .eg-footer__service-grid { grid-template-columns:1fr !important; }
  .eg-footer-card--cta { grid-template-columns:1fr !important; }
  .eg-footer-card--cta .eg-footer__cta-button { justify-self:start; }
  .eg-event-detail__title-block {
    width:calc(100% - 24px);
    padding:18px 16px 8px;
  }
  .eg-event-detail__facts { grid-template-columns:1fr; }
}

@media (max-width:560px) {
  .eg-event-detail { padding-top:14px; }
  .eg-event-detail__image { margin-left:-12px; margin-right:-12px; border-radius:0; }
  .eg-event-detail__image img { height:230px; }
  .eg-event-detail__deck { font-size:18px; }
}

/* Footer heading is a vertical editorial lockup, never the old split flex row. */
.eg-footer__tools-head {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:0 !important;
  text-align:left !important;
}

/* 0.1.21 – footer contrast, organic page accent, calmer event header */

/* Footer service cards 1 + 3 are light-green surfaces. Keep every text/icon
   state dark green, including visited links inherited from the parent theme. */
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(1),
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(3),
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(1),
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(3),
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(1):visited,
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(3):visited,
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(1):hover,
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(3):hover,
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(1):focus-visible,
.eg-footer .eg-footer__service-grid a.eg-tool-card:nth-child(3):focus-visible {
  color:var(--eg-tanne) !important;
}
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(1) strong,
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(1) small,
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(1) svg,
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(3) strong,
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(3) small,
.eg-footer .eg-footer__service-grid .eg-tool-card:nth-child(3) svg {
  color:var(--eg-tanne) !important;
  stroke:currentColor !important;
}

/* Approved concept C: use a genuinely amorphous, horizontally stretched
   accent instead of an ellipse/capsule. Most of it deliberately sits behind
   the image, leaving only an irregular soft-green edge visible. */
body.easy-green .eg-page-hero__stage::before {
  left:37.5% !important;
  top:49% !important;
  width:clamp(330px,29vw,470px) !important;
  height:clamp(285px,26vw,405px) !important;
  border-radius:0 !important;
  background:url("../img/organic-accent.svg") center / 100% 100% no-repeat !important;
  transform:translate(-24%,-50%) rotate(-3deg) !important;
  opacity:1 !important;
}

/* Event detail: retain the successful information hierarchy, but tighten it
   into one calmer lockup. The date badge supports the title instead of
   competing with it; facts are quieter, softer cards. */
.eg-event-detail {
  padding-top:14px !important;
}
.eg-event-detail__back {
  margin-bottom:20px !important;
  font-size:15px;
}
.eg-event-detail__hero {
  margin-bottom:14px !important;
}
.eg-event-detail__title-block {
  grid-template-columns:100px minmax(0,1fr) !important;
  gap:20px !important;
  width:min(1040px,calc(100% - 32px)) !important;
  padding:18px 22px 4px !important;
}
.eg-event-detail__hero.no-image .eg-event-detail__title-block {
  width:min(1040px,100%) !important;
  margin:0 auto !important;
  padding:10px 0 4px !important;
  align-items:center;
}
.eg-event-detail__date-badge {
  min-height:102px !important;
  padding:9px 8px !important;
  border-radius:13px !important;
}
.eg-event-detail__date-badge strong {
  font-size:45px !important;
}
.eg-event-detail__date-badge small,
.eg-event-detail__date-badge span {
  font-size:11px !important;
}
.eg-event-detail__title-block .eg-kicker {
  margin:0 0 4px !important;
  font-size:11px;
}
.eg-event-detail__title-block h1 {
  max-width:860px !important;
  font-size:clamp(43px,4.55vw,68px) !important;
  line-height:.9 !important;
}
.eg-event-detail__deck {
  margin-top:8px !important;
  font-size:18px !important;
}
.eg-event-detail__facts {
  width:min(1040px,100%) !important;
  margin-top:18px !important;
  gap:10px !important;
}
.eg-event-detail__fact {
  min-height:92px;
  padding:14px 16px !important;
  border-color:rgba(0,85,56,.10) !important;
  background:rgba(255,255,255,.68) !important;
  box-shadow:0 5px 18px rgba(0,34,22,.035);
}
.eg-event-detail__actions {
  width:min(1040px,100%) !important;
  margin-top:12px !important;
}

@media (max-width:820px) {
  body.easy-green .eg-page-hero__stage::before {
    left:auto !important;
    right:-4% !important;
    top:58% !important;
    width:300px !important;
    height:250px !important;
    transform:translateY(-50%) rotate(-5deg) !important;
  }
  .eg-event-detail__title-block {
    grid-template-columns:84px minmax(0,1fr) !important;
    gap:14px !important;
  }
  .eg-event-detail__date-badge { min-height:86px !important; }
  .eg-event-detail__date-badge strong { font-size:38px !important; }
}

@media (max-width:560px) {
  body.easy-green .eg-page-hero__stage::before {
    right:-18% !important;
    top:61% !important;
    width:250px !important;
    height:210px !important;
  }
  .eg-event-detail__title-block {
    grid-template-columns:76px minmax(0,1fr) !important;
    margin-top:-26px !important;
  }
  .eg-event-detail__hero.no-image .eg-event-detail__title-block {
    grid-template-columns:76px minmax(0,1fr) !important;
    padding-top:4px !important;
  }
  .eg-event-detail__date-badge {
    width:76px !important;
    min-height:76px !important;
  }
  .eg-event-detail__title-block h1 { font-size:clamp(39px,11vw,48px) !important; }
}




/* === Current visual refinements === */
/* 0.1.23 – Concept C mapped from the approved mockup proportions.
   Reference geometry: image ≈43% of hero width, organic form begins just left
   of the image, continues only a short distance below it, deck always above. */
body.easy-green .eg-page-hero {
  padding:18px 0 24px !important;
  overflow:visible !important;
}
body.easy-green .eg-page-hero__inner {
  position:relative !important;
  isolation:isolate;
  max-width:1260px !important;
  overflow:visible !important;
}
body.easy-green .eg-page-hero__inner::before {
  content:"";
  position:absolute;
  z-index:0;
  left:42%;
  top:48px;
  width:clamp(430px,31vw,500px);
  height:clamp(325px,23.5vw,380px);
  background:url("../img/organic-accent.svg") center / 100% 100% no-repeat;
  transform:rotate(-1.5deg);
  pointer-events:none;
}
body.easy-green .eg-page-hero__stage::before { content:none !important; }
body.easy-green .eg-page-hero__stage,
body.easy-green .eg-page-hero--with-image .eg-page-hero__stage {
  position:relative;
  z-index:1;
  display:grid !important;
  grid-template-columns:minmax(0,1.12fr) minmax(500px,1fr) !important;
  gap:clamp(48px,5vw,72px) !important;
  align-items:center !important;
  margin:0 !important;
  min-height:0 !important;
}
body.easy-green .eg-page-hero__copy,
body.easy-green .eg-page-hero--with-image .eg-page-hero__copy {
  position:relative !important;
  z-index:4;
  max-width:560px !important;
  padding:0 !important;
}
body.easy-green .eg-page-hero h1 {
  max-width:560px !important;
  margin:0 !important;
  font-size:clamp(54px,4.45vw,76px) !important;
  line-height:.89 !important;
  letter-spacing:-.025em !important;
  color:var(--eg-tanne) !important;
}
body.easy-green .eg-page-title-marker {
  width:150px !important;
  height:17px !important;
  margin:11px 0 0 !important;
}
body.easy-green .eg-page-hero--with-image .eg-page-hero__image,
body.easy-green .eg-page-hero__image {
  position:relative !important;
  z-index:3;
  width:100% !important;
  margin:0 !important;
  transform:none !important;
  overflow:visible !important;
}
body.easy-green .eg-page-hero--with-image .eg-page-hero__image img,
body.easy-green .eg-page-hero__image img {
  display:block;
  width:100% !important;
  height:clamp(320px,24vw,380px) !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center;
  /* Deliberately asymmetric, following Concept C: broad TL + BR, tight TR. */
  border-radius:60px 20px 64px 40px / 56px 20px 60px 44px !important;
  box-shadow:0 12px 30px rgba(0,34,22,.055) !important;
}
body.easy-green .eg-page-deck {
  position:relative !important;
  z-index:6 !important;
  width:min(900px,82%) !important;
  margin:24px auto 0 !important;
  padding:0 !important;
  text-align:center !important;
  font-size:clamp(19px,1.45vw,22px) !important;
  line-height:1.45 !important;
  color:var(--eg-tanne) !important;
  font-weight:500 !important;
}
body.easy-green .eg-page-content { margin-top:18px !important; }

body.easy-green .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__stage {
  grid-template-columns:minmax(0,680px) 1fr !important;
}
body.easy-green .eg-page-hero:not(.eg-page-hero--with-image) .eg-page-hero__inner::before {
  left:50%; top:34px; width:300px; height:250px; opacity:.48;
}

@media (max-width:980px) {
  body.easy-green .eg-page-hero { padding:18px 0 22px !important; }
  body.easy-green .eg-page-hero__stage,
  body.easy-green .eg-page-hero--with-image .eg-page-hero__stage {
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  body.easy-green .eg-page-hero__copy,
  body.easy-green .eg-page-hero--with-image .eg-page-hero__copy { max-width:720px !important; }
  body.easy-green .eg-page-hero h1 { max-width:720px !important; }
  body.easy-green .eg-page-hero__inner::before {
    left:auto; right:-2%; top:142px; width:340px; height:270px; transform:rotate(-2deg);
  }
  body.easy-green .eg-page-hero--with-image .eg-page-hero__image img,
  body.easy-green .eg-page-hero__image img {
    height:auto !important;
    aspect-ratio:16/10 !important;
    border-radius:48px 16px 54px 32px / 44px 16px 50px 36px !important;
  }
  body.easy-green .eg-page-deck { width:min(760px,92%) !important; margin-top:20px !important; }
}

@media (max-width:620px) {
  body.easy-green .eg-page-hero { padding:14px 0 18px !important; }
  body.easy-green .eg-page-hero h1 { font-size:clamp(43px,12vw,57px) !important; line-height:.91 !important; }
  body.easy-green .eg-page-title-marker { width:126px !important; height:15px !important; }
  body.easy-green .eg-page-hero__inner::before {
    right:-16%; top:138px; width:250px; height:205px; opacity:.72;
  }
  body.easy-green .eg-page-hero--with-image .eg-page-hero__image img,
  body.easy-green .eg-page-hero__image img {
    border-radius:34px 12px 42px 24px / 30px 12px 38px 28px !important;
  }
  body.easy-green .eg-page-deck { width:94% !important; margin-top:17px !important; font-size:18px !important; }
}

/* 0.1.24 – footer contrast + visible theme credit
   All three service cards use dark-green content on their light surfaces.
   Keep this final override below older footer rules so parent/visited states
   cannot turn card 2 white-on-white again. */
.eg-footer .eg-footer__service-grid .eg-tool-card,
.eg-footer .eg-footer__service-grid a.eg-tool-card,
.eg-footer .eg-footer__service-grid a.eg-tool-card:link,
.eg-footer .eg-footer__service-grid a.eg-tool-card:visited,
.eg-footer .eg-footer__service-grid a.eg-tool-card:hover,
.eg-footer .eg-footer__service-grid a.eg-tool-card:focus,
.eg-footer .eg-footer__service-grid a.eg-tool-card:focus-visible {
  color:var(--eg-tanne) !important;
}
.eg-footer .eg-footer__service-grid .eg-tool-card strong,
.eg-footer .eg-footer__service-grid .eg-tool-card small,
.eg-footer .eg-footer__service-grid .eg-tool-card__icon,
.eg-footer .eg-footer__service-grid .eg-tool-card__icon svg,
.eg-footer .eg-footer__service-grid .eg-tool-card__icon svg *,
.eg-footer .eg-footer__service-grid .eg-card-arrow,
.eg-footer .eg-footer__service-grid .eg-card-arrow svg,
.eg-footer .eg-footer__service-grid .eg-card-arrow svg * {
  color:var(--eg-tanne) !important;
  stroke:currentColor !important;
}

/* Make the configurable author credit unmistakably visible on the dark footer. */
.eg-footer__credit a,
.eg-footer__credit a:link,
.eg-footer__credit a:visited {
  color:var(--eg-lime) !important;
  font-weight:800 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}
.eg-footer__credit a:hover,
.eg-footer__credit a:focus-visible {
  color:#fff !important;
}


/* 0.1.25 – make the configurable footer author credit unmissable.
   This intentionally neutralises inherited Sunflower link states and any
   stale custom CSS that could hide the anchor text. */
.eg-footer .eg-footer__bottom .eg-footer__credit {
  overflow:visible !important;
}
.eg-footer .eg-footer__bottom .eg-footer__credit-text,
.eg-footer .eg-footer__bottom .eg-footer__credit-link,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:link,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:visited {
  display:inline !important;
  visibility:visible !important;
  opacity:1 !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  clip:auto !important;
  clip-path:none !important;
  transform:none !important;
  text-indent:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  white-space:nowrap !important;
}
.eg-footer .eg-footer__bottom .eg-footer__credit-link,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:link,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:visited {
  color:#c8ff57 !important;
  font-weight:800 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1.5px !important;
  text-underline-offset:3px !important;
}
.eg-footer .eg-footer__bottom .eg-footer__credit-link:hover,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:focus-visible {
  color:#fff !important;
}


/* 0.1.27 – footer credit: same colour as footer copy, reliably clickable. */
.eg-footer .eg-footer__bottom {
  position: relative !important;
  z-index: 50 !important;
  isolation: isolate;
}
.eg-footer .eg-footer__bottom .eg-footer__credit {
  position: relative !important;
  z-index: 51 !important;
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: .35em !important;
  pointer-events: auto !important;
}
.eg-footer .eg-footer__bottom .eg-footer__credit-link,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:link,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:visited,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:hover,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:focus,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:focus-visible,
.eg-footer .eg-footer__bottom .eg-footer__credit-link:active {
  display: inline-block !important;
  position: relative !important;
  z-index: 52 !important;
  color: rgba(255,255,255,.78) !important;
  font: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.eg-footer .eg-footer__bottom .eg-footer__credit-link:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  border-radius: 2px;
}

/* 0.1.28 — Easy Green event archive */
body.easy-green.post-type-archive-sunflower_event .eg-event-archive {
  padding:clamp(42px,5vw,72px) 0 88px;
  background:var(--eg-sand);
}
.eg-event-archive__container { max-width:1160px; }
.eg-event-archive__header {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);
  gap:clamp(36px,6vw,84px);
  align-items:end;
  margin-bottom:26px;
}
.eg-event-archive__heading .eg-kicker { margin:0 0 8px; }
.eg-event-archive__heading h1 {
  margin:0;
  max-width:760px;
  color:var(--eg-ink);
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(58px,6.4vw,94px);
  line-height:.86;
  font-weight:400;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.eg-event-archive__intro {
  max-width:540px;
  color:rgba(0,34,22,.82);
  font-size:20px;
  line-height:1.42;
}
.eg-event-archive__intro p { margin:0; }
.eg-event-archive__filters {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 28px;
}
.eg-event-archive__filters .filter,
.eg-event-archive__archive-switch {
  appearance:none;
  border:1px solid rgba(0,34,22,.09);
  border-radius:999px;
  padding:9px 15px;
  background:rgba(255,255,255,.72);
  color:var(--eg-ink) !important;
  font-family:"PT Sans",sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.eg-event-archive__filters .filter:hover,
.eg-event-archive__filters .filter:focus-visible,
.eg-event-archive__filters .filter.filter-active {
  background:var(--eg-tanne);
  border-color:var(--eg-tanne);
  color:#fff !important;
}
.eg-event-archive__filters .filter:focus-visible,
.eg-event-archive__archive-switch:focus-visible {
  outline:3px solid var(--eg-lime);
  outline-offset:2px;
}
.eg-event-archive__archive-switch {
  margin-left:auto;
  background:transparent;
  border-color:transparent;
  color:var(--eg-klee) !important;
}
.eg-event-archive__archive-switch:hover,
.eg-event-archive__archive-switch:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.eg-event-archive__list {
  flex-direction:column;
}
.eg-event-archive__list > .col-12 { width:100%; padding:0; margin:0; }
.eg-event-archive-card {
  display:grid;
  gap:16px;
  align-items:stretch;
  min-height:144px;
  overflow:hidden;
  border:1px solid rgba(0,34,22,.10);
  border-radius:17px;
  background:#fff;
  color:var(--eg-ink) !important;
  box-shadow:0 8px 24px rgba(0,34,22,.045);
  transition:transform .18s ease,border-color .18s ease;
}
.eg-event-archive-card:visited { color:var(--eg-ink) !important; }
.eg-event-archive-card:hover,
.eg-event-archive-card:focus-visible {
  color:var(--eg-ink) !important;
  border-color:rgba(0,85,56,.22);
}
.eg-event-archive-card:focus-visible { outline:3px solid var(--eg-lime); outline-offset:3px; }
.eg-event-archive-card__date {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:100%;
  padding:14px 8px;
  background:linear-gradient(145deg,#edffc8,var(--eg-lime));
  color:var(--eg-tanne);
  text-align:center;
}
.eg-event-archive-card__date small,
.eg-event-archive-card__date span {
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}
.eg-event-archive-card__date strong {
  margin:4px 0 2px;
  font-family:"GrueneType Neue",sans-serif;
  font-size:42px;
  line-height:.8;
  font-weight:400;
}
.eg-event-archive-card__image { margin:0; overflow:hidden; }
.eg-event-archive-card__image img {
  display:block;
  width:100%;
  height:100%;
  min-height:144px;
  object-fit:cover;
  transition:transform .28s ease;
}
.eg-event-archive-card:focus-visible .eg-event-archive-card__image img { transform:scale(1.025); }
.eg-event-archive-card__copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:18px 6px;
}
.eg-event-archive-card__tag {
  width:max-content;
  max-width:100%;
  margin-bottom:7px;
  padding:4px 8px;
  border-radius:999px;
  background:#efffd8;
  color:var(--eg-tanne);
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}
.eg-event-archive-card__copy > strong {
  max-width:760px;
  font-family:"GrueneType Neue",sans-serif;
  font-size:clamp(27px,2.5vw,37px);
  line-height:.92;
  font-weight:400;
  text-wrap:balance;
}
.eg-event-archive-card__meta {
  display:flex;
  flex-wrap:wrap;
  gap:7px 16px;
  margin-top:10px;
  color:rgba(0,34,22,.68);
  font-size:13px;
  line-height:1.35;
}
.eg-event-archive-card__meta span { position:relative; }
.eg-event-archive-card__meta span + span::before {
  content:"•";
  position:absolute;
  left:-10px;
  color:var(--eg-klee);
}
.eg-event-archive-card .eg-card-arrow {
  background:var(--eg-lime);
  color:var(--eg-tanne);
}
.eg-event-archive-card:hover .eg-card-arrow,
.eg-event-archive-card:focus-visible .eg-card-arrow { background:var(--eg-tanne); color:#fff; }
.eg-event-archive__calendar-link {
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}
.eg-event-archive__calendar-link a {
  color:var(--eg-klee) !important;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:5px;
}
.eg-event-archive__empty {
  padding:44px;
  border:1px solid var(--eg-border);
  border-radius:18px;
  background:#fff;
}
.eg-event-archive__empty h2 { margin:4px 0 8px; }
.eg-event-archive__map {
  min-height:480px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
  border:1px solid var(--eg-border);
  border-radius:18px;
  background:#eef9e8;
  text-align:center;
}
.eg-event-archive__map .before-loading { max-width:480px; }
.eg-event-archive__map .before-loading strong { display:block; font-size:24px; }
.eg-event-archive__map .before-loading p { margin:8px 0 18px; }
.eg-event-archive__map .show-leaflet-all {
  border:0;
  border-radius:999px;
  padding:12px 20px;
  background:var(--eg-tanne);
  color:#fff;
  font-weight:800;
}

@media (max-width:900px) {
  .eg-event-archive__header { grid-template-columns:1fr; gap:16px; align-items:start; }
  .eg-event-archive__intro { max-width:680px; }
}

@media (max-width:680px) {
  body.easy-green.post-type-archive-sunflower_event .eg-event-archive { padding:26px 0 60px; }
  .eg-event-archive__heading h1 { font-size:clamp(46px,14vw,62px); }
  .eg-event-archive__intro { font-size:17px; }
  .eg-event-archive__filters { gap:7px; margin-bottom:20px; }
  .eg-event-archive__archive-switch { width:100%; margin:3px 0 0; padding-left:2px; text-align:left; }
  .eg-event-archive-card,
  .eg-event-archive-card.no-image {
    min-height:112px;
    gap:10px;
    border-radius:14px;
  }
  .eg-event-archive-card__date { padding:10px 4px; }
  .eg-event-archive-card__date strong { font-size:34px; }
  .eg-event-archive-card__image img { min-height:112px; }
  .eg-event-archive-card__copy { padding:12px 0; }
  .eg-event-archive-card__tag { margin-bottom:5px; font-size:8.5px; }
  .eg-event-archive-card__copy > strong { font-size:21px; line-height:.95; }
  .eg-event-archive-card__meta { display:block; margin-top:7px; font-size:11px; line-height:1.3; }
  .eg-event-archive-card__meta span { display:block; }
  .eg-event-archive-card__meta span + span::before { content:none; }
  .eg-event-archive__calendar-link { justify-content:flex-start; }
}


/* 0.1.29 — event archive layout stability.
   Sunflower's event archive uses Masonry and Bootstrap row/column helpers.
   Easy Green owns this archive now, so keep every card in normal document flow
   and reserve a real arrow column inside each card. */
.eg-event-archive__list {
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:stretch;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  clear:both;
  gap:14px !important;
  margin:0 !important;
  padding:0 !important;
}
.eg-event-archive__item {
  position:static !important;
  inset:auto !important;
  transform:none !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.eg-event-archive__item[hidden],
.eg-event-archive__map-wrap[hidden] {
  display:none !important;
}
.eg-event-archive-card {
  width:100% !important;
  max-width:none !important;
  grid-template-columns:86px 190px minmax(0,1fr) 64px !important;
}
.eg-event-archive-card.no-image {
  grid-template-columns:86px minmax(0,1fr) 64px !important;
}
.eg-event-archive-card .eg-card-arrow {
  position:static !important;
  justify-self:center !important;
  align-self:center !important;
  margin:0 !important;
  right:auto !important;
  bottom:auto !important;
}
.eg-event-archive__calendar-link {
  position:relative;
  z-index:1;
  clear:both;
  width:100%;
  padding-top:2px;
}
.eg-event-archive__map-wrap {
  width:100%;
  margin:0;
  padding:0;
}
@media (max-width:900px) {
  .eg-event-archive-card { grid-template-columns:76px 150px minmax(0,1fr) 54px !important; }
  .eg-event-archive-card.no-image { grid-template-columns:76px minmax(0,1fr) 54px !important; }
}
@media (max-width:680px) {
  .eg-event-archive-card,
  .eg-event-archive-card.no-image {
    grid-template-columns:66px 96px minmax(0,1fr) 46px !important;
  }
  .eg-event-archive-card.no-image { grid-template-columns:66px minmax(0,1fr) 46px !important; }
  .eg-event-archive-card .eg-card-arrow { width:30px !important; height:30px !important; }
}

/* 0.1.30 – claim typography and marker tuning */
@media (max-width:1080px) {
  .eg-hero h1.eg-hero-claim { max-width:min(640px,100%); margin-bottom:32px; }
  .eg-hero-claim__line--small-white,
  .eg-hero-claim__line--small-green { font-size:clamp(46px,6.2vw,66px); }
  .eg-hero-claim__line--large-white,
  .eg-hero-claim__line--large-green { font-size:clamp(62px,8.4vw,88px); }
  .eg-hero-claim__line.has-marker::after { height:21px; bottom:-11px; }
}
@media (max-width:620px) {
  .eg-hero h1.eg-hero-claim { max-width:100%; margin-bottom:28px; }
  .eg-hero-claim__line--small-white,
  .eg-hero-claim__line--small-green { font-size:clamp(38px,12vw,54px); }
  .eg-hero-claim__line--large-white,
  .eg-hero-claim__line--large-green { margin-left:5px; font-size:clamp(50px,15.5vw,70px); }
  .eg-hero-claim__line + .eg-hero-claim__line { margin-top:0; }
  .eg-hero-claim__line.has-marker { margin-bottom:14px; }
  .eg-hero-claim__line.has-marker::after {
    left:-2%;
    width:104%;
    height:17px;
    bottom:-9px;
  }
}


/* Hover motion only belongs on devices that actually provide a persistent hover
   state. This prevents cards/images from scaling merely because a stationary
   pointer happens to sit underneath content while the page is being scrolled. */
@media (hover:hover) and (pointer:fine) {
  .eg-search-form button:hover,
  .eg-header-cta:hover,
  .eg-button:hover,
  .eg-feature-post__link:hover,
  .eg-post-navigation__item:hover,
  .eg-footer__cta-button:hover { transform:translateY(-2px); }

  body.easy-green .eg-header-socials .sunflower__socials a:hover { transform:translateX(-3px); }
  .eg-hero-card:hover { transform:translateY(-4px); }
  .eg-topic-card:hover,
  .eg-news-card:hover,
  .eg-archive-card:hover,
  .eg-related-card:hover,
  .eg-event-featured:hover,
  .eg-footer .eg-footer__tools-grid a.eg-tool-card:hover,
  .eg-event-archive-card:hover { transform:translateY(-3px); }
  a.eg-tool-card:hover { transform:translateY(-2px); }
  .eg-category-pill:hover { transform:translateY(-1px); }
  .eg-event-list__item:hover { transform:translateX(3px); }
  body.easy-green .eg-search-form button[type="submit"]:hover { transform:translateY(-1px); }
  .eg-event-archive__archive-switch:hover { transform:translateX(2px); }

  .eg-news-card:hover { border-color:rgba(0,85,56,.28); }
  .eg-archive-card:hover { border-color:rgba(0,85,56,.25); }
  .eg-news-card:hover .eg-news-card__image img { transform:scale(1.025); }
  .eg-feature-post:hover .eg-feature-post__image img { transform:scale(1.018); }
  .eg-archive-card:hover .eg-archive-card__image img { transform:scale(1.025); }
  .eg-related-card:hover .eg-related-card__image img { transform:scale(1.025); }
  .eg-event-archive-card:hover .eg-event-archive-card__image img { transform:scale(1.025); }
}


@media (max-width:700px) {
  .eg-article-content .easy-blog-quote-box {
    margin:2.2em -4px 1.4em;
    padding:52px 22px 26px 58px;
  }
  .eg-article-content .easy-blog-quote-box::before {
    top:48px;
    left:18px;
    font-size:62px;
  }
  .eg-article-content .easy-blog-quote-box::after {
    left:18px;
    right:18px;
    top:9px;
    height:24px;
  }
  .eg-article-content .easy-blog-quote-box__quote { font-size:34px; }
}
