/* ============================================================
   everydent Redesign 2025 – Homepage (Rev. 2)
   Scoped unter .ed2025 · Marken: --primary #2e405d · --secondary #ffaa78
   ============================================================ */
.ed2025 {
    --ed-primary:#2e405d;
    --ed-muted:#4d5d78;
    --ed-secondary:#ffaa78;
    --ed-dark:#343a40;
    --ed-light:#eef2f7;
    --ed-serif:"Times New Roman", Georgia, serif;
    color:var(--ed-dark);
    overflow-x:hidden;
}
.ed2025 img{max-width:100%;height:auto;}
.ed2025 h1,.ed2025 h2,.ed2025 h3{line-height:1.15;}
.ed2025 .ed-container{max-width:1240px;margin:0 auto;padding:0 24px;}
.ed2025 a{text-decoration:none;}

/* ---------- Buttons ---------- */
.ed2025 .ed-btn{
    display:inline-flex;align-items:center;gap:.5rem;
    border-radius:2.25rem;padding:.6rem 1.6rem;font-weight:700;
    line-height:1.2;white-space:nowrap;transition:opacity .15s;
    border:2px solid transparent;cursor:pointer;
}
.ed2025 .ed-btn svg{width:20px;height:20px;fill:currentColor;flex:none;}
.ed2025 .ed-btn-orange{background:var(--ed-secondary);color:#212529;}
.ed2025 .ed-btn-orange:hover{opacity:.9;color:#212529;}

/* ============================================================
   HEADER (statisch, nicht sticky)
   ============================================================ */
.ed2025 .ed-topbar{background:var(--ed-primary);color:#fff;font-family:var(--ed-serif);font-size:1.05rem;}
.ed2025 .ed-topbar .ed-container{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem;}
.ed2025 .ed-topbar a{color:#fff;}
@media (max-width:991px){ .ed2025 .ed-topbar{display:none;} }

.ed2025 .ed-header{background:#fff;border-bottom:1px solid #e6ebf1;}
.ed2025 .ed-header .ed-container{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;gap:20px;}
.ed2025 .ed-logo{display:flex;flex-direction:column;line-height:1;}
.ed2025 .ed-logo img{width:190px;max-width:46vw;}
.ed2025 .ed-logo small{font-family:var(--ed-serif);color:var(--ed-primary);font-size:.8rem;letter-spacing:.02em;margin-top:4px;padding-left:2px;opacity:.85;}
.ed2025 .ed-nav{display:flex;align-items:center;gap:1.7rem;}
.ed2025 .ed-nav a.ed-navlink{color:var(--ed-primary);font-weight:600;font-size:1.05rem;}
.ed2025 .ed-nav a.ed-navlink:hover{color:var(--ed-secondary);}
.ed2025 .ed-burger{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--ed-primary);}
.ed2025 .ed-burger svg{width:30px;height:30px;stroke:currentColor;}
@media (max-width:991px){
    .ed2025 .ed-nav .ed-navlink,
    .ed2025 .ed-nav .ed-btn-orange span.ed-lbl{display:none;}
    .ed2025 .ed-burger{display:inline-flex;}
    .ed2025 .ed-nav{gap:.7rem;}
}

/* Mobile menu */
.ed2025 .ed-mobilemenu{position:fixed;inset:0;z-index:1100;background:rgba(46,64,93,.98);display:flex;flex-direction:column;padding:28px 26px;transform:translateX(100%);transition:transform .3s ease;visibility:hidden;}
.ed2025 .ed-mobilemenu.open{transform:translateX(0);visibility:visible;}
.ed2025 .ed-mobilemenu a{color:#fff;font-size:1.5rem;font-family:var(--ed-serif);padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.12);}
.ed2025 .ed-mobilemenu .ed-mm-top{display:flex;justify-content:flex-end;margin-bottom:1rem;}
.ed2025 .ed-mobilemenu .ed-mm-close{background:none;border:0;color:#fff;font-size:2rem;line-height:1;cursor:pointer;}
.ed2025 .ed-mobilemenu .ed-mm-cta{margin-top:1.6rem;border-bottom:0;}
.ed2025 .ed-mobilemenu .ed-mm-phone{border-bottom:0;font-size:1.05rem;font-family:inherit;margin-top:1rem;}
.ed2025 .ed-mobilemenu .ed-mm-phone strong{font-size:1.4rem;display:block;}

/* ============================================================
   HERO + INTRO (verbunden, Badge gefüllt & zentriert)
   ============================================================ */
.ed2025 .ed-hero{position:relative;background:var(--ed-light);}
.ed2025 .ed-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:520px;}
.ed2025 .ed-hero-text{display:flex;flex-direction:column;justify-content:center;padding:70px 40px 70px 0;}
.ed2025 .ed-hero-text h1{font-family:var(--ed-serif);font-size:3.4rem;color:var(--ed-primary);font-weight:400;margin:0;}
.ed2025 .ed-hero-text h1 strong{font-family:var(--ed-serif) !important;font-weight:700;}
.ed2025 .ed-hero-text .ed-hr{width:120px;height:2px;background:var(--ed-primary);opacity:.35;margin-top:1.6rem;}
.ed2025 .ed-hero-img{position:relative;}
.ed2025 .ed-hero-img .ed-hero-photo{position:absolute;inset:0;background:url('../img/2025/hero.jpg') center right/cover no-repeat;}
/* Badge: gefüllt, mittig auf der Naht Hero/Intro */
.ed2025 .ed-hero-badge{position:absolute;left:50%;bottom:-78px;transform:translateX(-50%);width:168px;height:168px;z-index:6;}
.ed2025 .ed-hero-badge img{width:100%;filter:drop-shadow(0 10px 22px rgba(46,64,93,.28));}

.ed2025 .ed-intro{background:var(--ed-primary);color:#fff;text-align:center;padding:118px 0 76px;}
.ed2025 .ed-intro p{max-width:940px;margin:0 auto;font-size:1.6rem;line-height:1.6;}
.ed2025 .ed-intro p:last-child{margin-bottom:0;}
@media (max-width:991px){
    .ed2025 .ed-hero-grid{grid-template-columns:1fr;min-height:0;}
    .ed2025 .ed-hero-text{padding:34px 0 46px;order:2;}
    .ed2025 .ed-hero-text h1{font-size:2.3rem;}
    .ed2025 .ed-hero-img{order:1;height:60vw;max-height:380px;}
    .ed2025 .ed-hero-badge{width:118px;height:118px;bottom:-60px;}
    .ed2025 .ed-intro{padding:92px 0 50px;}
    .ed2025 .ed-intro p{font-size:1.2rem;}
}

/* ============================================================
   LEISTUNGEN – randabfallendes Karussell (everly-Stil)
   ============================================================ */
.ed2025 .ed-services{padding:84px 0 78px;background:#fff;overflow:hidden;}
.ed2025 .ed-sv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
.ed2025 .ed-eyebrow{color:var(--ed-secondary);font-weight:700;letter-spacing:.04em;margin-bottom:.4rem;}
.ed2025 .ed-services h2{font-family:var(--ed-serif);font-size:2.6rem;color:var(--ed-primary);font-weight:400;margin:0;}
.ed2025 .ed-services h2 strong{font-weight:700;}
.ed2025 .ed-sv-arrows{display:flex;gap:10px;flex:none;}
.ed2025 .ed-sv-arrows button{width:46px;height:46px;border-radius:50%;border:0;background:var(--ed-secondary);color:var(--ed-primary);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ed2025 .ed-sv-arrows button:hover{opacity:.9;}
/* Track startet am Container-Rand und läuft randabfallend nach rechts */
.ed2025 .ed-sv-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    margin-top:2.4rem;padding-bottom:8px;padding-left:calc(50vw - 220px);padding-right:calc(50vw - 220px);
    -ms-overflow-style:none;scrollbar-width:none;}
.ed2025 .ed-sv-track::-webkit-scrollbar{display:none;}
.ed2025 .ed-sv-card{scroll-snap-align:center;flex:0 0 440px;max-width:440px;background:var(--ed-light);
    border-radius:34px;overflow:hidden;display:flex;flex-direction:column;opacity:.4;}
.ed2025 .ed-sv-card.is-active{opacity:1;}
.ed2025 .ed-sv-body{padding:32px 32px 6px;display:flex;flex-direction:column;}
.ed2025 .ed-sv-body h3{font-size:1.5rem;color:var(--ed-primary);font-weight:700;margin:0 0 .6rem;}
.ed2025 .ed-sv-body p{font-size:1rem;color:#5b6472;margin:0 0 1.3rem;min-height:3.2em;}
.ed2025 .ed-sv-body .ed-btn{align-self:flex-start;}
.ed2025 .ed-sv-illu{margin-top:auto;padding:14px 18px 0;}
.ed2025 .ed-sv-illu img{width:100%;display:block;}
@media (max-width:991px){
    .ed2025 .ed-services{padding:52px 0;}
    .ed2025 .ed-services h2{font-size:1.9rem;}
    .ed2025 .ed-sv-track{padding-left:calc(50vw - 140px);padding-right:calc(50vw - 140px);}
    .ed2025 .ed-sv-card{flex:0 0 280px;max-width:280px;}
}

/* ============================================================
   SERVICE-SEKTION – Bildband + Mosaik
   ============================================================ */
.ed2025 .ed-serviceband{position:relative;min-height:360px;display:flex;align-items:flex-start;
    background:url('../img/2025/service.jpg') center/cover no-repeat;}
.ed2025 .ed-serviceband::before{content:"";position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.4) 45%, rgba(255,255,255,0) 80%);}
.ed2025 .ed-serviceband .ed-container{position:relative;width:100%;padding-top:56px;}
.ed2025 .ed-serviceband h2{font-family:var(--ed-serif);font-size:2.8rem;color:var(--ed-primary);font-weight:400;margin:0;}
.ed2025 .ed-serviceband h2 strong{font-weight:700;}

.ed2025 .ed-mosaic{background:#fff;padding:0 0 8px;}
.ed2025 .ed-mos-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(230px,auto);gap:0;}
.ed2025 .ed-mos{padding:48px 52px;display:flex;gap:20px;}
.ed2025 .ed-mos .ed-mos-n{font-family:var(--ed-serif);font-size:3rem;line-height:.9;flex:none;}
.ed2025 .ed-mos h3{font-family:var(--ed-serif);font-size:1.7rem;font-weight:700;margin:0 0 1rem;}
.ed2025 .ed-mos p{font-size:1rem;line-height:1.6;margin:0;}
/* Block 1 – gedämpftes Blau, runde Ecke unten rechts */
.ed2025 .ed-mos-1{background:var(--ed-muted);color:#fff;border-bottom-right-radius:80px;}
.ed2025 .ed-mos-1 .ed-mos-n{color:#fff;}
.ed2025 .ed-mos-1 p{color:#dbe1ea;}
/* Block 2 – Primärblau, runde Ecke unten links */
.ed2025 .ed-mos-2{background:var(--ed-primary);color:#fff;border-bottom-left-radius:80px;}
.ed2025 .ed-mos-2 .ed-mos-n{color:#fff;}
.ed2025 .ed-mos-2 p{color:#dbe1ea;}
/* Foto unten links */
.ed2025 .ed-mos-photo{background:center/cover no-repeat;min-height:300px;}
/* Block 3 – hell, dunkler Text */
.ed2025 .ed-mos-3{background:#e8ebf0;color:var(--ed-primary);}
.ed2025 .ed-mos-3 .ed-mos-n{color:var(--ed-primary);}
.ed2025 .ed-mos-3 p{color:#4a5568;}
@media (max-width:767px){
    .ed2025 .ed-serviceband{min-height:200px;}
    .ed2025 .ed-serviceband h2{font-size:1.9rem;}
    .ed2025 .ed-mos-grid{grid-template-columns:1fr;}
    .ed2025 .ed-mos{padding:34px 26px;}
    .ed2025 .ed-mos-1,.ed2025 .ed-mos-2{border-radius:0;}
    .ed2025 .ed-mos-photo{min-height:240px;}
}

/* ============================================================
   TEAM
   ============================================================ */
.ed2025 .ed-team{background:#fff;padding:80px 0 70px;}
.ed2025 .ed-team-card{display:grid;grid-template-columns:300px 1fr;gap:0;border-radius:18px;overflow:hidden;margin-bottom:30px;align-items:stretch;}
.ed2025 .ed-team-card .ed-team-photo{background-size:cover;background-position:center top;min-height:300px;}
.ed2025 .ed-team-card .ed-team-body{padding:38px 42px;display:flex;flex-direction:column;justify-content:center;}
.ed2025 .ed-team-card .ed-team-name{font-weight:700;letter-spacing:.02em;font-size:1.1rem;margin-bottom:.2rem;}
.ed2025 .ed-team-card .ed-team-role{font-weight:400;}
.ed2025 .ed-team-card .ed-team-sep{width:44px;height:2px;margin:14px 0 18px;}
.ed2025 .ed-team-card .ed-team-bio{font-size:1rem;line-height:1.65;margin:0;}
.ed2025 .ed-team-card.light{background:var(--ed-light);}
.ed2025 .ed-team-card.light .ed-team-name,.ed2025 .ed-team-card.light .ed-team-role{color:var(--ed-primary);}
.ed2025 .ed-team-card.light .ed-team-sep{background:var(--ed-secondary);}
.ed2025 .ed-team-card.light .ed-team-bio{color:#5b6472;}
.ed2025 .ed-team-card.dark{background:var(--ed-primary);color:#fff;}
.ed2025 .ed-team-card.dark .ed-team-name{color:#fff;}
.ed2025 .ed-team-card.dark .ed-team-role{color:var(--ed-secondary);}
.ed2025 .ed-team-card.dark .ed-team-sep{background:var(--ed-secondary);}
.ed2025 .ed-team-card.dark .ed-team-bio{color:#d7deea;}
.ed2025 .ed-team-card.dark .ed-team-photo{order:2;}
.ed2025 .ed-team-card.dark .ed-team-body{order:1;}
@media (max-width:767px){
    .ed2025 .ed-team{padding:50px 0;}
    .ed2025 .ed-team-card,.ed2025 .ed-team-card.dark{grid-template-columns:1fr;}
    .ed2025 .ed-team-card .ed-team-photo{min-height:280px;order:1 !important;}
    .ed2025 .ed-team-card .ed-team-body{order:2 !important;padding:28px 26px;}
}

/* ============================================================
   FOOTER
   ============================================================ */
.ed2025 .ed-footer{background:var(--ed-primary);color:#fff;padding:66px 0 40px;}
.ed2025 .ed-footer h2{font-family:var(--ed-serif);font-weight:700;font-size:1.9rem;margin:0 0 2rem;}
.ed2025 .ed-footer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;}
.ed2025 .ed-footer a{color:#fff;}
.ed2025 .ed-footer .ed-oh-row{display:flex;gap:10px;margin-bottom:.35rem;}
.ed2025 .ed-footer .ed-oh-row .ed-oh-day{width:120px;font-weight:700;flex:none;}
.ed2025 .ed-footer .ed-foot-cta{display:flex;align-items:center;gap:14px;margin:26px 0 0;flex-wrap:wrap;}
.ed2025 .ed-footer hr{border-color:rgba(255,255,255,.2);margin:34px 0 20px;}
.ed2025 .ed-footer .ed-foot-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ed2025 .ed-footer .ed-foot-links a{color:var(--ed-secondary);margin-right:1.4rem;font-weight:600;}
.ed2025 .ed-footer .ed-foot-logo{display:flex;flex-direction:column;align-items:flex-end;line-height:1;}
.ed2025 .ed-footer .ed-foot-logo img{width:180px;}
.ed2025 .ed-footer .ed-foot-logo small{font-family:var(--ed-serif);font-size:.8rem;opacity:.85;margin-top:4px;}
.ed2025 .ed-footer .ed-copy{opacity:.75;margin-top:12px;}
@media (max-width:767px){
    .ed2025 .ed-footer{padding:44px 0 30px;}
    .ed2025 .ed-footer-grid{grid-template-columns:1fr;gap:26px;}
    .ed2025 .ed-footer .ed-foot-bottom{flex-direction:column;align-items:flex-start;}
    .ed2025 .ed-footer .ed-foot-logo{align-items:flex-start;}
}
