.elementor-243 .elementor-element.elementor-element-8791557{--display:flex;}.elementor-243 .elementor-element.elementor-element-229e699{width:100%;max-width:100%;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-229e699 */:root{
  --efy-bg:#eef7f6;
  --efy-bg2:#f7fbfb;
  --efy-card:#ffffff;
  --efy-glass:rgba(255,255,255,.76);
  --efy-text:#082a32;
  --efy-muted:#627b82;
  --efy-line:rgba(8,42,50,.12);
  --efy-main:#12a99a;
  --efy-main2:#0d8f86;
  --efy-soft:rgba(18,169,154,.13);
  --efy-dark:#071016;
  --efy-shadow:0 28px 80px rgba(8,42,50,.12);
  --efy-shadow2:0 18px 48px rgba(8,42,50,.10);
}

html[data-theme="dark"]{
  --efy-bg:#071016;
  --efy-bg2:#0b1b23;
  --efy-card:#102832;
  --efy-glass:rgba(16,40,50,.74);
  --efy-text:#f2ffff;
  --efy-muted:rgba(242,255,255,.72);
  --efy-line:rgba(255,255,255,.13);
  --efy-main:#2dd4bf;
  --efy-main2:#14b8a6;
  --efy-soft:rgba(45,212,191,.15);
  --efy-shadow:0 30px 90px rgba(0,0,0,.38);
  --efy-shadow2:0 18px 50px rgba(0,0,0,.28);
}

body{
  overflow-x:hidden !important;
}

.efy-onepager,
.efy-onepager *{
  box-sizing:border-box;
}

.efy-onepager{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:hidden;
  color:var(--efy-text);
  background:
    radial-gradient(circle at 12% 4%, rgba(18,169,154,.16), transparent 28%),
    radial-gradient(circle at 90% 18%, rgba(18,169,154,.12), transparent 26%),
    linear-gradient(180deg,var(--efy-bg2),var(--efy-bg));
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.efy-onepager a{
  text-decoration:none !important;
}

.efy-container{
  width:min(1220px, calc(100% - 36px));
  margin:0 auto;
}

/* Elementor full-width fix */
.elementor-widget-html:has(.efy-onepager),
.elementor-widget-html:has(.efy-onepager) .elementor-widget-container,
.elementor-element:has(.efy-onepager),
.e-con:has(.efy-onepager),
.e-container:has(.efy-onepager),
.elementor-section:has(.efy-onepager),
.elementor-container:has(.efy-onepager){
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* HERO */

.efy-hero{
  position:relative;
  min-height:calc(100vh - 20px);
  padding:96px 0 62px;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.efy-hero-grid{
  position:absolute;
  inset:0;
  opacity:.56;
  background-image:
    linear-gradient(var(--efy-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--efy-line) 1px, transparent 1px);
  background-size:78px 78px;
  mask-image:linear-gradient(to bottom, transparent, #000 18%, #000 72%, transparent);
}

.efy-hero-inner{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:58px;
  align-items:center;
}

.efy-pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:fit-content;
  padding:9px 13px;
  border-radius:999px;
  background:var(--efy-soft);
  color:var(--efy-main2);
  font-size:13px;
  line-height:1;
  font-weight:950;
}

.efy-pill span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 6px rgba(18,169,154,.11);
}

.efy-pill b{
  font:inherit;
}

.efy-hero-copy h1{
  margin:22px 0 0;
  color:var(--efy-text);
  font-size:clamp(56px,7.5vw,104px);
  line-height:.91;
  letter-spacing:-.08em;
  font-weight:950;
}

.efy-hero-copy p{
  max-width:610px;
  margin:24px 0 0;
  color:var(--efy-muted);
  font-size:18px;
  line-height:1.65;
  font-weight:760;
}

.efy-hero-actions{
  margin-top:30px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.efy-btn{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  padding:0 24px;
  border:1px solid transparent;
  font-size:15px;
  font-weight:950;
  line-height:1;
  transition:.22s ease;
  cursor:pointer;
}

.efy-btn:hover{
  transform:translateY(-2px);
}

.efy-btn-main{
  color:#fff !important;
  background:linear-gradient(135deg,var(--efy-main),var(--efy-main2));
  box-shadow:0 20px 42px rgba(18,169,154,.28);
}

.efy-btn-light{
  color:var(--efy-text) !important;
  background:var(--efy-glass);
  border-color:var(--efy-line);
  box-shadow:var(--efy-shadow2);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.efy-hero-facts{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:660px;
}

.efy-hero-facts div{
  padding:18px;
  border-radius:22px;
  background:var(--efy-glass);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow2);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.efy-hero-facts strong{
  display:block;
  color:var(--efy-text);
  font-size:28px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.05em;
}

.efy-hero-facts span{
  display:block;
  margin-top:8px;
  color:var(--efy-muted);
  font-size:12px;
  line-height:1.25;
  font-weight:850;
  text-transform:uppercase;
}

.efy-hero-card{
  position:relative;
  padding:14px;
  border-radius:44px;
  background:var(--efy-glass);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.efy-hero-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:46px;
  background:linear-gradient(135deg, rgba(18,169,154,.6), transparent 36%, rgba(18,169,154,.22));
  z-index:-1;
  opacity:.55;
}

.efy-hero-card img{
  width:100%;
  height:600px;
  object-fit:cover;
  display:block;
  border-radius:34px;
}

.efy-live-card,
.efy-price-card{
  position:absolute;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(8,42,50,.12);
  box-shadow:0 20px 50px rgba(8,42,50,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

html[data-theme="dark"] .efy-live-card,
html[data-theme="dark"] .efy-price-card{
  background:rgba(16,40,50,.88);
  border-color:rgba(255,255,255,.14);
}

.efy-live-card{
  left:-28px;
  bottom:54px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border-radius:22px;
}

.efy-live-card > span{
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--efy-main);
  box-shadow:0 0 0 8px rgba(18,169,154,.14);
}

.efy-live-card strong{
  display:block;
  color:var(--efy-text);
  font-size:15px;
  font-weight:950;
}

.efy-live-card small{
  display:block;
  margin-top:4px;
  color:var(--efy-muted);
  font-size:12px;
  font-weight:800;
}

.efy-price-card{
  right:-18px;
  top:58px;
  min-width:124px;
  padding:18px;
  border-radius:24px;
  text-align:center;
}

.efy-price-card strong{
  display:block;
  color:var(--efy-main2);
  font-size:34px;
  font-weight:950;
  letter-spacing:-.06em;
}

.efy-price-card span{
  color:var(--efy-muted);
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
}

/* FLOATING */

.efy-float-layer{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
}

.efy-float{
  position:absolute;
  opacity:.62;
  filter:drop-shadow(0 18px 34px rgba(8,42,50,.14));
  animation:efyFloat 8s ease-in-out infinite;
}

.efy-float-box{
  width:54px;
  height:46px;
  border-radius:10px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.5), transparent 45%),
    linear-gradient(180deg, #c9944c, #9e6a32);
  border:2px solid rgba(88,54,22,.18);
}

.efy-float-box::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:2px;
  height:100%;
  background:rgba(255,255,255,.28);
}

.efy-float-box::after{
  content:"";
  position:absolute;
  left:0;
  top:13px;
  width:100%;
  height:2px;
  background:rgba(255,255,255,.26);
}

.efy-float-bag{
  width:46px;
  height:56px;
  border-radius:22px 22px 18px 18px;
  background:linear-gradient(180deg, #17242b, #0b1116);
}

.efy-float-bag::before{
  content:"";
  position:absolute;
  left:13px;
  top:-8px;
  width:20px;
  height:16px;
  border:4px solid #17242b;
  border-bottom:0;
  border-radius:999px 999px 0 0;
}

.efy-float-paper{
  width:46px;
  height:58px;
  border-radius:8px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(8,42,50,.12);
  transform:rotate(10deg);
}

.efy-float-dot{
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--efy-main);
  box-shadow:0 0 0 14px rgba(18,169,154,.11);
}

.efy-float-a{ left:6%; top:22%; animation-delay:.2s; }
.efy-float-b{ left:84%; top:17%; animation-delay:1.4s; }
.efy-float-c{ left:12%; top:77%; animation-delay:1.1s; }
.efy-float-d{ left:45%; top:11%; animation-delay:3s; }
.efy-float-e{ left:77%; top:76%; animation-delay:2.2s; }
.efy-float-f{ left:54%; top:84%; animation-delay:2.8s; }

@keyframes efyFloat{
  0%,100%{ transform:translate3d(0,0,0) rotate(-4deg); }
  50%{ transform:translate3d(18px,-24px,0) rotate(7deg); }
}

/* STRIP */

.efy-strip{
  padding:18px 0;
  background:linear-gradient(135deg,var(--efy-main),var(--efy-main2));
}

.efy-strip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.efy-strip-grid div{
  min-height:82px;
  border-radius:24px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px 18px;
  color:#fff;
}

.efy-strip-grid strong{
  font-size:26px;
  line-height:1;
  font-weight:950;
}

.efy-strip-grid span{
  margin-top:8px;
  font-size:14px;
  font-weight:900;
}

/* GENERAL */

.efy-section{
  padding:88px 0;
}

.efy-section-head{
  margin-bottom:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:48px;
  align-items:end;
}

.efy-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

.efy-section-head h2,
.efy-why-copy h2,
.efy-local-card h2,
.efy-contact-copy h2,
.efy-messie-copy h2{
  margin:18px 0 0;
  color:var(--efy-text);
  font-size:clamp(42px,5vw,70px);
  line-height:1;
  letter-spacing:-.07em;
  font-weight:950;
}

.efy-section-head p,
.efy-why-copy p,
.efy-local-card p,
.efy-contact-copy p,
.efy-messie-copy p{
  margin:22px 0 0;
  color:var(--efy-muted);
  font-size:17px;
  line-height:1.7;
  font-weight:760;
}

/* SERVICES */

.efy-services{
  padding-bottom:72px;
}

.efy-service-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.efy-service-grid-six{
  grid-template-columns:repeat(3,1fr);
}

.efy-service-card{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  min-height:285px;
  padding:28px 22px;
  border-radius:32px;
  background:var(--efy-card);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow2);
}

.efy-service-card.is-visible,
.efy-why-list article.is-visible,
.efy-why-panel.is-visible,
.efy-local-card.is-visible,
.efy-timeline article.is-visible,
.efy-group-card.is-visible,
.efy-form-card.is-visible,
.efy-messie-card.is-visible,
.efy-gallery-slider.is-visible{
  opacity:1;
  transform:translateY(0);
}

.efy-icon{
  width:62px;
  height:62px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:var(--efy-soft);
  color:var(--efy-main2);
  margin-bottom:42px;
}

.efy-icon svg{
  width:38px;
  height:38px;
}

.efy-icon-plus svg{
  width:42px;
  height:42px;
}

.efy-service-card h3,
.efy-why-list strong,
.efy-timeline h3{
  margin:0;
  color:var(--efy-text);
  font-size:23px;
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:950;
}

.efy-service-card p,
.efy-timeline p{
  margin:16px 0 0;
  color:var(--efy-muted);
  font-size:15px;
  line-height:1.6;
  font-weight:760;
}

/* CONTACT */

.efy-contact{
  padding-top:72px;
  padding-bottom:92px;
  background:linear-gradient(180deg, rgba(18,169,154,.06), transparent);
}

.efy-contact-grid,
.efy-why-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:54px;
  align-items:center;
}

.efy-contact-info{
  margin-top:30px;
  display:grid;
  gap:16px;
}

.efy-contact-info a{
  display:block;
  padding:22px;
  border-radius:24px;
  background:var(--efy-glass);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow2);
  color:var(--efy-text) !important;
}

.efy-contact-info strong{
  display:block;
  font-size:15px;
  font-weight:950;
}

.efy-contact-info span{
  display:block;
  margin-top:8px;
  color:var(--efy-muted);
  font-size:16px;
  font-weight:850;
  overflow-wrap:anywhere;
}

.efy-form-card{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  padding:34px;
  border-radius:38px;
  background:var(--efy-card);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow);
}

.efy-form-progress{
  height:10px;
  border-radius:999px;
  background:var(--efy-soft);
  margin-bottom:28px;
  overflow:hidden;
}

.efy-form-progress span{
  display:block;
  width:100%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(135deg,var(--efy-main),var(--efy-main2));
}

.efy-form h3,
.efy-thanks h3{
  margin:0;
  color:var(--efy-text);
  font-size:38px;
  line-height:1;
  letter-spacing:-.06em;
  font-weight:950;
}

.efy-form > p,
.efy-thanks p{
  margin:12px 0 24px;
  color:var(--efy-muted);
  font-size:15px;
  line-height:1.6;
  font-weight:760;
}

.efy-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.efy-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.efy-form label span{
  color:var(--efy-text);
  font-size:13px;
  font-weight:950;
}

.efy-form input,
.efy-form select,
.efy-form textarea{
  width:100%;
  min-height:54px;
  border-radius:18px;
  border:1px solid var(--efy-line);
  background:linear-gradient(180deg,var(--efy-bg2),var(--efy-bg));
  color:var(--efy-text);
  padding:0 16px;
  font-size:15px;
  font-weight:750;
  outline:none;
  transition:.18s ease;
}

.efy-form textarea{
  min-height:140px;
  padding:16px;
  resize:vertical;
}

.efy-form input:focus,
.efy-form select:focus,
.efy-form textarea:focus{
  border-color:rgba(18,169,154,.55);
  box-shadow:0 0 0 4px rgba(18,169,154,.14);
}

.efy-full{
  margin-top:16px;
}

.efy-submit-btn{
  margin-top:20px;
  width:100%;
  border:0;
}

.efy-submit-btn:disabled{
  opacity:.65;
  cursor:not-allowed;
}

.efy-thanks{
  min-height:480px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.efy-thanks-icon{
  width:78px;
  height:78px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  background:linear-gradient(135deg,var(--efy-main),var(--efy-main2));
  color:#fff;
  font-size:38px;
  font-weight:950;
}

/* GALLERY */

.efy-gallery-slider-section{
  padding-top:20px;
  padding-bottom:88px;
  background:
    radial-gradient(circle at 50% 0%, rgba(18,169,154,.10), transparent 34%),
    linear-gradient(180deg, transparent, rgba(18,169,154,.05));
}

.efy-gallery-slider{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  position:relative;
  width:100%;
  margin:0 auto;
  padding:18px;
  border-radius:42px;
  background:var(--efy-card);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow);
  overflow:hidden;
}

.efy-gallery-track-wrap{
  width:100%;
  overflow:hidden;
  border-radius:30px;
}

.efy-gallery-track{
  display:flex;
  width:100%;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.efy-gallery-slide{
  flex:0 0 100%;
  width:100%;
  margin:0;
  position:relative;
}

.efy-gallery-slide img{
  display:block;
  width:100%;
  height:clamp(360px, 52vw, 720px);
  object-fit:cover;
  object-position:center;
  border-radius:30px;
}

.efy-gallery-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  transform:translateY(-50%);
  width:62px;
  height:62px;
  border-radius:999px;
  border:1px solid var(--efy-line);
  background:var(--efy-glass);
  color:var(--efy-text);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--efy-shadow2);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:.2s ease;
}

.efy-gallery-arrow:hover{
  transform:translateY(-50%) scale(1.04);
  background:var(--efy-soft);
  color:var(--efy-main2);
}

.efy-gallery-prev{
  left:34px;
}

.efy-gallery-next{
  right:34px;
}

.efy-gallery-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:18px;
}

.efy-gallery-dots button{
  width:11px;
  height:11px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(18,169,154,.24);
  cursor:pointer;
  transition:.2s ease;
}

.efy-gallery-dots button.is-active{
  width:28px;
  background:var(--efy-main2);
}

/* MESSIE */

.efy-messie{
  padding-top:20px;
  padding-bottom:76px;
}

.efy-messie-card{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:42px;
  align-items:center;
  padding:54px;
  border-radius:42px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(18,169,154,.24), transparent 28%),
    linear-gradient(135deg,var(--efy-card),var(--efy-bg2));
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow);
}

.efy-messie-points{
  margin:30px 0 30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.efy-messie-points div{
  padding:18px;
  border-radius:22px;
  background:var(--efy-glass);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow2);
}

.efy-messie-points strong{
  display:block;
  color:var(--efy-text);
  font-size:16px;
  font-weight:950;
  line-height:1.15;
}

.efy-messie-points span{
  display:block;
  margin-top:8px;
  color:var(--efy-muted);
  font-size:13px;
  font-weight:780;
  line-height:1.45;
}

.efy-messie-visual{
  min-height:420px;
  position:relative;
  border-radius:34px;
  background:
    linear-gradient(135deg,rgba(18,169,154,.18),transparent),
    var(--efy-soft);
  border:1px solid var(--efy-line);
  overflow:hidden;
}

.efy-messie-stack{
  position:absolute;
  inset:0;
}

.efy-stack-box,
.efy-stack-bag,
.efy-stack-paper,
.efy-stack-spark{
  position:absolute;
  display:block;
  filter:drop-shadow(0 20px 34px rgba(8,42,50,.16));
}

.efy-stack-box{
  width:160px;
  height:120px;
  left:20%;
  top:38%;
  border-radius:22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.5), transparent 45%),
    linear-gradient(180deg, #c9944c, #9e6a32);
  animation:efyStackFloat 7s ease-in-out infinite;
}

.efy-stack-bag{
  width:118px;
  height:148px;
  right:18%;
  top:24%;
  border-radius:48px 48px 34px 34px;
  background:linear-gradient(180deg,#17242b,#0b1116);
  animation:efyStackFloat 8s ease-in-out infinite .8s;
}

.efy-stack-paper{
  width:110px;
  height:140px;
  left:47%;
  bottom:14%;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(8,42,50,.12);
  transform:rotate(12deg);
  animation:efyStackFloat 6.5s ease-in-out infinite 1.4s;
}

.efy-stack-spark{
  width:78px;
  height:78px;
  right:12%;
  bottom:18%;
  border-radius:50%;
  background:var(--efy-main);
  box-shadow:0 0 0 20px rgba(18,169,154,.13);
  animation:efyPulse 2.4s ease-in-out infinite;
}

@keyframes efyStackFloat{
  0%,100%{ transform:translateY(0) rotate(-2deg); }
  50%{ transform:translateY(-18px) rotate(4deg); }
}

@keyframes efyPulse{
  0%,100%{ transform:scale(.92); opacity:.8; }
  50%{ transform:scale(1.06); opacity:1; }
}

/* WHY */

.efy-why{
  background:transparent;
}

.efy-why-list{
  margin-top:34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.efy-why-list article{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  padding:22px;
  border-radius:24px;
  background:var(--efy-glass);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow2);
}

.efy-why-list span{
  display:block;
  margin-top:10px;
  color:var(--efy-muted);
  font-size:14px;
  line-height:1.5;
  font-weight:760;
}

.efy-why-panel{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  padding:42px;
  border-radius:38px;
  background:var(--efy-card);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow);
}

.efy-panel-number{
  color:var(--efy-main2);
  font-size:92px;
  line-height:.9;
  letter-spacing:-.08em;
  font-weight:950;
}

.efy-why-panel h3{
  margin:24px 0 0;
  color:var(--efy-text);
  font-size:32px;
  line-height:1.05;
  letter-spacing:-.05em;
  font-weight:950;
}

.efy-why-panel p{
  margin:18px 0 28px;
  color:var(--efy-muted);
  font-size:16px;
  line-height:1.7;
  font-weight:760;
}

/* LOCAL */

.efy-local-card{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:42px;
  align-items:center;
  padding:54px;
  border-radius:42px;
  background:var(--efy-card);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow);
}

.efy-city-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}

.efy-city-cloud span{
  padding:13px 17px;
  border-radius:999px;
  background:var(--efy-soft);
  color:var(--efy-main2);
  font-size:14px;
  font-weight:950;
}

/* TIMELINE */

.efy-timeline-section{
  background:var(--efy-card);
}

.efy-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.efy-timeline article{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  min-height:250px;
  padding:30px 24px;
  border-radius:30px;
  background:linear-gradient(180deg,var(--efy-bg2),var(--efy-bg));
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow2);
}

.efy-timeline article strong{
  display:block;
  margin-bottom:44px;
  color:var(--efy-main2);
  font-size:42px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.06em;
}

/* REVIEWS */

.efy-google-box{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:26px;
  border-radius:34px;
  background:var(--efy-glass);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow2);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

/* GROUP */

.efy-group{
  background:linear-gradient(180deg, rgba(18,169,154,.06), transparent);
}

.efy-group-card{
  opacity:0;
  transform:translateY(18px);
  transition:.5s ease;
  display:grid;
  grid-template-columns:.9fr 1.5fr .9fr;
  gap:30px;
  align-items:center;
  padding:44px;
  border-radius:42px;
  background:var(--efy-card);
  border:1px solid var(--efy-line);
  box-shadow:var(--efy-shadow);
}

.efy-group-logo{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  border-radius:30px;
  background:linear-gradient(180deg,var(--efy-bg2),var(--efy-bg));
  border:1px solid var(--efy-line);
  transition:.22s ease;
}

.efy-group-logo:hover{
  transform:translateY(-4px);
  box-shadow:var(--efy-shadow2);
}

.efy-group-logo img{
  max-width:100%;
  max-height:110px;
  object-fit:contain;
  display:block;
}

.efy-group-logo-wide img{
  max-height:90px;
}

/* RESPONSIVE */

@media(max-width:1100px){
  .efy-hero-inner,
  .efy-contact-grid,
  .efy-why-grid,
  .efy-local-card,
  .efy-messie-card{
    grid-template-columns:1fr;
  }

  .efy-hero-visual{
    order:-1;
  }

  .efy-hero-card img{
    height:500px;
  }

  .efy-strip-grid,
  .efy-service-grid,
  .efy-service-grid-six,
  .efy-timeline,
  .efy-group-card{
    grid-template-columns:1fr 1fr;
  }

  .efy-section-head{
    grid-template-columns:1fr;
  }

  .efy-city-cloud{
    justify-content:flex-start;
  }

  .efy-group-logo-wide{
    grid-column:1 / -1;
    order:-1;
  }
}

@media(max-width:760px){
  .efy-container{
    width:min(100% - 28px,1220px);
  }

  .efy-hero{
    min-height:auto;
    padding:42px 0 38px;
  }

  .efy-hero-inner{
    gap:26px;
  }

  .efy-hero-copy h1{
    margin-top:16px;
    font-size:clamp(42px,13vw,60px);
    line-height:.94;
  }

  .efy-hero-copy p{
    margin-top:16px;
    font-size:14.5px;
    line-height:1.55;
  }

  .efy-hero-actions{
    margin-top:20px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .efy-btn{
    width:100%;
    min-height:48px;
    font-size:14px;
  }

  .efy-hero-card{
    padding:10px;
    border-radius:28px;
  }

  .efy-hero-card img{
    height:270px;
    border-radius:20px;
  }

  .efy-live-card{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:10px;
    padding:12px 14px;
    border-radius:18px;
  }

  .efy-price-card{
    right:10px;
    top:10px;
    min-width:96px;
    padding:12px;
    border-radius:18px;
  }

  .efy-price-card strong{
    font-size:26px;
  }

  .efy-price-card span{
    font-size:10px;
  }

  .efy-section{
    padding:54px 0;
  }

  .efy-services{
    padding-bottom:42px;
  }

  .efy-contact{
    padding-top:42px;
    padding-bottom:64px;
  }

  .efy-section-head{
    margin-bottom:28px;
    gap:18px;
  }

  .efy-section-head h2,
  .efy-why-copy h2,
  .efy-local-card h2,
  .efy-contact-copy h2,
  .efy-messie-copy h2{
    font-size:clamp(32px,10vw,44px);
    line-height:1.02;
  }

  .efy-section-head p,
  .efy-why-copy p,
  .efy-local-card p,
  .efy-contact-copy p,
  .efy-messie-copy p{
    margin-top:14px;
    font-size:14.5px;
    line-height:1.55;
  }

  .efy-pill{
    padding:8px 11px;
    font-size:12px;
  }

  .efy-service-grid,
  .efy-service-grid-six,
  .efy-why-list,
  .efy-timeline,
  .efy-group-card,
  .efy-form-grid,
  .efy-messie-points{
    grid-template-columns:1fr;
  }

  .efy-service-card{
    min-height:auto;
    padding:22px;
    border-radius:24px;
  }

  .efy-icon{
    width:52px;
    height:52px;
    border-radius:18px;
    margin-bottom:26px;
  }

  .efy-icon svg{
    width:32px;
    height:32px;
  }

  .efy-service-card h3,
  .efy-why-list strong,
  .efy-timeline h3{
    font-size:20px;
  }

  .efy-service-card p,
  .efy-timeline p{
    margin-top:10px;
    font-size:14px;
  }

  .efy-contact-grid{
    gap:26px;
  }

  .efy-contact-info{
    margin-top:20px;
    grid-template-columns:1fr;
    gap:10px;
  }

  .efy-contact-info a{
    padding:16px;
    border-radius:20px;
  }

  .efy-form-card{
    padding:22px;
    border-radius:28px;
  }

  .efy-form-progress{
    height:8px;
    margin-bottom:20px;
  }

  .efy-form h3,
  .efy-thanks h3{
    font-size:30px;
  }

  .efy-form input,
  .efy-form select,
  .efy-form textarea{
    min-height:48px;
    border-radius:16px;
    font-size:14px;
  }

  .efy-form textarea{
    min-height:110px;
  }

  .efy-gallery-slider-section{
    padding-top:10px;
    padding-bottom:54px;
  }

  .efy-gallery-slider{
    padding:10px;
    border-radius:28px;
  }

  .efy-gallery-track-wrap{
    border-radius:20px;
  }

  .efy-gallery-slide img{
    height:310px;
    border-radius:20px;
  }

  .efy-gallery-arrow{
    width:48px;
    height:48px;
    font-size:32px;
  }

  .efy-gallery-prev{
    left:18px;
  }

  .efy-gallery-next{
    right:18px;
  }

  .efy-messie-card{
    padding:24px;
    border-radius:30px;
    gap:24px;
  }

  .efy-messie-visual{
    min-height:230px;
    border-radius:24px;
  }

  .efy-stack-box{
    width:110px;
    height:84px;
  }

  .efy-stack-bag{
    width:80px;
    height:104px;
  }

  .efy-stack-paper{
    width:76px;
    height:96px;
  }

  .efy-stack-spark{
    width:48px;
    height:48px;
  }

  .efy-local-card,
  .efy-group-card{
    padding:24px;
    border-radius:28px;
  }

  .efy-timeline article{
    min-height:auto;
    padding:22px;
    border-radius:24px;
  }

  .efy-timeline article strong{
    margin-bottom:24px;
    font-size:34px;
  }

  .efy-google-box{
    padding:14px;
    border-radius:24px;
  }

  .efy-group-logo{
    min-height:120px;
    border-radius:22px;
    padding:18px;
  }

  .efy-group-logo img{
    max-height:78px;
  }

  .efy-group-logo-wide img{
    max-height:70px;
  }

  .efy-float-layer{
    opacity:.30;
  }

  .efy-float-a,
  .efy-float-c,
  .efy-float-e{
    display:none;
  }
}

@media(max-width:430px){
  .efy-container{
    width:min(100% - 22px,1220px);
  }

  .efy-hero{
    padding-top:34px;
  }

  .efy-hero-card img{
    height:240px;
  }

  .efy-hero-copy h1{
    font-size:42px;
  }

  .efy-gallery-slide img{
    height:250px;
  }
}

/* MOBILE HERO FACTS + STRIP FIX */

@media(max-width:760px){
  .efy-hero-facts{
    margin-top:18px !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:0 !important;
    max-width:100% !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:22px !important;
    background:var(--efy-glass) !important;
    border:1px solid var(--efy-line) !important;
    box-shadow:var(--efy-shadow2) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
  }

  .efy-hero-facts div{
    padding:15px 14px !important;
    border-radius:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:82px !important;
  }

  .efy-hero-facts div:nth-child(1){
    border-right:1px solid var(--efy-line) !important;
    border-bottom:1px solid var(--efy-line) !important;
  }

  .efy-hero-facts div:nth-child(2){
    border-bottom:1px solid var(--efy-line) !important;
  }

  .efy-hero-facts div:nth-child(3){
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    align-items:center !important;
    gap:12px !important;
    min-height:66px !important;
  }

  .efy-hero-facts strong{
    display:block !important;
    font-size:25px !important;
    line-height:.95 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  .efy-hero-facts span{
    display:block !important;
    margin-top:0 !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    text-align:left !important;
  }

  .efy-strip-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }

  .efy-strip-grid div{
    min-height:72px !important;
    border-radius:18px !important;
    padding:12px !important;
  }

  .efy-strip-grid strong{
    font-size:24px !important;
    line-height:1 !important;
  }

  .efy-strip-grid span{
    margin-top:6px !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }
}

@media(max-width:430px){
  .efy-strip-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .efy-hero-facts div{
    padding:14px 12px !important;
  }

  .efy-hero-facts strong{
    font-size:24px !important;
  }

  .efy-hero-facts span{
    font-size:10px !important;
  }

  .efy-hero-facts div:nth-child(3){
    gap:10px !important;
  }
}
/* =========================================================
   EFY HERO GRID / SCHACHBRETT MUSTER ENTFERNEN
========================================================= */

.efy-hero-grid{
  display:none !important;
  background:none !important;
  opacity:0 !important;
}/* End custom CSS */