/* ===== Lokal eingebettete Schriften (Fontsource) ===== */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/schriften/manrope-400.woff2') format('woff2');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('/schriften/manrope-500.woff2') format('woff2');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('/schriften/manrope-600.woff2') format('woff2');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('/schriften/manrope-700.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/schriften/cormorant-500.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/schriften/cormorant-600.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/schriften/cormorant-500-italic.woff2') format('woff2');}
:root{
  --display:'Cormorant Garamond', Georgia, serif;
  --body:'Manrope', system-ui, sans-serif;
  --maxw:1080px;
  --pad:clamp(1.25rem,5vw,4rem);
  --bg:#f5f6f7;
  --surface:#ffffff;
  --ink:#1c1e21;
  --muted:#696e74;
  --line:#e4e6e9;
  --accent:#1c1e21;     /* Hervorhebung / Buttons */
  --eyebrow:#696e74;    /* Eyebrow-Farbe */
}
/* ===== Theme-Farben je Kategorie ===== */
body[data-theme="gastro"]  {--bg:#f8f3ee;--accent:#c0392b;--eyebrow:#c0392b;}
body[data-theme="handwerk"]{--bg:#f1f1ef;--accent:#8a4d18;--eyebrow:#8a4d18;}
body[data-theme="weinbau"] {--bg:#eef0f7;--accent:#6a4ec2;--eyebrow:#6a4ec2;}
body[data-theme="dienst"]  {--bg:#eef2f6;--accent:#1f6f9e;--eyebrow:#1f6f9e;}
body[data-theme="alles"]   {--bg:#ecf4ef;--accent:#1f704a;--eyebrow:#1f704a;}
body[data-theme="service"] {--bg:#ecf4f4;--accent:#126863;--eyebrow:#126863;}
body[data-theme="garten"]  {--bg:#eef3e8;--accent:#466d1f;--eyebrow:#466d1f;}
body[data-theme="beauty"]  {--bg:#f7eef3;--accent:#984164;--eyebrow:#984164;}
body[data-theme="andere"]  {--bg:#eef1f5;--accent:#566b8a;--eyebrow:#566b8a;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);
  line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
  transition:background-color .5s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1rem;z-index:100;}
.skip:focus{left:0;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

.section{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,7vw,5.5rem) var(--pad);}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 1rem;transition:color .5s;}
h2{font-family:var(--display);font-weight:500;font-size:clamp(2rem,5vw,3rem);line-height:1.08;margin:0;}
.lead{font-size:1.1rem;color:var(--muted);max-width:42rem;margin:1rem 0 0;}
/* Preise- und Kontakt-Abschnitt zentriert */
#preise > .eyebrow, #preise > h2, #preise > .lead,
#kontakt > .eyebrow, #kontakt > h2, #kontakt > .lead{text-align:center;}
#preise > .lead, #kontakt > .lead{margin-left:auto;margin-right:auto;}

/* ============ HERO ============ */
.hero{position:relative;padding-top:0;}
.fan{
  --s:clamp(44px,6vw,120px);        /* Schräge (gleichmäßig) */
  --capH:22%;
  --fanH:clamp(290px,52vh,470px);
  --vis:5;                          /* sichtbare Kacheln (responsiv) */
  position:relative;width:100%;height:var(--fanH);
  margin:0 0 1rem;overflow:hidden;background:#e7e9ec;
  touch-action:pan-y;
}
.fan-track{display:flex;height:100%;width:calc(100% / var(--vis) * 9);transition:transform .7s cubic-bezier(.4,0,.2,1);will-change:transform;user-select:none;-webkit-user-select:none;}
@media (max-width:499px){ .fan{--vis:3;} }
@media (min-width:500px) and (max-width:739px){ .fan{--vis:4;} }
@media (min-width:2200px){ .fan{--vis:7;} }
@media (min-width:3200px){
  .fan{--vis:9; --s:clamp(40px,1.4vw,96px);}
  .fan .cat{width:calc((100% + 8 * var(--s)) / 9);}
  .fan .cat:first-child{margin-left:0;}
}
.fan-dots{position:relative;display:flex;justify-content:center;gap:.4rem;margin:0 0 clamp(2.25rem,5vw,3.5rem);}
.fan-dot{width:5px;height:5px;border-radius:50%;background:var(--line);border:none;padding:0;cursor:pointer;transition:background-color .3s ease,transform .3s ease;}
.fan-dot:hover{background:var(--muted);}
.fan-dot.active{background:var(--accent,#1d2125);transform:scale(1.4);}
.r-service{background-image:url('/bilder/service.webp');}
.r-garten{background-image:url('/bilder/garten.webp');background-position:center 56%;}
.r-beauty{background-image:url('/bilder/beauty.webp');}
.r-andere{background-image:url('/bilder/andere.webp');}
.cat{
  appearance:none;border:none;margin:0;padding:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;
  flex:0 0 auto;width:calc(11.111% + 1.2 * var(--s));margin-left:calc(var(--s) * -1);
  height:100%;position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  clip-path:polygon(var(--s) 0, 100% 0, calc(100% - var(--s)) 100%, 0 100%);
  background-size:cover;background-position:center;
  filter:drop-shadow(-7px 0 11px rgba(20,24,28,.16));
  transition:transform .3s ease, filter .35s ease, opacity .35s ease;
}
.cat:first-child{margin-left:calc(var(--s) * -1);}
.cat::before{ /* sanfter Verlauf für Lesbarkeit */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.10),transparent 26%,transparent 66%,rgba(0,0,0,.14));
}
.cat-ico{position:absolute;top:34%;left:0;right:0;display:flex;justify-content:center;pointer-events:none;}
.cat-ico svg{width:clamp(30px,5vw,54px);height:clamp(30px,5vw,54px);fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.95;}
.cat-label{
  position:relative;z-index:2;height:var(--capH);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.06;
  background:rgba(255,255,255,.76);
  -webkit-backdrop-filter:blur(5px) saturate(1.05);backdrop-filter:blur(5px) saturate(1.05);
  border-top:1.5px solid rgba(255,255,255,.9);box-shadow:0 -1px 0 rgba(20,24,28,.10);
  color:var(--ink);
  /* mittig im schrägen Balken: nach links ausgleichen */
  padding:.25rem calc(var(--s) * 0.88) .5rem calc(var(--s) * 0.1);
  hyphens:auto;-webkit-hyphens:auto;
}
.cat:first-child .cat-label{padding-left:calc(var(--s) * 0.32);padding-right:calc(var(--s) * 0.1);}
.cat-label .cpre{font-size:clamp(.64rem,1.4vw,.95rem);font-weight:600;color:var(--muted);}
.cat-label b{font-family:var(--display);font-weight:600;font-size:clamp(1rem,1.95vw,1.5rem);overflow-wrap:break-word;}
.cat-label.wide b{font-size:clamp(.8rem,1.45vw,1.08rem);line-height:1.12;max-width:7.5em;}
.cat-label.wide{padding-right:calc(var(--s) * 1.05);}

/* Balkenfarben / Bilder */
.r-gastro{background-image:url('/bilder/gastro.webp');}
.r-handwerk{background-image:url('/bilder/handwerk.webp');}
.r-weinbau{background-image:url('/bilder/weinbau.webp');}
.r-dienst{background-image:url('/bilder/dienst.webp');}
.r-alles{background-image:url('/bilder/alles.webp');}

/* Hover: Balken inkl. Label */
@media (hover:hover){
  .cat:hover{transform:translateY(-8px);z-index:4;}
  .cat:hover .cat-label{background:rgba(255,255,255,.9);}
}

/* aktiver / inaktiver Zustand bei gewähltem Theme */
.fan.themed .cat{filter:grayscale(.58) brightness(.85);opacity:.64;}
.fan.themed .cat.active{opacity:1;transform:translateY(-8px);z-index:5;filter:drop-shadow(0 0 26px color-mix(in srgb, var(--accent) 85%, transparent)) drop-shadow(0 0 9px var(--accent));}
.fan.themed .cat.active .cat-label{background:color-mix(in srgb, var(--accent) 15%, #fff);}

/* Logo oben links im freien Bereich */
.logo-home{
  position:absolute;top:clamp(.55rem,1.5vw,1.15rem);left:clamp(.55rem,1.5vw,1.15rem);z-index:30;
  width:clamp(58px,8vw,94px);height:clamp(58px,8vw,94px);
  display:flex;align-items:center;justify-content:center;
  padding:clamp(.4rem,1vw,.7rem);border:none;border-radius:50%;
  background:#fff;box-shadow:0 4px 14px rgba(20,24,28,.22);cursor:pointer;
  transition:transform .25s, box-shadow .25s;
}
.logo-home:hover{transform:scale(1.06);box-shadow:0 6px 18px rgba(20,24,28,.28);}
.logo-home img{width:100%;height:100%;object-fit:contain;display:block;}

/* Markenbereich */
.hero-brand{text-align:center;padding:0 var(--pad);}
.hero-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 1.1rem;transition:color .5s;}
.wordmark{font-family:var(--display);font-weight:500;font-size:clamp(3rem,11vw,6.5rem);line-height:.95;letter-spacing:.01em;margin:0;}
.wordmark .sl{color:var(--accent);font-weight:400;transition:color .5s;}
.hero-tag{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.2rem,3vw,1.8rem);color:var(--ink);margin:.6rem 0 0;}
.hero-cta{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:2rem;}

/* ============ Erklärtext ============ */
.intro{max-width:54rem;margin:0 auto;text-align:center;}
.intro h2{margin-bottom:1.5rem;}
#introH{font-size:clamp(1.45rem,3.4vw,2.35rem);}
@media (min-width:920px){ #introH{white-space:nowrap;} }
.intro p{font-size:1.12rem;color:var(--muted);margin:0 auto 1.15rem;max-width:40rem;}
.intro p.kicker{font-family:var(--display);font-style:normal;font-size:1.4rem;color:var(--ink);font-weight:500;margin-top:1.5rem;}
/* "online" in Kachelfarbe hinterlegt */
.hl-online{color:var(--cta);font-weight:600;transition:color .5s;}
.advantages{list-style:none;max-width:540px;margin:2.5rem auto 0;padding:.4rem 1.9rem;border-radius:20px;background:color-mix(in srgb, var(--accent) 5%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 13%, var(--line));text-align:left;transition:background-color .45s ease, border-color .45s ease;}
.advantages li{display:flex;align-items:baseline;gap:.85rem;padding:.95rem .2rem;border-bottom:1px solid color-mix(in srgb, var(--accent) 11%, var(--line));}
.advantages li:last-child{border-bottom:none;}
.advantages li::before{content:"/";font-family:var(--display);font-weight:700;color:var(--accent);font-size:1.2em;line-height:1;flex:0 0 auto;transition:color .45s ease;}
.advantages li.spec,.advantages li:not(.spec){font-family:var(--body, system-ui, sans-serif);font-size:1rem;line-height:1.45;font-weight:400;color:var(--ink);}
.hero-tag-sub{display:inline-block;margin-top:.12em;font-size:.8em;color:var(--accent);transition:color .5s;}

.rule{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.rule hr{border:none;border-top:1px solid var(--line);margin:0;}

/* ============ Preise ============ */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.75rem;align-items:stretch;}
.price{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:2rem 1.7rem;display:flex;flex-direction:column;position:relative;overflow:hidden;}
.price .bar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent);}
.price.featured{border-color:var(--accent);box-shadow:0 12px 40px rgba(20,24,28,.10);}
.badge{position:absolute;top:.28rem;right:.3rem;z-index:1;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:99px;padding:.3rem .75rem;transform:none;transition:background-color .5s;}
.pname{font-family:var(--display);font-size:1.7rem;font-weight:600;line-height:1.2;min-height:2.04rem;margin:0 0 .2rem;}
.ptag{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;min-height:4rem;font-size:1.05rem;font-weight:700;color:var(--ink);margin:.2rem 0 0;}
.ptag .big{flex:0 0 auto;white-space:nowrap;font-family:var(--display);font-weight:600;font-size:2.5rem;line-height:1;}
.ptag .small{flex:1 1 auto;min-width:0;white-space:pre-line;font-weight:600;color:var(--muted);font-size:.95rem;line-height:1.55;transform:translateY(.68rem);}
.pwho{font-size:.9rem;color:var(--muted);margin:.7rem 0 1.3rem;}
.price ul{list-style:none;margin:0;padding:0;flex:1;}
.price li{padding:.55rem 0 .55rem 1.6rem;position:relative;border-top:1px solid var(--line);font-size:.95rem;}
.price li:first-child{border-top:none;}
.price li::before{content:"";position:absolute;left:0;top:.95rem;width:8px;height:8px;border-radius:99px;background:var(--accent);transition:background-color .5s;}
.benefit{margin:1.3rem 0 0;padding:.9rem 1rem;border-radius:10px;background:var(--bg);border-left:3px solid var(--accent);font-weight:600;font-size:.95rem;line-height:1.4;transition:background-color .5s,border-color .5s;}
.price .btn{margin-top:1.3rem;}
.disclaimer{font-size:.82rem;color:var(--muted);margin:1.6rem 0 0;text-align:center;}

/* ============ Buttons ============ */
.btn{display:inline-block;font-family:var(--body);font-size:.88rem;font-weight:600;letter-spacing:.02em;text-decoration:none;text-align:center;cursor:pointer;padding:.85rem 1.6rem;border-radius:99px;border:1.5px solid var(--accent);transition:background-color .3s,color .3s,border-color .3s,transform .1s;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{filter:brightness(1.1);}
.btn-ghost{background:transparent;color:var(--ink);}
.hero-cta .btn-ghost:hover{background:var(--accent);color:#fff;}
.btn-block{width:100%;}

/* ============ Kontakt ============ */
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(1.75rem,4vw,2.75rem);margin-top:2.5rem;}
.form{max-width:40rem;margin:0 auto;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;}
.form input,.form textarea{width:100%;margin-top:.4rem;padding:.8rem .9rem;font-family:var(--body);font-size:1rem;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;text-transform:none;letter-spacing:0;font-weight:400;}
.form input:focus,.form textarea:focus{border-color:var(--accent);outline:none;}
.form input:focus-visible,.form textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,#315e9b);outline-offset:2px;}
.form textarea{resize:vertical;}
.check{display:flex!important;gap:.7rem;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:.9rem!important;color:var(--muted);font-weight:400!important;}
.check input{width:auto;margin:.2rem 0 0;flex-shrink:0;}
.check a{color:var(--accent);text-decoration:underline;}
.form-hint{font-size:.85rem;color:var(--muted);text-align:center;margin:1.1rem 0 0;}
.form-hint a{color:var(--accent);}

/* ============ Footer ============ */
.foot{border-top:1px solid var(--line);max-width:var(--maxw);margin:0 auto;padding:2.5rem var(--pad);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;}
.foot-brand{font-family:var(--display);font-size:1.3rem;font-weight:600;}
.foot-brand .sl{color:var(--muted);}
.foot-nav{display:flex;gap:1.5rem;font-size:.85rem;font-weight:600;}
.foot-nav a{text-decoration:none;color:var(--muted);}
.foot-nav a:hover{color:var(--accent);}
.foot-note{font-size:.78rem;color:var(--muted);width:100%;margin:0;padding-top:1.25rem;border-top:1px solid var(--line);}

/* ============ Responsive ============ */
@media (max-width:820px){ .prices{grid-template-columns:1fr;} }
@media (max-width:640px){
  .fan{--s:clamp(24px,7.5vw,52px);--capH:24%;--fanH:clamp(230px,44vh,340px);}
  .cat-label .cpre{display:block;font-size:clamp(.5rem,1.9vw,.7rem);}
  .cat-label b{font-size:clamp(.74rem,3vw,1.1rem);}
  .cat:first-child .cat-label{padding-left:calc(var(--s) * 0.06);padding-right:calc(var(--s) * 0.32);}
  .form-row{grid-template-columns:1fr;}
}

.price{cursor:pointer;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.price:hover{transform:translateY(-6px);box-shadow:0 16px 42px rgba(20,24,28,.14);border-color:var(--accent);}
.price:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.price:hover .btn{border-color:var(--accent);}
.price .btn{pointer-events:auto;border:1.5px solid var(--accent);font:inherit;font-weight:600;}
.price.selected{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 0 0 2px var(--accent), 0 18px 50px color-mix(in srgb, var(--accent) 48%, transparent);}
.price.selected .bar{height:6px;}
.price.selected .btn{background:#c7cbd1;color:#23262a;border-color:#c7cbd1;}
body[data-theme] .price.selected .btn{background:var(--accent);color:#fff;border-color:var(--accent);}

  /* Nach-oben-Button */
  .to-top{
    position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem);
    width:46px; height:46px; border-radius:50%; border:none; cursor:pointer;
    display:grid; place-items:center; color:#fff; background:var(--accent);
    box-shadow:0 6px 18px rgba(20,24,28,.22);
    opacity:0; transform:translateY(8px); pointer-events:none;
    transition:opacity .25s ease, transform .25s ease, background .3s ease;
    z-index:60;
  }
  .to-top.show{ opacity:1; transform:translateY(0); pointer-events:auto; }
  .to-top:hover{ filter:brightness(1.08); }
  .to-top:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }

  .proto-note{
    display:inline-flex; align-items:center; gap:.5rem; margin:0 0 1.2rem;
    background:#ffe7a3; color:#6b5200; border:1px solid #e3c259;
    font-size:.82rem; font-weight:600; line-height:1.3;
    padding:.55rem 1.05rem; border-radius:999px;
    box-shadow:0 2px 10px rgba(20,24,28,.12);
  }
  .proto-note strong{font-weight:800; text-transform:uppercase; letter-spacing:.05em;}
  .proto-note .dot{width:.55rem;height:.55rem;border-radius:50%;background:#d39a00;flex:none;}
/* ---- Sprach-Umschalter ---- */
.lang-switch{position:absolute;right:clamp(.85rem,3.5vw,2rem);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;z-index:1200;font-family:var(--body, system-ui, sans-serif);}
.lang-current{display:inline-flex;align-items:center;gap:.45rem;padding:.34rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb, var(--accent) 20%, var(--line));background:color-mix(in srgb, var(--surface) 90%, transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.06);transition:border-color .25s ease, background-color .25s ease;}
.lang-current:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 12%, var(--surface));}
.lang-flag{width:20px;height:15px;border-radius:3px;overflow:hidden;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.08);display:inline-block;vertical-align:middle;}
.lang-chev{transition:transform .25s ease;opacity:.65;}
.lang-switch.open .lang-chev{transform:rotate(180deg);}
.lang-menu{list-style:none;margin:.4rem 0 0;padding:.35rem;position:absolute;top:100%;right:0;min-width:186px;background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line));border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.16);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease, transform .2s ease, visibility .2s;z-index:30;}
.lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0);}
.lang-menu[hidden]{display:none;}
.lang-menu li{margin:0;padding:0;}
.lang-menu button{display:flex;width:100%;align-items:center;gap:.6rem;padding:.55rem .7rem;border:0;border-radius:9px;background:transparent;font:inherit;font-size:.9rem;font-weight:500;color:var(--ink);cursor:pointer;transition:background-color .18s ease;white-space:nowrap;text-align:left;}
.lang-menu button:hover,.lang-menu button:focus-visible{background:color-mix(in srgb, var(--accent) 10%, var(--surface));}
.lang-menu button[aria-checked="true"]{background:color-mix(in srgb, var(--accent) 14%, var(--surface));font-weight:600;}
.lang-ainote{order:3;margin:.45rem 0 0;max-width:240px;text-align:right;font-size:.7rem;line-height:1.4;color:var(--muted);font-style:italic;background:color-mix(in srgb, var(--surface) 92%, transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid color-mix(in srgb, var(--accent) 12%, var(--line));border-radius:10px;padding:.45rem .6rem;box-shadow:0 2px 10px rgba(0,0,0,.07);position:relative;z-index:1;}
.lang-switch.open .lang-ainote{visibility:hidden;}
.turnstile-wrap{margin:0 0 1rem;min-height:65px;}
.form-status{min-height:1.4em;margin:.2rem 0 .8rem;color:var(--muted);font-size:.85rem;}
.form-status:not(:empty){padding:1rem 1.1rem;border-radius:14px;border:1px solid currentColor;font-size:.95rem;font-weight:650;line-height:1.55;box-shadow:0 8px 24px rgba(20,24,28,.08);}
.form-status.is-success{color:#155632;background:#e7f5ec;border-color:#6da982;}
.form-status.is-error{color:#791e29;background:#fae9eb;border-color:#cf8e97;}
.pricenote{max-width:980px;margin:1.2rem auto 0;text-align:center;font-size:.82rem;line-height:1.5;color:var(--muted);}
@media (max-width:560px){
  .lang-code{display:none;}
  .lang-current{padding:.3rem .5rem;}
  .lang-ainote{max-width:200px;font-size:.66rem;}
}

/* === Cookie-Hinweis (technisch notwendige Speicherung; informativ) === */
#cookieNote{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1100;width:min(360px,calc(100vw - 2rem));
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 14px 44px rgba(20,22,25,.16),0 2px 8px rgba(20,22,25,.06);
  padding:1.2rem 1.25rem 1.1rem;font-family:var(--body);
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.985);
  transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility .45s;}
#cookieNote.is-visible{opacity:1;visibility:visible;transform:none;}
#cookieNote .ck-bar{width:34px;height:3px;border-radius:2px;background:var(--accent);opacity:.9;margin-bottom:.85rem;}
#cookieNote h3{font-family:var(--display);font-size:1.32rem;line-height:1.12;color:var(--ink);margin:0 0 .55rem;font-weight:600;letter-spacing:.005em;}
#cookieNote .ck-sub{font-family:var(--display);font-style:italic;font-size:1.02rem;line-height:1.25;color:var(--accent);margin:0 0 .7rem;}
#cookieNote p{font-size:.815rem;line-height:1.55;color:var(--muted);margin:0 0 1.05rem;}
#cookieNote p a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.06em;}
#cookieNote p a:hover{color:var(--accent);}
#cookieNote .ck-btn{display:block;width:100%;appearance:none;border:1.5px solid var(--accent);
  background:var(--accent);color:#fff;font-family:var(--body);font-size:.85rem;font-weight:600;
  letter-spacing:.02em;cursor:pointer;padding:.72rem 1.2rem;border-radius:99px;
  transition:opacity .2s ease,transform .15s ease;}
#cookieNote .ck-btn:hover{opacity:.9;}
#cookieNote .ck-btn:active{transform:translateY(1px);}
#cookieNote .ck-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
@media(max-width:560px){#cookieNote{right:1rem;left:1rem;bottom:1rem;width:auto;}}
@media(prefers-reduced-motion:reduce){#cookieNote{transform:none;transition:opacity .3s ease,visibility .3s;}}

/* === Sprach-Pille: KI-Notiz aus dem Fluss nehmen (kein Springen bei EN) === */
.lang-ainote{position:absolute;top:100%;right:0;margin:.5rem 0 0;}
/* === Akzentfarbe je Kachel (Marker + Aufmacher-Wort) === */
.r-weinbau{--ca:#6a4ec2}.r-alles{--ca:#1f704a}.r-gastro{--ca:#c0392b}.r-handwerk{--ca:#8a4d18}.r-dienst{--ca:#1f6f9e}.r-service{--ca:#126863}.r-garten{--ca:#466d1f}.r-beauty{--ca:#984164}.r-andere{--ca:#566b8a}
/* === Kachel-Markierung: dicker Akzent-Strich an der Milchglas-Oberkante === */
.cat-label{position:relative;}
.cat-label::before{content:'';position:absolute;left:0;right:0;top:-3px;height:6px;background:var(--ca);z-index:2;opacity:0;transition:opacity .5s ease;}
.cat.is-marked .cat-label::before{opacity:1;}
/* === Animiertes Aufmacher-Wort + Subline === */
.hero-words{position:relative;display:inline-block;border-bottom:3px solid currentColor;padding-bottom:.04em;white-space:nowrap;}
.hero-sub{margin:.7rem 0 0;color:var(--muted);font-family:var(--body);font-size:clamp(.92rem,1.6vw,1.05rem);line-height:1.5;}

/* === rev.G: Hero-Hierarchie, Verblassung, CTA-Farben === */
.wordmark{font-size:clamp(1.35rem,3.3vw,1.85rem);line-height:1.08;}
.hero-tag{font-size:clamp(1.9rem,4.6vw,3rem);font-style:normal;line-height:1.18;margin:.5rem 0 0;}
.hero-wipe{position:absolute;left:0;top:0;bottom:0;width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform;opacity:.5;}
:root{--cta:#1c1e21;}
.wordmark .sl{color:var(--cta);}
.cat{transition:opacity .45s ease, filter .45s ease, transform .35s cubic-bezier(.4,0,.2,1);}
.fan:not(.themed) .cat{opacity:.9;filter:grayscale(.12) brightness(.97);}
.fan:not(.themed) .cat.is-marked{opacity:1;filter:none;}
.fan.themed .cat{opacity:.5;filter:grayscale(.62) brightness(.8);}
.fan.themed .cat.active{opacity:1;filter:drop-shadow(0 0 26px color-mix(in srgb, var(--accent) 85%, transparent)) drop-shadow(0 0 9px var(--accent));}
.hero-cta .btn-primary{background:var(--cta);color:#fff;border:1px solid var(--cta);}
.hero-cta .btn-ghost{background:transparent;color:var(--cta);border:1px solid var(--cta);}
.hero-cta .btn-ghost:hover{background:var(--cta);color:#fff;}

.foot-note{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;}
.foot-admin{color:var(--muted);text-decoration:none;font-weight:600;font-size:.78rem;}
.foot-admin:hover{color:var(--accent);}
