.efb-pakete{

      box-sizing:border-box;
      font-family:var(--efb-sans);
      color:var(--efb-ink);
      background:var(--efb-cream);
      padding:clamp(3.5rem,8vw,7rem) clamp(1.1rem,5vw,2.5rem);
      -webkit-font-smoothing:antialiased;}
    .efb-pakete *,.efb-pakete *::before,.efb-pakete *::after{box-sizing:border-box;}
    .efb-pakete .efb-inner{max-width:var(--efb-maxw);margin:0 auto;}

    /* ----- Kopfbereich ----- */
    .efb-pakete .efb-head{max-width:46rem;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center;}
    .efb-pakete .efb-eyebrow{
      display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.22em;
      text-transform:uppercase;color:var(--efb-sage-deep);margin:0 0 1.1rem;
    }
    .efb-pakete .efb-eyebrow::before{content:"";display:inline-block;width:1.6rem;height:1px;background:var(--efb-sage);vertical-align:middle;margin-right:.7rem;}
    .efb-pakete .efb-eyebrow::after{content:"";display:inline-block;width:1.6rem;height:1px;background:var(--efb-sage);vertical-align:middle;margin-left:.7rem;}
    .efb-pakete h2{
      font-family:var(--efb-serif);font-weight:600;
      font-size:clamp(2.3rem,5.5vw,3.7rem);line-height:1.05;
      letter-spacing:-.01em;margin:0 0 1rem;color:var(--efb-sage-deep);
    }
    .efb-pakete h2 em{font-style:italic;color:var(--efb-accent);}
    .efb-pakete .efb-lead{font-size:1.08rem;line-height:1.7;color:var(--efb-muted);margin:0 auto;max-width:36rem;}

    /* ----- Karten-Grid -----
       align-items:stretch (auch auf Desktop), damit alle drei Karten die
       volle Zeilenhoehe bekommen. Zusammen mit .efb-body{flex:1} und
       margin-top:auto am CTA sitzen die Buttons immer buendig am Kartenfuss. */
    .efb-pakete .efb-grid{
      display:grid;grid-template-columns:1fr;gap:1.4rem;align-items:stretch;
      max-width:28rem;margin-inline:auto;   /* einspaltig: Karten nicht endlos breit */
    }
    /* Drei Spalten erst ab 900px. Bei 760-899px wurden die Karten so schmal,
       dass schon die Button-Beschriftungen umbrachen. */
    @media(min-width:900px){
      .efb-pakete .efb-grid{grid-template-columns:repeat(3,1fr);gap:1.3rem;max-width:none;}
    }

    /* --efb-lift ist die dauerhafte Anhebung der Karte (Featured/Hover). Sie
       laeuft absichtlich ueber eine Variable und nicht direkt ueber transform:
       die Reveal-Regel weiter unten setzt transform ebenfalls und wuerde einen
       hier notierten Wert sonst ueberschreiben. Siehe Kommentar bei
       "Scroll-Reveal". */
    .efb-pakete .efb-card{
      position:relative;display:flex;flex-direction:column;
      --efb-lift:0px;
      background:#fff;border:1px solid var(--efb-line);
      border-radius:500px 500px var(--efb-radius) var(--efb-radius);overflow:hidden;
      transform:translateY(var(--efb-rev,0px)) translateY(var(--efb-lift,0px));
      transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .4s;
      height:100%;
    }
    .efb-pakete .efb-card:hover{--efb-lift:-6px;box-shadow:var(--efb-shadow);border-color:rgba(92,58,42,.28);}

    /* Hervorgehobenes Paket (Full Service): Rahmen im Akzentton, kraeftigerer
       und weicherer Schatten. Angehoben erst ab 900px - darunter steht die
       Karte allein in ihrer Spalte, da wirkt ein Versatz nur schief. */
    .efb-pakete .efb-card.is-featured{
      border-color:var(--efb-accent);
      box-shadow:0 34px 70px -30px rgba(112,56,31,.5),0 6px 22px -14px rgba(112,56,31,.35);
    }
    @media(min-width:900px){
      .efb-pakete .efb-card.is-featured{--efb-lift:-.5rem;}
      .efb-pakete .efb-card.is-featured:hover{--efb-lift:-1.1rem;}
      .efb-pakete .efb-card.is-featured:hover{box-shadow:0 40px 80px -30px rgba(112,56,31,.55),0 6px 22px -14px rgba(112,56,31,.35);}
    }

    /* "Beliebt"-Badge: sitzt oben rechts im Textbereich und ragt nach oben
       ueber die Bildkante - also ueberlappend statt im Textfluss.
       Nicht an der Kartenoberkante, weil der Torbogen (border-radius 500px)
       die oberen Ecken wegschneidet; dort waere die Badge unsichtbar. */
    .efb-pakete .efb-tag{
      position:absolute;top:-.9rem;right:1.4rem;z-index:2;
      background:var(--efb-accent);color:#fff;font-size:.7rem;font-weight:600;
      letter-spacing:.12em;text-transform:uppercase;padding:.45rem .85rem;border-radius:999px;
      box-shadow:0 8px 18px -10px rgba(112,56,31,.9);
    }

    .efb-pakete .efb-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--efb-cream-2);}
    .efb-pakete .efb-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1);}
    .efb-pakete .efb-card:hover .efb-media img{transform:scale(1.07);}

    .efb-pakete .efb-body{position:relative;display:flex;flex-direction:column;flex:1;padding:1.7rem 1.6rem 1.8rem;}
    .efb-pakete .efb-card h3{
      font-family:var(--efb-serif);font-weight:600;font-size:1.85rem;line-height:1.1;
      margin:0 0 .55rem;color:var(--efb-sage-deep);
    }
    .efb-pakete .efb-card .efb-desc{font-size:.97rem;line-height:1.65;color:var(--efb-muted);margin:0 0 1.3rem;}

    /* Leistungsumfang: je Karte genau 4 Punkte im gleichen Raster. */
    .efb-pakete ul{list-style:none;margin:0 0 1.7rem;padding:0;display:grid;gap:.7rem;}
    .efb-pakete li{display:flex;gap:.65rem;font-size:.93rem;line-height:1.45;color:var(--efb-ink);}
    .efb-pakete li svg{flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.12rem;color:var(--efb-accent);}

    .efb-pakete .efb-card .efb-btn{margin-top:auto;}
    /* Einspaltig: CTA ueber die volle Kartenbreite, Featured-Karte zuerst. */
    @media(max-width:899px){
      .efb-pakete .efb-card .efb-btn{width:100%;}
      .efb-pakete .efb-card.is-featured{order:-1;}
    }

    /* ----- Buttons ----- */
    .efb-pakete .efb-btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
      font-family:var(--efb-sans);font-weight:600;font-size:.98rem;line-height:1;
      padding:.95rem 1.5rem;border-radius:999px;text-decoration:none;cursor:pointer;
      background:var(--efb-accent);color:#fff;border:1px solid transparent;
      transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s,box-shadow .25s;
      box-shadow:0 12px 26px -14px rgba(112,56,31,.85);
    }
    .efb-pakete .efb-btn:hover{background:var(--efb-accent-deep);transform:translateY(-2px);}
    .efb-pakete .efb-btn:active{transform:translateY(0) scale(.985);}
    .efb-pakete .efb-btn.is-ghost{
      background:transparent;color:var(--efb-sage-deep);border-color:var(--efb-sage);box-shadow:none;
    }
    .efb-pakete .efb-btn.is-ghost:hover{background:var(--efb-sage-deep);color:#fff;border-color:var(--efb-sage-deep);}
    .efb-pakete .efb-btn svg{width:1rem;height:1rem;transition:transform .25s;}
    .efb-pakete .efb-btn:hover svg{transform:translateX(3px);}
    .efb-pakete a:focus-visible,.efb-pakete .efb-btn:focus-visible{outline:2px solid var(--efb-sage-deep);outline-offset:3px;border-radius:999px;}

    .efb-pakete .efb-note{text-align:center;margin:clamp(2.2rem,4vw,3rem) 0 0;font-size:.97rem;color:var(--efb-muted);}
    .efb-pakete .efb-note a{color:var(--efb-accent);font-weight:600;text-decoration:none;border-bottom:1px solid var(--efb-rose);padding-bottom:1px;}
    .efb-pakete .efb-note a:hover{color:var(--efb-accent-deep);border-color:var(--efb-accent);}

    /* ----- Scroll-Reveal -----
       Reveal-Versatz und Karten-Anhebung teilen sich die transform-Eigenschaft.
       Statt sie gegeneinander zu setzen, stehen beide als eigenes translateY in
       EINEM transform und werden ueber Variablen gesteuert:
         --efb-rev   Reveal-Versatz, 26px -> 0px sobald .is-in gesetzt ist
         --efb-lift  dauerhafte Anhebung (Featured ab 900px, Hover)
       So bleibt der Ruheversatz der Featured-Karte erhalten, obwohl diese Regel
       spaeter im Stylesheet steht als die Karten-Regeln. */
    .efb-pakete [data-reveal]{
      --efb-rev:26px;
      opacity:0;
      transform:translateY(var(--efb-rev)) translateY(var(--efb-lift,0px));
      transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);
    }
    .efb-pakete [data-reveal].is-in{--efb-rev:0px;opacity:1;}
    /* Karten behalten ihre eigene, kuerzere transform-Dauer fuer den Hover. */
    .efb-pakete .efb-card[data-reveal]{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .4s;}
    @media(prefers-reduced-motion:reduce){
      /* --efb-rev auf 0: kein Einfahren. --efb-lift bleibt - das ist ein
         statischer Versatz zur Hervorhebung, keine Bewegung. */
      .efb-pakete [data-reveal]{--efb-rev:0px;opacity:1!important;}
      .efb-pakete [data-reveal],.efb-pakete .efb-card[data-reveal],
      .efb-pakete .efb-card,.efb-pakete .efb-media img,.efb-pakete .efb-btn svg{transition:none!important;}
    }
