:root{
  --fe-green:#00804c;
  --fe-green-dark:#006d41;
  --fe-cream:#f6f7ed;
  --fe-lime:#dbe64c;
  --fe-leaf:#74c365;
  --fe-blue:#1e488f;
  --fe-navy:#001f3f;
  --fe-ink:#10253a;
  --fe-white:#ffffff;
  --fe-ripple-bg:#e9f2e6;
  --fe-ripple-ink:#10253a;
  --fe-footer-paper:#001f3f;
  --fe-footer-ink:#f6f7ed;
  --fe-footer-accent:#dbe64c;
  --fe-line:rgba(0,31,63,.14);
  --fe-soft-green:rgba(0,125,67,.08);
  --fe-radius:22px;
  --fe-element-radius:22px;
  --fe-button-radius:999px;
  --fe-shadow:0 20px 55px rgba(0,31,63,.08);
  --fe-max:1180px;
  --fe-font-display:"Coolvetica","Avenir Next","Segoe UI",system-ui,sans-serif;
  --fe-font-secondary:"Gambetta",Georgia,"Times New Roman",serif;
  --fe-font-body:"source-sans-3","Source Sans 3","Source Sans Pro","Avenir Next","Segoe UI",system-ui,sans-serif;
}

.fe-starter-page .entry-header,
.fe-starter-page .hero-section[data-type="type-1"],
.fe-starter-page .page-title{display:none!important}
.fe-starter-page .site-main,.fe-starter-page .entry-content{margin-top:0!important;padding-top:0!important;margin-bottom:0!important;padding-bottom:0!important}
.fe-starter-page .site-main>article,.fe-starter-page .entry-content>*{margin-top:0;margin-bottom:0}
.fe-starter-page #main-container,.fe-starter-page .site-main-container{padding-bottom:0!important;margin-bottom:0!important}

.fe-container{width:min(calc(100% - 40px),var(--fe-max));margin-inline:auto}
.fe-section,.fe-page-hero,.fe-hero{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw!important;max-width:none!important}
.fe-section{padding:clamp(58px,8vw,108px) 0}
.fe-page-hero{padding:clamp(64px,9vw,118px) 0 clamp(48px,7vw,86px)}
.fe-hero{padding:clamp(72px,10vw,130px) 0;background:var(--fe-cream);overflow:hidden;position:relative}
.fe-hero:after{display:none!important;content:none!important}
.fe-section--cream{background:var(--fe-cream)}
.fe-section--white{background:#fff}
.fe-section--navy{background:var(--fe-navy);color:#fff}
.fe-section--green{background:var(--fe-green);color:#fff}
.fe-section--ripple{background:var(--fe-ripple-bg);color:var(--fe-ripple-ink)}
.fe-section--ripple .fe-eyebrow{color:var(--fe-green)}

.fe-starter-page .entry-content h1,.fe-starter-page .entry-content h2,.fe-starter-page .entry-content h3{font-family:var(--fe-font-display);color:inherit;letter-spacing:.008em}
.fe-starter-page .entry-content h1{font-size:clamp(2.3rem,5vw,4.1rem);line-height:1.02;max-width:13ch;margin:.25em 0 .35em;font-weight:760}
.fe-starter-page .entry-content h2{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.08;margin:.15em 0 .55em;font-weight:730}
.fe-starter-page .entry-content h3{font-size:clamp(1.15rem,1.8vw,1.42rem);line-height:1.15;margin:.35em 0 .55em;font-weight:720}
.fe-starter-page .entry-content p,.fe-starter-page .entry-content li,.fe-contact-form{font-family:var(--fe-font-body);font-size:clamp(1rem,1.25vw,1.08rem);line-height:1.7;color:inherit}
.fe-lead{font-size:clamp(1.15rem,2vw,1.35rem)!important;color:var(--fe-green)!important}
.fe-eyebrow{font-size:.78rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--fe-green);margin:0 0 1rem!important}
.fe-section--navy .fe-eyebrow,.fe-section--green .fe-eyebrow{color:#b8f0d3}
.fe-page-intro{max-width:900px}
.fe-page-intro>p:last-child{max-width:720px;font-size:clamp(1.08rem,1.8vw,1.3rem)}
.fe-reading-width{max-width:830px}
.fe-reading-width>.fe-image-placeholder{margin-top:2.25rem}

.fe-hero-grid,.fe-split,.fe-feature-band,.fe-contact-layout,.fe-cta{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(38px,7vw,90px);align-items:center}
.fe-hero-copy>p:not(.fe-eyebrow){max-width:650px}
.fe-button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}
.fe-button-row .wp-block-buttons{margin:0}
.fe-starter-page .wp-block-button__link,.fe-button{display:inline-flex!important;align-items:center;justify-content:center;border-radius:var(--fe-button-radius,999px)!important;padding:.82rem 1.25rem!important;background:var(--fe-green)!important;color:#fff!important;border:1.5px solid var(--fe-green)!important;font-family:var(--fe-font-display);font-weight:750;text-decoration:none!important;box-shadow:none!important;transition:.18s ease}
.fe-starter-page .wp-block-button__link:hover,.fe-button:hover{transform:translateY(-1px);background:var(--fe-green-dark)!important;border-color:var(--fe-green-dark)!important}
.fe-starter-page .wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--fe-navy)!important;border-color:rgba(0,31,63,.35)!important}
.fe-starter-page .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#fff!important;border-color:var(--fe-green)!important;color:var(--fe-green)!important}
.fe-section--green .wp-block-button__link,.fe-section--green .fe-button{background:var(--fe-cream)!important;color:var(--fe-green)!important;border-color:var(--fe-cream)!important}
.fe-section--green .wp-block-button__link:hover,.fe-section--green .fe-button:hover{background:var(--fe-lime)!important;color:var(--fe-navy)!important;border-color:var(--fe-lime)!important}
.fe-text-link{color:var(--fe-green)!important;font-weight:760;text-decoration:none!important;border-bottom:1px solid rgba(0,125,67,.25);padding-bottom:2px}
.fe-section--navy .fe-text-link,.fe-section--green .fe-text-link{color:#c9f5dc!important;border-bottom-color:rgba(201,245,220,.4)}
.fe-centered-link{text-align:center;margin-top:2rem!important}

.fe-image-placeholder{display:grid;place-items:center;min-height:320px;border:1.5px dashed rgba(0,125,67,.45);border-radius:var(--fe-element-radius,var(--fe-radius));background:linear-gradient(135deg,rgba(0,125,67,.045),rgba(247,247,237,.55));color:var(--fe-green);text-align:center;padding:30px;position:relative;overflow:hidden}
.fe-image-placeholder:before{display:none!important;content:none!important}
.fe-image-placeholder p{font-size:.8rem!important;letter-spacing:.04em;max-width:260px;margin:0!important;position:relative;z-index:2}
.fe-image-placeholder--hero{min-height:520px}
.fe-image-placeholder--portrait{aspect-ratio:4/5;min-height:0}
.fe-image-placeholder--landscape{aspect-ratio:4/3;min-height:0}
.fe-image-placeholder--wide{aspect-ratio:16/8;min-height:0}
.fe-image-placeholder--square{aspect-ratio:1;min-height:0}

.fe-card-grid,.fe-content-grid,.fe-testimonial-grid{display:grid;gap:22px;margin-top:34px}
.fe-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fe-content-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fe-testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fe-service-card,.fe-step,.fe-content-card,.fe-testimonial,.fe-empty-state{border:1px solid var(--fe-line);border-radius:var(--fe-element-radius,var(--fe-radius));background:#fff;padding:clamp(24px,3vw,36px);box-shadow:var(--fe-shadow)}
.fe-service-card{min-height:100%;position:relative;padding-top:68px}
.fe-number{display:inline-grid;place-items:center;min-width:38px;height:30px;padding:0 10px;border-radius:999px;background:var(--fe-soft-green);color:var(--fe-green);font-size:.74rem;font-weight:850;letter-spacing:.08em}
.fe-service-card>.fe-number{position:absolute;top:28px;left:30px}
.fe-step-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:36px}
.fe-step{padding:24px 20px;box-shadow:none;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.fe-step p{font-size:.91rem!important;line-height:1.55!important;opacity:.82}
.fe-step .fe-number{background:rgba(184,240,211,.12);color:#b8f0d3}
.fe-section--navy .fe-step h3{color:#fff}

.fe-proof{text-align:center}
.fe-proof h2{margin-inline:auto;max-width:720px}
.fe-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:center;margin-top:34px}
.fe-logo-grid>a,.fe-logo-grid>div,.fe-logo-grid--placeholder>span{height:100px;border:1px solid var(--fe-line);border-radius:var(--fe-element-radius,16px);display:grid;place-items:center;background:#fff;padding:18px;color:rgba(0,31,63,.42);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-decoration:none}
.fe-logo-grid img{max-width:100%;max-height:62px;width:auto;height:auto;filter:grayscale(1);opacity:.72;transition:.2s ease}
.fe-logo-grid a:hover img{filter:none;opacity:1}

.fe-section-intro{max-width:760px}
.fe-split--reverse{grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr)}
.fe-feature-band{padding:clamp(30px,5vw,56px);border:1px solid var(--fe-line);border-radius:var(--fe-element-radius,var(--fe-radius));background:var(--fe-cream)}
.fe-section--navy .fe-feature-band{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
/* The ripple effect is shown as literal expanding rings, with the words living inside the ripples rather than in UI pills. */
.fe-ripple-diagram{
  position:relative;
  width:min(100%,400px);
  aspect-ratio:1;
  margin-inline:auto;
  isolation:isolate;
}
.fe-ripple-ring{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:2px solid rgba(219,230,76,.34);
  box-sizing:border-box;
}
.fe-ripple-ring--outer{width:96%;height:96%;border-color:rgba(0,128,76,.28);background:rgba(116,195,101,.04)}
.fe-ripple-ring--middle{width:69%;height:69%;border-color:rgba(0,128,76,.48);background:rgba(116,195,101,.07)}
.fe-ripple-ring--inner{width:56%;height:56%;border-color:rgba(0,128,76,.82);background:rgba(219,230,76,.22)}
.fe-ripple-label{
  position:absolute;z-index:3;
  color:var(--fe-ripple-ink);
  background:transparent;
  border:0;
  padding:0;
  font-family:var(--fe-font-body);
  font-size:.88rem;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.005em;
  text-align:center;
  white-space:normal;
  text-wrap:balance;
  text-shadow:none;
}
.fe-ripple-label--inner{left:50%;top:50%;width:72%;transform:translate(-50%,-50%)}
.fe-ripple-label--middle{left:50%;top:13%;width:64%;transform:translate(-50%,-50%);color:var(--fe-green)}
.fe-ripple-label--outer{left:50%;top:92%;width:72%;transform:translate(-50%,-50%);color:var(--fe-green-dark)}

.fe-content-card{padding:0;overflow:hidden;box-shadow:none;display:flex;flex-direction:column}
.fe-card-image,.fe-card-placeholder{aspect-ratio:4/3;background:var(--fe-cream);border-bottom:1px solid var(--fe-line);overflow:hidden}
.fe-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.fe-card-placeholder{display:grid;place-items:center;text-align:center;color:rgba(0,125,67,.58);padding:18px}
.fe-card-placeholder span{font-size:.72rem;font-weight:850;letter-spacing:.1em}
.fe-card-placeholder small{display:block;font-size:.72rem;margin-top:5px;opacity:.75}
.fe-card-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.fe-card-kicker{font-size:.72rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--fe-green);margin-bottom:.65rem!important}
.fe-card-meta{font-size:.88rem!important;color:rgba(0,31,63,.65)}
.fe-muted{opacity:.6}
.fe-empty-state{text-align:center;box-shadow:none;border-style:dashed;background:var(--fe-cream);max-width:760px;margin:30px auto}
.fe-empty-state strong{font-size:1.12rem}

.fe-testimonial{margin:0;box-shadow:none;padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.fe-testimonial blockquote{margin:0;padding:0;border:0;font-size:1.05rem}
.fe-testimonial blockquote p:first-child:before{content:"“";font-size:3.5rem;line-height:.5;color:var(--fe-green);display:block;margin-bottom:10px}
.fe-testimonial figcaption{margin-top:24px;padding-top:16px;border-top:1px solid var(--fe-line);display:grid;gap:2px}
.fe-testimonial figcaption span{font-size:.86rem;opacity:.65}

.fe-cta{grid-template-columns:minmax(0,1fr) auto}
.fe-cta h2{margin-bottom:.25em!important}
.fe-cta p{max-width:700px}

.fe-contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);align-items:start}
.fe-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:clamp(24px,4vw,40px);border:1px solid var(--fe-line);border-radius:var(--fe-element-radius,var(--fe-radius));background:var(--fe-cream)}
.fe-contact-form label{display:grid;gap:7px;font-weight:700;font-size:.9rem}
.fe-contact-form label span{font-weight:500;opacity:.6}
.fe-contact-form input,.fe-contact-form select,.fe-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(0,31,63,.18);border-radius:12px;background:#fff;color:var(--fe-ink);padding:.78rem .85rem;font:inherit;line-height:1.4;outline:none}
.fe-contact-form input:focus,.fe-contact-form select:focus,.fe-contact-form textarea:focus{border-color:var(--fe-green);box-shadow:0 0 0 3px rgba(0,125,67,.1)}
.fe-form-wide{grid-column:1/-1}
.fe-honeypot{position:absolute!important;left:-9999px!important}
.fe-contact-aside{padding:28px;border-radius:var(--fe-element-radius,var(--fe-radius));background:var(--fe-navy);color:#fff}
.fe-contact-aside h2{font-size:1.5rem!important}
.fe-contact-aside li{margin-bottom:.55rem}
.fe-contact-aside .fe-image-placeholder{margin-top:26px;min-height:0;color:#b8f0d3;border-color:rgba(184,240,211,.32);background:rgba(255,255,255,.05)}
.fe-form-notice{padding:16px 18px;border-radius:14px;margin-bottom:18px;font-family:"Avenir Next","Segoe UI",system-ui,sans-serif}
.fe-form-notice--success{background:#e6f6ee;color:#075d36;border:1px solid rgba(0,125,67,.2)}
.fe-form-notice--error{background:#fff1ef;color:#7b241c;border:1px solid rgba(150,45,30,.2)}

@media(max-width:1000px){
  .fe-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fe-content-grid,.fe-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fe-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:780px){
  .fe-container{width:min(calc(100% - 28px),var(--fe-max))}
  .fe-hero-grid,.fe-split,.fe-split--reverse,.fe-feature-band,.fe-contact-layout,.fe-cta{grid-template-columns:1fr;gap:30px}
  .fe-hero-copy{order:1}.fe-hero-grid>div:last-child{order:2}
  .fe-image-placeholder--hero{min-height:390px}
  .fe-card-grid--2,.fe-content-grid,.fe-testimonial-grid{grid-template-columns:1fr}
  .fe-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fe-contact-form{grid-template-columns:1fr}.fe-form-wide{grid-column:auto}
  .fe-cta{align-items:start}.fe-cta .wp-block-buttons{justify-content:flex-start}
}
@media(max-width:520px){
  .fe-section{padding:54px 0}
  .fe-hero{padding:64px 0}
  .fe-step-grid{grid-template-columns:1fr}
  .fe-logo-grid{grid-template-columns:1fr 1fr}
  .fe-starter-page .entry-content h1{font-size:2.35rem}
}

/* v0.7.5 - navy footer / compact inverted brand treatment */
.fe-site-footer{
  --fe-footer-ink:#f6f7ed;
  --fe-footer-green:#dbe64c;
  --fe-footer-paper:#001f3f;
  width:100%;
  background:var(--fe-footer-paper);
  color:var(--fe-footer-ink);
  border-top:1px solid rgba(246,247,237,.14);
}
.fe-footer-inner{max-width:1120px;margin:0 auto;padding:clamp(2.3rem,4vw,3.5rem) clamp(1.1rem,4vw,2.5rem) 1.2rem}
.fe-footer-main{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(260px,1fr) minmax(220px,.9fr);gap:clamp(1.75rem,5vw,4.5rem);align-items:start}
.fe-footer-brand-link{display:inline-flex;max-width:170px}
.fe-footer-brand img{display:block;width:min(168px,100%);height:auto}
.fe-footer-brand p{max-width:28ch;margin:.9rem 0 0;font-size:.88rem;line-height:1.5;opacity:.78}
.fe-footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem 1.5rem}
.fe-footer-nav a,.fe-footer-contact a{color:inherit;text-decoration:none;opacity:.9}
.fe-footer-nav a:hover,.fe-footer-contact a:hover,.fe-culhane-credit:hover strong{color:var(--fe-footer-green);opacity:1}
.fe-footer-contact{display:grid;gap:.5rem;justify-items:start}
.fe-footer-contact strong{color:var(--fe-footer-green);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.fe-footer-contact a{font-size:.9rem}
.fe-footer-bottom{margin-top:clamp(1.8rem,4vw,3rem);padding-top:1rem;border-top:1px solid rgba(246,247,237,.14);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.76rem;opacity:.76}
.fe-culhane-credit{display:inline-flex;align-items:center;gap:.48rem;color:inherit;text-decoration:none;white-space:nowrap}
.fe-culhane-credit span{opacity:.7}
.fe-culhane-credit strong{font-weight:750;transition:color .18s ease;color:var(--fe-footer-ink)}
.fe-culhane-credit img{width:28px;height:28px;border-radius:50%;object-fit:cover;display:block;border:1px solid rgba(246,247,237,.2);background:#fff}
/* Full-width Blocksy handoff. The footer's background escapes the theme container, while .fe-footer-inner stays comfortably readable. */
.fe-site-footer--full-bleed{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  box-sizing:border-box;
}

.fe-site-footer--compact .fe-footer-inner{padding-top:1rem}
.fe-site-footer--compact .fe-footer-main{display:block}
.fe-site-footer--compact .fe-footer-brand{display:none}
.fe-site-footer--compact .fe-footer-bottom{margin-top:0;border-top:0;padding-top:0}
@media(max-width:780px){
  .fe-footer-main{grid-template-columns:1fr 1fr}
  .fe-footer-brand{grid-column:1/-1}
}
@media(max-width:560px){
  .fe-footer-main{grid-template-columns:1fr}
  .fe-footer-brand{grid-column:auto}
  .fe-footer-nav{grid-template-columns:1fr 1fr}
  .fe-footer-bottom{align-items:flex-start;flex-direction:column}
}

.fe-button--secondary{background:transparent!important;color:var(--fe-navy)!important;border-color:rgba(0,31,63,.35)!important}
.fe-button--secondary:hover{background:rgba(0,31,63,.05)!important;color:var(--fe-navy)!important;border-color:var(--fe-navy)!important}
.fe-managed-image{margin:0;overflow:hidden;border-radius:var(--fe-element-radius,var(--fe-radius));background:var(--fe-cream);min-height:240px}
.fe-managed-image img{display:block;width:100%;height:100%;object-fit:cover}
.fe-managed-image--hero{min-height:520px}
.fe-managed-image--portrait{aspect-ratio:4/5;min-height:0}
.fe-managed-image--landscape{aspect-ratio:4/3;min-height:0}
.fe-managed-image--wide{aspect-ratio:16/8;min-height:0}
.fe-managed-image--square{aspect-ratio:1;min-height:0}

/* v0.8.6 grounded people photography. Transparent cut-outs stay in normal
   document flow, while their visual frame sits behind them. This keeps the
   whole head visible and lets the subject break the frame without clipping. */
.fe-managed-image--person{
  display:block;
  position:relative;
  overflow:visible!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate;
}
.fe-managed-image--person::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0; right:0; bottom:0;
  top:clamp(58px,15%,110px);
  border:1px solid rgba(0,128,76,.14);
  border-radius:var(--fe-element-radius,var(--fe-radius));
  background:#edf5ef;
}
.fe-managed-image--person img,
.fe-managed-image--person .fe-managed-image__img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:1!important;
  width:92%!important;
  max-width:92%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0 auto!important;
  inset:auto!important;
  transform:none!important;
  clip:auto!important;
  clip-path:none!important;
}

/* Portraits use the logo's circular language as a background disc rather than
   a circular crop. The photograph is never clipped, so hair/head can extend
   naturally beyond the green field while the shoulders land on its base. */
.fe-managed-image--portrait-disc{
  display:block;
  position:relative;
  overflow:visible!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  width:min(100%,380px);
  margin-inline:auto;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate;
}
.fe-managed-image--portrait-disc::before{
  content:"";
  position:absolute;
  z-index:0;
  width:84%;
  aspect-ratio:1;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  border-radius:50%;
  background:var(--fe-green);
}
.fe-managed-image--portrait-disc img,
.fe-managed-image--portrait-disc .fe-managed-image__img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0 auto!important;
  clip:auto!important;
  clip-path:none!important;
}

.fe-page-about .fe-about-flow-story .fe-managed-image--person{max-width:600px;margin-inline:auto}
.fe-page-home .fe-hero .fe-managed-image--person{max-width:620px;margin-inline:auto}
.fe-page-home .fe-home-about .fe-managed-image--portrait-disc{max-width:470px}
.fe-page-about .fe-about-flow-hero .fe-managed-image--portrait-disc{max-width:380px}

/* More room around the people-led story moments. */
.fe-page-about .fe-about-flow-story .fe-split{gap:clamp(68px,8vw,132px);align-items:center}
.fe-page-about .fe-about-flow-story{padding-top:clamp(92px,8.5vw,132px);padding-bottom:clamp(84px,7.5vw,118px)}
.fe-page-home .fe-hero-grid{gap:clamp(60px,8vw,122px);align-items:center}
.fe-page-home .fe-home-about .fe-split{gap:clamp(64px,8vw,120px);align-items:center}

@media(max-width:760px){
  .fe-managed-image--hero{min-height:390px}
  .fe-managed-image--person{margin-top:18px;margin-bottom:20px}
  .fe-managed-image--person::before{top:54px}
  .fe-managed-image--person img,
  .fe-managed-image--person .fe-managed-image__img{width:94%!important;max-width:94%!important}
  .fe-managed-image--portrait-disc{width:min(78vw,330px);margin-top:8px}
  .fe-managed-image--portrait-disc::before{width:86%}
  .fe-page-about .fe-about-flow-story .fe-split,
  .fe-page-home .fe-hero-grid,
  .fe-page-home .fe-home-about .fe-split{gap:38px}
}

/* v0.3.1 contact form readability + spam-safe field layout */
.fe-contact-form{position:relative;gap:20px 18px}
.fe-form-intro{padding-bottom:4px;border-bottom:1px solid rgba(0,31,63,.09);margin-bottom:2px}
.fe-contact-form .fe-form-intro h2{margin:0 0 6px!important;font-size:clamp(1.35rem,2vw,1.7rem)!important;color:var(--fe-navy)!important}
.fe-contact-form .fe-form-intro p{margin:0!important;font-size:.96rem!important;line-height:1.55!important;color:rgba(0,31,63,.72)!important}
.fe-contact-form label{display:flex;flex-direction:column;gap:7px;min-width:0}
.fe-contact-form .fe-field-label{display:block;font-weight:760;opacity:1;color:var(--fe-navy);line-height:1.3}
.fe-contact-form .fe-field-label em{font-style:normal;font-weight:500;color:rgba(0,31,63,.54);font-size:.86em;margin-left:.25em}
.fe-contact-form .fe-field-help{display:block;font-weight:500;color:rgba(0,31,63,.62);font-size:.82rem;line-height:1.45;margin-top:-1px}
.fe-contact-form input,.fe-contact-form select,.fe-contact-form textarea{font-size:1rem!important;line-height:1.3!important;min-height:49px;padding:12px 14px!important}
.fe-contact-form select{height:49px;padding-top:0!important;padding-bottom:0!important}
.fe-contact-form textarea{min-height:190px;resize:vertical;line-height:1.55!important}
.fe-contact-form button.fe-button{min-height:49px}
.fe-honeypot-wrap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;left:-10000px!important;top:auto!important}
.fe-mail-test{padding:14px 16px;border:1px solid rgba(0,31,63,.1);border-radius:12px;background:#f8faf9}
.fe-mail-test p{margin:5px 0 10px}
@media(max-width:760px){.fe-form-intro{padding-bottom:12px}.fe-contact-form textarea{min-height:160px}}

/* v0.4 gated resource downloads */
.fe-resource-gate{margin-top:20px;border-top:1px solid var(--fe-line,rgba(0,31,63,.14));padding-top:16px}
.fe-resource-gate>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.48rem;color:var(--fe-green,#00804c);font-weight:800;line-height:1.35}
.fe-resource-gate>summary .fe-display-icon{width:17px;height:17px;font-size:17px;flex:0 0 auto}
.fe-button--icon{display:inline-flex!important;align-items:center!important;gap:.55rem!important}
.fe-button--icon .fe-display-icon{width:16px;height:16px;font-size:16px;flex:0 0 auto}
.fe-resource-gate>summary::-webkit-details-marker{display:none}
.fe-resource-gate>summary:focus-visible{outline:3px solid rgba(0,128,76,.25);outline-offset:5px}
.fe-resource-gate[open]>summary{margin-bottom:14px}
.fe-resource-gate-panel{padding:18px;background:var(--fe-cream,#f6f7ed);border:1px solid var(--fe-line,rgba(0,31,63,.14));border-radius:var(--fe-element-radius,18px)}
.fe-resource-gate-intro{margin:0 0 14px!important;font-size:.95rem!important;line-height:1.55!important}
.fe-resource-form{display:grid;gap:12px}
.fe-resource-form>label:not(.fe-resource-consent){display:grid;gap:6px;font-size:.88rem;font-weight:750;color:var(--fe-navy,#001f3f)}
.fe-resource-form input[type="text"],.fe-resource-form input[type="email"]{width:100%;min-height:46px;padding:10px 12px;border:1px solid rgba(0,31,63,.2);border-radius:12px;background:#fff;color:var(--fe-navy,#001f3f);font:inherit}
.fe-resource-form input:focus{outline:2px solid rgba(0,128,76,.25);border-color:var(--fe-green,#00804c)}
.fe-resource-consent{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;font-size:.82rem;line-height:1.45;color:var(--fe-navy,#001f3f);font-weight:500!important}
.fe-resource-consent input{margin-top:.25em}
.fe-resource-form .fe-button{justify-self:start;margin-top:2px}
.fe-resource-privacy{margin:0!important;font-size:.73rem!important;line-height:1.45!important;color:rgba(0,31,63,.68)!important}
.fe-resource-privacy a{color:inherit;text-decoration:underline}
.fe-honeypot-wrap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:600px){.fe-resource-gate-panel{padding:15px}}


/* v0.5.0 - editorial refinement, content-aware sections, and mobile polish */
.fe-section{padding:clamp(52px,6.5vw,88px) 0}
.fe-page-hero{padding:clamp(58px,7.5vw,98px) 0 clamp(42px,6vw,72px)}
.fe-hero{padding:clamp(66px,8.5vw,112px) 0}
.fe-section--navy,.fe-section--green{position:relative;overflow:hidden}
.fe-section--navy:after,.fe-section--green:after{display:none!important;content:none!important}
.fe-section--navy>.fe-container,.fe-section--green>.fe-container{position:relative;z-index:1}

/* Service pathways: less "component library", more editorial choice. */
.fe-service-card{
  box-shadow:none;
  border:0;
  border-top:3px solid var(--fe-green);
  background:rgba(255,255,255,.7);
  padding:clamp(28px,3vw,38px);
  padding-top:72px;
}
.fe-service-card>.fe-number{top:28px;left:clamp(28px,3vw,38px)}
.fe-service-card .fe-card-kicker{margin-bottom:.35rem!important}

/* Five-part framework reads as one sequence. */
.fe-step-grid{position:relative;gap:0;margin-top:42px}
.fe-step-grid:before{
  content:"";position:absolute;top:15px;left:5%;right:5%;height:1px;
  background:rgba(184,240,211,.28);z-index:0;
}
.fe-step{
  position:relative;z-index:1;padding:0 16px 8px;border:0;border-radius:0!important;
  background:transparent;box-shadow:none;
}
.fe-step .fe-number{
  background:var(--fe-navy);border:1px solid rgba(184,240,211,.42);
  min-width:42px;height:32px;margin-bottom:18px;
}
.fe-step h3{min-height:3.2em}
.fe-step p{max-width:29ch}
.fe-step-grid--compact .fe-step p{font-size:.86rem!important;opacity:.72}
.fe-step-grid--compact{margin-top:34px}

/* Proof feels lighter; real logos/quotes appear only when supplied. */
.fe-proof-section{padding-top:clamp(42px,5.5vw,72px);padding-bottom:clamp(42px,5.5vw,72px)}
.fe-logo-grid{gap:clamp(18px,3vw,34px)}
.fe-logo-grid>a,.fe-logo-grid>div{
  border:0;border-radius:0!important;background:transparent;height:82px;padding:10px;
}
.fe-logo-grid img{max-height:54px;opacity:.62}
.fe-testimonial{
  border:0;border-radius:0!important;background:transparent;padding:18px 24px 18px 0;
  border-top:2px solid rgba(0,125,67,.22);
}
.fe-testimonial figcaption{border-top:0;padding-top:8px}

/* Resource cards feel like downloadable objects rather than generic tiles. */
.fe-resource-card{background:#fff}
.fe-resource-card .fe-card-copy{padding-top:22px}
.fe-resource-cover,.fe-resource-placeholder{aspect-ratio:4/5}
.fe-resource-placeholder{
  position:relative;background:linear-gradient(145deg,#fff 0%,var(--fe-cream) 100%);
  border-bottom:1px solid var(--fe-line);padding:26px;text-align:left;place-items:stretch;
}
.fe-resource-placeholder:before{display:none!important;content:none!important}
.fe-resource-placeholder>div{display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;position:relative;z-index:1}
.fe-resource-placeholder span{color:var(--fe-green);margin-bottom:auto}
.fe-resource-placeholder strong{
  display:block;color:var(--fe-navy);font-size:clamp(1.25rem,2vw,1.65rem);
  line-height:1.08;max-width:12ch;letter-spacing:-.03em;
}
.fe-resource-placeholder small{color:rgba(0,31,63,.55);margin-top:12px}

/* Contact: the helper supports the form instead of competing with it. */
.fe-contact-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.58fr);gap:clamp(34px,6vw,72px)}
.fe-contact-aside{padding:clamp(24px,3vw,34px);box-shadow:none}
.fe-contact-aside-kicker{
  margin:0 0 .75rem!important;color:#b8f0d3!important;font-size:.72rem!important;
  font-weight:800!important;letter-spacing:.12em;text-transform:uppercase;
}
.fe-contact-aside h2{font-size:clamp(1.35rem,2.2vw,1.7rem)!important;margin-bottom:1rem!important}
.fe-contact-aside ul{margin:0;padding-left:1.15rem}
.fe-contact-aside li{margin-bottom:.65rem;line-height:1.5;font-size:.96rem!important}
.fe-contact-aside .fe-managed-image{margin-top:24px}
.fe-contact-form{box-shadow:none}
.fe-field-help{display:block;font-weight:400!important;opacity:.62;font-size:.82rem;line-height:1.45;margin-top:-2px}

/* Public workshops: no fake empty cards. */
.fe-workshop-fallback{
  max-width:760px;margin-top:28px;padding:clamp(24px,3vw,34px);
  background:var(--fe-cream);border-left:3px solid var(--fe-green);
}
.fe-workshop-fallback h3{margin-top:.2rem!important}

/* Mobile-specific hierarchy pass. */
@media(max-width:780px){
  .fe-section{padding:48px 0}
  .fe-page-hero{padding:54px 0 42px}
  .fe-hero{padding:58px 0}
  .fe-eyebrow{
    font-size:.7rem!important;letter-spacing:.095em!important;line-height:1.45!important;
    max-width:100%;overflow-wrap:anywhere;
  }
  .fe-starter-page .entry-content h1{font-size:clamp(2.15rem,10vw,3rem);max-width:14ch}
  .fe-starter-page .entry-content h2{font-size:clamp(1.65rem,7.5vw,2.35rem)}
  .fe-button-row{gap:10px;margin-top:24px}
  .fe-button,.fe-starter-page .wp-block-button__link{max-width:100%;white-space:normal;text-align:center}
  .fe-image-placeholder--hero{min-height:320px}
  .fe-contact-layout{gap:26px}
  .fe-contact-aside{order:2}
  .fe-step-grid{display:grid;grid-template-columns:1fr;gap:0;margin-left:4px}
  .fe-step-grid:before{top:14px;bottom:20px;left:20px;right:auto;width:1px;height:auto}
  .fe-step{padding:0 0 28px 64px;min-height:0}
  .fe-step .fe-number{position:absolute;left:0;top:0;margin:0}
  .fe-step h3{min-height:0;margin-top:0!important}
  .fe-step p{max-width:none;margin-bottom:0!important}
  .fe-resource-cover,.fe-resource-placeholder{aspect-ratio:5/4}
}
@media(max-width:430px){
  .fe-container{width:min(calc(100% - 24px),var(--fe-max))}
  .fe-starter-page .entry-content h1{font-size:2.08rem}
  .fe-button-row{display:grid;grid-template-columns:1fr}
  .fe-button-row .fe-button,.fe-button-row .wp-block-buttons,.fe-button-row .wp-block-button{width:100%}
  .fe-button-row .fe-button,.fe-button-row .wp-block-button__link{width:100%!important}
}


/* v0.6.0 - cleaner homepage + closer alignment to supplied brand guidelines */
.fe-starter-page .entry-content h1,
.fe-starter-page .entry-content h2,
.fe-starter-page .entry-content h3{font-family:var(--fe-font-display)!important}

/* The supplied brand guide uses Coolvetica as the main face and Gambetta as the secondary.
   These stacks use the brand fonts when they have been installed on the site and fall back cleanly when they have not. */
.fe-testimonial blockquote,
.fe-editorial-accent{font-family:var(--fe-font-secondary)!important}

/* Tiny colour accent from the broader brand palette, intentionally not another full-colour section. */
.fe-eyebrow{display:flex;align-items:center;gap:.7rem}
.fe-eyebrow:before{content:"";display:inline-block;flex:0 0 auto;width:18px;height:9px;background:var(--fe-lime);border-radius:18px 18px 0 0}
.fe-section--navy .fe-eyebrow:before,.fe-section--green .fe-eyebrow:before{background:var(--fe-lime)}

/* Homepage is a signpost, not a miniature version of every internal page. */
.home.fe-starter-page .fe-hero{padding-top:clamp(62px,7.6vw,102px);padding-bottom:clamp(62px,7.6vw,102px)}
.home.fe-starter-page .fe-service-card{padding-top:62px}
.home.fe-starter-page .fe-card-grid--2{margin-top:30px}
.fe-home-about-teaser{
  display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(34px,7vw,96px);align-items:start;
  padding-top:clamp(4px,1vw,12px);padding-bottom:clamp(4px,1vw,12px);
}
.fe-home-about-teaser h2{max-width:14ch!important;margin-bottom:0!important}
.fe-home-about-teaser>div:last-child{max-width:650px}
.fe-home-about-teaser>div:last-child p:first-child{margin-top:0!important}

/* The logo is built from repeated geometric forms; keep the motif quiet and spacious, as the guide recommends. */
.fe-section--navy:after,.fe-section--green:after{display:none!important;content:none!important}

/* A little less card-like and a little more editorial on service pages. */
.fe-feature-band{box-shadow:none}
.fe-section--white + .fe-section--cream,.fe-section--cream + .fe-section--white{border-top:1px solid rgba(0,31,63,.035)}

/* Do not show a visually empty proof area when placeholder records exist in WordPress. */
.fe-proof-section:empty{display:none!important}

@media(max-width:780px){
  .fe-eyebrow{gap:.52rem}
  .fe-eyebrow:before{width:14px;height:7px;border-radius:14px 14px 0 0}
  .fe-home-about-teaser{grid-template-columns:1fr;gap:18px}
  .fe-home-about-teaser h2{max-width:18ch!important}
}

/* v0.6.3 typography refinement: Coolvetica is a display face, not the whole interface. */
.fe-starter-page .entry-content h1,.fe-starter-page .entry-content h2{font-weight:400!important;letter-spacing:.012em!important;font-kerning:normal;text-rendering:optimizeLegibility}
.fe-starter-page .entry-content h3{font-family:var(--fe-font-body)!important;font-weight:700!important;letter-spacing:.005em!important}
.fe-button,.fe-starter-page .wp-block-button__link,.fe-eyebrow,.fe-card-kicker,.fe-text-link,.fe-contact-form label,.fe-site-footer nav,.fe-site-footer .fe-footer-contact{font-family:var(--fe-font-body)!important}
.fe-button,.fe-starter-page .wp-block-button__link{font-weight:700!important;letter-spacing:.015em!important}
.fe-eyebrow,.fe-card-kicker{font-weight:800!important;letter-spacing:.14em!important}


/* v0.7.4 typography contract: everyday reading is always sans serif.
   Gambetta is opt-in only for quotes, italic emphasis and explicit editorial accents. */
.fe-starter-page,
.fe-starter-page .entry-content,
.fe-starter-page .entry-content p,
.fe-starter-page .entry-content ul,
.fe-starter-page .entry-content ol,
.fe-starter-page .entry-content li,
.fe-starter-page .fe-rich-text,
.fe-contact-form,
.fe-contact-form input,
.fe-contact-form select,
.fe-contact-form textarea,
.fe-contact-form button,
.fe-site-footer,
.fe-site-footer a,
.fe-form-notice{font-family:var(--fe-font-body)!important;}

.fe-starter-page blockquote,
.fe-testimonial blockquote,
.fe-editorial-accent,
.fe-serif-accent,
.fe-pullquote,
.fe-starter-page .entry-content em{font-family:var(--fe-font-secondary)!important;}
.fe-starter-page blockquote,
.fe-testimonial blockquote,
.fe-pullquote{font-size:1.08em;line-height:1.62;}
.fe-starter-page .entry-content em,
.fe-editorial-accent em,
.fe-serif-accent em{font-style:italic;}
.fe-editorial-accent strong,
.fe-serif-accent strong,
.fe-starter-page blockquote strong{font-weight:650;}

.fe-hero:after,
.fe-section--navy:after,
.fe-section--green:after,
.fe-image-placeholder:before,
.fe-resource-placeholder:before{display:none!important;content:none!important;box-shadow:none!important;background:none!important;border:0!important;}

/* v0.7.0: About is one narrative with in-flow SVG bridges between chapters. */
.fe-page-about .fe-about-flow-section{position:relative;overflow:visible!important;}
.fe-page-about .fe-section--white + .fe-about-flow-bridge,
.fe-page-about .fe-section--cream + .fe-about-flow-bridge{border-top:0!important;}

/* About-page connectors are real in-flow bridge strips, not floating decorations.
   v0.7.3 uses one continuous smooth right-to-left Bezier sweep with a raised right tail
   and a smoothly blended downward landing at the left, so the arrow can point directly at the next chapter. */
.fe-about-flow-bridge{
  position:relative;
  z-index:20;
  width:100vw;
  left:50%;
  margin-left:-50vw;
  height:var(--fe-about-connector-height,230px);
  overflow:visible;
  pointer-events:none;
}
.fe-about-flow-bridge--story-to-aha{background:linear-gradient(to bottom,#fff 0 49.5%,var(--fe-cream) 50.5% 100%)}
.fe-about-flow-bridge--aha-to-ripple{background:linear-gradient(to bottom,var(--fe-cream) 0 49.5%,var(--fe-ripple-bg) 50.5% 100%)}
.fe-about-flow-bridge__inner{height:100%;position:relative}
.fe-about-flow-bridge svg{width:100%;height:100%;overflow:visible;display:block}
.fe-about-flow-bridge__line{
  fill:none;
  stroke:var(--fe-lime);
  stroke-width:var(--fe-about-connector-stroke,5);
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.fe-about-flow-bridge__marker{
  fill:none;
  stroke:var(--fe-lime);
  stroke-width:var(--fe-about-connector-head-stroke,4.5);
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* Arrowhead is deliberately HTML/CSS rather than an SVG marker. The connector
   SVG stretches non-uniformly across the viewport; a marker inherits that scale
   and becomes fat/tall at some widths. This head is positioned in screen pixels
   by frontend.js, so it keeps a clean, consistent chevron at every breakpoint. */
.fe-about-flow-bridge__head{
  position:absolute;
  z-index:2;
  width:var(--fe-connector-head-size,25px);
  height:var(--fe-connector-head-size,25px);
  pointer-events:none;
  transform-origin:100% 50%;
  will-change:left,top,transform;
}
.fe-about-flow-bridge__head:before,
.fe-about-flow-bridge__head:after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:100%;
  height:var(--fe-connector-head-stroke,5.5px);
  border-radius:999px;
  background:var(--fe-lime);
  transform-origin:100% 50%;
}
.fe-about-flow-bridge__head:before{transform:translateY(-50%) rotate(31deg)}
.fe-about-flow-bridge__head:after{transform:translateY(-50%) rotate(-31deg)}

/* Ripple effect uses a soft leaf field; keep the content open rather than boxing the whole section. */
.fe-page-about .fe-about-ripple-band{
  padding:clamp(8px,1vw,16px) 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  max-width:1120px;
}
.fe-page-about .fe-about-flow-ripple{padding-top:clamp(58px,7vw,94px);padding-bottom:clamp(58px,7vw,94px)}
.fe-page-about .fe-about-flow-story,
.fe-page-about .fe-about-flow-aha{padding-top:clamp(48px,5.8vw,78px);padding-bottom:clamp(42px,5vw,66px)}
.fe-page-about .fe-about-flow-proof{padding-top:clamp(62px,7vw,94px)}

@media(max-width:900px){
  .fe-about-flow-bridge{height:var(--fe-about-connector-mobile-height,138px)}
  .fe-ripple-diagram{width:min(100%,330px)}
}
@media(max-width:640px){
  .fe-about-flow-bridge{height:var(--fe-about-connector-mobile-height,138px)}
  .fe-about-flow-bridge__inner{width:min(calc(100% - 24px),var(--fe-max))}
  .fe-page-about .fe-about-flow-story,.fe-page-about .fe-about-flow-aha{padding-top:44px;padding-bottom:42px;}
  .fe-page-about .fe-about-flow-ripple{padding-top:56px;padding-bottom:62px;}
  .fe-ripple-diagram{width:min(100%,300px)}
  .fe-ripple-label{font-size:.72rem}
}


/* v0.7.5 - CTA, ripple and footer colour balance */
.fe-cta-section{padding:clamp(58px,6vw,84px) 0!important}
.fe-section--ripple .fe-about-ripple-band{color:var(--fe-ripple-ink)}
.fe-section--ripple .fe-ripple-diagram{filter:none}
@media(max-width:640px){.fe-cta-section{padding:48px 0!important}}

/* v0.7.6 - restore visual hierarchy to the two homepage pathways and add a compact resource signpost. */
.fe-home-services-heading{max-width:820px}
.fe-home-services .fe-card-grid--2{gap:clamp(18px,2.4vw,30px);margin-top:clamp(28px,3vw,38px)}
.fe-home-services .fe-home-service-card{
  position:relative;
  overflow:hidden;
  min-height:280px;
  padding:clamp(30px,3.2vw,42px);
  padding-top:84px;
  border:1px solid rgba(0,128,76,.14);
  border-radius:var(--fe-element-radius,var(--fe-radius));
  background:var(--fe-cream);
  box-shadow:none;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.fe-home-services .fe-home-service-card--2{background:#eef6f0}
.fe-home-services .fe-home-service-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:var(--fe-green);
}
.fe-home-services .fe-home-service-card--2:before{background:var(--fe-leaf)}
.fe-home-services .fe-home-service-card>.fe-number{
  top:30px;
  left:clamp(30px,3.2vw,42px);
  background:#fff;
  border:1px solid rgba(0,128,76,.13);
}
.fe-home-services .fe-home-service-card h3{max-width:24ch;margin-top:.45rem!important}
.fe-home-services .fe-home-service-card p:not(.fe-card-kicker):not(.fe-service-link-row){max-width:47ch}
.fe-home-services .fe-service-link-row{margin-top:1.45rem!important;margin-bottom:0!important}
.fe-home-services .fe-service-link-row .fe-text-link{display:inline-flex;align-items:center;gap:.55rem;border-bottom:0;padding-bottom:0}
.fe-home-services .fe-service-link-row .fe-text-link span{
  display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:999px;
  border:1px solid rgba(0,128,76,.25);transition:.18s ease
}
.fe-home-services .fe-service-link-row .fe-text-link:hover span{background:var(--fe-green);color:#fff;border-color:var(--fe-green);transform:translateX(2px)}
@media (hover:hover){.fe-home-services .fe-home-service-card:hover{transform:translateY(-3px);border-color:rgba(0,128,76,.28);box-shadow:0 18px 44px rgba(0,31,63,.06)}}

.fe-home-resource-nudge{
  margin-top:clamp(24px,3vw,36px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(22px,4vw,54px);
  padding:clamp(20px,2.5vw,28px) clamp(22px,3vw,34px);
  border:1px solid rgba(0,128,76,.14);
  border-radius:var(--fe-element-radius,var(--fe-radius));
  background:linear-gradient(90deg,rgba(219,230,76,.11),rgba(116,195,101,.08));
}
.fe-home-resource-nudge__copy{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:clamp(18px,3vw,42px);align-items:center}
.fe-home-resource-nudge .fe-card-kicker{margin:0 0 .35rem!important;color:var(--fe-green)}
.fe-home-resource-nudge h3{margin:0!important;font-size:clamp(1.12rem,1.7vw,1.35rem)!important}
.fe-home-resource-nudge__body p{margin:0!important;line-height:1.55!important;color:rgba(16,37,58,.78)!important;font-size:.98rem!important}
.fe-home-resource-nudge__link{
  display:inline-flex;align-items:center;gap:.6rem;white-space:nowrap;text-decoration:none!important;
  color:var(--fe-green)!important;font-family:var(--fe-font-body);font-weight:800
}
.fe-home-resource-nudge__link span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:var(--fe-green);color:#fff;transition:.18s ease}
.fe-home-resource-nudge__link:hover span{background:var(--fe-lime);color:var(--fe-navy);transform:translateX(2px)}

@media(max-width:780px){
  .fe-home-services .fe-home-service-card{min-height:0;padding:72px 26px 28px}
  .fe-home-services .fe-home-service-card>.fe-number{top:25px;left:26px}
  .fe-home-resource-nudge{grid-template-columns:1fr;gap:18px}
  .fe-home-resource-nudge__copy{grid-template-columns:1fr;gap:8px}
  .fe-home-resource-nudge__link{white-space:normal;justify-self:start}
}


/* v0.7.7 - one authoritative project footer on all Fully Engaged pages.
   Blocksy supports conditional footer rows; hiding its footer here prevents an
   older page-specific footer assignment (such as Contact) from leaking through. */
body.fe-plugin-footer-active .ct-footer{display:none!important}
body.fe-plugin-footer-active .fe-site-footer{display:block!important}


/* v0.8.4 restored About hero portrait. This is deliberately separate from the
   full-body person treatment used in the story/home sections. */
.fe-about-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);gap:clamp(58px,8vw,124px);align-items:center}
@media(max-width:760px){.fe-about-hero-grid{grid-template-columns:1fr;gap:38px}}

/* v0.8.7: each About connector owns its visual-editor geometry and dimensions. */
.fe-about-flow-bridge{height:var(--fe-connector-height,var(--fe-about-connector-height,250px));}
.fe-about-flow-bridge__line{stroke-width:var(--fe-connector-stroke,var(--fe-about-connector-stroke,6));vector-effect:non-scaling-stroke;}
.fe-about-flow-bridge__marker{stroke-width:var(--fe-connector-head-stroke,var(--fe-about-connector-head-stroke,5.5));vector-effect:non-scaling-stroke;}
@media(max-width:760px){.fe-about-flow-bridge{height:var(--fe-connector-mobile-height,var(--fe-about-connector-mobile-height,150px));}}

/* v0.8.8: connectors use the full page width and may bleed behind neighbouring content
   without increasing the in-flow bridge gap. Section content stays above the line. */
.fe-page-about .fe-about-flow-bridge{z-index:2!important;overflow:visible!important}
.fe-page-about .fe-about-flow-bridge__inner{position:relative;width:100%!important;max-width:none!important;height:100%;margin:0!important;transform:none!important;overflow:visible!important}
.fe-page-about .fe-about-flow-bridge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible!important}
.fe-page-about .fe-about-flow-section>.fe-container{position:relative;z-index:3}
@media(max-width:760px){.fe-page-about .fe-about-flow-bridge__inner{width:100%!important;max-width:none!important}}
/* v0.8.8 overlap depth is decoupled from bridge spacing: the visual canvas floats
   through the bridge while the bridge itself controls only layout gap. */
.fe-page-about .fe-about-flow-bridge svg{top:50%!important;bottom:auto!important;height:var(--fe-connector-canvas-height,260px)!important;transform:translateY(-50%)}
@media(max-width:760px){.fe-page-about .fe-about-flow-bridge svg{height:var(--fe-connector-mobile-canvas-height,210px)!important}}

/* v0.8.9: homepage proof can switch between testimonials, logos, or both. */
.fe-home-proof__testimonials + .fe-home-proof__logos{margin-top:clamp(28px,4vw,48px);padding-top:clamp(24px,3.5vw,40px);border-top:1px solid var(--fe-line)}
.fe-home-proof--testimonials .fe-testimonial-grid{max-width:1180px;margin-inline:auto}
.fe-home-proof--testimonials .fe-testimonial{text-align:left}

/* v0.9.0: consistent internal-page rhythm and alignment.
   Generic page heroes do not reserve space for missing imagery: the eyebrow,
   title and supporting copy share one explicit left rail. */
.fe-page-services .fe-page-intro,
.fe-page-resources .fe-page-intro,
.fe-page-workshops .fe-page-intro,
.fe-page-contact .fe-page-intro{
  max-width:900px!important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left!important;
}
.fe-page-services .fe-page-intro>*,
.fe-page-resources .fe-page-intro>*,
.fe-page-workshops .fe-page-intro>*,
.fe-page-contact .fe-page-intro>*{
  align-self:flex-start;
  margin-left:0!important;
  margin-right:0!important;
}
.fe-page-services .fe-page-intro>h1,
.fe-page-resources .fe-page-intro>h1,
.fe-page-workshops .fe-page-intro>h1,
.fe-page-contact .fe-page-intro>h1{
  width:min(100%,760px);
  max-width:14ch!important;
}
.fe-page-services .fe-page-intro>p:not(.fe-eyebrow),
.fe-page-resources .fe-page-intro>p:not(.fe-eyebrow),
.fe-page-workshops .fe-page-intro>p:not(.fe-eyebrow),
.fe-page-contact .fe-page-intro>p:not(.fe-eyebrow){
  width:min(100%,720px);
  max-width:720px!important;
}
.fe-page-services .fe-page-hero,
.fe-page-resources .fe-page-hero,
.fe-page-workshops .fe-page-hero,
.fe-page-contact .fe-page-hero{
  padding-top:clamp(54px,6.4vw,82px);
  padding-bottom:clamp(48px,5.6vw,70px);
}

/* Homepage proof uses the same left-reading axis as the quotes themselves. */
.fe-home-proof .fe-proof{text-align:left!important}
.fe-home-proof .fe-proof h2{margin-left:0!important;margin-right:0!important;max-width:760px}
.fe-home-proof{padding-top:clamp(44px,5.5vw,70px)!important;padding-bottom:clamp(48px,6vw,78px)!important}
.fe-home-proof .fe-testimonial-grid{margin-top:28px}

/* Repeatable libraries should not look broken while there are fewer items. */
.fe-workshop-grid.fe-content-grid--count-1{
  grid-template-columns:minmax(0,520px);
  justify-content:center;
}
.fe-workshop-grid.fe-content-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.fe-resource-grid.fe-content-grid--count-1{
  grid-template-columns:minmax(0,520px);
  justify-content:center;
}
.fe-resource-grid.fe-content-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

/* A resource without final cover art should read as an intentional compact
   branded fallback, rather than a tall blank rectangle waiting for an image. */
.fe-resource-placeholder{
  aspect-ratio:16/10;
  min-height:210px;
}
.fe-resource-placeholder>div{justify-content:center}
.fe-resource-placeholder span{margin-bottom:18px}
.fe-resource-placeholder strong{max-width:16ch}

@media(max-width:780px){
  .fe-page-services .fe-page-hero,
  .fe-page-resources .fe-page-hero,
  .fe-page-workshops .fe-page-hero,
  .fe-page-contact .fe-page-hero{padding:46px 0 40px}
  .fe-workshop-grid.fe-content-grid--count-1,
  .fe-workshop-grid.fe-content-grid--count-2,
  .fe-resource-grid.fe-content-grid--count-1,
  .fe-resource-grid.fe-content-grid--count-2{grid-template-columns:1fr;max-width:none}
  .fe-resource-placeholder{min-height:180px}
}

/* v0.9.1 accessibility, colour and typography refinement */
:root{
  --fe-soft-bg:#e8eef0;
  --fe-display-weight:600;
  --fe-home-hero-bg:#00804c;
}

/* Elizabeth's readability request is the baseline, not an optional mode. */
.fe-starter-page .entry-content p,
.fe-starter-page .entry-content li{
  font-size:clamp(1.125rem,1.05rem + .28vw,1.25rem)!important;
  line-height:1.62!important;
}
.fe-starter-page .entry-content h1,
.fe-starter-page .entry-content h2{
  font-weight:var(--fe-display-weight,600)!important;
  letter-spacing:.006em!important;
}
.fe-starter-page .entry-content h3{font-weight:750!important}
.fe-page-intro>p:last-child{font-size:clamp(1.18rem,1.08rem + .35vw,1.34rem)!important;line-height:1.6!important}
.fe-home-resource-nudge__body p{font-size:1.08rem!important;line-height:1.58!important}
.fe-step p{font-size:1rem!important;line-height:1.58!important}
.fe-contact-form input,.fe-contact-form select,.fe-contact-form textarea{font-size:1.06rem!important}
.fe-contact-form .fe-field-help{font-size:.9rem}

/* Replace large parchment fields with a cooler brand-derived blue-grey. */
.fe-section--cream,
.fe-page-hero{background:var(--fe-soft-bg,#e8eef0)!important}
.fe-feature-band,
.fe-contact-form,
.fe-resource-gate-panel{background:var(--fe-soft-bg,#e8eef0)}
.fe-managed-image:not(.fe-managed-image--person):not(.fe-managed-image--portrait-disc){background:color-mix(in srgb,var(--fe-soft-bg,#e8eef0) 72%,white 28%)}

/* Stronger landing page. */
.fe-page-home .fe-hero{
  background:var(--fe-home-hero-bg,#00804c)!important;
  color:#fff!important;
}
.fe-page-home .fe-hero .fe-eyebrow{color:#fff!important}
.fe-page-home .fe-hero .fe-eyebrow:before{background:var(--fe-lime)!important}
.fe-page-home .fe-hero .fe-lead{color:#f2f7c9!important}
.fe-page-home .fe-hero .fe-button:not(.fe-button--secondary){background:#fff!important;color:var(--fe-green)!important;border-color:#fff!important}
.fe-page-home .fe-hero .fe-button:not(.fe-button--secondary):hover{background:var(--fe-lime)!important;color:var(--fe-navy)!important;border-color:var(--fe-lime)!important}
.fe-page-home .fe-hero .fe-button--secondary{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important}
.fe-page-home .fe-hero .fe-button--secondary:hover{background:rgba(255,255,255,.12)!important;border-color:#fff!important;color:#fff!important}
.fe-page-home .fe-hero .fe-managed-image--person::before{background:var(--fe-soft-bg,#e8eef0);border-color:rgba(255,255,255,.34)}

/* Keep the home portrait on the same reading rail as the content above. */
.fe-page-home .fe-home-about .fe-split>div:first-child{justify-self:start;width:100%}
.fe-page-home .fe-home-about .fe-managed-image--portrait-disc{margin-left:0;margin-right:auto}

/* Testimonials should feel like proof, not loose floating columns. */
.fe-testimonial-grid{align-items:stretch}
.fe-testimonial{
  display:flex;
  flex-direction:column;
  min-height:100%;
  text-align:left;
  border:1px solid rgba(0,128,76,.17)!important;
  border-top:4px solid var(--fe-green)!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(0,31,63,.055)!important;
}
.fe-testimonial blockquote{margin:0 0 1.4rem!important;flex:1}
.fe-testimonial blockquote:before{content:"“";display:block;color:var(--fe-green);font-family:var(--fe-font-secondary);font-size:2.2rem;line-height:.85;margin-bottom:.55rem}
.fe-testimonial figcaption{display:flex;align-items:center;gap:.8rem;margin-top:auto}
.fe-testimonial figcaption>span:last-child{display:grid;gap:.12rem}
.fe-testimonial figcaption strong{font-family:var(--fe-font-body);font-size:.95rem}
.fe-testimonial figcaption span span{font-family:var(--fe-font-body);font-size:.88rem;opacity:.72}
.fe-testimonial-logo{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--fe-line);border-radius:10px;background:#fff;padding:6px;flex:0 0 auto}
.fe-testimonial-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}

/* Strong, visible keyboard focus across the managed site. */
.fe-starter-page a:focus-visible,
.fe-starter-page button:focus-visible,
.fe-starter-page input:focus-visible,
.fe-starter-page select:focus-visible,
.fe-starter-page textarea:focus-visible,
.fe-display-controls button:focus-visible,
.ct-header a:focus-visible{
  outline:3px solid var(--fe-lime)!important;
  outline-offset:4px!important;
  box-shadow:none!important;
}
.skip-link:focus{z-index:100000!important}

/* Display preferences. */
.fe-display-controls{position:fixed;left:18px;bottom:18px;z-index:99998;font-family:var(--fe-font-body);color:var(--fe-ink)}
.fe-display-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.62rem .85rem;border:1px solid rgba(0,31,63,.18);border-radius:999px;background:#fff;color:var(--fe-navy);box-shadow:0 10px 28px rgba(0,31,63,.14);font:700 .92rem/1 var(--fe-font-body);cursor:pointer}
.fe-display-toggle>span:first-child{font-size:1.05rem;letter-spacing:-.05em}
.fe-display-panel{position:absolute;left:0;bottom:calc(100% + 10px);width:min(340px,calc(100vw - 28px));padding:18px;border:1px solid rgba(0,31,63,.16);border-radius:18px;background:#fff;box-shadow:0 20px 60px rgba(0,31,63,.2)}
.fe-display-panel[hidden]{display:none!important}
.fe-display-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.fe-display-panel__head>div{display:grid;gap:2px}.fe-display-panel__head strong{font-size:1.08rem}.fe-display-panel__head small{opacity:.65}
.fe-display-close{border:0;background:transparent;color:inherit;font-size:1.6rem;line-height:1;cursor:pointer;padding:2px 6px}
.fe-display-panel fieldset{border:0;margin:0 0 14px;padding:0}.fe-display-panel legend{font-weight:800;font-size:.82rem;margin-bottom:7px}
.fe-display-options{display:flex;flex-wrap:wrap;gap:7px}
.fe-display-options button,.fe-display-reset{min-height:38px;border:1px solid rgba(0,31,63,.16);border-radius:10px;background:#f7f9f9;color:var(--fe-navy);font:700 .84rem/1.15 var(--fe-font-body);padding:.58rem .7rem;cursor:pointer}
.fe-display-options button[aria-pressed="true"]{background:var(--fe-green);border-color:var(--fe-green);color:#fff}
.fe-display-reset{width:100%;margin-top:2px;background:transparent}

/* Visitor text-size preferences. */
html[data-fe-text-size="large"] .fe-starter-page .entry-content p,
html[data-fe-text-size="large"] .fe-starter-page .entry-content li{font-size:clamp(1.28rem,1.18rem + .28vw,1.4rem)!important;line-height:1.65!important}
html[data-fe-text-size="xlarge"] .fe-starter-page .entry-content p,
html[data-fe-text-size="xlarge"] .fe-starter-page .entry-content li{font-size:clamp(1.42rem,1.32rem + .3vw,1.58rem)!important;line-height:1.67!important}
html[data-fe-text-size="large"] .fe-contact-form input,
html[data-fe-text-size="large"] .fe-contact-form select,
html[data-fe-text-size="large"] .fe-contact-form textarea{font-size:1.18rem!important}
html[data-fe-text-size="xlarge"] .fe-contact-form input,
html[data-fe-text-size="xlarge"] .fe-contact-form select,
html[data-fe-text-size="xlarge"] .fe-contact-form textarea{font-size:1.3rem!important}

/* High contrast can be used independently of light/dark theme. */
html[data-fe-contrast="high"] .fe-starter-page{--fe-line:rgba(0,0,0,.48);--fe-ink:#08131e}
html[data-fe-contrast="high"] .fe-starter-page .entry-content p,
html[data-fe-contrast="high"] .fe-starter-page .entry-content li{color:#08131e}
html[data-fe-contrast="high"] .fe-text-link{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px}
html[data-fe-contrast="high"] .fe-service-card,
html[data-fe-contrast="high"] .fe-testimonial,
html[data-fe-contrast="high"] .fe-content-card{border-color:rgba(0,0,0,.55)!important}

/* Dark reading mode. Brand green/navy remain anchors, but reading surfaces invert. */
html[data-fe-theme="dark"] body{background:#0b1821;color:#eef4f6}
html[data-fe-theme="dark"] .fe-starter-page{--fe-ink:#eef4f6;--fe-soft-bg:#152934;--fe-line:rgba(232,244,248,.22);--fe-soft-green:rgba(116,195,101,.16);--fe-ripple-bg:#142c29;--fe-ripple-ink:#f4f8f6}
html[data-fe-theme="dark"] .fe-section--white{background:#0d1d27!important;color:#eef4f6}
html[data-fe-theme="dark"] .fe-section--cream,
html[data-fe-theme="dark"] .fe-page-hero{background:#152934!important;color:#eef4f6}
html[data-fe-theme="dark"] .fe-page-home .fe-hero{background:var(--fe-home-hero-bg,#00804c)!important;color:#fff!important}
html[data-fe-theme="dark"] .fe-service-card,
html[data-fe-theme="dark"] .fe-testimonial,
html[data-fe-theme="dark"] .fe-content-card,
html[data-fe-theme="dark"] .fe-empty-state,
html[data-fe-theme="dark"] .fe-contact-form,
html[data-fe-theme="dark"] .fe-resource-gate-panel,
html[data-fe-theme="dark"] .fe-feature-band{background:#142833!important;color:#eef4f6;border-color:rgba(232,244,248,.2)!important}
html[data-fe-theme="dark"] .fe-home-service-card--2{background:#17312c!important}
html[data-fe-theme="dark"] .fe-home-resource-nudge{background:#142833!important;border-color:rgba(232,244,248,.2)!important}
html[data-fe-theme="dark"] .fe-home-resource-nudge__body p{color:rgba(238,244,246,.8)!important}
html[data-fe-theme="dark"] .fe-contact-form input,
html[data-fe-theme="dark"] .fe-contact-form select,
html[data-fe-theme="dark"] .fe-contact-form textarea,
html[data-fe-theme="dark"] .fe-resource-form input{background:#08151e!important;color:#f5f8f9!important;border-color:rgba(232,244,248,.32)!important}
html[data-fe-theme="dark"] .fe-contact-form .fe-field-label,
html[data-fe-theme="dark"] .fe-resource-form>label:not(.fe-resource-consent){color:#f4f8f9!important}
html[data-fe-theme="dark"] .fe-contact-form .fe-field-help,
html[data-fe-theme="dark"] .fe-resource-privacy{color:rgba(238,244,246,.76)!important}
html[data-fe-theme="dark"] .fe-text-link{color:#9fe6bd!important;border-bottom-color:rgba(159,230,189,.45)}
html[data-fe-theme="dark"] .fe-testimonial blockquote,
html[data-fe-theme="dark"] .fe-testimonial figcaption{color:#eef4f6}
html[data-fe-theme="dark"] .ct-header{background:#0b1821!important;border-color:rgba(255,255,255,.12)!important}
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a,
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a{color:#eef4f6!important}
html[data-fe-theme="dark"] .fe-display-toggle,
html[data-fe-theme="dark"] .fe-display-panel{background:#10232e;color:#eef4f6;border-color:rgba(255,255,255,.2)}
html[data-fe-theme="dark"] .fe-display-options button,
html[data-fe-theme="dark"] .fe-display-reset{background:#0b1821;color:#eef4f6;border-color:rgba(255,255,255,.2)}
html[data-fe-theme="dark"] .fe-display-options button[aria-pressed="true"]{background:var(--fe-green);color:#fff;border-color:var(--fe-green)}
html[data-fe-theme="dark"][data-fe-contrast="high"] .fe-starter-page{--fe-line:rgba(255,255,255,.58);--fe-ink:#fff}
html[data-fe-theme="dark"][data-fe-contrast="high"] .fe-starter-page .entry-content p,
html[data-fe-theme="dark"][data-fe-contrast="high"] .fe-starter-page .entry-content li{color:#fff}

/* Reduced motion respects both OS preference and the visitor control. */
@media (prefers-reduced-motion:reduce){
  .fe-starter-page *, .fe-display-controls *, #offcanvas *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
html[data-fe-motion="reduced"] .fe-starter-page *,
html[data-fe-motion="reduced"] .fe-display-controls *,
html[data-fe-motion="reduced"] #offcanvas *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}

@media(max-width:780px){
  .fe-starter-page .entry-content p,.fe-starter-page .entry-content li{font-size:1.125rem!important;line-height:1.62!important}
  html[data-fe-text-size="large"] .fe-starter-page .entry-content p,html[data-fe-text-size="large"] .fe-starter-page .entry-content li{font-size:1.28rem!important}
  html[data-fe-text-size="xlarge"] .fe-starter-page .entry-content p,html[data-fe-text-size="xlarge"] .fe-starter-page .entry-content li{font-size:1.42rem!important}
  .fe-display-controls{left:12px;bottom:12px}
  .fe-display-toggle{min-height:46px}
}


/* v0.9.2: branded SVG fallback marks for testimonials without client logos. */
.fe-testimonial-logo--fallback{
  padding:0!important;
  overflow:hidden;
  border-color:rgba(0,128,76,.16)!important;
  background:transparent!important;
}
.fe-testimonial-logo--fallback svg{
  display:block;
  width:100%;
  height:100%;
}
html[data-fe-theme="dark"] .fe-testimonial-logo--fallback{
  border-color:rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.04)!important;
}
html[data-fe-theme="dark"] .fe-proof-fallback--quote-cream path:first-child{
  fill:#eef2e6;
}


/* v0.9.3: Elizabeth feedback completion, supplied workshop photography, proof-card polish and icon-only display controls. */

/* Workshop photography is deliberately simple: one rounded frame, no cut-out or pop-out treatment. */
.fe-managed-image--workshop{
  position:relative;
  display:block;
  overflow:hidden!important;
  border:1px solid rgba(0,31,63,.12)!important;
  border-radius:var(--fe-element-radius,18px)!important;
  background:#fff!important;
  box-shadow:none!important;
  min-height:0!important;
}
.fe-managed-image--workshop img,
.fe-managed-image--workshop .fe-managed-image__img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center center!important;margin:0!important;
  border:0!important;border-radius:0!important;transform:none!important;
}
.fe-page-home .fe-hero-grid>div:last-child{align-self:center}
.fe-page-home .fe-hero .fe-managed-image--workshop{max-width:620px;margin-inline:auto}
.fe-page-services .fe-managed-image--workshop{width:100%}
.fe-workshop-card{border-radius:var(--fe-element-radius,18px)!important;overflow:hidden!important;background:#fff!important}
.fe-workshop-card .fe-card-image{border-radius:0!important;box-shadow:none!important}
.fe-workshop-card--evergreen{border-color:rgba(0,128,76,.26)!important}

/* Testimonial cards: identity first, then the quote. One quote mark only. */
.fe-testimonial{
  padding:clamp(26px,2.6vw,34px)!important;
  gap:clamp(22px,2.4vw,30px)!important;
  border-top:4px solid var(--fe-green)!important;
}
.fe-testimonial figcaption{
  order:0!important;margin:0!important;padding:0 0 18px!important;
  display:flex!important;align-items:center!important;gap:14px!important;
  border:0!important;border-bottom:1px solid rgba(0,128,76,.14)!important;
}
.fe-testimonial blockquote{
  order:1!important;margin:0!important;padding:0!important;flex:1!important;
  font-size:clamp(1.08rem,1.02rem + .15vw,1.18rem)!important;
  line-height:1.58!important;
}
.fe-testimonial blockquote:before{
  content:"“"!important;display:block!important;margin:0 0 .8rem!important;
  color:var(--fe-green)!important;font-family:var(--fe-font-secondary)!important;
  font-size:3rem!important;line-height:.72!important;
}
.fe-testimonial blockquote p:first-child:before{content:none!important;display:none!important}
.fe-testimonial-logo{width:54px!important;height:54px!important;border-radius:13px!important;padding:7px!important}
.fe-testimonial figcaption strong{font-size:1rem!important;line-height:1.25!important}
.fe-testimonial figcaption span span{font-size:.9rem!important;line-height:1.3!important}

/* One facilitator -> a few facilitators -> many learners. */
.fe-ripple-network{width:min(100%,460px);aspect-ratio:auto;display:grid;gap:14px}
.fe-ripple-network svg{display:block;width:100%;height:auto;overflow:visible}
.fe-ripple-orbit{fill:none;stroke:rgba(0,128,76,.26);stroke-width:2}
.fe-ripple-orbit--middle{stroke:rgba(0,128,76,.48)}
.fe-ripple-orbit--inner{fill:rgba(219,230,76,.18);stroke:rgba(0,128,76,.82);stroke-width:2.5}
.fe-ripple-person{fill:var(--fe-green);stroke:var(--fe-green);stroke-width:3;stroke-linecap:round;fill-opacity:.15}
.fe-ripple-person circle{fill:var(--fe-green);fill-opacity:1;stroke:none}
.fe-ripple-person--lead{fill:var(--fe-navy);stroke:var(--fe-navy)}
.fe-ripple-person--lead circle{fill:var(--fe-navy)}
.fe-ripple-many-dot{fill:var(--fe-green);opacity:.62}
.fe-ripple-flow{fill:none;stroke:var(--fe-lime);stroke-width:3;stroke-linecap:round}
.fe-ripple-network-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}
.fe-ripple-network-labels span{display:grid;gap:3px;font-size:.78rem;font-weight:800;line-height:1.2;color:var(--fe-ripple-ink)}
.fe-ripple-network-labels b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;margin-inline:auto;background:var(--fe-green);color:#fff;font-size:.78rem}
.fe-ripple-network-labels span:nth-child(2) b{background:var(--fe-lime);color:var(--fe-navy)}
.fe-ripple-network-labels span:nth-child(3) b{background:var(--fe-navy);color:#fff}

/* Icon-only accessibility controls. Group legends and aria-labels retain clear meaning. */
.fe-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fe-display-toggle{width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;justify-content:center!important;border-radius:50%!important}
.fe-display-toggle .fe-display-icon{width:24px;height:24px;font-size:24px}
.fe-display-panel{width:min(310px,calc(100vw - 28px))}
.fe-display-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(0,31,63,.12)!important;border-radius:50%!important;padding:0!important}
.fe-display-close .fe-display-icon{width:18px;height:18px;font-size:18px}
.fe-display-options{gap:9px}
.fe-display-options .fe-display-icon-button{
  width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
  display:grid!important;place-items:center!important;padding:0!important;border-radius:50%!important;
}
.fe-display-icon{display:block;width:22px;height:22px;pointer-events:none;font-size:22px;line-height:1;color:currentColor;object-fit:contain}
.fe-display-icon--local{filter:none}
.fe-display-icon--text-default{font-size:16px;width:16px;height:16px}
.fe-display-icon--text-large{font-size:20px;width:20px;height:20px}
.fe-display-icon--text-xlarge{font-size:24px;width:24px;height:24px}
.fe-display-options button[aria-pressed="true"]{box-shadow:0 0 0 3px color-mix(in srgb,var(--fe-green) 20%,transparent)!important}
.fe-display-reset{width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;margin-top:2px!important;border-radius:50%!important;display:grid!important;place-items:center!important}
.fe-display-reset .fe-display-icon{width:21px;height:21px;font-size:21px}

html[data-fe-theme="dark"] .fe-managed-image--workshop,
html[data-fe-theme="dark"] .fe-workshop-card{background:#142833!important;border-color:rgba(232,244,248,.2)!important}
html[data-fe-theme="dark"] .fe-testimonial figcaption{border-bottom-color:rgba(255,255,255,.15)!important}
html[data-fe-theme="dark"] .fe-ripple-orbit{stroke:rgba(159,230,189,.27)}
html[data-fe-theme="dark"] .fe-ripple-orbit--middle{stroke:rgba(159,230,189,.48)}
html[data-fe-theme="dark"] .fe-ripple-orbit--inner{stroke:rgba(219,230,76,.74)}

@media(max-width:780px){
  .fe-ripple-network-labels{grid-template-columns:1fr;gap:7px;text-align:left}
  .fe-ripple-network-labels span{grid-template-columns:34px 1fr;align-items:center;text-align:left}
  .fe-ripple-network-labels b{margin:0}
  .fe-testimonial{padding:26px!important}
}

/* v0.9.4: dark-mode clarity, grounded portraits, denser section rhythm and solid action buttons. */

/* Keep the Blocksy header as a stable white brand anchor in dark reading mode.
   This avoids the theme row background staying white while the old dark-mode
   override made the navigation links nearly white. */
html[data-fe-theme="dark"] .ct-header,
html[data-fe-theme="dark"] #header [data-row],
html[data-fe-theme="dark"] #header [data-row] > div,
html[data-fe-theme="dark"] #header .ct-container{
  background:#fff!important;
  border-color:rgba(0,31,63,.10)!important;
}
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a:not([href*="/contact"]){
  color:var(--fe-navy)!important;
  opacity:1!important;
}
html[data-fe-theme="dark"] .ct-header .current-menu-item>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header .current_page_item>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header .current-menu-ancestor>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a:not([href*="/contact"]):hover,
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a:not([href*="/contact"]):hover{
  color:var(--fe-green)!important;
}
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a[href*="/contact"],
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a[href*="/contact"]{
  color:#fff!important;
  opacity:1!important;
}
html[data-fe-theme="dark"] .ct-header .ct-social-box a{color:var(--fe-navy)!important;opacity:1!important}

/* Portrait disc: body/shoulders are clipped into the green circle while a
   second decorative copy lets only Elizabeth's head and hair break the edge. */
.fe-managed-image--portrait-disc{
  --fe-portrait-circle-radius:43%;
  --fe-portrait-circle-y:57%;
  --fe-portrait-head-cut:32%;
  display:grid!important;
  place-items:center!important;
  isolation:isolate!important;
}
.fe-managed-image--portrait-disc::before{display:none!important;content:none!important}
.fe-portrait-disc__circle,
.fe-portrait-disc__head{
  grid-area:1/1;
  display:block;
  width:100%;
  height:100%;
}
.fe-portrait-disc__circle{
  position:relative;
  z-index:1;
  border-radius:50%;
  background:var(--fe-green);
  clip-path:circle(var(--fe-portrait-circle-radius) at 50% var(--fe-portrait-circle-y));
  overflow:hidden;
}
.fe-portrait-disc__circle img,
.fe-portrait-disc__circle .fe-managed-image__img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0!important;
}
.fe-portrait-disc__head{
  position:relative;
  z-index:2;
  pointer-events:none;
  clip-path:inset(0 0 var(--fe-portrait-head-cut) 0);
}
.fe-portrait-disc__head img,
.fe-portrait-disc__head .fe-portrait-disc__head-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0!important;
}
.fe-page-about .fe-about-flow-hero .fe-managed-image--portrait-disc{
  --fe-portrait-circle-radius:44%;
  --fe-portrait-circle-y:58%;
  --fe-portrait-head-cut:31%;
}
.fe-page-home .fe-home-about .fe-managed-image--portrait-disc{
  --fe-portrait-circle-radius:44%;
  --fe-portrait-circle-y:59%;
  --fe-portrait-head-cut:30%;
}

/* The service/resource signposts are whole buttons, not text followed by a
   separate little circular arrow control. */
.fe-home-services .fe-service-link-row .fe-text-link,
.fe-home-resource-nudge__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.58rem!important;
  width:auto!important;
  min-height:46px!important;
  padding:.72rem 1.05rem!important;
  border:1px solid var(--fe-green)!important;
  border-radius:var(--fe-button-radius,999px)!important;
  background:var(--fe-green)!important;
  color:#fff!important;
  font-family:var(--fe-font-body)!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
}
.fe-home-services .fe-service-link-row .fe-text-link span,
.fe-home-resource-nudge__link span{
  display:inline!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  line-height:1!important;
  transition:transform .18s ease!important;
}
.fe-home-services .fe-service-link-row .fe-text-link:hover,
.fe-home-resource-nudge__link:hover{
  background:var(--fe-green-dark)!important;
  border-color:var(--fe-green-dark)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
.fe-home-services .fe-service-link-row .fe-text-link:hover span,
.fe-home-resource-nudge__link:hover span{transform:translateX(3px)!important}

/* Tighter, more intentional rhythm where stacked homepage proof and the About
   connector bridges previously created visually empty bands. */
.fe-page-home .fe-home-services{padding-bottom:clamp(38px,4.6vw,62px)!important}
.fe-page-home .fe-home-trusted{padding-top:clamp(34px,4.2vw,58px)!important;padding-bottom:clamp(44px,5vw,68px)!important}
.fe-page-home .fe-home-about{padding-top:clamp(52px,5.8vw,78px)!important}
.fe-page-about .fe-about-flow-bridge{
  margin-top:calc(var(--fe-connector-height,var(--fe-about-connector-height,105px)) * -.20)!important;
  margin-bottom:calc(var(--fe-connector-height,var(--fe-about-connector-height,105px)) * -.20)!important;
}
/* Keep the chapter rhythm compact while preserving enough landing room for the
   connector. The SVG may bleed into this padding; the text itself stays clear. */
.fe-page-about .fe-about-flow-story{padding-bottom:clamp(28px,3.2vw,42px)!important}
.fe-page-about .fe-about-flow-aha{padding-top:clamp(32px,3.6vw,46px)!important;padding-bottom:clamp(28px,3.2vw,44px)!important}
.fe-page-about .fe-about-flow-ripple{padding-top:clamp(38px,4.6vw,58px)!important}

/* Ripple graphic: every layer uses recognisable filled people, and dark mode
   deliberately increases separation between rings, people and background. */
.fe-ripple-person{fill:var(--fe-green)!important;stroke:none!important;fill-opacity:1!important}
.fe-ripple-person circle,.fe-ripple-person path{fill:inherit!important;stroke:none!important;opacity:1!important}
.fe-ripple-person--lead{fill:var(--fe-navy)!important}
.fe-ripple-person--facilitator{fill:var(--fe-green)!important}
.fe-ripple-person--learner{fill:var(--fe-leaf)!important;opacity:.86!important}
.fe-ripple-orbit{stroke-width:2.4!important}
.fe-ripple-orbit--outer{stroke:color-mix(in srgb,var(--fe-green) 42%,transparent)!important}
.fe-ripple-orbit--middle{stroke:color-mix(in srgb,var(--fe-green) 62%,transparent)!important}
.fe-ripple-orbit--inner{fill:color-mix(in srgb,var(--fe-lime) 25%,transparent)!important;stroke:var(--fe-lime)!important}
.fe-ripple-network-labels span{font-size:.82rem!important;font-weight:800!important}

html[data-fe-theme="dark"] .fe-section--ripple{background:#12332d!important;color:#f4faf7!important}
/* Keep the About ripple as an open composition in dark mode. The generic
   .fe-feature-band dark-mode surface would otherwise paint a navy card behind it. */
html[data-fe-theme="dark"] .fe-page-about .fe-about-ripple-band{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  color:#f4faf7!important;
}
html[data-fe-theme="dark"] .fe-ripple-network-labels span{color:#f4faf7!important}
html[data-fe-theme="dark"] .fe-ripple-orbit--outer{stroke:rgba(159,230,189,.42)!important}
html[data-fe-theme="dark"] .fe-ripple-orbit--middle{stroke:rgba(159,230,189,.70)!important}
html[data-fe-theme="dark"] .fe-ripple-orbit--inner{fill:rgba(219,230,76,.18)!important;stroke:var(--fe-lime)!important}
html[data-fe-theme="dark"] .fe-ripple-person--lead{fill:var(--fe-lime)!important}
html[data-fe-theme="dark"] .fe-ripple-person--facilitator{fill:#9fe6bd!important}
html[data-fe-theme="dark"] .fe-ripple-person--learner{fill:#74c365!important;opacity:1!important}
html[data-fe-theme="dark"] .fe-ripple-flow{stroke:var(--fe-lime)!important}

@media(max-width:780px){
  .fe-page-about .fe-about-flow-bridge{
    margin-top:calc(var(--fe-connector-mobile-height,var(--fe-about-connector-mobile-height,76px)) * -.18)!important;
    margin-bottom:calc(var(--fe-connector-mobile-height,var(--fe-about-connector-mobile-height,76px)) * -.18)!important;
  }
  .fe-page-about .fe-about-flow-story{padding-bottom:30px!important}
  .fe-page-about .fe-about-flow-aha{padding-top:36px!important;padding-bottom:32px!important}
  .fe-page-about .fe-about-flow-ripple{padding-top:42px!important}
  .fe-managed-image--portrait-disc{--fe-portrait-head-cut:31%}
}


/* v0.9.5: the connector bridge belongs visually to the section it leaves.
   Keep the entire in-flow bridge strip in the preceding section colour; the
   following section starts only after the bridge, so there is no artificial
   half-and-half band behind the arrow. */
.fe-page-about .fe-about-flow-bridge--story-to-aha{
  background:#fff!important;
}
.fe-page-about .fe-about-flow-bridge--aha-to-ripple{
  background:var(--fe-soft-bg,#e8eef0)!important;
}
html[data-fe-theme="dark"] .fe-page-about .fe-about-flow-bridge--story-to-aha{
  background:#0d1d27!important;
}
html[data-fe-theme="dark"] .fe-page-about .fe-about-flow-bridge--aha-to-ripple{
  background:#152934!important;
}

/* v0.9.8: testimonial message-bubble cards.
   Consolidates the 0.9.7 treatment, replaces the transformed two-piece tail
   with one stable clipped tail, and exposes card geometry through Site settings. */
.fe-testimonial-grid{
  gap:clamp(26px,2.8vw,38px)!important;
  padding-bottom:28px!important;
  align-items:stretch!important;
}
.fe-testimonial{
  --fe-testimonial-bg:color-mix(in srgb,#fff 96%,var(--fe-soft-bg,#e8eef0));
  position:relative!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  padding:clamp(30px,3vw,42px)!important;
  border:1px solid color-mix(in srgb,var(--fe-green) 24%,transparent)!important;
  border-radius:var(--fe-testimonial-radius,28px)!important;
  background:var(--fe-testimonial-bg)!important;
  box-shadow:0 16px 42px rgba(0,31,63,.065)!important;
}
.fe-testimonial::before{
  content:none!important;
  display:none!important;
}
/* A single clipped tail stays attached as cards stretch. It overlaps the card
   by 2px so the bottom border does not cut through the join. */
.fe-testimonial::after{
  content:""!important;
  position:absolute!important;
  display:var(--fe-testimonial-tail-display,block)!important;
  width:var(--fe-testimonial-tail-width,24px)!important;
  height:var(--fe-testimonial-tail-height,17px)!important;
  left:var(--fe-testimonial-tail-left,auto)!important;
  right:var(--fe-testimonial-tail-right,30px)!important;
  bottom:var(--fe-testimonial-tail-bottom,-15px)!important;
  background:var(--fe-testimonial-bg)!important;
  clip-path:polygon(0 0,100% 0,100% 100%)!important;
  transform:scaleX(var(--fe-testimonial-tail-direction,1))!important;
  transform-origin:center top!important;
  border:0!important;
  border-radius:0!important;
  z-index:1!important;
  pointer-events:none!important;
}
.fe-testimonial>*{position:relative!important;z-index:2!important}
.fe-testimonial figcaption{
  order:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.72rem!important;
  width:100%!important;
  margin:0 0 1.55rem!important;
  padding:0 0 1.35rem!important;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--fe-green) 18%,transparent)!important;
  text-align:center!important;
}
.fe-testimonial-attribution{
  display:grid!important;
  gap:.12rem!important;
  justify-items:center!important;
  width:100%!important;
  max-width:28ch!important;
}
.fe-testimonial figcaption strong,
.fe-testimonial-person{
  display:block!important;
  font-family:var(--fe-font-body)!important;
  font-size:1.02rem!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:var(--fe-ink)!important;
}
.fe-testimonial-role{
  display:block!important;
  margin-top:.08rem!important;
  font-family:var(--fe-font-body)!important;
  font-size:.91rem!important;
  line-height:1.3!important;
  font-style:normal!important;
  font-weight:600!important;
  opacity:.72!important;
  color:var(--fe-ink)!important;
}
.fe-testimonial-org{
  display:block!important;
  margin-top:.16rem!important;
  font-family:var(--fe-font-secondary)!important;
  font-size:.93rem!important;
  line-height:1.3!important;
  font-style:italic!important;
  font-weight:500!important;
  color:var(--fe-ink)!important;
  opacity:.78!important;
}
.fe-testimonial-logo{
  width:94px!important;
  height:94px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto .08rem!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}
.fe-testimonial-logo--real{
  width:min(132px,58%)!important;
  height:86px!important;
}
.fe-testimonial-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.fe-testimonial-logo--fallback .fe-proof-fallback-raster{
  width:90px!important;
  height:90px!important;
  object-fit:contain!important;
}
.fe-testimonial blockquote{
  order:1!important;
  margin:0!important;
  padding:0!important;
  flex:1!important;
  color:var(--fe-ink)!important;
  font-size:1.08rem!important;
  line-height:1.62!important;
}
.fe-testimonial blockquote:before{
  content:"“"!important;
  display:block!important;
  margin:0 0 .55rem!important;
  color:var(--fe-green)!important;
  font-family:var(--fe-font-secondary)!important;
  font-size:2.55rem!important;
  line-height:.72!important;
}
.fe-testimonial blockquote p:first-child:before{content:none!important;display:none!important}
.fe-testimonial blockquote p:first-child{margin-top:0!important}
.fe-testimonial blockquote p:last-child{margin-bottom:0!important}

html[data-fe-theme="dark"] .fe-testimonial{
  --fe-testimonial-bg:#142833;
  border-color:rgba(159,230,189,.28)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.2)!important;
}
html[data-fe-theme="dark"] .fe-testimonial figcaption{border-bottom-color:rgba(255,255,255,.15)!important}
html[data-fe-theme="dark"] .fe-testimonial figcaption strong,
html[data-fe-theme="dark"] .fe-testimonial-role,
html[data-fe-theme="dark"] .fe-testimonial-org,
html[data-fe-theme="dark"] .fe-testimonial blockquote{color:#eef4f6!important}

@media(max-width:780px){
  .fe-testimonial-grid{padding-bottom:28px!important}
  .fe-testimonial{padding:30px 25px!important}
  .fe-testimonial-logo{width:84px!important;height:84px!important}
  .fe-testimonial-logo--fallback .fe-proof-fallback-raster{width:82px!important;height:82px!important}
}


/* v0.9.11 — Elizabeth's current photography. Real supplied photos replace the
   older generated/clear-cut portrait set. These use simple editorial frames so
   the original environment, clothing and expression stay intact. */
.fe-managed-image--editorial{
  position:relative;
  isolation:isolate;
  overflow:visible!important;
  min-height:0;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.fe-managed-image--editorial::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:clamp(12px,1.6vw,20px) clamp(-18px,-1.4vw,-10px) clamp(-18px,-1.4vw,-10px) clamp(12px,1.5vw,18px);
  border-radius:var(--fe-element-radius,var(--fe-radius));
  background:color-mix(in srgb,var(--fe-green) 12%,var(--fe-soft-bg,#e8eef0) 88%);
  border:1px solid color-mix(in srgb,var(--fe-green) 24%,transparent);
}
.fe-managed-image--editorial img,
.fe-managed-image--editorial .fe-managed-image__img{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:var(--fe-element-radius,var(--fe-radius));
  box-shadow:0 18px 42px rgba(0,31,63,.10);
}
.fe-managed-image--about-hero.fe-managed-image--editorial{aspect-ratio:4/5;min-height:0}
.fe-page-home .fe-home-about .fe-managed-image--editorial{max-width:470px;margin-inline:auto}
.fe-page-about .fe-about-flow-hero .fe-managed-image--editorial{max-width:430px;margin-inline:auto}
.fe-page-about .fe-about-flow-story .fe-managed-image--editorial{max-width:560px;margin-inline:auto}
.fe-page-home .fe-home-about .fe-managed-image--editorial img{object-position:center 34%!important}
.fe-page-about .fe-about-flow-hero .fe-managed-image--editorial img{object-position:center 42%!important}
.fe-page-about .fe-about-flow-story .fe-managed-image--editorial img{object-position:center 46%!important}
.fe-contact-aside .fe-managed-image--editorial img{object-position:center 26%!important}
html[data-fe-theme="dark"] .fe-managed-image--editorial::before{
  background:color-mix(in srgb,var(--fe-green) 16%,var(--fe-navy) 84%);
  border-color:rgba(205,222,71,.20);
}
html[data-fe-theme="dark"] .fe-managed-image--editorial img,
html[data-fe-theme="dark"] .fe-managed-image--editorial .fe-managed-image__img{box-shadow:0 18px 44px rgba(0,0,0,.26)}
@media(max-width:760px){
  .fe-managed-image--editorial::before{inset:12px -10px -12px 10px}
  .fe-page-home .fe-home-about .fe-managed-image--editorial,
  .fe-page-about .fe-about-flow-hero .fe-managed-image--editorial,
  .fe-page-about .fe-about-flow-story .fe-managed-image--editorial{max-width:min(88vw,430px)}
}

/* v0.9.15 — dark header + supplied testimonial icon set + proof-card rhythm. */

/* Dark reading mode carries through the site header instead of leaving a white
   theme row above an otherwise dark page. */
html[data-fe-theme="dark"] .ct-header,
html[data-fe-theme="dark"] #header [data-row],
html[data-fe-theme="dark"] #header [data-row] > div,
html[data-fe-theme="dark"] #header .ct-container{
  background:#0b1821!important;
  border-color:rgba(246,247,237,.12)!important;
}
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a:not([href*="/contact"]){
  color:#f6f7ed!important;
  opacity:1!important;
}
html[data-fe-theme="dark"] .ct-header .current-menu-item>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header .current_page_item>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header .current-menu-ancestor>a:not([href*="/contact"]),
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a:not([href*="/contact"]):hover,
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a:not([href*="/contact"]):hover{
  color:var(--fe-lime)!important;
}
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a[href*="/contact"],
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a[href*="/contact"]{
  color:#fff!important;
  background:var(--fe-green)!important;
  border-color:var(--fe-green)!important;
}
html[data-fe-theme="dark"] .ct-header .ct-header-menu>.menu>li>a[href*="/contact"]:hover,
html[data-fe-theme="dark"] .ct-header [data-id="menu"]>.menu>li>a[href*="/contact"]:hover{
  background:#17634a!important;
  border-color:#74c365!important;
}
html[data-fe-theme="dark"] .ct-header .ct-social-box a,
html[data-fe-theme="dark"] .ct-header .ct-header-trigger,
html[data-fe-theme="dark"] .ct-header [data-id="search"],
html[data-fe-theme="dark"] .ct-header [data-id="trigger"]{
  color:#f6f7ed!important;
  opacity:1!important;
}
html[data-fe-theme="dark"] .ct-header .ct-social-box a:hover{color:var(--fe-lime)!important}
html[data-fe-theme="dark"] .ct-header .site-logo-container img,
html[data-fe-theme="dark"] .ct-header [data-id="logo"] img{
  filter:brightness(1.16) saturate(.95)!important;
}

/* Let each speech bubble finish when its quote finishes. The previous stretched
   equal-height row left large empty areas beneath shorter testimonials. */
.fe-testimonial-grid{
  gap:clamp(22px,2.4vw,32px)!important;
  margin-top:clamp(24px,3vw,32px)!important;
  padding-bottom:32px!important;
  align-items:start!important;
}
.fe-testimonial{
  --fe-testimonial-border:color-mix(in srgb,var(--fe-green) 28%,transparent);
  min-height:0!important;
  height:auto!important;
  justify-content:flex-start!important;
  padding:clamp(25px,2.4vw,32px)!important;
  border-color:var(--fe-testimonial-border)!important;
}
.fe-testimonial figcaption{
  gap:.5rem!important;
  margin:0 0 1.05rem!important;
  padding:0 0 .95rem!important;
  border-bottom-color:color-mix(in srgb,var(--fe-green) 16%,transparent)!important;
}
.fe-testimonial-attribution{
  gap:.08rem!important;
  max-width:30ch!important;
}
.fe-testimonial figcaption strong,
.fe-testimonial-person{
  font-size:.96rem!important;
  line-height:1.2!important;
}
.fe-testimonial-role{
  margin-top:.04rem!important;
  font-size:.86rem!important;
  line-height:1.24!important;
}
.fe-testimonial-org{
  margin-top:.1rem!important;
  font-size:.88rem!important;
  line-height:1.24!important;
}
.fe-testimonial-logo{
  width:78px!important;
  height:70px!important;
  margin:0 auto .05rem!important;
}
.fe-testimonial-logo--real{
  width:min(116px,56%)!important;
  height:62px!important;
}
.fe-testimonial-logo--fallback .fe-proof-fallback-icon,
.fe-testimonial-logo--fallback .fe-proof-fallback-raster{
  display:block!important;
  width:78px!important;
  height:70px!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.fe-testimonial blockquote{
  margin:0!important;
  flex:0 1 auto!important;
  font-size:1.02rem!important;
  line-height:1.55!important;
}
/* The supplied icon already carries the quote motif, so a second floating quote
   mark only adds visual noise and vertical space. */
.fe-testimonial blockquote:before{content:none!important;display:none!important}

/* Speech-bubble tail: the fill overlaps the card's bottom rule by two pixels.
   A one-pixel drop shadow traces only the exposed vertical/diagonal edges; the
   join across the top is therefore open and reads as one continuous bubble. */
.fe-testimonial::after{
  bottom:var(--fe-testimonial-tail-bottom,-15px)!important;
  background:var(--fe-testimonial-bg)!important;
  filter:drop-shadow(1px 1px 0 var(--fe-testimonial-border))!important;
  z-index:3!important;
}
.fe-testimonial>*{z-index:4!important}

html[data-fe-theme="dark"] .fe-testimonial{
  --fe-testimonial-border:rgba(159,230,189,.30);
}
html[data-fe-theme="dark"] .fe-testimonial figcaption{
  border-bottom-color:rgba(255,255,255,.12)!important;
}

@media(max-width:780px){
  .fe-testimonial-grid{gap:26px!important;padding-bottom:30px!important}
  .fe-testimonial{padding:25px 23px!important}
  .fe-testimonial-logo{width:74px!important;height:67px!important}
  .fe-testimonial-logo--fallback .fe-proof-fallback-icon,
  .fe-testimonial-logo--fallback .fe-proof-fallback-raster{width:74px!important;height:67px!important}
}



/* v0.9.16 — testimonial fallback cleanup.
   The dark-mode fallback wrapper previously added a translucent rectangular
   background behind transparent SVG artwork. That is what created the visible
   box; it was not caused by the header-logo brightness filter. Keep the artwork
   genuinely transparent and let the supplied green SVGs provide the colour. */
.fe-testimonial-logo--fallback,
html[data-fe-theme="dark"] .fe-testimonial-logo--fallback{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
}
.fe-testimonial-logo--fallback .fe-proof-fallback-icon{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}


/* v0.9.18 — safe image presentation choices.
   Editors can remove the decorative offset panel, show an image at its natural
   aspect ratio, or swap the two columns without touching structural layout. */
.fe-managed-image--finish-clean::before,
.fe-managed-image--finish-full::before{display:none!important;content:none!important}
.fe-managed-image--finish-clean,
.fe-managed-image--finish-full{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.fe-managed-image--finish-clean img,
.fe-managed-image--finish-clean .fe-managed-image__img,
.fe-managed-image--finish-full img,
.fe-managed-image--finish-full .fe-managed-image__img{box-shadow:none!important}
.fe-managed-image--finish-full{
  aspect-ratio:auto!important;
  min-height:0!important;
  overflow:visible!important;
  border-radius:0!important;
}
.fe-managed-image--finish-full img,
.fe-managed-image--finish-full .fe-managed-image__img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  border:0!important;
  border-radius:0!important;
  margin:0 auto!important;
  transform:none!important;
}
.fe-page-about .fe-about-flow-story .fe-managed-image--finish-full{max-width:520px;margin-inline:auto}

/* Side swapping is desktop-only. Mobile keeps the deliberately authored source
   order, so Elizabeth cannot accidentally create an awkward small-screen flow. */
@media(min-width:761px){
  .fe-image-layout--reverse>:first-child{order:2}
  .fe-image-layout--reverse>:last-child{order:1}
}

/* v0.9.19 — Elizabeth final feedback: professional portraits, clearer ripple journey,
   compact About portrait and direct service contact actions. */
.fe-page-home .fe-hero .fe-managed-image--editorial{
  width:min(100%,390px)!important;
  aspect-ratio:4/5!important;
  margin-inline:auto!important;
}
.fe-page-home .fe-hero .fe-managed-image--editorial img,
.fe-page-home .fe-hero .fe-managed-image--editorial .fe-managed-image__img{
  object-position:center 44%!important;
}
.fe-page-home .fe-home-about .fe-managed-image--finish-full{
  width:min(100%,390px)!important;
  margin-inline:auto!important;
}
.fe-page-about .fe-about-flow-hero .fe-managed-image--editorial img,
.fe-page-about .fe-about-flow-hero .fe-managed-image--editorial .fe-managed-image__img{
  object-position:center 38%!important;
}
.fe-page-about .fe-about-flow-story .fe-image-size--compact>div:first-child{
  width:66.666%!important;
  max-width:360px!important;
  justify-self:center!important;
  margin-inline:auto!important;
}
.fe-page-about .fe-about-flow-story .fe-image-size--standard>div:first-child{width:100%!important;max-width:520px!important;justify-self:center!important}
.fe-page-about .fe-about-flow-story .fe-image-size--wide>div:first-child{width:100%!important;max-width:620px!important;justify-self:center!important}
.fe-page-about .fe-about-final-cta{align-items:center!important}
.fe-page-about .fe-about-final-cta .fe-managed-image--editorial{width:min(100%,390px)!important;margin-inline:auto!important}
.fe-page-about .fe-about-cta-section .fe-button{margin-top:1rem!important;background:#fff!important;color:var(--fe-green)!important;border-color:#fff!important}
.fe-page-about .fe-about-cta-section .fe-button:hover{background:var(--fe-lime)!important;color:var(--fe-navy)!important;border-color:var(--fe-lime)!important}
.fe-page-services #workshop-design,
.fe-page-services #facilitation-skills{scroll-margin-top:110px}
.fe-service-inline-cta{margin-top:1.35rem!important}
.fe-service-inline-cta .fe-button{min-width:132px}

/* Replace the concentric-ring diagram with a simple left-to-right reach story.
   This mirrors Elizabeth's reference examples: one person, the facilitators they
   influence, then the much wider audience reached by those facilitators. */
.fe-ripple-journey{width:min(100%,720px);display:grid;gap:20px;margin-inline:auto}
.fe-ripple-journey__steps{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) 54px minmax(0,1fr);align-items:start;gap:10px}
.fe-ripple-step{display:grid;gap:12px;text-align:center;min-width:0}
.fe-ripple-step__icon{position:relative;width:clamp(108px,11vw,138px);aspect-ratio:1;margin-inline:auto;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--fe-lime) 22%,#fff);border:2px solid color-mix(in srgb,var(--fe-green) 48%,transparent)}
.fe-ripple-step--facilitators .fe-ripple-step__icon{background:color-mix(in srgb,var(--fe-green) 13%,#fff)}
.fe-ripple-step--audience .fe-ripple-step__icon{background:color-mix(in srgb,#f5ba42 24%,#fff);border-color:color-mix(in srgb,#e7a623 54%,transparent)}
.fe-ripple-step__icon svg{width:72%;height:72%;fill:var(--fe-navy)}
.fe-ripple-step--facilitators .fe-ripple-step__icon svg{fill:var(--fe-green)}
.fe-ripple-step--audience .fe-ripple-step__icon svg{fill:#9b6500}
.fe-ripple-step__number{position:absolute;top:-8px;left:-4px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--fe-green);color:#fff;font-weight:900;font-size:.8rem;box-shadow:0 0 0 4px var(--fe-ripple-bg)}
.fe-ripple-step__copy{display:grid;gap:6px}
.fe-ripple-step__copy strong{font-family:var(--fe-font-display);font-size:clamp(1rem,.95rem + .2vw,1.18rem);line-height:1.15;color:var(--fe-ripple-ink)}
.fe-ripple-step__copy p{margin:0!important;font-size:.92rem!important;line-height:1.42!important;color:color-mix(in srgb,var(--fe-ripple-ink) 80%,transparent)!important}
.fe-ripple-step-arrow{display:flex;align-items:center;justify-content:center;padding-top:52px;color:var(--fe-green)}
.fe-ripple-step-arrow b{font-size:2rem;line-height:1;color:var(--fe-green)}
.fe-ripple-step-arrow span{display:none}
.fe-ripple-journey__return{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;padding-top:4px;color:var(--fe-green);font-size:.86rem;font-style:italic;text-align:center}
.fe-ripple-journey__return i{display:block;width:min(180px,24vw);height:30px;border-bottom:3px solid var(--fe-green);border-radius:0 0 50% 50%;position:relative}
.fe-ripple-journey__return i:after{content:"";position:absolute;right:-1px;bottom:-5px;width:9px;height:9px;border-right:3px solid var(--fe-green);border-bottom:3px solid var(--fe-green);transform:rotate(-45deg)}
.fe-ripple-journey__return strong{font-style:normal;color:var(--fe-ripple-ink)}
html[data-fe-theme="dark"] .fe-ripple-step__icon{background:rgba(219,230,76,.12);border-color:rgba(159,230,189,.5)}
html[data-fe-theme="dark"] .fe-ripple-step--facilitators .fe-ripple-step__icon{background:rgba(0,128,76,.20)}
html[data-fe-theme="dark"] .fe-ripple-step--audience .fe-ripple-step__icon{background:rgba(245,186,66,.14);border-color:rgba(245,186,66,.45)}
html[data-fe-theme="dark"] .fe-ripple-step__icon svg{fill:#f4f8f6}
html[data-fe-theme="dark"] .fe-ripple-step--facilitators .fe-ripple-step__icon svg{fill:#9fe6bd}
html[data-fe-theme="dark"] .fe-ripple-step--audience .fe-ripple-step__icon svg{fill:#f5d484}
@media(max-width:780px){
  .fe-page-about .fe-about-flow-story .fe-image-size--compact>div:first-child{width:min(72vw,330px)!important;max-width:none!important}
  .fe-ripple-journey__steps{grid-template-columns:1fr;gap:12px}
  .fe-ripple-step{grid-template-columns:92px minmax(0,1fr);align-items:center;text-align:left}
  .fe-ripple-step__icon{width:88px;margin:0}
  .fe-ripple-step__copy{text-align:left}
  .fe-ripple-step-arrow{padding:0;min-height:30px;transform:rotate(90deg)}
  .fe-ripple-step-arrow b{font-size:1.7rem}
  .fe-ripple-journey__return{display:none}
}

/* v0.9.20 - built-in mailing list signup */
.fe-newsletter-section .fe-cta{grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:start}
.fe-newsletter-signup{width:100%;background:rgba(255,255,255,.96);color:var(--fe-navy,#001f3f);border:1px solid rgba(0,31,63,.12);border-radius:var(--fe-element-radius,22px);padding:clamp(18px,2.6vw,28px);box-shadow:0 16px 34px rgba(0,31,63,.12)}
.fe-newsletter-form{display:grid;gap:13px}
.fe-newsletter-form>label:not(.fe-newsletter-consent){display:grid;gap:6px;font-size:.9rem;font-weight:750;color:var(--fe-navy,#001f3f)}
.fe-newsletter-form input[type="text"],.fe-newsletter-form input[type="email"]{width:100%;min-height:48px;padding:10px 12px;border:1px solid rgba(0,31,63,.22);border-radius:12px;background:#fff;color:var(--fe-navy,#001f3f);font:inherit}
.fe-newsletter-form input:focus{outline:2px solid rgba(0,128,76,.24);outline-offset:1px;border-color:var(--fe-green,#00804c)}
.fe-newsletter-consent{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;font-size:.83rem;line-height:1.45;color:var(--fe-navy,#001f3f);font-weight:500!important}
.fe-newsletter-consent input{margin-top:.25em;accent-color:var(--fe-green,#00804c)}
.fe-newsletter-form .fe-button{justify-self:start;margin-top:2px}
.fe-newsletter-privacy{margin:0!important;font-size:.75rem!important;line-height:1.45!important;color:rgba(0,31,63,.68)!important}
.fe-newsletter-privacy a{color:inherit;text-decoration:underline}
.fe-newsletter-notice{margin:0 0 14px;padding:11px 13px;border-radius:11px;font-size:.88rem;line-height:1.4;font-weight:650}
.fe-newsletter-notice--ok{background:rgba(0,128,76,.1);border:1px solid rgba(0,128,76,.2);color:#075b39}
.fe-newsletter-notice--error{background:rgba(153,48,48,.09);border:1px solid rgba(153,48,48,.2);color:#7c2929}
@media(max-width:760px){.fe-newsletter-section .fe-cta{grid-template-columns:1fr}.fe-newsletter-signup{max-width:none}}
html[data-fe-theme="dark"] .fe-newsletter-signup{background:#142833;color:#eef4f6;border-color:rgba(232,244,248,.2);box-shadow:0 16px 34px rgba(0,0,0,.22)}
html[data-fe-theme="dark"] .fe-newsletter-form>label:not(.fe-newsletter-consent),html[data-fe-theme="dark"] .fe-newsletter-consent{color:#f4f8f9!important}
html[data-fe-theme="dark"] .fe-newsletter-form input[type="text"],html[data-fe-theme="dark"] .fe-newsletter-form input[type="email"]{background:#08151e;color:#f5f8f9;border-color:rgba(232,244,248,.32)}
html[data-fe-theme="dark"] .fe-newsletter-privacy{color:rgba(238,244,246,.76)!important}
html[data-fe-theme="dark"] .fe-newsletter-notice--ok{background:rgba(99,194,143,.14);color:#bdebd1;border-color:rgba(99,194,143,.25)}
html[data-fe-theme="dark"] .fe-newsletter-notice--error{background:rgba(255,154,154,.1);color:#ffd0d0;border-color:rgba(255,154,154,.2)}

/* v0.9.21 — Ripple effect layout + restored testimonial quote marks. */
.fe-page-about .fe-about-ripple-band{
  grid-template-columns:minmax(220px,.68fr) minmax(0,1.42fr)!important;
  gap:clamp(34px,4.5vw,64px)!important;
  align-items:start!important;
}
.fe-page-about .fe-about-ripple-band>div:first-child{
  max-width:34ch;
  align-self:start;
}
.fe-page-about .fe-ripple-journey{
  width:min(100%,880px)!important;
  margin-inline:auto!important;
}
.fe-page-about .fe-ripple-journey__steps{
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr)!important;
  gap:8px!important;
}
.fe-page-about .fe-ripple-step{gap:10px!important}
.fe-page-about .fe-ripple-step__copy{gap:5px!important}
.fe-page-about .fe-ripple-step__copy strong{
  font-size:clamp(.96rem,.92rem + .12vw,1.08rem)!important;
}
.fe-page-about .fe-ripple-step__copy p{
  font-size:.82rem!important;
  line-height:1.38!important;
  max-width:24ch;
  margin-inline:auto!important;
}
.fe-ripple-step__icon.has-image{
  overflow:hidden!important;
  padding:0!important;
  isolation:isolate;
}
.fe-ripple-step__icon.has-image .fe-ripple-step__number{z-index:3}
.fe-ripple-step__icon.has-image .fe-ripple-step__image{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  margin:0!important;
}
.fe-ripple-journey__return{
  display:grid!important;
  grid-template-columns:max-content minmax(130px,1fr) max-content!important;
  align-items:center!important;
  gap:12px!important;
  width:min(100%,700px)!important;
  margin-inline:auto!important;
  padding-top:2px!important;
  font-size:.8rem!important;
  line-height:1.1!important;
}
.fe-ripple-journey__return>span,
.fe-ripple-journey__return>strong{align-self:center!important;white-space:nowrap}
.fe-ripple-return-arrow{display:block;width:100%;height:42px;overflow:visible}
.fe-ripple-return-arrow path{
  fill:none;
  stroke:var(--fe-green);
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.fe-ripple-return-arrow__head{fill:none!important}
/* Retire the old border-built return arrow if cached markup/CSS is mixed. */
.fe-ripple-journey__return>i{display:none!important}

/* The quote glyph belongs with the words, while fallback artwork now uses the
   supplied green person marks. This restores the conversational feel without
   doubling the quote-bubble icon. */
.fe-testimonial blockquote:before{
  content:"“"!important;
  display:block!important;
  margin:0 0 .5rem!important;
  color:var(--fe-green)!important;
  font-family:var(--fe-font-secondary)!important;
  font-size:2.6rem!important;
  line-height:.72!important;
}
html[data-fe-theme="dark"] .fe-testimonial blockquote:before{color:#9fe6bd!important}

@media(max-width:980px) and (min-width:781px){
  .fe-page-about .fe-about-ripple-band{grid-template-columns:minmax(210px,.62fr) minmax(0,1.38fr)!important;gap:28px!important}
  .fe-page-about .fe-ripple-step__copy p{font-size:.79rem!important}
  .fe-page-about .fe-ripple-step__icon{width:clamp(96px,11vw,118px)!important}
}
@media(max-width:780px){
  .fe-page-about .fe-about-ripple-band{grid-template-columns:1fr!important;gap:26px!important}
  .fe-page-about .fe-about-ripple-band>div:first-child{max-width:42ch}
  .fe-page-about .fe-ripple-journey__steps{grid-template-columns:1fr!important;gap:12px!important}
  .fe-page-about .fe-ripple-step__copy p{max-width:none;margin-inline:0!important;font-size:.86rem!important}
  .fe-ripple-journey__return{display:none!important}
}

/* v0.9.22 — Contact page hierarchy and dark-mode refinement. */
.fe-page-contact .fe-contact-page-hero{
  padding:clamp(54px,7vw,86px) 0 clamp(46px,5.5vw,68px);
}
.fe-contact-hero{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1fr);
  gap:clamp(34px,6vw,82px);
  align-items:end;
}
.fe-contact-hero__heading{min-width:0}
.fe-contact-hero__heading .fe-eyebrow{margin-bottom:.8rem!important}
.fe-contact-hero__heading h1{
  max-width:11ch!important;
  margin:.12em 0 0!important;
}
.fe-contact-hero__intro{
  max-width:610px;
  padding-bottom:.35rem;
}
.fe-page-contact .fe-contact-hero__intro p{
  margin:0!important;
  max-width:none!important;
  font-size:clamp(1.12rem,1.04rem + .28vw,1.28rem)!important;
  line-height:1.58!important;
}
.fe-page-contact .fe-contact-section{
  padding-top:clamp(46px,5.5vw,72px);
  padding-bottom:clamp(64px,7vw,94px);
}
.fe-page-contact .fe-contact-layout{
  grid-template-columns:minmax(0,1.18fr) minmax(290px,.68fr);
  gap:clamp(28px,4.5vw,58px);
  align-items:start;
  max-width:1040px;
}
.fe-contact-form-wrap{min-width:0}
.fe-page-contact .fe-contact-form{
  padding:clamp(26px,3.5vw,40px);
  border-width:1px;
}
.fe-page-contact .fe-form-intro{
  padding-bottom:6px;
}
.fe-page-contact .fe-form-intro h2{
  font-size:clamp(1.45rem,1.25rem + .65vw,1.85rem)!important;
  line-height:1.14!important;
}
.fe-page-contact .fe-form-intro p{
  max-width:58ch;
}
.fe-page-contact .fe-contact-aside{
  padding:clamp(26px,3vw,34px);
  border:1px solid rgba(255,255,255,.1);
}
.fe-page-contact .fe-contact-aside h2{line-height:1.12!important}
.fe-page-contact .fe-contact-aside ul{margin-bottom:0}
.fe-page-contact .fe-contact-aside .fe-managed-image{
  margin-top:26px;
  border-radius:calc(var(--fe-element-radius,var(--fe-radius)) - 5px);
  overflow:hidden;
}
.fe-page-contact .fe-contact-aside .fe-managed-image::before{display:none!important}

html[data-fe-theme="dark"] .fe-page-contact .fe-contact-page-hero{
  background:#152934!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-hero__intro p{
  color:rgba(238,244,246,.86)!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-section{
  background:#0d1d27!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form{
  background:linear-gradient(145deg,#142833 0%,#112630 100%)!important;
  border-color:rgba(184,240,211,.18)!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-form-intro h2{
  color:#f3f7f8!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-form-intro p{
  color:rgba(238,244,246,.76)!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form .fe-field-label{
  color:#f3f7f8!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form .fe-field-label em,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form .fe-field-help{
  color:rgba(238,244,246,.64)!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form input,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form select,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form textarea{
  background:#091820!important;
  color:#f7fafb!important;
  border-color:rgba(184,240,211,.24)!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form input:hover,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form select:hover,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form textarea:hover{
  border-color:rgba(184,240,211,.42)!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form input:focus,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form select:focus,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form textarea:focus{
  border-color:#74c365!important;
  box-shadow:0 0 0 3px rgba(116,195,101,.14)!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-aside{
  background:linear-gradient(155deg,#06345f 0%,#073c52 100%)!important;
  border-color:rgba(184,240,211,.18)!important;
  color:#f5f8f9!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-aside-kicker{
  color:#b8f0d3!important;
}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-aside li{
  color:rgba(245,248,249,.9)!important;
}

@media(max-width:780px){
  .fe-contact-hero{grid-template-columns:1fr;gap:20px;align-items:start}
  .fe-contact-hero__heading h1{max-width:13ch!important}
  .fe-contact-hero__intro{max-width:650px;padding-bottom:0}
  .fe-page-contact .fe-contact-section{padding-top:38px}
  .fe-page-contact .fe-contact-layout{grid-template-columns:1fr;max-width:none;gap:26px}
}


/* v0.9.23 — balance the Resources and How We Can Help page introductions.
   These pages have no hero image, so a split editorial header uses the width
   intentionally instead of leaving the title stranded on one narrow rail. */
.fe-page-services .fe-balanced-page-hero,
.fe-page-resources .fe-balanced-page-hero{
  padding:clamp(54px,7vw,86px) 0 clamp(46px,5.5vw,68px)!important;
}
.fe-balanced-hero{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(330px,1.05fr);
  gap:clamp(34px,6vw,86px);
  align-items:end;
  max-width:1120px;
}
.fe-balanced-hero__heading,
.fe-balanced-hero__intro{min-width:0}
.fe-balanced-hero__heading .fe-eyebrow{margin-bottom:.8rem!important}
.fe-balanced-hero__heading h1{
  max-width:12ch!important;
  margin:.12em 0 0!important;
}
.fe-balanced-hero__intro{
  max-width:620px;
  padding-bottom:.35rem;
}
.fe-balanced-hero__intro p{
  margin:0!important;
  max-width:none!important;
  font-size:clamp(1.12rem,1.04rem + .28vw,1.28rem)!important;
  line-height:1.58!important;
}
html[data-fe-theme="dark"] .fe-balanced-hero__intro p{
  color:rgba(238,244,246,.86)!important;
}
@media(max-width:780px){
  .fe-balanced-hero{
    grid-template-columns:1fr;
    gap:22px;
    align-items:start;
  }
  .fe-balanced-hero__heading h1{max-width:15ch!important}
  .fe-balanced-hero__intro{padding-bottom:0;max-width:62ch}
}


/* v0.9.24 — Elizabeth final polish, presentation-only.
   No managed content is migrated in this release, so edits made in the Website
   Editor remain authoritative. */

/* Home hero: reveal a little more space above Elizabeth's head without changing
   the selected image or frame settings. A lower object-position percentage
   favours the top of a cover-cropped portrait. */
.fe-page-home .fe-hero .fe-managed-image--editorial img,
.fe-page-home .fe-hero .fe-managed-image--editorial .fe-managed-image__img{
  object-position:center 34%!important;
}

/* Give the Aha chapter a little more blue/grey breathing room above its eyebrow.
   Keep the bottom tighter so the story still flows into the ripple section. */
.fe-page-about .fe-about-flow-aha{
  padding-top:clamp(54px,5.8vw,76px)!important;
}

/* Ripple effect: treat the right-hand journey as one centred illustration beside
   the explanatory copy, and pull the return line closer to the three stages. */
.fe-page-about .fe-about-ripple-band{
  align-items:center!important;
}
.fe-page-about .fe-about-ripple-band>div:first-child{
  align-self:center!important;
}
.fe-page-about .fe-ripple-journey{
  gap:6px!important;
  align-self:center!important;
  justify-self:center!important;
}
.fe-page-about .fe-ripple-journey__return{
  padding-top:0!important;
  margin-top:-2px!important;
}
.fe-page-about .fe-ripple-return-arrow{
  height:34px!important;
}

@media(max-width:780px){
  .fe-page-home .fe-hero .fe-managed-image--editorial img,
  .fe-page-home .fe-hero .fe-managed-image--editorial .fe-managed-image__img{
    object-position:center 31%!important;
  }
  .fe-page-about .fe-about-flow-aha{
    padding-top:48px!important;
  }
  .fe-page-about .fe-about-ripple-band{
    align-items:start!important;
  }
  .fe-page-about .fe-about-ripple-band>div:first-child{
    align-self:start!important;
  }
}

/* v0.9.29 — Ripple journey sizing + numbering tidy-up.
   Presentation only: no managed page content or editor choices are migrated. */
.fe-page-about .fe-about-ripple-band{
  grid-template-columns:minmax(190px,.5fr) minmax(0,1.62fr)!important;
  gap:clamp(28px,3.8vw,52px)!important;
  align-items:start!important;
}
.fe-page-about .fe-about-ripple-band>div:first-child{
  max-width:29ch!important;
  align-self:start!important;
}
.fe-page-about .fe-ripple-journey{
  width:min(100%,960px)!important;
  margin:0!important;
  justify-self:stretch!important;
  align-self:start!important;
  gap:10px!important;
}
.fe-page-about .fe-ripple-journey__steps{
  grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
}
.fe-page-about .fe-ripple-step{
  gap:8px!important;
  justify-items:center!important;
}
.fe-page-about .fe-ripple-step__visual{
  display:grid!important;
  justify-items:center!important;
  align-content:start!important;
  gap:8px!important;
  width:100%!important;
}
.fe-page-about .fe-ripple-step__icon{
  width:clamp(168px,15vw,208px)!important;
  border-width:2.5px!important;
}
/* Keep any cached/legacy in-icon badge hidden, then deliberately render the
   stage number underneath the circle in normal flow. */
.fe-page-about .fe-ripple-step__icon .fe-ripple-step__number{display:none!important}
.fe-page-about .fe-ripple-step__visual>.fe-ripple-step__number{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  transform:none!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  box-shadow:none!important;
  font-size:.76rem!important;
  line-height:1!important;
  z-index:auto!important;
}
.fe-page-about .fe-ripple-step__icon.has-image{
  overflow:hidden!important;
  padding:0!important;
}
.fe-page-about .fe-ripple-step__icon.has-image .fe-ripple-step__image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:50%!important;
  transform-origin:center center!important;
}
/* Dylan's three transparent drawings have different amounts of clear canvas.
   Tune them independently so the characters read at a similar visual scale. */
.fe-page-about .fe-ripple-step--you .fe-ripple-step__icon.has-image .fe-ripple-step__image{transform:scale(1.34)!important}
.fe-page-about .fe-ripple-step--facilitators .fe-ripple-step__icon.has-image .fe-ripple-step__image{transform:scale(1.23)!important}
.fe-page-about .fe-ripple-step--audience .fe-ripple-step__icon.has-image .fe-ripple-step__image{transform:scale(1.12)!important}
.fe-page-about .fe-ripple-step__copy{
  gap:4px!important;
  width:100%!important;
}
.fe-page-about .fe-ripple-step__copy strong{
  font-size:clamp(.98rem,.93rem + .16vw,1.1rem)!important;
}
.fe-page-about .fe-ripple-step__copy p{
  max-width:27ch!important;
  margin-inline:auto!important;
  font-size:.79rem!important;
  line-height:1.34!important;
}
.fe-page-about .fe-ripple-step-arrow{
  padding-top:78px!important;
}
/* Match the return row to the same five-column geometry as the three stages so
   the labels sit directly beneath the left and right stage copy. */
.fe-page-about .fe-ripple-journey__return{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  align-items:start!important;
  font-size:.8rem!important;
  line-height:1.1!important;
}
.fe-page-about .fe-ripple-journey__return>span{
  grid-column:1!important;
  justify-self:start!important;
  align-self:start!important;
  text-align:left!important;
  white-space:nowrap!important;
  margin-top:2px!important;
}
.fe-page-about .fe-ripple-journey__return>.fe-ripple-return-arrow{
  grid-column:2 / 5!important;
  width:100%!important;
  height:34px!important;
  align-self:start!important;
}
.fe-page-about .fe-ripple-journey__return>strong{
  grid-column:5!important;
  justify-self:end!important;
  align-self:start!important;
  text-align:right!important;
  white-space:nowrap!important;
  margin-top:2px!important;
}
.fe-page-about .fe-ripple-return-arrow path{
  stroke-width:2.5!important;
}

@media(max-width:980px) and (min-width:781px){
  .fe-page-about .fe-about-ripple-band{
    grid-template-columns:minmax(180px,.48fr) minmax(0,1.54fr)!important;
    gap:24px!important;
  }
  .fe-page-about .fe-ripple-step__icon{width:clamp(144px,14vw,178px)!important}
  .fe-page-about .fe-ripple-step__copy p{font-size:.76rem!important;max-width:24ch!important}
  .fe-page-about .fe-ripple-step-arrow{padding-top:72px!important}
}
@media(max-width:780px){
  .fe-page-about .fe-about-ripple-band{grid-template-columns:1fr!important;gap:26px!important}
  .fe-page-about .fe-ripple-journey{width:100%!important;margin-inline:auto!important}
  .fe-page-about .fe-ripple-journey__steps{grid-template-columns:1fr!important;gap:12px!important}
  .fe-page-about .fe-ripple-step{grid-template-columns:112px minmax(0,1fr)!important;align-items:center!important;justify-items:stretch!important}
  .fe-page-about .fe-ripple-step__visual{width:104px!important;justify-items:center!important}
  .fe-page-about .fe-ripple-step__icon{width:100px!important}
  .fe-page-about .fe-ripple-step__number{width:25px!important;height:25px!important;font-size:.7rem!important}
  .fe-page-about .fe-ripple-step__copy p{font-size:.84rem!important;max-width:none!important;margin-inline:0!important}
  .fe-page-about .fe-ripple-step-arrow{padding:0!important}
  .fe-page-about .fe-ripple-journey__return{display:none!important}
}

/* v0.9.30 — Ripple polish pass.
   - moves the “One investment → A much bigger reach” guide above the three stages
   - flips the guide curve
   - centers the guide labels over the first and third stage columns
   - restores a little breathing room inside the image circles */
.fe-page-about .fe-ripple-journey{
  gap:12px!important;
}
.fe-page-about .fe-ripple-journey__return{
  order:-1!important;
  margin:0 0 4px!important;
  grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr)!important;
  align-items:end!important;
}
.fe-page-about .fe-ripple-journey__return>span{
  grid-column:1!important;
  justify-self:center!important;
  align-self:end!important;
  text-align:center!important;
  white-space:nowrap!important;
  margin:0!important;
}
.fe-page-about .fe-ripple-journey__return>.fe-ripple-return-arrow{
  grid-column:2 / 5!important;
  align-self:end!important;
  margin:0!important;
  height:42px!important;
  transform:scaleY(-1)!important;
  transform-origin:center center!important;
}
.fe-page-about .fe-ripple-journey__return>strong{
  grid-column:5!important;
  justify-self:center!important;
  align-self:end!important;
  text-align:center!important;
  white-space:nowrap!important;
  margin:0!important;
}
.fe-page-about .fe-ripple-return-arrow path{
  stroke-width:2.5!important;
}
.fe-page-about .fe-ripple-journey__steps{
  align-items:start!important;
}
.fe-page-about .fe-ripple-step__visual{
  gap:10px!important;
}
.fe-page-about .fe-ripple-step__icon{
  width:clamp(176px,15.8vw,216px)!important;
}
.fe-page-about .fe-ripple-step__icon.has-image{
  padding:12px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.fe-page-about .fe-ripple-step__icon.has-image .fe-ripple-step__image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:50%!important;
}
.fe-page-about .fe-ripple-step--you .fe-ripple-step__icon.has-image .fe-ripple-step__image{transform:scale(1.18)!important}
.fe-page-about .fe-ripple-step--facilitators .fe-ripple-step__icon.has-image .fe-ripple-step__image{transform:scale(1.12)!important}
.fe-page-about .fe-ripple-step--audience .fe-ripple-step__icon.has-image .fe-ripple-step__image{transform:scale(1.06)!important}
.fe-page-about .fe-ripple-step__visual>.fe-ripple-step__number{
  margin-top:-2px!important;
}
@media(max-width:980px) and (min-width:781px){
  .fe-page-about .fe-ripple-step__icon{width:clamp(154px,14.4vw,188px)!important}
  .fe-page-about .fe-ripple-step__icon.has-image{padding:11px!important}
  .fe-page-about .fe-ripple-journey__return>.fe-ripple-return-arrow{height:38px!important}
}
@media(max-width:780px){
  .fe-page-about .fe-ripple-journey__return{display:none!important}
  .fe-page-about .fe-ripple-step__icon{width:108px!important}
  .fe-page-about .fe-ripple-step__icon.has-image{padding:8px!important}
  .fe-page-about .fe-ripple-step--you .fe-ripple-step__icon.has-image .fe-ripple-step__image,
  .fe-page-about .fe-ripple-step--facilitators .fe-ripple-step__icon.has-image .fe-ripple-step__image,
  .fe-page-about .fe-ripple-step--audience .fe-ripple-step__icon.has-image .fe-ripple-step__image{transform:none!important}
}

/* v0.9.31 — Ripple compact-height + type scale.
   The legacy .fe-ripple-diagram was square (aspect-ratio:1), which left a large
   invisible box around the journey/return arrow. Let the journey size to its content. */
.fe-page-about .fe-ripple-diagram.fe-ripple-journey{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
}
.fe-page-about .fe-ripple-journey__return,
.fe-page-about .fe-ripple-return-arrow{
  aspect-ratio:auto!important;
}
.fe-page-about .fe-ripple-step__copy strong{
  font-size:1.2rem!important;
  line-height:1.16!important;
}
.fe-page-about .fe-ripple-step__copy p{
  font-size:1rem!important;
  line-height:1.42!important;
  max-width:28ch!important;
}
@media(max-width:980px) and (min-width:781px){
  .fe-page-about .fe-ripple-step__copy strong{font-size:1.12rem!important}
  .fe-page-about .fe-ripple-step__copy p{font-size:.94rem!important;max-width:27ch!important}
}
@media(max-width:780px){
  .fe-page-about .fe-ripple-step__copy strong{font-size:1.12rem!important}
  .fe-page-about .fe-ripple-step__copy p{font-size:.94rem!important;max-width:none!important}
}

/* v0.9.32 — continuous testimonial speech-bubble tail outline.
   Use a slightly larger clipped triangle behind the fill triangle to draw only
   the two exposed outside edges. Both overlap the card by 2px, so there is no
   outlined seam across the tail's top edge. */
.fe-testimonial::before{
  content:""!important;
  position:absolute!important;
  display:var(--fe-testimonial-tail-display,block)!important;
  width:calc(var(--fe-testimonial-tail-width,24px) + 2px)!important;
  height:calc(var(--fe-testimonial-tail-height,17px) + 2px)!important;
  left:var(--fe-testimonial-tail-left,auto)!important;
  right:var(--fe-testimonial-tail-right,30px)!important;
  bottom:calc(var(--fe-testimonial-tail-bottom,-15px) - 2px)!important;
  background:var(--fe-testimonial-border)!important;
  clip-path:polygon(0 0,100% 0,100% 100%)!important;
  transform:scaleX(var(--fe-testimonial-tail-direction,1)) translateX(1px)!important;
  transform-origin:center top!important;
  border:0!important;
  border-radius:0!important;
  z-index:2!important;
  pointer-events:none!important;
}
.fe-testimonial::after{
  filter:none!important;
  z-index:3!important;
}
.fe-testimonial>*{z-index:4!important}

/* v0.9.35: readable text-only page introductions, with intact words. */
.fe-page-contact .fe-contact-hero,
.fe-page-resources .fe-balanced-hero,
.fe-page-services .fe-balanced-hero{
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:24px;
}
.fe-page-contact .fe-contact-hero__heading h1,
.fe-page-resources .fe-balanced-hero__heading h1,
.fe-page-services .fe-balanced-hero__heading h1,
.fe-page-workshops .fe-page-intro>h1{
  width:100%;
  max-width:22ch!important;
  font-size:clamp(2.15rem,1.5rem + 2.8vw,3.6rem)!important;
  line-height:1.08!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
.fe-page-contact .fe-contact-hero__intro,
.fe-page-resources .fe-balanced-hero__intro,
.fe-page-services .fe-balanced-hero__intro{
  width:100%;max-width:62ch;padding-bottom:0;
}
.fe-page-workshops .fe-page-intro{max-width:1120px!important}
.fe-page-workshops .fe-page-intro>p:not(.fe-eyebrow){max-width:62ch!important}
@media(max-width:780px){
  .fe-page-contact .fe-contact-hero,
  .fe-page-resources .fe-balanced-hero,
  .fe-page-services .fe-balanced-hero{gap:20px}
}

/* v0.9.36: match text-only heroes to their lower content containers. */
.fe-page-resources .fe-container.fe-balanced-hero,
.fe-page-services .fe-container.fe-balanced-hero,
.fe-page-workshops .fe-container.fe-page-intro{max-width:var(--fe-max,1180px)!important}
.fe-page-contact .fe-container.fe-contact-hero{max-width:1040px!important}

/* v0.9.40: readable native form menus, hints and consent in both themes. */
.fe-contact-form select,.fe-resource-form select,.fe-newsletter-form select{color-scheme:light}
.fe-contact-form select option,.fe-contact-form select optgroup,
.fe-resource-form select option,.fe-newsletter-form select option{background:#ffffff!important;color:#001f3f!important}
.fe-contact-form input::placeholder,.fe-contact-form textarea::placeholder,
.fe-resource-form input::placeholder,.fe-newsletter-form input::placeholder{color:#415764!important;opacity:1}
.fe-page-contact .fe-contact-form .fe-field-help,
.fe-page-contact .fe-contact-form .fe-field-label em{color:#415764!important;opacity:1}
.fe-contact-form :is(input,select,textarea),.fe-resource-form input,.fe-newsletter-form input{color-scheme:light}
html[data-fe-theme="dark"] .fe-contact-form :is(input,select,textarea),
html[data-fe-theme="dark"] .fe-resource-form input,
html[data-fe-theme="dark"] .fe-newsletter-form input{color-scheme:dark}
html[data-fe-theme="dark"] .fe-contact-form select option,
html[data-fe-theme="dark"] .fe-contact-form select optgroup,
html[data-fe-theme="dark"] .fe-resource-form select option,
html[data-fe-theme="dark"] .fe-newsletter-form select option{background:#091820!important;color:#f7fafb!important}
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form .fe-field-help,
html[data-fe-theme="dark"] .fe-page-contact .fe-contact-form .fe-field-label em,
html[data-fe-theme="dark"] .fe-resource-privacy,
html[data-fe-theme="dark"] .fe-newsletter-privacy{color:#bfced5!important;opacity:1}
html[data-fe-theme="dark"] .fe-resource-consent,
html[data-fe-theme="dark"] .fe-newsletter-consent{color:#d5e4eb!important;opacity:1}
html[data-fe-theme="dark"] .fe-contact-form input::placeholder,
html[data-fe-theme="dark"] .fe-contact-form textarea::placeholder,
html[data-fe-theme="dark"] .fe-resource-form input::placeholder,
html[data-fe-theme="dark"] .fe-newsletter-form input::placeholder{color:#bfced5!important;opacity:1}
html[data-fe-theme="dark"] .fe-card-copy .fe-muted{color:#bfced5!important;opacity:1}
.fe-contact-form :is(input,select,textarea):focus-visible,
.fe-resource-form input:focus-visible,.fe-newsletter-form input:focus-visible{outline:3px solid #00804c;outline-offset:3px}
html[data-fe-theme="dark"] .fe-contact-form :is(input,select,textarea):focus-visible,
html[data-fe-theme="dark"] .fe-resource-form input:focus-visible,
html[data-fe-theme="dark"] .fe-newsletter-form input:focus-visible{outline-color:#d5e84b}
html[data-fe-theme="dark"] .fe-contact-form input:-webkit-autofill,
html[data-fe-theme="dark"] .fe-resource-form input:-webkit-autofill,
html[data-fe-theme="dark"] .fe-newsletter-form input:-webkit-autofill{-webkit-text-fill-color:#f7fafb;caret-color:#f7fafb;box-shadow:0 0 0 1000px #091820 inset}
