:root{
  --bg:#fffaf2;
  --surface:#fffdf8;
  --cream:#f7eedf;
  --gold:#c98a2e;
  --gold-dark:#9a6516;
  --gold-soft:#f3d9ad;
  --gold-glow:rgba(201,138,46,.28);
  --brown:#4b3119;
  --brown-soft:#6c4d2c;
  --green:#4e7b3a;
  --green-dark:#1f4a22;
  --gold-bg:#fbf2df;
  --text:#2f2216;
  --muted:#7b6a58;
  --border:#eadbc5;
  --shadow:0 12px 30px rgba(75,49,25,.12);
  --radius:16px;
}
*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fffdf8 0%,#fff7ea 100%);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-tap-highlight-color:rgba(201,138,46,.18);
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}
.container{width:min(1140px,92%);margin-inline:auto}
.section{padding:72px 0}
/* Abstand zur fixierten Kopfzeile (inkl. Dynamic Island / Notch) */
main.section{
  padding-top:calc(5rem + env(safe-area-inset-top));
}
.section-title{
  font-size:clamp(1.6rem,2.5vw,2.4rem);
  line-height:1.2;
  margin:0 0 12px;
  color:var(--brown);
  display:inline-block;
  position:relative;
  padding-bottom:.18rem;
}
.section-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft),rgba(0,0,0,0));
  opacity:.95;
}
.section-sub{margin:0;color:var(--muted);max-width:720px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;cursor:pointer;
  padding:.85rem 1.25rem;border-radius:999px;font-weight:700;transition:.2s ease;
  min-height:44px;
  touch-action:manipulation;
}
.btn:active{transform:scale(.98)}
.btn:focus-visible{
  outline:3px solid var(--gold-soft);
  outline-offset:3px;
}
.btn-primary{
  color:#fff;
  background:linear-gradient(180deg,#d9a24b 0%, var(--gold) 55%, var(--gold-dark) 100%);
  box-shadow:0 10px 22px rgba(201,138,46,.22);
}
.btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(201,138,46,.28);
  filter:saturate(1.04);
}
.btn-ghost{background:#fff;border:1px solid var(--border);color:var(--brown)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-dark);box-shadow:0 10px 22px rgba(201,138,46,.14)}
/* Kaffee-Abo: grüner Button mit Kaffeebohne + Kräuter-Zweig (andere Pflanze als zuvor) */
.btn-kaffee-plant{
  position:relative;
  overflow:visible;
  border-radius:10px 28px 24px 24px;
  padding:.62rem 1.35rem .62rem 2.85rem;
  background:linear-gradient(168deg, #7dc56f 0%, #5a9c4a 32%, var(--green) 58%, var(--green-dark) 100%);
  color:#f4fff0;
  box-shadow:
    0 1px 0 rgba(255,255,255,.28) inset,
    0 5px 0 #163818,
    0 12px 26px rgba(31,74,34,.3);
  text-shadow:0 1px 0 rgba(0,0,0,.18);
  transition:transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
.btn-kaffee-plant:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:
    0 1px 0 rgba(255,255,255,.32) inset,
    0 5px 0 #163818,
    0 16px 32px rgba(31,74,34,.34);
}
.btn-kaffee-plant:focus-visible{
  outline:3px solid rgba(130,200,110,.85);
  outline-offset:3px;
}
/* Kaffeebohne */
.btn-kaffee-plant::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:12px;
  height:16px;
  margin-top:-8px;
  border-radius:50%;
  background:radial-gradient(ellipse at 35% 30%, #8d6e63 0%, #4e342e 55%, #3e2723 100%);
  transform:rotate(-38deg);
  box-shadow:
    0 1px 2px rgba(0,0,0,.25),
    inset 0 -1px 0 rgba(255,255,255,.12);
  pointer-events:none;
}
/* Kleiner Farnwedel (andere Form als zuvor) */
.btn-kaffee-plant::after{
  content:"";
  position:absolute;
  left:23px;
  top:9px;
  width:13px;
  height:19px;
  border-radius:0 100% 0 100%;
  background:linear-gradient(155deg, #dcedc8 0%, #7cb342 45%, #33691e 100%);
  transform:rotate(-18deg);
  box-shadow:
    9px 3px 0 -2px rgba(104, 159, 56, 0.95),
    5px 14px 0 -3px rgba(85, 139, 47, 0.9);
  pointer-events:none;
}
.btn-kaffee-plant .btn-kaffee-plant-text{
  position:relative;
  z-index:1;
}
.offer-abo-desc{
  margin:.45rem 0 .5rem;
  font-size:clamp(.84rem,1.05vw,.93rem);
  line-height:1.55;
  color:var(--muted);
}
.badge{
  display:inline-block;background:#fff3dd;color:var(--gold-dark);
  border:1px solid #f3d9ad;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;
}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  padding-top:env(safe-area-inset-top);
  background:linear-gradient(180deg, rgba(25,15,8,.35) 0%, rgba(25,15,8,0) 100%);
  border-bottom:0;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0;min-height:52px}
.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;color:var(--gold-soft)}
.brand:hover{filter:saturate(1.05)}
.brand-logo{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%, #f5c87f, #c98a2e);color:#fff;font-size:1.1rem;
}
.brand-logo-img{
  flex-shrink:0;
  width:47px;
  height:auto;
  display:block;
}
.header-actions{display:flex;align-items:center;gap:.65rem}
.nav{
  display:flex;
  flex-direction:column;
  gap:.48rem;
  position:fixed;
  top:0;
  right:-280px;
  width:min(240px, 70.4vw);
  height:100vh;
  height:100dvh;
  background:linear-gradient(
    165deg,
    rgba(255, 251, 242, 0.38) 0%,
    rgba(251, 242, 223, 0.32) 45%,
    rgba(255, 255, 255, 0.28) 100%
  );
  backdrop-filter:blur(20px) saturate(1.08);
  -webkit-backdrop-filter:blur(20px) saturate(1.08);
  padding:calc(72px + env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.22),
    -12px 0 36px rgba(75, 49, 25, 0.1);
  border-left:1px solid rgba(201, 138, 46, 0.35);
  transition:right .52s cubic-bezier(.2,.9,.2,1);
  z-index:1100;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.nav::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:100%;
  background:linear-gradient(
    180deg,
    rgba(201, 138, 46, 0.45) 0%,
    rgba(78, 123, 58, 0.28) 45%,
    rgba(201, 138, 46, 0.45) 100%
  );
  pointer-events:none;
}
.nav.open{right:0}
.nav-head{
  position:relative;
  margin:0 0 .45rem;
  padding:0 0 .55rem;
  border-bottom:1px solid rgba(201, 138, 46, 0.22);
}
.nav-script-title{
  margin:0;
  padding:0 2.75rem .15rem 0;
  text-align:center;
  font-family:"Great Vibes", "Brush Script MT", cursive;
  font-size:clamp(1.85rem, 5.5vw, 2.35rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:.02em;
  background:linear-gradient(180deg, var(--gold-soft) 0%, #ffe2b1 28%, var(--gold) 58%, var(--gold-dark) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 10px rgba(0, 0, 0, 0.12));
}
.nav a{
  padding:.55rem .75rem;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:14px;
  color:var(--green-dark);
  font-family:"Great Vibes", "Brush Script MT", cursive;
  font-weight:400;
  font-size:clamp(1.15rem, 3.8vw, 1.45rem);
  letter-spacing:.03em;
  line-height:1.2;
  border:1px solid rgba(201, 138, 46, 0.5);
  background:rgba(255, 255, 255, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 4px 14px rgba(201, 138, 46, 0.06);
  touch-action:manipulation;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .2s ease, color .2s ease;
}
.nav a:hover{
  background:rgba(255, 250, 235, 0.55);
  border-color:rgba(201, 138, 46, 0.75);
  color:var(--green-dark);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 6px 20px rgba(201, 138, 46, 0.12);
  transform:translateX(-2px);
}
.nav a.active{
  background:linear-gradient(135deg, rgba(255, 243, 221, 0.65) 0%, rgba(255, 255, 255, 0.42) 100%);
  border-color:rgba(201, 138, 46, 0.85);
  color:var(--green-dark);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.35),
    0 0 0 1px rgba(201, 138, 46, 0.2),
    0 8px 24px rgba(201, 138, 46, 0.14);
}
.nav a:focus-visible{
  outline:2px solid rgba(201, 138, 46, 0.85);
  outline-offset:2px;
}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .nav{
    background:linear-gradient(180deg, rgba(255,247,234,.88) 0%, rgba(251,242,223,.85) 55%, rgba(255,255,255,.82) 100%);
  }
  .nav-head .nav-close{
    background:rgba(255,255,255,.88);
  }
}
.hamburger{
  display:flex;
  flex-direction:column;
  gap:5px;
  background:none;
  border:0;
  cursor:pointer;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  padding:10px;
  margin:-6px -8px -6px 0;
  justify-content:center;
  align-items:center;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.hamburger span{
  width:28px;
  height:2.5px;
  background:linear-gradient(90deg,var(--gold-soft),var(--gold),var(--gold-dark));
  display:block;
  border-radius:999px;
  transform-origin:center;
  transition:transform .28s cubic-bezier(.2,.9,.2,1), opacity .2s ease, width .2s ease;
}
.hamburger[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7.5px) rotate(45deg);
  width:28px;
  background:linear-gradient(90deg, rgba(78,123,58,.65), var(--green));
}
.hamburger[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.hamburger[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7.5px) rotate(-45deg);
  width:28px;
  background:linear-gradient(90deg, rgba(78,123,58,.65), var(--green));
}

.nav-backdrop{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  cursor:pointer;
  background:rgba(47, 34, 22, 0.28);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  z-index:1050;
  opacity:0;
  pointer-events:none;
  transition:opacity .52s cubic-bezier(.2,.9,.2,1);
}
.nav-backdrop.open{
  opacity:1;
  pointer-events:auto;
}

.nav-head .nav-close{
  position:absolute;
  top:0;
  right:0;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  background:rgba(255, 255, 255, 0.28);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(201, 138, 46, 0.45);
  border-radius:14px;
  cursor:pointer;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    0 4px 16px rgba(201, 138, 46, 0.12);
  transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.nav-head .nav-close::before,
.nav-head .nav-close::after{
  content:"";
  position:absolute;
  width:20px;
  height:2.5px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(201, 138, 46, 0.95), var(--green-dark));
}
.nav-head .nav-close::before{transform:rotate(45deg)}
.nav-head .nav-close::after{transform:rotate(-45deg)}
.nav-head .nav-close:hover{
  background:rgba(255, 250, 235, 0.78);
  border-color:rgba(201, 138, 46, 0.85);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 8px 22px rgba(201, 138, 46, 0.18);
}
.nav-head .nav-close:focus-visible{
  outline:2px solid rgba(201, 138, 46, 0.85);
  outline-offset:2px;
}
.nav-head .nav-close:active{transform:translateY(1px)}

@media (prefers-reduced-motion: reduce){
  .nav,.nav-backdrop,.hamburger span{transition:none}
}

/* Quick contact (opening hours + phone + QR) */
.quick-card{
  background:linear-gradient(165deg, rgba(255,253,248,.52) 0%, rgba(247,247,248,.34) 100%);
  border:1px solid rgba(201,138,46,.55);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.5) inset,
    0 10px 28px rgba(31,22,12,.12),
    0 2px 8px rgba(201,138,46,.08);
  border-radius:14px;
  padding:12px 13px 14px;
  color:var(--green-dark);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.quick-card-hours-compact{
  display:none;
  margin:0;
  font-weight:800;
  line-height:1.45;
  color:var(--green-dark);
}
.quick-card-grid{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:12px 14px;
  align-items:start;
}
.quick-card-right{
  padding-left:12px;
  border-left:1px solid rgba(201,138,46,.22);
}
.quick-card-title{
  font-weight:900;
  letter-spacing:.1em;
  margin-bottom:.4rem;
  font-size:.68rem;
  text-transform:uppercase;
  color:var(--green-dark);
  opacity:.92;
}
.quick-card-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:.5rem;
  padding:.22rem 0;
  font-weight:800;
  font-size:.78rem;
  line-height:1.35;
}
.quick-card-label{opacity:.88}
.quick-card-value{white-space:nowrap;text-align:right}
.quick-card-divider{
  height:1px;
  margin:.55rem 0;
  background:linear-gradient(90deg, rgba(201,138,46,.4), rgba(31,74,34,.15), rgba(0,0,0,0));
}
.quick-card-phone{
  display:inline-flex;
  font-weight:950;
  font-size:.8rem;
  color:var(--green-dark);
  text-decoration:none;
  border-bottom:1px solid rgba(78,123,58,.28);
  padding-bottom:2px;
  margin-bottom:.35rem;
  touch-action:manipulation;
}
.quick-card-phone:hover{border-bottom-color:rgba(78,123,58,.55)}
.quick-card-address{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  font-weight:800;
  font-size:.76rem;
  line-height:1.35;
  color:var(--green-dark);
  text-decoration:none;
  border-bottom:1px solid rgba(201,138,46,.25);
  padding-bottom:3px;
  touch-action:manipulation;
}
.quick-card-address-line{
  display:block;
}
.quick-card-address:hover{border-bottom-color:rgba(201,138,46,.5)}
.quick-card-qr{
  width:72px;
  height:72px;
  border-radius:10px;
  border:1px solid rgba(201,138,46,.38);
  background:rgba(255,255,255,.62);
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(31,22,12,.06);
}
.quick-card-qr img{width:100%;height:100%;display:block}
.quick-card-qr-fallback{font-weight:900;opacity:.55;font-size:.68rem}
.quick-card-qr-hint{margin-top:.35rem;font-size:.68rem;opacity:.82;text-align:center;line-height:1.3}

.quick-card-hero{
  position:absolute;
  right:max(clamp(1rem, 4vw, 2.2rem), env(safe-area-inset-right));
  bottom:max(clamp(1.1rem, 4.5vh, 2.2rem), env(safe-area-inset-bottom));
  z-index:4;
  width:min(204px, calc(100vw - max(1.5rem, env(safe-area-inset-left)) - max(1.5rem, env(safe-area-inset-right))));
}
/* Hero: höher/schmaler Streifen, mehr Luft (länglich) */
.quick-card-hero.quick-card{
  padding:14px 14px 16px;
  border-radius:14px;
  background:linear-gradient(165deg, rgba(255,253,248,.58) 0%, rgba(247,247,248,.42) 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 12px 28px rgba(31,22,12,.12),
    0 2px 10px rgba(201,138,46,.1);
}
.quick-card-hero .quick-card-grid{
  display:flex;
  flex-direction:column;
  gap:.95rem;
  align-items:stretch;
}
.quick-card-hero .quick-card-left,
.quick-card-hero .quick-card-right{
  width:100%;
  min-width:0;
}
.quick-card-hero .quick-card-right{
  border-left:0;
  padding-left:0;
  margin:0;
  padding-top:.85rem;
  border-top:1px solid rgba(201,138,46,.28);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.62rem;
}
.quick-card-hero .quick-card-qr{
  align-self:center;
}
.quick-card-hero .quick-card-title{
  font-size:.65rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.4rem;
  font-weight:900;
}
.quick-card-hero .quick-card-row{
  font-size:.72rem;
  padding:.2rem 0;
  gap:.35rem;
  font-weight:800;
}
.quick-card-hero .quick-card-divider{
  margin:.48rem 0 .5rem;
}
.quick-card-hero .quick-card-phone{
  font-size:.74rem;
  margin-bottom:0;
  text-align:center;
  justify-content:center;
  padding:.42rem .45rem;
  border-radius:9px;
  border:1px solid rgba(78,123,58,.22);
  border-bottom:1px solid rgba(78,123,58,.22);
  background:rgba(255,255,255,.45);
  line-height:1.35;
  word-break:break-word;
}
.quick-card-hero .quick-card-address{
  font-size:.68rem;
  line-height:1.42;
  gap:.15rem;
  text-align:center;
  align-items:center;
  padding:.32rem .2rem .3rem;
  border-radius:9px;
  border:1px solid rgba(201,138,46,.22);
  border-bottom:1px solid rgba(201,138,46,.22);
  background:rgba(255,255,255,.34);
}
.quick-card-hero .quick-card-qr{
  width:64px;
  height:64px;
  border-radius: 10px;
}
.quick-card-hero .quick-card-qr-hint{
  font-size:.6rem;
  margin-top:.12rem;
  line-height:1.35;
  text-align:center;
  letter-spacing:.02em;
}
.quick-card-hero .quick-card-phone-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.32rem;
}

/* Hero-Visitenkarte: schmale Viewports — im Fluss unter Text & Dots, kein Überdecken des Namens */
@media (max-width: 900px){
  .quick-card-hero{
    position:relative;
    right:auto;
    bottom:auto;
    left:auto;
    width:min(400px, calc(100vw - max(1.1rem, env(safe-area-inset-left)) - max(1.1rem, env(safe-area-inset-right))));
    max-width:100%;
    margin:.5rem auto 0;
    margin-bottom:max(.75rem, env(safe-area-inset-bottom));
    align-self:center;
    z-index:4;
  }
  .hero-slider .hero-dots.container{
    position:relative;
    bottom:auto;
    left:auto;
    right:auto;
    width:100%;
    margin-top:.25rem;
    margin-bottom:0;
    justify-content:center;
  }
  .hero-slider .hero-foreground.container{
    padding-bottom:clamp(1.25rem, 4vh, 2.25rem);
  }
}

@media (max-width: 520px){
  .quick-card:not(.quick-card-hero) .quick-card-grid{grid-template-columns:1fr}
  .quick-card-right{border-left:0;padding-left:0}
}

/* Hero-Visitenkarte: kleine Phones — kompaktere Typo (Position siehe max-width 900px) */
@media (max-width: 640px){
  .quick-card-hero.quick-card{
    padding:12px 12px 14px;
    border-radius:12px;
    border-width:1px;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.35) inset,
      0 6px 18px rgba(31,22,12,.14),
      0 2px 6px rgba(201,138,46,.1);
  }
  .quick-card-hero .quick-card-grid{
    gap:.78rem;
  }
  .quick-card-hero .quick-card-hours-desktop{display:none}
  .quick-card-hero .quick-card-hours-compact{
    display:block;
    font-size:.58rem;
    letter-spacing:.01em;
    padding:.1rem 0 .15rem;
    line-height:1.4;
    text-align:center;
    max-width:100%;
  }
  .quick-card-hero .quick-card-title{
    font-size:.54rem;
    margin-bottom:.25rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:900;
    opacity:.92;
    text-align:center;
  }
  .quick-card-hero .quick-card-left .quick-card-title:first-of-type{
    margin-bottom:.28rem;
  }
  .quick-card-hero .quick-card-address-block .quick-card-address{
    font-size:.56rem;
    padding:.22rem .12rem .26rem;
  }
  .quick-card-hero .quick-card-right{
    padding-top:.55rem;
    gap:.42rem;
  }
  .quick-card-hero .quick-card-phone{
    font-size:.58rem;
    font-weight:900;
    line-height:1.25;
    min-height:0;
    padding:.32rem .25rem;
    width:100%;
    box-sizing:border-box;
    -webkit-tap-highlight-color:rgba(201,138,46,.25);
  }
  .quick-card-hero .quick-card-qr{
    width:48px;
    height:48px;
    border-radius:7px;
  }
  .quick-card-hero .quick-card-qr-hint{
    display:block;
    font-size:.54rem;
    margin-top:.08rem;
  }
}

/* Landscape / niedrige Höhe: schwebende Karte nur auf breiteren Viewports kompakter */
@media (max-height: 520px) and (orientation: landscape) and (min-width: 901px){
  .quick-card-hero{
    width:min(168px, calc(72vw - 1rem));
    bottom:max(8px, env(safe-area-inset-bottom));
    right:max(8px, env(safe-area-inset-right));
  }
  .quick-card-hero.quick-card{
    padding:9px 10px 10px;
  }
  .quick-card-hero .quick-card-grid{
    gap:.55rem;
  }
  .quick-card-hero .quick-card-qr-hint{display:none}
}
@media (max-height: 520px) and (orientation: landscape){
  .quick-card:not(.quick-card-hero){
    padding:10px 11px 9px;
  }
  .quick-card:not(.quick-card-hero) .quick-card-qr{
    width:64px;
    height:64px;
  }
  .quick-card-row{padding:.18rem 0}
}
.hero{padding:58px 0 42px}
.hero.hero-slider{padding:0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}
.hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 16px;color:var(--brown)}
.hero p{margin:0 0 1.2rem;color:var(--muted);max-width:60ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.hero-card{
  background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);
  border-radius:var(--radius);padding:1rem;
}
.hero-slider{
  position:relative;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .8s ease, transform 3.2s ease;
}
.hero-slide.active{
  opacity:1;
  transform:scale(1);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, rgba(30,20,12,.38) 0%, rgba(30,20,12,.22) 45%, rgba(30,20,12,.4) 100%);
  pointer-events:none;
}
.hero-foreground{
  position:relative;
  z-index:2;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  width:100%;
  min-height:0;
  box-sizing:border-box;
}
.hero-slider .hero-foreground.container{
  margin-left:0;
  margin-right:auto;
  max-width:none;
  width:100%;
  padding-top:clamp(5.75rem, 14vh, 7.75rem);
  padding-bottom:clamp(4.75rem, 10vh, 6.25rem);
  padding-left:clamp(1.25rem, 5vw, 3rem);
  padding-right:clamp(1rem, 4vw, 2.5rem);
}
.hero-grid{
  grid-template-columns:1fr;
  max-width:min(640px, 100%);
  padding-left:0;
}
.hero-foreground h1,
.hero-foreground p{
  color:#fff;
}
.hero-foreground p{
  font-family:"Allura","Great Vibes","Brush Script MT",cursive;
  font-size:clamp(1.6rem,3vw,2.5rem);
  line-height:1.1;
  margin-top:.35rem;
  margin-bottom:1.2rem;
  text-shadow:0 4px 14px rgba(0,0,0,.3);
}
.hero-brand{
  margin-bottom:.6rem;
  padding-top:.6rem;
  overflow:visible;
  max-width:100%;
  padding-left:12px;
  padding-right:12px;
}
.hero-brand .script{
  display:block;
  font-family:"Great Vibes","Brush Script MT",cursive;
  font-size:clamp(4.2rem,11.2vw,8.4rem);
  line-height:1.08;
  padding-top:.18em;
  padding-bottom:.06em;
  padding-left:.22em;
  padding-right:.16em;
  color:var(--gold-soft);
  background:linear-gradient(180deg,var(--gold-soft) 0%, #ffe2b1 25%, var(--gold) 55%, var(--gold-dark) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 6px 24px rgba(0,0,0,.38);
}
.hero-brand .tag{
  display:block;
  margin-top:.9rem;
  margin-left:2.4rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-size:clamp(.86rem,1.7vw,1.42rem);
  font-weight:300;
  color:rgba(255,255,255,.95);
}
.hero-foreground .badge{
  background:rgba(255,243,221,.95);
}
.hero-foreground .stat{
  background:rgba(255,255,255,.92);
}
.hero-foreground .hero-actions .btn-ghost{
  background:rgba(255,255,255,.88);
}
.hero-slider .hero-dots.container{
  position:absolute;
  bottom:max(1rem, env(safe-area-inset-bottom));
  left:0;
  right:0;
  width:100%;
  max-width:none;
  margin:0;
  padding-left:clamp(1.25rem, 5vw, 3rem);
  padding-right:clamp(1rem, 4vw, 2.5rem);
  box-sizing:border-box;
  justify-content:flex-start;
  z-index:3;
  display:flex;
  gap:.45rem;
}
.hero-dots{
  position:relative;
  z-index:3;
  display:flex;
  gap:.45rem;
  margin-top:1rem;
}
.hero-dots .dot{
  width:12px;
  height:12px;
  min-width:12px;
  min-height:12px;
  border-radius:50%;
  background:rgba(255,255,255,.45);
  display:inline-block;
  touch-action:manipulation;
}
.hero-dots .dot.active{
  background:#fff;
}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}
.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:.8rem;text-align:center}
.stat strong{display:block;font-size:1.2rem;color:var(--brown)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;
  box-shadow:0 8px 20px rgba(75,49,25,.08);transition:.2s ease;
  position:relative;
}
.card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(201,138,46,.10);
}
.card:hover{transform:translateY(-3px);border-color:var(--gold-soft);box-shadow:0 16px 36px rgba(75,49,25,.12), 0 10px 22px var(--gold-glow)}
.card h3{margin:.2rem 0 .4rem;color:var(--brown)}
.card p{margin:0;color:var(--muted)}
.icon{
  width:42px;height:42px;border-radius:10px;display:grid;place-items:center;
  background:#fbe8c7;color:var(--gold-dark);font-weight:800;margin-bottom:.6rem;
}
.offer-img-wrap{
  margin-bottom:.7rem;
  width:100%;
  aspect-ratio:4/3;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--cream);
  flex-shrink:0;
}
.offer-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  margin:0;
}
.quality-img-wrap{
  width:100%;
  aspect-ratio:4/3;
  border-radius:12px;
  overflow:hidden;
  background:var(--cream);
}
.quality-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.kontakt-img-wrap{
  width:100%;
  aspect-ratio:4/3;
  border-radius:12px;
  overflow:hidden;
  background:var(--cream);
}
.kontakt-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.kontakt-img-wrap.kontakt-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:clamp(1.25rem, 4vw, 2rem);
  text-align:center;
  border:1px dashed rgba(201,138,46,.45);
  background:linear-gradient(165deg, var(--cream) 0%, #faf6ef 100%);
  box-sizing:border-box;
}
.kontakt-placeholder-title{
  margin:0;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-weight:600;
  font-size:clamp(1.05rem, 2.8vw, 1.25rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--brown);
}
.kontakt-placeholder-sub{
  margin:0;
  max-width:22rem;
  font-size:clamp(.88rem, 2vw, .95rem);
  line-height:1.5;
  color:var(--muted);
}
.price{font-weight:800;color:var(--green)}
/* Nummern-Kreise entfernt; Schrift wie zuvor über .section-brand .process-step */
.process-step{position:relative;padding-left:0}
.quote{font-style:italic}
.info-list{margin:.3rem 0 0;padding:0;list-style:none}
.info-list li{padding:.2rem 0;color:var(--muted)}
.map-placeholder{
  border-radius:12px;border:1px solid var(--border);background:var(--cream);padding:1rem;text-align:center;color:var(--brown-soft)
}
.map-pin{
  margin-right:.3rem;
}
.map-preview{
  width:100%;
  height:260px;
  border:1px solid var(--border);
  border-radius:10px;
  margin-top:.75rem;
  background:#fff;
}
.map-placeholder .map-title{
  font-weight:700;
  color:var(--brown);
  margin-bottom:.45rem;
}
.map-placeholder .map-link{
  display:inline-flex;
  margin-top:.55rem;
  padding:.62rem 1rem;
  border-radius:999px;
  border:1px solid #d9b885;
  background:#fff7ea;
  color:var(--gold-dark);
  font-weight:700;
}
.map-placeholder .map-link:hover{
  background:#f9edd7;
}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.field{display:flex;flex-direction:column;gap:.35rem}
label{font-weight:600;color:var(--brown)}
input,select,textarea{
  width:100%;padding:.75rem .85rem;border:1px solid var(--border);border-radius:12px;background:#fff;
  font:inherit;color:var(--text);outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
.error{font-size:.85rem;color:#c0392b;display:none}
input.invalid,select.invalid,textarea.invalid{border-color:#c0392b;background:#fff6f5}
.site-footer{margin-top:40px;background:#2f2216;color:#f5e8d8}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:40px 0}
.footer-brand-block p{margin:0;color:rgba(245,232,216,.88);font-size:.95rem;line-height:1.55}
.footer-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}
.footer-link-list a{display:inline-flex;align-items:center;min-height:40px;padding:.2rem 0;line-height:1.4}
.site-footer h4{margin:0 0 .5rem;color:#fff}
.site-footer .footer-col h4{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.site-footer .footer-brand-title{
  margin:0 0 .5rem;
  color:var(--gold-soft);
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.site-footer a{color:#f0ddc3}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:14px 0;padding-bottom:calc(14px + env(safe-area-inset-bottom));color:#d9c5a8;font-size:.9rem}
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1150;
  padding:0 max(0, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(0, env(safe-area-inset-left));
  pointer-events:none;
}
.cookie-banner-inner{
  pointer-events:auto;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem 1.25rem;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 -8px 32px rgba(75,49,25,.14), 0 4px 20px rgba(75,49,25,.08);
  padding:1rem 1.15rem 1.05rem;
}
.cookie-banner-text{flex:1;min-width:min(100%, 280px)}
.cookie-banner-title{
  margin:0 0 .35rem;
  font-size:1.05rem;
  font-weight:700;
  color:var(--brown);
  line-height:1.25;
}
.cookie-banner-desc{
  margin:0;
  font-size:.9rem;
  line-height:1.5;
  color:var(--muted);
}
.cookie-banner-desc a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:2px}
.cookie-banner-desc a:hover{color:var(--brown)}
.cookie-banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  flex-shrink:0;
}
.cookie-banner-btn{min-width:min(100%, 8.5rem)}
@media (max-width:520px){
  .cookie-banner-inner{padding:.95rem 1rem}
  .cookie-banner-actions{width:100%;flex-direction:column}
  .cookie-banner-btn{width:100%;min-width:unset}
}
.modal{
  position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:1200;
  padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.modal.open{display:flex}
.modal-box{
  width:min(520px,calc(100% - 2rem));max-height:min(90dvh, calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 2rem));overflow-y:auto;
  background:#fff;border-radius:16px;padding:1.2rem;border:1px solid var(--border)
}
.mt-1{margin-top:1rem}
.mt-2{margin-top:2rem}
.center{text-align:center}
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .65s ease, transform .65s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.why-golden-back .section-title{
  font-family:"Allura","Great Vibes","Brush Script MT",cursive;
  font-size:clamp(2.2rem,4.6vw,4rem);
  font-weight:400;
  letter-spacing:.01em;
  color:var(--gold);
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.why-golden-back .section-sub{
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-weight:300;
  letter-spacing:.02em;
  font-size:clamp(1rem,1.6vw,1.2rem);
}
.why-golden-back .card h3{
  font-family:"Allura","Great Vibes","Brush Script MT",cursive;
  font-size:clamp(1.65rem,2.7vw,2.25rem);
  font-weight:400;
  margin-top:.1rem;
}
.why-golden-back .card p{
  font-weight:400;
}

.quality-section .section-title{
  font-family:"Allura","Great Vibes","Brush Script MT",cursive;
  font-size:clamp(2.2rem,4.6vw,4rem);
  font-weight:400;
  letter-spacing:.01em;
  color:var(--gold);
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.quality-section .section-sub{
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-weight:300;
  letter-spacing:.02em;
  font-size:clamp(1rem,1.6vw,1.2rem);
}
.quality-section .info-list li{
  font-weight:400;
}

.section-brand .section-title{
  font-family:"Allura","Great Vibes","Brush Script MT",cursive;
  font-size:clamp(2.2rem,4.6vw,4rem);
  font-weight:400;
  letter-spacing:.01em;
  color:var(--gold);
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.section-brand .section-sub{
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-weight:300;
  letter-spacing:.02em;
  font-size:clamp(1rem,1.6vw,1.2rem);
  line-height:1.55;
  max-width:42rem;
}
.section-brand .offer-kicker{
  margin:0 0 .15rem;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-dark);
}
.section-brand .card.offer h3{
  font-family:"Allura","Great Vibes","Brush Script MT",cursive;
  font-size:clamp(1.5rem,2.4vw,2rem);
  font-weight:400;
  margin:.2rem 0 .45rem;
  color:var(--brown);
}
.section-brand .card.offer p:not(.price){
  font-size:clamp(.95rem,1.15vw,1.05rem);
  line-height:1.5;
  color:var(--muted);
}
.section-brand .card.offer .price{
  margin-top:.5rem;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-size:clamp(1.05rem,1.3vw,1.25rem);
  letter-spacing:.02em;
}
.section-brand .process-step h3{
  font-family:"Allura","Great Vibes","Brush Script MT",cursive;
  font-size:clamp(1.35rem,2.2vw,1.85rem);
  font-weight:400;
  line-height:1.15;
  color:var(--brown);
}
.section-brand .process-step p{
  font-size:clamp(.95rem,1.1vw,1.05rem);
  line-height:1.55;
  color:var(--muted);
}
/* „So einfach bei uns“: eine ruhige Fläche statt drei einzelner Schatten-Karten */
.prozess-panel{
  max-width:38rem;
  margin-top:1rem;
  margin-inline:auto;
  background:#fff;
  border:1px solid rgba(201,138,46,.22);
  border-radius:calc(var(--radius) + 4px);
  box-shadow:0 2px 14px rgba(75,49,25,.06), 0 12px 36px rgba(75,49,25,.04);
  overflow:hidden;
}
.prozess-panel .process-step{
  margin:0;
  padding:clamp(1.2rem, 3vw, 1.55rem) clamp(1.35rem, 3.8vw, 2rem);
  border-bottom:1px solid rgba(234,219,197,.85);
  transition:background .2s ease;
}
.prozess-panel .process-step:last-child{border-bottom:0}
.prozess-panel .process-step:hover{background:rgba(251,242,223,.4)}
.prozess-panel .process-step h3{margin-top:0;margin-bottom:.4rem}
.prozess-panel .process-step p{margin:0}
.section-brand .review-card .quote{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,1.15vw,1.12rem);
  font-style:italic;
  line-height:1.6;
  color:var(--brown-soft);
  margin:0 0 .75rem;
}
.section-brand .review-card .author{
  margin:0;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-size:.88rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--gold-dark);
}
.section-brand #standort .info-list li{
  font-size:clamp(.95rem,1.1vw,1.05rem);
  line-height:1.55;
}

.section-brand .kaffee-abo-hint{
  max-width:42rem;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.breakfast-section{
  background:#fff;
  padding-top:80px;
  padding-bottom:80px;
}
.breakfast-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3rem);
  align-items:start;
}
.breakfast-visual{
  padding:0;
  overflow:hidden;
  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow:0 10px 28px rgba(75,49,25,.08);
  aspect-ratio:4/3;
  max-height:min(52vh, 480px);
}
.breakfast-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.breakfast-title{
  margin:0 0 .5rem;
  font-family:"Great Vibes","Allura","Brush Script MT",cursive;
  font-size:clamp(2.4rem,5vw,3.8rem);
  font-weight:400;
  line-height:1.1;
  color:var(--gold);
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.breakfast-kicker{
  margin:0 0 1.25rem;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-weight:400;
  font-size:clamp(.78rem,1.1vw,.95rem);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-dark);
}
/* Icon + Text (Frühstück, Kiosk): goldene Linien-Icons, braune Titel, graue Fließtexte */
.icon-lead-list{
  list-style:none;
  margin:0;
  padding:0;
}
.icon-lead-list > li{
  display:flex;
  align-items:flex-start;
  gap:clamp(1rem, 3vw, 1.65rem);
  padding:clamp(.9rem, 2.2vw, 1.15rem) 0;
  border-bottom:1px solid #e8e0d4;
}
.icon-lead-list > li:first-child{padding-top:0}
.icon-lead-list > li:last-child{border-bottom:0;padding-bottom:0}
.icon-lead-ico{
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:#b8924a;
  margin-top:.06rem;
}
.icon-lead-ico svg{
  display:block;
  width:26px;
  height:26px;
}
.icon-lead-text{
  flex:1;
  min-width:0;
}
.icon-lead-headline{
  display:block;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-weight:700;
  font-size:clamp(1rem, 2.2vw, 1.12rem);
  line-height:1.35;
  color:var(--brown);
  margin:0 0 .32rem;
}
.icon-lead-sub{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-weight:400;
  font-size:clamp(.88rem, 1.9vw, .98rem);
  line-height:1.55;
  color:var(--muted);
}
.icon-lead-single{
  margin:0;
  flex:1;
  min-width:0;
  align-self:center;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-weight:400;
  font-size:clamp(.92rem, 2vw, 1.02rem);
  line-height:1.5;
  color:var(--muted);
}
.kiosk-icon-card{
  margin-top:1rem;
  padding:clamp(1rem, 3vw, 1.35rem) clamp(1.1rem, 3vw, 1.5rem);
}
.kiosk-icon-card .icon-lead-list > li:first-child{padding-top:0}
@media (max-width: 960px){
  .breakfast-grid{grid-template-columns:1fr}
  .hero-grid,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:1.25rem 1.25rem;
    padding:32px 0 28px;
  }
  .footer-grid .footer-brand-block{
    grid-column:1/-1;
    padding-bottom:1rem;
    margin-bottom:.15rem;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .footer-grid .footer-legal{grid-column:1/-1}
  .hero-slider{min-height:100svh;min-height:100dvh}
  .site-header{background:linear-gradient(180deg, rgba(25,15,8,.48) 0%, rgba(25,15,8,0) 100%)}
  .brand-logo-img{width:37px}
  .hero-slider .hero-foreground.container{
    padding-top:clamp(4.25rem, 11vh, 5.5rem);
    padding-left:max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-left));
    padding-right:max(clamp(.85rem, 3vw, 1.25rem), env(safe-area-inset-right));
  }
  .hero-slider .hero-dots.container{
    padding-left:max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-left));
    padding-right:max(clamp(.85rem, 3vw, 1.25rem), env(safe-area-inset-right));
  }
  .hero-grid{padding-left:0}
  .hero-brand .tag{margin-left:1rem;letter-spacing:.24em}
  .hero-foreground p{font-size:clamp(1.35rem,4.8vw,2rem)}
}
@media (max-width: 960px) and (min-width: 901px){
  .hero-slider .hero-foreground.container{
    padding-bottom:clamp(4.25rem, 11vh, 5.75rem);
  }
}

/* Smartphones & iPhone: Touch, Lesbarkeit, kein Zoom in Formularen */
@media (max-width: 480px){
  .section{padding:48px 0 56px}
  .section-title{font-size:clamp(1.45rem,6.2vw,1.85rem)}
  .hero-brand .script{
    font-size:clamp(3rem,13vw,4.6rem);
    padding-left:.12em;
    padding-right:.1em;
  }
  .hero-brand .tag{
    margin-left:.5rem;
    letter-spacing:.18em;
    font-size:clamp(.72rem,3.2vw,.88rem);
  }
  .quick-card:not(.quick-card-hero){
    padding:10px 11px 11px;
    border-radius:13px;
  }
  .quick-card:not(.quick-card-hero) .quick-card-phone,
  .quick-card:not(.quick-card-hero) .quick-card-address{
    padding-top:4px;
    padding-bottom:4px;
    min-height:42px;
    align-items:center;
  }
  .quick-card:not(.quick-card-hero) .quick-card-row{font-size:.74rem}
  .quick-card:not(.quick-card-hero) .quick-card-qr{
    width:min(68px, 22vw);
    height:min(68px, 22vw);
  }
  .card{padding:1rem}
  .map-preview{height:220px}
  input,select,textarea{
    font-size:16px;
  }
  .footer-grid{
    gap:1.1rem 1rem;
    padding:28px 0 22px;
  }
  .footer-brand-block p{font-size:.92rem}
  .footer-link-list{gap:.05rem}
  .footer-link-list a{
    min-height:44px;
    padding:.5rem 0;
    border-radius:8px;
    margin:0 -.25rem;
    padding-left:.35rem;
    padding-right:.35rem;
  }
  .footer-link-list a:active{background:rgba(255,255,255,.06)}
}

/* Sehr schmale Geräte (z. B. iPhone SE) */
@media (max-width: 380px){
  .container{width:min(1140px, calc(100% - 1rem))}
  .nav{width:min(240px, 70.4vw)}
}
