/*
 * FB Website Suite – Reference template widgets
 * Beta 29. Extends the existing FB design language; no global resets.
 */

.fbws-ew-reference-quote,
.fbws-ew-reference-components,
.fbws-ew-reference-video,
.fbws-ew-reference-weblink,
.fbws-ew-reference-request{
  width:100%;
  box-sizing:border-box;
}

/* Quote – ported from the existing reference detail page. */
.fbws-ew-reference-quote{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  align-items:center;
  overflow:hidden;
  padding:46px;
  border-radius:30px;
  background:#043623;
  color:#fff;
}
.fbws-ew-reference-quote.has-image{
  grid-template-columns:minmax(180px,.36fr) minmax(0,1fr);
}
.fbws-ew-reference-quote__image{
  overflow:hidden;
  border-radius:22px;
  background:#27EF6E;
}
.fbws-ew-reference-quote__image img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
.fbws-ew-reference-quote__copy{
  position:relative;
  z-index:1;
  min-width:0;
}
.fbws-ew-reference-quote__mark{
  position:absolute;
  right:0;
  top:-48px;
  z-index:-1;
  color:rgba(39,239,110,.12);
  font-family:Montserrat,Arial,sans-serif;
  font-size:210px;
  font-weight:900;
  line-height:1;
  pointer-events:none;
}
.fbws-ew-reference-quote .fbws-ew-kicker{color:#27EF6E}
.fbws-ew-reference-quote .fbws-ew-title{color:#fff}
.fbws-ew-reference-quote blockquote,
.fbws-ew-reference-quote blockquote p{
  margin:0;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:clamp(25px,2.4vw,36px);
  font-weight:600;
  line-height:1.24;
}
.fbws-ew-reference-quote cite{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:22px;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-style:normal;
}
.fbws-ew-reference-quote cite strong{
  color:#27EF6E;
  font-size:20px;
  font-weight:700;
}
.fbws-ew-reference-quote cite span{
  color:#fff;
  font-size:17px;
}

/* System components – existing light-grey reference section, now dynamic. */
.fbws-ew-reference-components{
  padding:38px;
  border-radius:30px;
  background:#F3F5F4;
}
.fbws-ew-reference-components__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:26px;
}
.fbws-ew-reference-component{
  display:grid;
  grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);
  min-height:180px;
  overflow:hidden;
  border:1px solid rgba(4,54,35,.08);
  border-radius:26px;
  background:#fff;
}
.fbws-ew-reference-component:not(.has-image){
  grid-template-columns:1fr;
}
.fbws-ew-reference-component__media{
  min-height:180px;
  overflow:hidden;
  background:#fff;
}
.fbws-ew-reference-component__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.fbws-ew-reference-component__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:26px;
}
.fbws-ew-reference-component h3{
  margin:0 0 8px;
  color:#043623;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:28px;
  font-weight:700;
  line-height:1.05;
}
.fbws-ew-reference-component h3 span{color:#FF0000}
.fbws-ew-reference-component p{
  margin:0 0 14px;
  color:#1d1d1d;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:18px;
  line-height:1.4;
}
.fbws-ew-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#043623;
  font-family:Rajdhani,Arial,sans-serif;
  font-weight:700;
  text-decoration:none;
}
.fbws-ew-link span{color:#FF0000;transition:transform .2s ease}
.fbws-ew-link:hover span{transform:translateX(4px)}

/* Project video – same grey module and rounded media treatment as legacy reference page. */
.fbws-ew-reference-video{
  padding:38px;
  border-radius:30px;
  background:#F3F5F4;
}
.fbws-ew-reference-video video{
  display:block;
  width:calc(100% - 48px);
  max-height:720px;
  margin:24px auto 0;
  border-radius:28px;
  background:#000;
}

/* External project link. */
.fbws-ew-reference-weblink{
  display:grid;
  grid-template-columns:1fr;
  overflow:hidden;
  border-radius:30px;
  background:#F3F5F4;
}
.fbws-ew-reference-weblink.has-image{
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
}
.fbws-ew-reference-weblink__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:clamp(36px,5vw,62px);
}
.fbws-ew-reference-weblink .fbws-ew-title{
  margin:10px 0 18px;
  color:#043623;
}
.fbws-ew-reference-weblink .fbws-ew-text{margin-bottom:22px}
.fbws-ew-reference-weblink__media{
  min-height:380px;
  overflow:hidden;
}
.fbws-ew-reference-weblink__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:380px;
  object-fit:cover;
}

/* Compact project request module for the template/sidebar. */
.fbws-ew-reference-request{
  padding:30px;
  border-radius:30px;
  background:#043623;
  color:#fff;
}
.fbws-ew-reference-request .fbws-ew-kicker{color:#27EF6E}
.fbws-ew-reference-request .fbws-ew-title,
.fbws-ew-reference-request .fbws-ew-text,
.fbws-ew-reference-request .fbws-ew-text p{color:#fff}
.fbws-ew-reference-request .fbws-ew-title{margin-bottom:16px}
.fbws-ew-reference-request .fbws-ew-button{margin-top:8px}

/* Shared keyboard affordances without changing visual identity. */
.fbws-ew-reference-weblink .fbws-ew-button:focus-visible,
.fbws-ew-reference-request .fbws-ew-button:focus-visible,
.fbws-ew-link:focus-visible{
  outline:3px solid #27EF6E;
  outline-offset:3px;
}

@media(max-width:1024px){
  .fbws-ew-reference-components__grid{grid-template-columns:1fr 1fr}
  .fbws-ew-reference-weblink.has-image{grid-template-columns:1fr 1fr}
}

@media(max-width:767px){
  .fbws-ew-reference-quote,
  .fbws-ew-reference-quote.has-image{
    grid-template-columns:1fr;
    gap:22px;
    padding:28px 22px;
    border-radius:26px;
  }
  .fbws-ew-reference-quote__image{width:min(220px,100%)}
  .fbws-ew-reference-quote__mark{right:-10px;top:-32px;font-size:140px}
  .fbws-ew-reference-quote blockquote,
  .fbws-ew-reference-quote blockquote p{font-size:24px}

  .fbws-ew-reference-components,
  .fbws-ew-reference-video{padding:26px 22px;border-radius:26px}
  .fbws-ew-reference-components__grid{grid-template-columns:1fr}
  .fbws-ew-reference-component{grid-template-columns:1fr;border-radius:22px}
  .fbws-ew-reference-component__media{min-height:210px}
  .fbws-ew-reference-component__copy{padding:22px}

  .fbws-ew-reference-video video{width:100%;margin-top:20px;border-radius:22px}

  .fbws-ew-reference-weblink,
  .fbws-ew-reference-weblink.has-image{grid-template-columns:1fr;border-radius:26px}
  .fbws-ew-reference-weblink__copy{padding:30px 22px}
  .fbws-ew-reference-weblink__media{min-height:260px}
  .fbws-ew-reference-weblink__media img{min-height:260px}

  .fbws-ew-reference-request{padding:26px 22px;border-radius:26px}
}

@media(prefers-reduced-motion:reduce){
  .fbws-ew-link span{transition:none}
}

/* Existing dynamic reference widgets: small consistency polish only. */
.fbws-ew-ref-hero{border-radius:30px}
.fbws-ew-project-data{border-radius:30px;background:#F3F5F4}
.fbws-ew-download{border-radius:30px;background:#F3F5F4}
.fbws-ew-cta{overflow:hidden;border-radius:30px;background:#043623;color:#fff}
.fbws-ew-cta .fbws-ew-kicker{color:#27EF6E}
.fbws-ew-cta .fbws-ew-title,
.fbws-ew-cta .fbws-ew-text,
.fbws-ew-cta .fbws-ew-text p{color:#fff}
.fbws-ew-cta__image{align-self:stretch;overflow:hidden;border-radius:26px}
.fbws-ew-cta__image img{width:100%;height:100%;object-fit:cover}
@media(max-width:767px){
  .fbws-ew-ref-hero,.fbws-ew-project-data,.fbws-ew-download,.fbws-ew-cta{border-radius:26px}
}
.fbws-ew-ref-hero__domain{margin:0 0 16px;color:#fff;font-family:Rajdhani,Arial,sans-serif;font-size:16px;font-weight:600;line-height:1.25}

/* Beta 30 – editable FB reference widgets + locked CTA color logic. */
.fbws-ew-button-theme-red .fbws-ew-button,
.fbws-ew-button-theme-darkgreen .fbws-ew-button{
  min-height:52px;
  border:1px solid transparent;
  color:#fff;
}
.fbws-ew-button-theme-red .fbws-ew-button{
  border-color:#FF0000;
  background:#FF0000;
  color:#fff;
}
.fbws-ew-button-theme-red .fbws-ew-button:hover,
.fbws-ew-button-theme-red .fbws-ew-button:focus-visible{
  border-color:#043623;
  background:#043623;
  color:#fff;
}
.fbws-ew-button-theme-darkgreen .fbws-ew-button{
  border-color:#043623;
  background:#043623;
  color:#fff;
}
.fbws-ew-button-theme-darkgreen .fbws-ew-button:hover,
.fbws-ew-button-theme-darkgreen .fbws-ew-button:focus-visible{
  border-color:#FF0000;
  background:#FF0000;
  color:#fff;
}
.fbws-ew-button-theme-red .fbws-ew-button:focus-visible,
.fbws-ew-button-theme-darkgreen .fbws-ew-button:focus-visible{
  outline:3px solid #27EF6E;
  outline-offset:3px;
}

/* Keep all reference surfaces independently styleable in Elementor. */
.fbws-ew-facts-section,
.fbws-ew-project-data,
.fbws-ew-reference-overview,
.fbws-ew-people-section,
.fbws-ew-reference-quote,
.fbws-ew-reference-components,
.fbws-ew-reference-video,
.fbws-ew-reference-weblink,
.fbws-ew-reference-request,
.fbws-ew-download,
.fbws-ew-cta{
  box-sizing:border-box;
}

.fbws-ew-people-section{
  width:100%;
}
.fbws-ew-reference-overview{
  width:100%;
}
:where(.fbws-ew-reference-components) .fbws-ew-title,
:where(.fbws-ew-reference-video) .fbws-ew-title,
.fbws-ew-reference-quote .fbws-ew-title{
  margin-bottom:22px;
}
.fbws-ew-reference-video video{
  margin-left:auto;
  margin-right:auto;
}

/* Preserve FB typography defaults; Elementor controls can override every value. */
.fbws-ew-reference-component h3,
.fbws-ew-reference-component p,
.fbws-ew-reference-component .fbws-ew-link,
.fbws-ew-reference-quote blockquote,
.fbws-ew-reference-quote cite,
.fbws-ew-ref-hero__domain{
  font-synthesis:none;
}

@media(max-width:767px){
  .fbws-ew-button-theme-red .fbws-ew-button,
  .fbws-ew-button-theme-darkgreen .fbws-ew-button{
    min-height:48px;
  }
}

/* CTA fallback for older saved Elementor instances: red/white remains the FB default. */
:where(.fbws-ew-ref-hero) .fbws-ew-button,
:where(.fbws-ew-content) .fbws-ew-button,
:where(.fbws-ew-reference-weblink) .fbws-ew-button,
:where(.fbws-ew-reference-request) .fbws-ew-button,
:where(.fbws-ew-download) .fbws-ew-button,
:where(.fbws-ew-cta) .fbws-ew-button{
  min-height:52px;
  border:1px solid #FF0000;
  border-radius:var(--fbws-radius-small,14px);
  background:#FF0000;
  color:#fff;
}
:where(.fbws-ew-ref-hero) .fbws-ew-button:hover,
:where(.fbws-ew-content) .fbws-ew-button:hover,
:where(.fbws-ew-reference-weblink) .fbws-ew-button:hover,
:where(.fbws-ew-reference-request) .fbws-ew-button:hover,
:where(.fbws-ew-download) .fbws-ew-button:hover,
:where(.fbws-ew-cta) .fbws-ew-button:hover{
  border-color:#043623;
  background:#043623;
  color:#fff;
}
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-ref-hero) .fbws-ew-button,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-content) .fbws-ew-button,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-reference-weblink) .fbws-ew-button,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-reference-request) .fbws-ew-button,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-download) .fbws-ew-button,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-cta) .fbws-ew-button{
  border-color:#043623;
  background:#043623;
  color:#fff;
}
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-ref-hero) .fbws-ew-button:hover,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-content) .fbws-ew-button:hover,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-reference-weblink) .fbws-ew-button:hover,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-reference-request) .fbws-ew-button:hover,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-download) .fbws-ew-button:hover,
.fbws-ew-button-theme-darkgreen :where(.fbws-ew-cta) .fbws-ew-button:hover{
  border-color:#FF0000;
  background:#FF0000;
  color:#fff;
}

/* Beta 30 default polish: same FB language, clearer hierarchy and proportions. */
:where(.fbws-ew-ref-hero) .fbws-ew-kicker,
:where(.fbws-ew-facts-section) .fbws-ew-kicker,
:where(.fbws-ew-project-data) .fbws-ew-kicker,
:where(.fbws-ew-reference-overview) .fbws-ew-kicker,
:where(.fbws-ew-people-section) .fbws-ew-kicker,
:where(.fbws-ew-reference-components) .fbws-ew-kicker,
:where(.fbws-ew-reference-video) .fbws-ew-kicker,
:where(.fbws-ew-reference-weblink) .fbws-ew-kicker,
:where(.fbws-ew-reference-request) .fbws-ew-kicker,
:where(.fbws-ew-download) .fbws-ew-kicker,
:where(.fbws-ew-cta) .fbws-ew-kicker{
  font-size:14px;
  line-height:1.2;
  letter-spacing:.08em;
}

:where(.fbws-ew-ref-hero) .fbws-ew-title{
  max-width:13ch;
  font-size:clamp(42px,5vw,76px);
  line-height:.96;
  letter-spacing:-.035em;
}
:where(.fbws-ew-ref-hero) .fbws-ew-text{
  max-width:58ch;
  font-size:19px;
  line-height:1.48;
}

:where(.fbws-ew-facts-section) > .fbws-ew-title,
:where(.fbws-ew-reference-overview) > .fbws-ew-title,
:where(.fbws-ew-people-section) > .fbws-ew-title,
:where(.fbws-ew-reference-components) > .fbws-ew-title,
:where(.fbws-ew-reference-video) > .fbws-ew-title,
:where(.fbws-ew-download) .fbws-ew-title,
:where(.fbws-ew-cta) .fbws-ew-title{
  font-size:clamp(32px,3.4vw,54px);
  line-height:1;
  letter-spacing:-.025em;
}

:where(.fbws-ew-project-data) .fbws-ew-title,
:where(.fbws-ew-reference-request) .fbws-ew-title{
  font-size:clamp(28px,2.4vw,38px);
  line-height:1.03;
}

:where(.fbws-ew-project-data) .fbws-ew-data-row{
  align-items:baseline;
}
:where(.fbws-ew-project-data) .fbws-ew-data-row span{
  color:#647169;
  font-size:15px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}
:where(.fbws-ew-project-data) .fbws-ew-data-row strong{
  color:#043623;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:18px;
  font-weight:700;
}

:where(.fbws-ew-facts-section) .fbws-ew-facts{
  margin-top:28px;
}
.fbws-ew-fact strong{
  font-size:clamp(32px,3vw,48px);
}
.fbws-ew-fact span{
  font-size:16px;
  line-height:1.3;
}

:where(.fbws-ew-reference-overview) .fbws-ew-text,
:where(.fbws-ew-reference-weblink) .fbws-ew-text,
:where(.fbws-ew-reference-request) .fbws-ew-text,
:where(.fbws-ew-download) .fbws-ew-text,
:where(.fbws-ew-cta) .fbws-ew-text{
  font-size:18px;
  line-height:1.55;
}

@media(max-width:767px){
  :where(.fbws-ew-ref-hero) .fbws-ew-title{max-width:none;font-size:clamp(36px,11vw,48px)}
  :where(.fbws-ew-ref-hero) .fbws-ew-text{font-size:17px}
  :where(.fbws-ew-facts-section) > .fbws-ew-title,
  :where(.fbws-ew-reference-overview) > .fbws-ew-title,
  :where(.fbws-ew-people-section) > .fbws-ew-title,
  :where(.fbws-ew-reference-components) > .fbws-ew-title,
  :where(.fbws-ew-reference-video) > .fbws-ew-title,
  :where(.fbws-ew-download) .fbws-ew-title,
  :where(.fbws-ew-cta) .fbws-ew-title{font-size:clamp(30px,9vw,40px)}
}

/* ========================================================================
 * Beta 42 – Reference CI pass 1
 * Based on the existing FB page language: Montserrat headlines, Rajdhani
 * copy/kickers/buttons, generous rounded surfaces, no decorative guide lines.
 * All Elementor style controls remain able to override these defaults.
 * ====================================================================== */

/* Shared reference typography. */
.fbws-ew-ref-hero .fbws-ew-kicker,
.fbws-ew-facts-section .fbws-ew-kicker,
.fbws-ew-project-data .fbws-ew-kicker,
.fbws-ew-reference-overview .fbws-ew-kicker,
.fbws-ew-content .fbws-ew-kicker,
.fbws-ew-people-section .fbws-ew-kicker,
.fbws-ew-reference-quote .fbws-ew-kicker,
.fbws-ew-reference-components .fbws-ew-kicker,
.fbws-ew-reference-video .fbws-ew-kicker,
.fbws-ew-reference-weblink .fbws-ew-kicker,
.fbws-ew-reference-request .fbws-ew-kicker,
.fbws-ew-download .fbws-ew-kicker,
.fbws-ew-cta .fbws-ew-kicker{
  font-family:Rajdhani,Arial,sans-serif;
  font-weight:700;
  font-size:15px;
  line-height:1.15;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.fbws-ew-ref-hero .fbws-ew-title,
.fbws-ew-facts-section .fbws-ew-title,
.fbws-ew-project-data .fbws-ew-title,
.fbws-ew-reference-overview .fbws-ew-title,
.fbws-ew-content .fbws-ew-title,
.fbws-ew-people-section .fbws-ew-title,
.fbws-ew-reference-quote .fbws-ew-title,
.fbws-ew-reference-components .fbws-ew-title,
.fbws-ew-reference-video .fbws-ew-title,
.fbws-ew-reference-weblink .fbws-ew-title,
.fbws-ew-reference-request .fbws-ew-title,
.fbws-ew-download .fbws-ew-title,
.fbws-ew-cta .fbws-ew-title{
  font-family:Montserrat,Arial,sans-serif;
  font-weight:900;
  line-height:.98;
  letter-spacing:-.03em;
}

.fbws-ew-ref-hero .fbws-ew-text,
.fbws-ew-reference-overview .fbws-ew-text,
.fbws-ew-content .fbws-ew-text,
.fbws-ew-project-data,
.fbws-ew-facts-section,
.fbws-ew-people-section,
.fbws-ew-reference-quote,
.fbws-ew-reference-components,
.fbws-ew-reference-video,
.fbws-ew-reference-weblink,
.fbws-ew-reference-request,
.fbws-ew-download,
.fbws-ew-cta{
  font-family:Rajdhani,Arial,sans-serif;
}

/* Hero follows the visual logic of current FB product pages: image is the full
   surface, content is layered on top, no new decorative elements. */
.fbws-ew-ref-hero{
  position:relative;
  min-height:clamp(500px,48vw,650px);
  border-radius:42px;
  background:#043623;
  isolation:isolate;
}
.fbws-ew-ref-hero__media{
  position:absolute;
  inset:0;
  z-index:0;
  min-height:0;
  border-radius:inherit;
  overflow:hidden;
}
.fbws-ew-ref-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.fbws-ew-ref-hero__media:after{
  background:linear-gradient(90deg,rgba(4,54,35,.94) 0%,rgba(4,54,35,.80) 42%,rgba(4,54,35,.30) 72%,rgba(4,54,35,.16) 100%);
}
.fbws-ew-ref-hero__content{
  position:relative;
  z-index:2;
  flex:0 0 min(68%,880px);
  max-width:880px;
  min-height:inherit;
  padding:clamp(42px,5vw,76px);
}
.fbws-ew-ref-hero .fbws-ew-title{
  max-width:13ch;
  margin:12px 0 26px;
  color:#fff;
  font-size:clamp(48px,5.2vw,82px);
}
.fbws-ew-ref-hero .fbws-ew-text,
.fbws-ew-ref-hero .fbws-ew-text p{
  max-width:64ch;
  color:#fff;
  font-size:clamp(18px,1.35vw,22px);
  line-height:1.45;
}
.fbws-ew-ref-hero .fbws-ew-back,
.fbws-ew-ref-hero__domain{
  font-family:Rajdhani,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.04em;
}
.fbws-ew-ref-hero__logo img{
  max-width:170px;
  max-height:64px;
}

/* Open editorial sections. */
.fbws-ew-reference-overview{
  background:transparent;
  border-radius:0;
}
.fbws-ew-reference-overview > .fbws-ew-title{
  max-width:18ch;
  font-size:clamp(44px,5vw,78px);
}
.fbws-ew-reference-overview .fbws-ew-text,
.fbws-ew-reference-overview .fbws-ew-text p{
  color:#15372c;
  font-size:clamp(19px,1.4vw,23px);
  line-height:1.5;
}

/* Project facts and technical data: no guide lines or separators. */
.fbws-ew-project-data{
  padding:clamp(30px,3.5vw,48px);
  border-radius:42px;
  background:#f4f4f4;
}
.fbws-ew-project-data .fbws-ew-title{
  max-width:15ch;
  font-size:clamp(34px,3vw,52px);
}
.fbws-ew-project-data .fbws-ew-data-row{
  display:grid;
  grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);
  gap:18px;
  padding:9px 0;
  border:0;
}
.fbws-ew-project-data .fbws-ew-data-row span,
.fbws-ew-project-data .fbws-ew-data-row strong{
  font-family:Rajdhani,Arial,sans-serif;
}
.fbws-ew-project-data .fbws-ew-data-row span{
  color:#53665e;
  font-size:15px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.fbws-ew-project-data .fbws-ew-data-row strong{
  color:#043623;
  font-size:19px;
  font-weight:700;
  text-align:left;
}

.fbws-ew-facts-section{
  padding:clamp(40px,4.5vw,66px);
  border-radius:42px;
  background:#f4f4f4;
}
.fbws-ew-facts-section > .fbws-ew-title{
  max-width:16ch;
  font-size:clamp(44px,4.5vw,72px);
}
.fbws-ew-facts-section .fbws-ew-facts{
  grid-template-columns:repeat(var(--fbws-ew-facts-columns,4),minmax(0,1fr))!important;
  gap:var(--fbws-ew-facts-gap,clamp(20px,2.5vw,36px))!important;
  margin-top:34px;
}
.fbws-ew-facts-section .fbws-ew-fact,
.fbws-ew-facts-section .fbws-ew-facts--minimal .fbws-ew-fact,
.fbws-ew-facts-section .fbws-ew-facts--lines .fbws-ew-fact{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:var(--fbws-ew-fact-align,left)!important;
}
.fbws-ew-facts-section .fbws-ew-fact:before,
.fbws-ew-facts-section .fbws-ew-facts--lines .fbws-ew-fact:before{
  display:none;
  content:none;
}
.fbws-ew-facts-section .fbws-ew-fact strong{
  color:#043623;
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(38px,3.5vw,58px);
  font-weight:900;
  line-height:1;
}
.fbws-ew-facts-section .fbws-ew-fact span{
  color:#243c33;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:1.3;
}
.fbws-ew-facts-section .fbws-ew-fact:hover strong{
  transform:none;
  text-shadow:none;
}

/* Flexible content blocks stay open and image-led; no extra borders/lines. */
.fbws-ew-content-block{
  border:0;
  box-shadow:none;
}
.fbws-ew-content-block--theme-grey{
  background:#f4f4f4;
  border-radius:42px;
}
.fbws-ew-content-block--theme-dark{
  background:#043623;
  border-radius:42px;
}
.fbws-ew-content-block__copy{
  font-family:Rajdhani,Arial,sans-serif;
}
.fbws-ew-content-block .fbws-ew-title{
  font-size:clamp(38px,4vw,64px);
}
.fbws-ew-content-block .fbws-ew-text,
.fbws-ew-content-block .fbws-ew-text p{
  font-size:clamp(18px,1.3vw,21px);
  line-height:1.52;
}
.fbws-ew-content-image,
.fbws-ew-content-gallery,
.fbws-ew-content-video{
  border-radius:34px;
  overflow:hidden;
}
.fbws-ew-content-stats>div{
  padding-top:0;
  border-top:0;
}

/* Quote: existing dark-green surface, but without the decorative quote glyph. */
.fbws-ew-reference-quote{
  gap:clamp(28px,4vw,56px);
  padding:clamp(38px,5vw,70px);
  border-radius:42px;
  background:#043623;
}
.fbws-ew-reference-quote__mark{
  display:none;
}
.fbws-ew-reference-quote blockquote,
.fbws-ew-reference-quote blockquote p{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(30px,3.2vw,52px);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.025em;
}
.fbws-ew-reference-quote cite,
.fbws-ew-reference-quote cite strong,
.fbws-ew-reference-quote cite span{
  font-family:Rajdhani,Arial,sans-serif;
}
.fbws-ew-reference-quote__image{
  border-radius:34px;
}

/* Components: calm, open items inside one familiar light-grey surface. */
.fbws-ew-reference-components{
  padding:clamp(38px,4.5vw,66px);
  border-radius:42px;
  background:#f4f4f4;
}
.fbws-ew-reference-components > .fbws-ew-title{
  max-width:18ch;
  font-size:clamp(42px,4.2vw,66px);
}
.fbws-ew-reference-components__grid{
  gap:clamp(26px,3vw,44px);
  margin-top:34px;
}
.fbws-ew-reference-component{
  min-height:0;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.fbws-ew-reference-component__media{
  min-height:220px;
  border-radius:30px;
  overflow:hidden;
  background:transparent;
}
.fbws-ew-reference-component__copy{
  padding:22px 0 0;
}
.fbws-ew-reference-component h3{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(26px,2vw,34px);
  font-weight:900;
}
.fbws-ew-reference-component p{
  font-family:Rajdhani,Arial,sans-serif;
  font-size:18px;
  line-height:1.45;
}

/* Video and download use the same large rounded-surface logic as current pages. */
.fbws-ew-reference-video{
  padding:clamp(38px,4.5vw,66px);
  border-radius:42px;
  background:#f4f4f4;
}
.fbws-ew-reference-video > .fbws-ew-title{
  max-width:18ch;
  font-size:clamp(42px,4.2vw,66px);
}
.fbws-ew-reference-video video{
  width:100%;
  margin-top:28px;
  border-radius:34px;
}

.fbws-ew-download{
  border-radius:42px;
  background:#f4f4f4;
}
.fbws-ew-download .fbws-ew-title,
.fbws-ew-cta .fbws-ew-title,
.fbws-ew-reference-weblink .fbws-ew-title{
  font-size:clamp(38px,4vw,62px);
}

.fbws-ew-reference-weblink{
  border-radius:42px;
  background:#f4f4f4;
}
.fbws-ew-reference-weblink__media{
  border-radius:34px;
  overflow:hidden;
}

.fbws-ew-cta{
  border-radius:42px;
  background:#043623;
}
.fbws-ew-cta__image{
  border-radius:34px;
}

/* Reference CTA logic: existing red/white FB button. Hover stays in the red
   family and is expressed by movement/brightness rather than a new color. */
.fbws-ew-button-theme-red .fbws-ew-button,
:where(.fbws-ew-ref-hero) .fbws-ew-button,
:where(.fbws-ew-content) .fbws-ew-button,
:where(.fbws-ew-reference-weblink) .fbws-ew-button,
:where(.fbws-ew-reference-request) .fbws-ew-button,
:where(.fbws-ew-download) .fbws-ew-button,
:where(.fbws-ew-cta) .fbws-ew-button{
  min-height:50px;
  border:1px solid #ff0000;
  border-radius:14px;
  background:#ff0000;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.fbws-ew-button-theme-red .fbws-ew-button:hover,
.fbws-ew-button-theme-red .fbws-ew-button:focus-visible,
:where(.fbws-ew-ref-hero) .fbws-ew-button:hover,
:where(.fbws-ew-content) .fbws-ew-button:hover,
:where(.fbws-ew-reference-weblink) .fbws-ew-button:hover,
:where(.fbws-ew-reference-request) .fbws-ew-button:hover,
:where(.fbws-ew-download) .fbws-ew-button:hover,
:where(.fbws-ew-cta) .fbws-ew-button:hover{
  border-color:#df0000;
  background:#df0000;
  color:#fff;
  transform:translateY(-2px);
}
.fbws-ew-button-theme-darkgreen .fbws-ew-button{
  border-color:#043623;
  background:#043623;
  color:#fff;
}
.fbws-ew-button-theme-darkgreen .fbws-ew-button:hover,
.fbws-ew-button-theme-darkgreen .fbws-ew-button:focus-visible{
  border-color:#ff0000;
  background:#ff0000;
  color:#fff;
  transform:translateY(-2px);
}

@media(max-width:1024px){
  .fbws-ew-ref-hero__content{max-width:75%;}
  .fbws-ew-reference-component{grid-template-columns:1fr;}
}

@media(max-width:767px){
  .fbws-ew-ref-hero{
    min-height:560px;
    border-radius:30px;
  }
  .fbws-ew-ref-hero__media:after{
    background:linear-gradient(180deg,rgba(4,54,35,.62) 0%,rgba(4,54,35,.90) 58%,rgba(4,54,35,.96) 100%);
  }
  .fbws-ew-ref-hero__content{
    max-width:none;
    min-height:560px;
    justify-content:flex-end;
    padding:30px 24px;
  }
  .fbws-ew-ref-hero .fbws-ew-title{font-size:clamp(40px,12vw,56px);}
  .fbws-ew-ref-hero .fbws-ew-text,.fbws-ew-ref-hero .fbws-ew-text p{font-size:18px;}

  .fbws-ew-project-data,
  .fbws-ew-facts-section,
  .fbws-ew-reference-components,
  .fbws-ew-reference-video,
  .fbws-ew-reference-quote,
  .fbws-ew-download,
  .fbws-ew-reference-weblink,
  .fbws-ew-cta{border-radius:30px;}

  .fbws-ew-project-data .fbws-ew-data-row{grid-template-columns:1fr;gap:2px;padding:7px 0;}
  .fbws-ew-facts-section .fbws-ew-facts{grid-template-columns:repeat(var(--fbws-ew-facts-columns,2),minmax(0,1fr))!important;}
  .fbws-ew-reference-component__media,
  .fbws-ew-content-image,
  .fbws-ew-content-gallery,
  .fbws-ew-content-video,
  .fbws-ew-reference-video video,
  .fbws-ew-reference-weblink__media,
  .fbws-ew-cta__image{border-radius:24px;}
}

@media(max-width:480px){
  .fbws-ew-facts-section .fbws-ew-facts{grid-template-columns:repeat(var(--fbws-ew-facts-columns,1),minmax(0,1fr))!important;}
}

@media(prefers-reduced-motion:reduce){
  .fbws-ew-button{transition:none;}
  .fbws-ew-button:hover{transform:none;}
}

/* Beta 42 overview composition mirrors the existing FB split intro sections. */
.fbws-ew-reference-overview{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  column-gap:clamp(42px,6vw,92px);
  align-items:center;
  padding:clamp(42px,5vw,72px);
  border-radius:42px;
  background:#f4f4f4;
}
.fbws-ew-reference-overview>.fbws-ew-kicker{grid-column:1/-1;}
.fbws-ew-reference-overview>.fbws-ew-title{grid-column:1;align-self:start;margin-bottom:0;}
.fbws-ew-reference-overview>.fbws-ew-text{grid-column:2;align-self:center;}
@media(max-width:900px){
  .fbws-ew-reference-overview{grid-template-columns:1fr;row-gap:24px;}
  .fbws-ew-reference-overview>.fbws-ew-kicker,
  .fbws-ew-reference-overview>.fbws-ew-title,
  .fbws-ew-reference-overview>.fbws-ew-text{grid-column:1;}
}
@media(max-width:767px){
  .fbws-ew-reference-overview{padding:34px 24px;border-radius:30px;}
}

/* Project data uses the same open information-grid language without dividers. */
.fbws-ew-project-data{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:clamp(28px,3vw,50px);
  row-gap:18px;
}
.fbws-ew-project-data>.fbws-ew-kicker,
.fbws-ew-project-data>.fbws-ew-title{grid-column:1/-1;}
.fbws-ew-project-data .fbws-ew-data-row{
  display:block;
  min-width:0;
}
.fbws-ew-project-data .fbws-ew-data-row span,
.fbws-ew-project-data .fbws-ew-data-row strong{display:block;}
.fbws-ew-project-data .fbws-ew-data-row strong{margin-top:3px;}
@media(max-width:900px){.fbws-ew-project-data{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.fbws-ew-project-data{grid-template-columns:1fr;}}

/* ========================================================================
 * Beta 43 – reference editor + Elementor control reliability
 * Existing FB CI only. No new decorative lines/elements.
 * ====================================================================== */

/* Hero overlay is now a real layer, not a pseudo-element. */
.fbws-ew-ref-hero__media:after{display:none!important;content:none!important}
.fbws-ew-ref-hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:#043623;
  opacity:.72;
  border-radius:inherit;
}
.fbws-ew-ref-hero__content{z-index:2}

/* Media sizing/alignment from Elementor. */
.fbws-ew-media-align-left .fbws-ew-content-image,
.fbws-ew-media-align-left .fbws-ew-content-gallery,
.fbws-ew-media-align-left .fbws-ew-content-video{margin-right:auto}
.fbws-ew-media-align-center .fbws-ew-content-image,
.fbws-ew-media-align-center .fbws-ew-content-gallery,
.fbws-ew-media-align-center .fbws-ew-content-video{margin-left:auto;margin-right:auto}
.fbws-ew-media-align-right .fbws-ew-content-image,
.fbws-ew-media-align-right .fbws-ew-content-gallery,
.fbws-ew-media-align-right .fbws-ew-content-video{margin-left:auto}
.fbws-ew-content-image img,
.fbws-ew-content-gallery img{max-width:100%}

/* Typography follows the current FB site: Montserrat only for large headings,
   Rajdhani for copy, kickers, labels and quotes. */
.fbws-ew-reference-quote blockquote,
.fbws-ew-reference-quote blockquote p{
  font-family:Rajdhani,Arial,sans-serif;
  font-weight:600;
  letter-spacing:0;
}

/* Avoid hard-coded dimensions fighting Elementor controls. Defaults remain CI-like. */
.fbws-ew-reference-overview,
.fbws-ew-content-block,
.fbws-ew-facts-section,
.fbws-ew-project-data,
.fbws-ew-reference-quote,
.fbws-ew-reference-components,
.fbws-ew-reference-video,
.fbws-ew-reference-weblink,
.fbws-ew-reference-request,
.fbws-ew-download,
.fbws-ew-cta,
.fbws-ew-people-section{box-sizing:border-box}

/* No decorative guide lines in reference modules. */
.fbws-ew-facts-section .fbws-ew-fact:before,
.fbws-ew-facts-section .fbws-ew-facts--lines .fbws-ew-fact:before,
.fbws-ew-project-data .fbws-ew-data-row:before,
.fbws-ew-content-block:before{display:none!important;content:none!important}

@media(max-width:767px){
  .fbws-ew-content-image,
  .fbws-ew-content-gallery,
  .fbws-ew-content-video{width:100%;max-width:100%}
}

/* ========================================================================
 * Beta 43 – reference frontend refinement
 * Existing FB CI only. Controls in Elementor must always remain usable.
 * ====================================================================== */

/* Hero: real overlay sits inside the media layer. */
.fbws-ew-ref-hero__media{isolation:isolate}
.fbws-ew-ref-hero__media .fbws-ew-ref-hero__overlay{position:absolute;inset:0;z-index:1;border-radius:inherit;background:#043623;opacity:.72;pointer-events:none}
.fbws-ew-ref-hero__media img{position:relative;z-index:0}

/* More restrained defaults; Elementor controls can override them. */
.fbws-ew-ref-hero .fbws-ew-title{font-size:clamp(44px,4.4vw,72px)}
.fbws-ew-reference-overview>.fbws-ew-title{font-size:clamp(38px,3.8vw,60px)}
.fbws-ew-facts-section>.fbws-ew-title{font-size:clamp(38px,3.8vw,60px)}
.fbws-ew-project-data .fbws-ew-title{font-size:clamp(30px,2.6vw,44px)}
.fbws-ew-content-block .fbws-ew-title{font-size:clamp(34px,3.3vw,56px)}
.fbws-ew-reference-components>.fbws-ew-title,
.fbws-ew-reference-video>.fbws-ew-title,
.fbws-ew-download .fbws-ew-title,
.fbws-ew-cta .fbws-ew-title,
.fbws-ew-reference-weblink .fbws-ew-title{font-size:clamp(34px,3.4vw,56px)}

.fbws-ew-reference-overview,
.fbws-ew-project-data,
.fbws-ew-facts-section,
.fbws-ew-reference-quote,
.fbws-ew-reference-components,
.fbws-ew-reference-video,
.fbws-ew-reference-weblink,
.fbws-ew-reference-request,
.fbws-ew-download,
.fbws-ew-cta{border-radius:30px}

/* Flexible content blocks: size is controlled by the widget, not by legacy CSS. */
.fbws-ew-content{width:100%;margin-inline:auto}
.fbws-ew-content-block{width:100%;max-width:100%;box-sizing:border-box}
.fbws-ew-content-block--right,
.fbws-ew-content-block--left{justify-content:space-between}
.fbws-ew-content-block__copy{min-width:0}
.fbws-ew-content-image,
.fbws-ew-content-gallery,
.fbws-ew-content-video{min-width:0;box-sizing:border-box}
.fbws-ew-content-image img,
.fbws-ew-content-gallery img{display:block;max-width:100%;height:auto}
.fbws-ew-content-gallery{display:grid;gap:18px}

/* Project overview: simple FB split layout without decorative elements. */
.fbws-ew-reference-overview{column-gap:clamp(28px,4vw,64px);padding:clamp(34px,4vw,56px)}
.fbws-ew-reference-overview .fbws-ew-text,
.fbws-ew-reference-overview .fbws-ew-text p{font-family:Rajdhani,Arial,sans-serif;font-size:clamp(18px,1.2vw,21px);line-height:1.5}

/* Quote follows the site's body type logic: Rajdhani, not a new display style. */
.fbws-ew-reference-quote blockquote,
.fbws-ew-reference-quote blockquote p{font-family:Rajdhani,Arial,sans-serif;font-size:clamp(24px,2vw,34px);font-weight:600;line-height:1.3;letter-spacing:0}

/* CTA stays red/white and Rajdhani. */
.fbws-ew-button-theme-red .fbws-ew-button,
.fbws-ew-ref-hero .fbws-ew-button,
.fbws-ew-content .fbws-ew-button,
.fbws-ew-reference-weblink .fbws-ew-button,
.fbws-ew-reference-request .fbws-ew-button,
.fbws-ew-download .fbws-ew-button,
.fbws-ew-cta .fbws-ew-button{font-family:Rajdhani,Arial,sans-serif;letter-spacing:.05em;color:#fff;background:#f00;border-color:#f00}
.fbws-ew-button-theme-red .fbws-ew-button:hover,
.fbws-ew-ref-hero .fbws-ew-button:hover,
.fbws-ew-content .fbws-ew-button:hover,
.fbws-ew-reference-weblink .fbws-ew-button:hover,
.fbws-ew-reference-request .fbws-ew-button:hover,
.fbws-ew-download .fbws-ew-button:hover,
.fbws-ew-cta .fbws-ew-button:hover{color:#fff;background:#df0000;border-color:#df0000}

@media(max-width:767px){
  .fbws-ew-ref-hero .fbws-ew-title{font-size:clamp(36px,10vw,48px)}
  .fbws-ew-reference-overview>.fbws-ew-title,
  .fbws-ew-facts-section>.fbws-ew-title,
  .fbws-ew-content-block .fbws-ew-title,
  .fbws-ew-reference-components>.fbws-ew-title,
  .fbws-ew-reference-video>.fbws-ew-title,
  .fbws-ew-download .fbws-ew-title,
  .fbws-ew-cta .fbws-ew-title{font-size:clamp(30px,8vw,40px)}
  .fbws-ew-content-block--right,
  .fbws-ew-content-block--left{display:block}
  .fbws-ew-content-image,
  .fbws-ew-content-gallery,
  .fbws-ew-content-video{max-width:100%}
}

/* ========================================================================
 * Beta 44 – shared FB hero system
 * Same visual language for reference and standard pages: background image,
 * editable image overlay and one diagonal FB color surface. No embedded logo.
 * ====================================================================== */
.fbws-ew-hero{
  --fbws-hero-panel-width:62%;
  --fbws-hero-cut:80%;
  position:relative;
  display:block;
  width:100%;
  min-height:620px;
  overflow:hidden;
  border-radius:30px;
  background:#043623;
  isolation:isolate;
  box-sizing:border-box;
}
.fbws-ew-hero__media{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:inherit;
}
.fbws-ew-hero__media img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
}
.fbws-ew-hero__image-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:#043623;
  opacity:.24;
  pointer-events:none;
}
.fbws-ew-hero__panel{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  z-index:2;
  width:var(--fbws-hero-panel-width);
  background:#043623;
  opacity:.94;
  clip-path:polygon(0 0,var(--fbws-hero-cut) 0,100% 100%,0 100%);
  pointer-events:none;
}
.fbws-ew-hero-pos-right .fbws-ew-hero__panel{
  right:0;
  left:auto;
  clip-path:polygon(calc(100% - var(--fbws-hero-cut)) 0,100% 0,100% 100%,0 100%);
}
.fbws-ew-hero__content{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:calc(var(--fbws-hero-panel-width) - 5%);
  max-width:680px;
  min-height:inherit;
  padding:64px;
  box-sizing:border-box;
}
.fbws-ew-hero-pos-right .fbws-ew-hero__content{
  margin-left:auto;
}
.fbws-ew-hero .fbws-ew-back{
  align-self:flex-start;
  margin:0 0 24px;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}
.fbws-ew-hero .fbws-ew-kicker{
  margin:0 0 12px;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.fbws-ew-hero .fbws-ew-title{
  max-width:13ch;
  margin:0 0 24px;
  color:#fff;
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(44px,4.7vw,78px);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.03em;
}
.fbws-ew-hero .fbws-ew-title .fbws-ew-dot{color:#f00}
.fbws-ew-hero .fbws-ew-text,
.fbws-ew-hero .fbws-ew-text p{
  max-width:60ch;
  margin-top:0;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:clamp(18px,1.25vw,21px);
  font-weight:400;
  line-height:1.5;
}
.fbws-ew-hero .fbws-ew-text p:last-child{margin-bottom:0}
.fbws-ew-hero__domain{
  margin:16px 0 0;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-weight:600;
}
.fbws-ew-hero .fbws-ew-button{
  align-self:flex-start;
  margin-top:24px;
  border:1px solid #f00;
  border-radius:14px;
  background:#f00;
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
}
.fbws-ew-hero .fbws-ew-button:hover,
.fbws-ew-hero .fbws-ew-button:focus-visible{
  border-color:#df0000;
  background:#df0000;
  color:#fff;
}
/* Neutralize the old reference-hero layering. */
.fbws-ew-ref-hero.fbws-ew-hero{
  display:block;
  background:#043623;
}
.fbws-ew-ref-hero.fbws-ew-hero .fbws-ew-ref-hero__media{
  position:absolute;
  inset:0;
  min-height:0;
}
.fbws-ew-ref-hero.fbws-ew-hero .fbws-ew-ref-hero__content{
  position:relative;
  z-index:3;
  flex-basis:auto;
  min-height:inherit;
}
.fbws-ew-ref-hero.fbws-ew-hero .fbws-ew-title{
  max-width:13ch;
  margin:0 0 24px;
}

/* Flexible reference media defaults stay intentionally neutral so Elementor
   width/height controls can make images smaller or larger without a CSS fight. */
.fbws-ew-content-image img,
.fbws-ew-content-gallery img{
  width:auto;
  max-width:100%;
  height:auto;
}
.fbws-ew-content-image{
  display:flex;
  align-items:flex-start;
}
.fbws-ew-media-align-left .fbws-ew-content-image{justify-content:flex-start}
.fbws-ew-media-align-center .fbws-ew-content-image{justify-content:center}
.fbws-ew-media-align-right .fbws-ew-content-image{justify-content:flex-end}

@media(max-width:1024px){
  .fbws-ew-hero{--fbws-hero-panel-width:70%;}
  .fbws-ew-hero__content{width:64%;padding:48px;}
}
@media(max-width:767px){
  .fbws-ew-hero{
    --fbws-hero-panel-width:92%;
    min-height:520px;
    border-radius:26px;
  }
  .fbws-ew-hero__panel{width:92%;}
  .fbws-ew-hero__content{
    width:82%;
    max-width:none;
    padding:34px 26px;
  }
  .fbws-ew-hero .fbws-ew-title{font-size:clamp(36px,10vw,50px);}
  .fbws-ew-hero .fbws-ew-text,
  .fbws-ew-hero .fbws-ew-text p{font-size:18px;}
}


/* Beta 45: customer + FB project lead quotes. Same established quote component, optionally side by side. */
.fbws-ew-reference-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.fbws-ew-reference-quotes .fbws-ew-reference-quote{height:100%}
@media(max-width:1024px){.fbws-ew-reference-quotes{grid-template-columns:1fr}}


/* Beta 47 – reference quality pass */
/* Hero: explicit overlay layers only; two existing FB CTAs can sit next to each other. */
.fbws-ew-ref-hero__media:after{display:none!important;content:none!important}
.fbws-ew-hero__buttons{display:flex;align-items:center;flex-wrap:nowrap;gap:14px;margin-top:24px}
.fbws-ew-hero-buttons-wrap-yes .fbws-ew-hero__buttons{flex-wrap:wrap}
.fbws-ew-hero__buttons .fbws-ew-button{margin-top:0}
@media(max-width:767px){.fbws-ew-hero__buttons{width:100%;align-items:flex-start}.fbws-ew-hero__buttons .fbws-ew-button{max-width:100%}}

/* Quotes: when both voices exist they are a sequence, never two narrow cards side by side. */
.fbws-ew-reference-quotes{display:flex;flex-direction:column;grid-template-columns:none;gap:34px;align-items:stretch}
.fbws-ew-reference-quotes .fbws-ew-reference-quote{width:100%;height:auto;box-sizing:border-box}
.fbws-ew-reference-quotes--alternate .fbws-ew-reference-quote:nth-child(even).has-image{grid-template-columns:minmax(0,1fr) minmax(0,320px)}
.fbws-ew-reference-quotes--alternate .fbws-ew-reference-quote:nth-child(even).has-image .fbws-ew-reference-quote__image{order:2}

/* Technical data: same shapes/typography, more flexible compositions, no new guide lines. */
.fbws-ew-facts--cards .fbws-ew-fact{transition:background-color .2s ease,transform .2s ease}
.fbws-ew-facts--cards .fbws-ew-fact:hover{transform:translateY(-2px)}
.fbws-ew-facts--compact .fbws-ew-facts{display:grid}
.fbws-ew-facts--compact .fbws-ew-fact{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;min-height:0;padding:18px 20px;border:0;background:#fff;border-radius:18px;text-align:var(--fbws-ew-fact-align,left)!important}
.fbws-ew-facts--compact .fbws-ew-fact strong{font-size:clamp(28px,2.5vw,42px)}
.fbws-ew-facts--compact .fbws-ew-fact span{margin-top:0;text-align:var(--fbws-ew-fact-align,right)}
.fbws-ew-facts--compact .fbws-ew-fact:before{display:none!important;content:none!important}
@media(max-width:767px){.fbws-ew-facts--compact .fbws-ew-fact{align-items:flex-start;flex-direction:column}.fbws-ew-facts--compact .fbws-ew-fact span{text-align:var(--fbws-ew-fact-align,left)}}

/* Ansprechpartner: same FB card, alternate proportions. */
.fbws-ew-people-variant--compact .fbws-ew-person{display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);align-items:stretch;min-height:250px}
.fbws-ew-people-variant--compact .fbws-ew-person__portrait{height:100%;min-height:250px}
.fbws-ew-people-variant--compact .fbws-ew-person__content{justify-content:center}
.fbws-ew-people-variant--minimal .fbws-ew-person{display:flex;align-items:center;gap:22px;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.fbws-ew-people-variant--minimal .fbws-ew-person__portrait{flex:0 0 130px;width:130px;height:130px;min-height:0;border-radius:28px;overflow:hidden}
.fbws-ew-people-variant--minimal .fbws-ew-person__content{padding:0}
@media(max-width:767px){.fbws-ew-people-variant--compact .fbws-ew-person{grid-template-columns:1fr}.fbws-ew-people-variant--compact .fbws-ew-person__portrait{min-height:260px}.fbws-ew-people-variant--minimal .fbws-ew-person{align-items:flex-start}}

/* Download: optional multi-image preview, using only the existing rounded FB image language. */
.fbws-ew-download__gallery{flex:1 1 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.fbws-ew-download__gallery img{display:block;width:100%;height:auto;max-width:100%;background:transparent}
.fbws-ew-download-modal__success{padding-top:10px}
.fbws-ew-download-modal__success .fbws-ew-title{font-size:clamp(30px,3vw,46px)}

/* Beta 62 – one centrally positioned employee portrait across all reference widgets. */
.fbws-ew-reference-quote--fb.has-image.fbws-ew-reference-quote--central-person{
  overflow:visible;
}
.fbws-ew-reference-quote__image.fbws-central-portrait{
  position:relative;
  min-height:300px;
  aspect-ratio:1/1;
  overflow:visible;
  isolation:isolate;
}
.fbws-ew-reference-quote__image.fbws-central-portrait .fbws-central-portrait__image{
  position:absolute;
  z-index:2;
  left:var(--fbws-person-x,50%);
  top:var(--fbws-person-y,100%);
  display:block;
  width:var(--fbws-person-scale,118%);
  max-width:none;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  transform:translate(-50%,-100%) translateY(var(--fbws-person-offset,20px));
}
@media(max-width:1024px){
  .fbws-ew-reference-quote__image.fbws-central-portrait .fbws-central-portrait__image{
    left:var(--fbws-person-x-tablet,var(--fbws-person-x,50%));
    top:var(--fbws-person-y-tablet,var(--fbws-person-y,100%));
    width:var(--fbws-person-scale-tablet,var(--fbws-person-scale,116%));
    transform:translate(-50%,-100%) translateY(var(--fbws-person-offset-tablet,var(--fbws-person-offset,20px)));
  }
}
@media(max-width:767px){
  .fbws-ew-reference-quote__image.fbws-central-portrait{
    min-height:260px;
  }
  .fbws-ew-reference-quote__image.fbws-central-portrait .fbws-central-portrait__image{
    left:var(--fbws-person-x-mobile,var(--fbws-person-x-tablet,var(--fbws-person-x,50%)));
    top:var(--fbws-person-y-mobile,var(--fbws-person-y-tablet,var(--fbws-person-y,100%)));
    width:var(--fbws-person-scale-mobile,var(--fbws-person-scale-tablet,var(--fbws-person-scale,112%)));
    transform:translate(-50%,-100%) translateY(var(--fbws-person-offset-mobile,var(--fbws-person-offset-tablet,var(--fbws-person-offset,20px))));
  }
}
