/**
 * Zunfttöchter Colonia — Redesign v3 (Hell-Dunkel-Dramaturgie)
 * Gilt nur auf Seiten mit body.ztc-v3 (siehe functions.php).
 * Klassen-Präfix: ztc-
 */

/* ---- Fonts (selbst gehostet, DSGVO-konform) ---- */
@font-face{
  font-family:"Fraunces";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("fonts/fraunces-var.woff2") format("woff2");
}
@font-face{
  font-family:"Outfit";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("fonts/outfit-var.woff2") format("woff2");
}

/* ---- Design-Tokens ---- */
body.ztc-v3{
  --ztc-petrol:#285257;
  --ztc-petrol-deep:#16383c;
  --ztc-teal:#7ecdd4;
  --ztc-gold:#a97407;
  --ztc-gold-l:#e8c35d;
  --ztc-bordeaux:#7f1734;
  --ztc-bordeaux-l:#b03055;
  --ztc-ease:cubic-bezier(.32,.72,0,1);
  --ztc-r-shell:2rem;
  --ztc-r-core:calc(2rem - .5rem);

  /* Zonen-Tokens (Standard: hell) */
  --ztc-fg:#0f2427;
  --ztc-mut:#4f6d70;
  --ztc-accent:#a97407;
  --ztc-hairline:rgba(15,36,39,.1);
  --ztc-shell-bg:rgba(255,255,255,.55);
  --ztc-card-grad:linear-gradient(165deg,#ffffff,#f7faf9 70%);
  --ztc-inset-hl:rgba(255,255,255,.9);
  --ztc-shadow:0 24px 48px -26px rgba(15,36,39,.28);

  font-family:"Outfit",system-ui,sans-serif;
  font-weight:360;
  background:#eef3f2;
  color:var(--ztc-fg);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.ztc-v3 ::selection{background:var(--ztc-gold-l);color:#0f2427}

.ztc-dark{
  --ztc-fg:#e6f0f0;
  --ztc-mut:#95b4b7;
  --ztc-accent:#e8c35d;
  --ztc-hairline:rgba(126,205,212,.14);
  --ztc-shell-bg:rgba(126,205,212,.05);
  --ztc-card-grad:linear-gradient(165deg,#0e2124,#0c1c1f 70%);
  --ztc-inset-hl:rgba(255,255,255,.07);
  --ztc-shadow:0 30px 60px -30px rgba(2,8,9,.9);
  background:#123034;
  color:var(--ztc-fg);
}

/* ---- Korn-Overlay + Scroll-Fortschritt ---- */
.ztc-grain{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.ztc-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:80;
  background:linear-gradient(90deg,var(--ztc-gold-l),var(--ztc-bordeaux-l));
  box-shadow:0 0 12px rgba(232,195,93,.5);
}

/* ---- Navigation: Glas-Insel mit Logo-Medaillon ---- */
.ztc-nav{
  position:fixed;top:1.1rem;left:50%;translate:-50% 0;z-index:50;
  display:flex;align-items:center;gap:.35rem;
  padding:.45rem .5rem .45rem .55rem;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border:1px solid rgba(15,36,39,.09);
  box-shadow:0 18px 44px -22px rgba(15,36,39,.35), inset 0 1px 0 rgba(255,255,255,.8);
  max-width:calc(100vw - 2rem);
  transition:background .7s var(--ztc-ease),border-color .7s var(--ztc-ease),box-shadow .7s var(--ztc-ease);
}
.ztc-logo-badge{
  width:86px;height:86px;flex:none;
  margin:-8px .35rem -44px -4px;
  border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#ffffff,#eef3f2 75%);
  border:1px solid rgba(15,36,39,.1);
  box-shadow:0 18px 36px -14px rgba(15,36,39,.45), inset 0 1px 1px rgba(255,255,255,.9);
  display:grid;place-items:center;
  transition:width .8s var(--ztc-ease),height .8s var(--ztc-ease),margin .8s var(--ztc-ease),box-shadow .8s var(--ztc-ease);
}
.ztc-logo-badge img{width:62%;height:auto;transition:width .8s var(--ztc-ease)}
.ztc-scrolled .ztc-logo-badge{width:38px;height:38px;margin:0 .2rem 0 0;box-shadow:0 6px 14px -6px rgba(15,36,39,.4), inset 0 1px 1px rgba(255,255,255,.9)}
.ztc-scrolled .ztc-logo-badge img{width:66%}
.ztc-nav-brand{display:flex;align-items:center;text-decoration:none;margin-right:.7rem}

/* Wortmarke im Hero-Stil: Fraunces kursiv mit Gold-Schimmer */
.ztc-wordmark{
  font-family:"Fraunces",serif;font-style:italic;font-weight:600;
  letter-spacing:.01em;white-space:nowrap;
  background:linear-gradient(100deg,var(--ztc-gold) 10%,#d9a72e 45%,var(--ztc-gold) 80%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:ztc-shimmer 7s var(--ztc-ease) infinite alternate;
  transition:background .7s var(--ztc-ease);
}
.ztc-nav-brand .ztc-wordmark{font-size:1.05rem}
/* Beim Einfahren des Headers: Gold -> Weiss (background-image, damit background-clip:text erhalten bleibt) */
.ztc-scrolled .ztc-nav-brand .ztc-wordmark{background-image:linear-gradient(#eef5f5,#eef5f5);animation:none}
/* Im dunklen Footer: helleres Gold fuer Kontrast */
.ztc-footer .ztc-wordmark{
  background:linear-gradient(100deg,var(--ztc-gold-l) 10%,#f6e3a8 45%,var(--ztc-gold-l) 80%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  font-size:1.15rem;
}
.ztc-nav-links{display:flex;gap:.15rem;list-style:none;margin:0;padding:0}
.ztc-nav-links li{margin:0;list-style:none}
.ztc-nav-links a{
  display:block;padding:.55rem .85rem;border-radius:999px;white-space:nowrap;
  color:#4f6d70;text-decoration:none;font-size:.85rem;font-weight:420;letter-spacing:.01em;
  transition:color .45s var(--ztc-ease),background .45s var(--ztc-ease);
}
.ztc-nav-links a:hover,.ztc-nav-links a:focus-visible{color:#0f2427;background:rgba(40,82,87,.08)}
.ztc-nav-cta{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.5rem .5rem .5rem 1.05rem;margin-left:.4rem;
  border-radius:999px;border:1px solid rgba(127,23,52,.25);
  background:linear-gradient(135deg,rgba(127,23,52,.08),rgba(176,48,85,.06));
  color:var(--ztc-bordeaux);text-decoration:none;font-size:.85rem;font-weight:500;white-space:nowrap;
  transition:transform .5s var(--ztc-ease),background .5s var(--ztc-ease),border-color .5s var(--ztc-ease),color .5s var(--ztc-ease);
}
.ztc-nav-cta .ztc-dot{
  width:26px;height:26px;border-radius:999px;display:grid;place-items:center;
  background:rgba(127,23,52,.12);font-size:.8rem;
  transition:translate .5s var(--ztc-ease),background .5s var(--ztc-ease);
}
.ztc-nav-cta:hover{background:linear-gradient(135deg,rgba(127,23,52,.14),rgba(176,48,85,.1));border-color:rgba(127,23,52,.45)}
.ztc-nav-cta:hover .ztc-dot{translate:2px 0}
.ztc-nav-cta:active{transform:scale(.97)}
.ztc-scrolled .ztc-nav{
  background:rgba(10,26,28,.6);
  border-color:rgba(126,205,212,.16);
  box-shadow:0 20px 50px -20px rgba(2,8,9,.9), inset 0 1px 0 rgba(255,255,255,.07);
}
.ztc-scrolled .ztc-nav-brand b{color:#e6f0f0}
.ztc-scrolled .ztc-nav-links a{color:#95b4b7}
.ztc-scrolled .ztc-nav-links a:hover,.ztc-scrolled .ztc-nav-links a:focus-visible{color:#e6f0f0;background:rgba(126,205,212,.09)}
.ztc-scrolled .ztc-nav-cta{border-color:rgba(232,195,93,.35);background:linear-gradient(135deg,rgba(232,195,93,.14),rgba(180,120,0,.08));color:var(--ztc-gold-l)}
.ztc-scrolled .ztc-nav-cta .ztc-dot{background:rgba(232,195,93,.16)}
/* ---- Burger-Menü (Mobil + Tablet) ---- */
.ztc-burger{
  display:none;width:44px;height:44px;flex:none;
  border-radius:50%;border:1px solid rgba(15,36,39,.12);
  background:rgba(255,255,255,.6);cursor:pointer;padding:0;margin-left:.3rem;
  position:relative;
  transition:background .5s var(--ztc-ease),border-color .5s var(--ztc-ease);
}
.ztc-burger span{
  display:block;position:absolute;left:13px;right:13px;height:2px;border-radius:2px;
  background:#0f2427;
  transition:transform .5s var(--ztc-ease),opacity .35s var(--ztc-ease),background .5s var(--ztc-ease);
}
.ztc-burger span:nth-child(1){top:16px}
.ztc-burger span:nth-child(2){top:21px}
.ztc-burger span:nth-child(3){top:26px}
.ztc-scrolled .ztc-burger{background:rgba(232,195,93,.12);border-color:rgba(126,205,212,.2)}
.ztc-scrolled .ztc-burger span{background:#e6f0f0}
.ztc-menu-open .ztc-burger span{background:#e6f0f0}
.ztc-menu-open .ztc-burger{background:rgba(232,195,93,.14);border-color:rgba(232,195,93,.35)}
.ztc-menu-open .ztc-burger span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.ztc-menu-open .ztc-burger span:nth-child(2){opacity:0}
.ztc-menu-open .ztc-burger span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.ztc-mobile-menu{
  position:fixed;inset:0;z-index:45;
  display:flex;align-items:center;justify-content:center;
  background:rgba(8,21,23,.9);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  opacity:0;visibility:hidden;
  transition:opacity .6s var(--ztc-ease),visibility 0s .6s;
}
.ztc-menu-open .ztc-mobile-menu{opacity:1;visibility:visible;transition:opacity .6s var(--ztc-ease)}
.ztc-mobile-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.ztc-mobile-menu li{
  opacity:0;translate:0 26px;
  transition:opacity .6s var(--ztc-ease),translate .6s var(--ztc-ease);
}
.ztc-menu-open .ztc-mobile-menu li{opacity:1;translate:0 0}
.ztc-menu-open .ztc-mobile-menu li:nth-child(1){transition-delay:.1s}
.ztc-menu-open .ztc-mobile-menu li:nth-child(2){transition-delay:.16s}
.ztc-menu-open .ztc-mobile-menu li:nth-child(3){transition-delay:.22s}
.ztc-menu-open .ztc-mobile-menu li:nth-child(4){transition-delay:.28s}
.ztc-menu-open .ztc-mobile-menu li:nth-child(5){transition-delay:.34s}
.ztc-menu-open .ztc-mobile-menu li:nth-child(6){transition-delay:.44s}
.ztc-mlink{
  font-family:"Fraunces",serif;font-weight:500;font-style:italic;
  font-size:clamp(1.7rem,6vw,2.3rem);letter-spacing:-.01em;
  color:#e6f0f0;text-decoration:none;
  transition:color .4s var(--ztc-ease);
}
.ztc-mlink:hover,.ztc-mlink:focus-visible{color:var(--ztc-gold-l)}
.ztc-mobile-menu .ztc-btn{margin-top:1rem}
body.ztc-menu-open{overflow:hidden}

@media(max-width:960px){
  .ztc-nav-links{display:none}
  .ztc-nav-cta{display:none}
  .ztc-burger{display:block}
}
/* Mobil: Pille kompakt halten */
@media(max-width:680px){
  .ztc-nav{top:.8rem;padding:.4rem .4rem .4rem .45rem;gap:.2rem}
  .ztc-logo-badge{width:58px;height:58px;margin:-5px .3rem -24px -2px}
  .ztc-scrolled .ztc-logo-badge{width:34px;height:34px}
  .ztc-nav-brand{margin-right:.4rem}
  .ztc-nav-brand .ztc-wordmark{font-size:.92rem}
}

body.ztc-v3 a:focus-visible,
body.ztc-v3 button:focus-visible,
body.ztc-v3 input:focus-visible,
body.ztc-v3 textarea:focus-visible{
  outline:2px solid var(--ztc-teal);outline-offset:3px;border-radius:4px;
}

/* ---- Hero ---- */
.ztc-hero{
  position:relative;min-height:100dvh;
  display:flex;flex-direction:column;
  padding:9.5rem 1.5rem 0;
  overflow:clip;
  background:linear-gradient(180deg,#fbfdfc,#eef3f2 60%);
}
.ztc-confetti{position:absolute;inset:0;z-index:1;pointer-events:none}
.ztc-orbs{position:absolute;inset:-12%;z-index:0;filter:blur(80px);opacity:.5}
.ztc-orb{position:absolute;border-radius:50%;will-change:transform}
.ztc-orb-gold{width:40vw;height:40vw;left:58%;top:-6%;background:radial-gradient(circle,rgba(232,195,93,.55),transparent 65%);animation:ztc-drift 26s var(--ztc-ease) infinite alternate}
.ztc-orb-teal{width:44vw;height:44vw;left:-10%;top:30%;background:radial-gradient(circle,rgba(126,205,212,.5),transparent 65%);animation:ztc-drift 34s var(--ztc-ease) infinite alternate-reverse}
.ztc-orb-rose{width:30vw;height:30vw;left:38%;top:58%;background:radial-gradient(circle,rgba(176,48,85,.22),transparent 65%);animation:ztc-drift 40s var(--ztc-ease) infinite alternate}
@keyframes ztc-drift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(5vw,4vh,0) scale(1.1)}
}
.ztc-hero-grid{
  position:relative;z-index:2;max-width:1200px;margin:0 auto;width:100%;
  display:grid;grid-template-columns:minmax(0,6.5fr) minmax(0,5.5fr);gap:3.5rem;align-items:center;
  flex:1;
}
.ztc-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.45rem 1rem;border-radius:999px;
  border:1px solid var(--ztc-hairline);
  background:var(--ztc-shell-bg);
  font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ztc-mut);
}
.ztc-eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ztc-gold-l);box-shadow:0 0 8px var(--ztc-gold-l)}
body.ztc-v3 .ztc-h1{
  font-family:"Fraunces",serif;font-weight:400;
  font-size:clamp(2.8rem,7vw,5.4rem);
  line-height:1.06;letter-spacing:-.025em;
  margin:1.6rem 0 0;text-wrap:balance;color:#0f2427;
}
.ztc-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.ztc-mask .ztc-w{display:inline-block;translate:0 115%;animation:ztc-rise 1.1s var(--ztc-ease) forwards;animation-delay:var(--d,0s)}
@keyframes ztc-rise{to{translate:0 0}}
body.ztc-v3 .ztc-h1 em{
  font-style:italic;font-weight:600;
  background:linear-gradient(100deg,var(--ztc-gold) 10%,#d9a72e 45%,var(--ztc-gold) 80%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:ztc-shimmer 7s var(--ztc-ease) infinite alternate;
}
@keyframes ztc-shimmer{to{background-position:100% 0}}
.ztc-h1-seo{
  display:block;margin-top:1.1rem;
  font-family:"Outfit",system-ui,sans-serif;font-weight:420;
  font-size:clamp(.95rem,1.4vw,1.15rem);letter-spacing:.16em;text-transform:uppercase;
  color:var(--ztc-petrol);
}
.ztc-hero-sub{max-width:32rem;margin-top:1.6rem;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--ztc-mut)}
.ztc-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.6rem;align-items:center}
.ztc-btn{
  display:inline-flex;align-items:center;gap:.8rem;
  padding:.65rem .65rem .65rem 1.5rem;border-radius:999px;
  font-family:inherit;font-size:.95rem;font-weight:500;letter-spacing:.01em;
  text-decoration:none;cursor:pointer;border:0;
  transition:transform .5s var(--ztc-ease),box-shadow .5s var(--ztc-ease),background .5s var(--ztc-ease);
}
.ztc-btn .ztc-dot{
  width:34px;height:34px;border-radius:999px;display:grid;place-items:center;flex:none;
  transition:translate .5s var(--ztc-ease),scale .5s var(--ztc-ease);
}
.ztc-btn:active{transform:scale(.97)}
.ztc-btn-bordeaux{
  background:linear-gradient(135deg,var(--ztc-bordeaux-l),var(--ztc-bordeaux) 60%);
  color:#fff;
  box-shadow:0 16px 34px -14px rgba(127,23,52,.6), inset 0 1px 1px rgba(255,255,255,.35);
}
.ztc-btn-bordeaux .ztc-dot{background:rgba(255,255,255,.16)}
.ztc-btn-bordeaux:hover{transform:translateY(-2px);box-shadow:0 24px 44px -16px rgba(127,23,52,.7), inset 0 1px 1px rgba(255,255,255,.35);color:#fff}
.ztc-btn-bordeaux:hover .ztc-dot{translate:3px 0;scale:1.06}
.ztc-btn-ghost{
  background:var(--ztc-shell-bg);color:var(--ztc-fg);
  border:1px solid var(--ztc-hairline);
}
.ztc-btn-ghost .ztc-dot{background:rgba(127,127,127,.12)}
.ztc-btn-ghost:hover{transform:translateY(-2px);color:var(--ztc-fg)}
.ztc-btn-ghost:hover .ztc-dot{translate:3px 0}

.ztc-hero-visual{position:relative}
.ztc-frame-shell{
  padding:.55rem;border-radius:var(--ztc-r-shell);
  background:rgba(255,255,255,.75);border:1px solid rgba(15,36,39,.08);
  box-shadow:var(--ztc-shadow);
  rotate:1.6deg;
  transition:transform .8s var(--ztc-ease),rotate .8s var(--ztc-ease);
  will-change:transform;
}
.ztc-hero-visual:hover .ztc-frame-shell{rotate:.4deg}
.ztc-frame-core{border-radius:var(--ztc-r-core);overflow:hidden;position:relative;box-shadow:inset 0 1px 1px rgba(255,255,255,.6);margin:0}
.ztc-frame-core img{display:block;width:100%;height:auto;transform:scale(1.06);transition:transform 8s var(--ztc-ease)}
.ztc-hero-visual:hover .ztc-frame-core img{transform:scale(1)}
.ztc-frame-core::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(232,195,93,.12),transparent 40%,rgba(40,82,87,.14));
  pointer-events:none;
}
.ztc-hero-caption{
  position:absolute;left:1.4rem;bottom:1.4rem;z-index:2;
  padding:.55rem 1.05rem;border-radius:999px;
  background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.7);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ztc-petrol);font-weight:500;
  box-shadow:0 10px 24px -12px rgba(15,36,39,.4);
  margin:0;
}
.ztc-stamp{position:absolute;top:-2.2rem;right:-1.2rem;z-index:3;width:104px;height:104px;animation:ztc-spin 26s linear infinite}
.ztc-stamp svg{width:100%;height:100%}
@keyframes ztc-spin{to{rotate:360deg}}
@media(max-width:920px){
  .ztc-hero{padding-top:8.5rem}
  .ztc-hero-grid{grid-template-columns:1fr;gap:2.6rem}
  .ztc-hero-visual{max-width:560px}
  .ztc-stamp{right:.2rem;top:-1.6rem;width:84px;height:84px}
}
.ztc-skyline{position:relative;z-index:2;margin-top:4rem;display:block;width:100%;height:clamp(70px,13vw,170px);color:#dfe9e7}
.ztc-scroll-hint{
  position:absolute;z-index:3;left:50%;bottom:1.2rem;translate:-50% 0;
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ztc-mut);
  display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:0;
}
.ztc-scroll-hint::after{content:"";width:1px;height:30px;background:linear-gradient(var(--ztc-gold),transparent);animation:ztc-pulse 2.4s var(--ztc-ease) infinite}
@keyframes ztc-pulse{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ---- Sektionen allgemein ---- */
.ztc-section{padding:7.5rem 1.5rem;position:relative;color:var(--ztc-fg)}
.ztc-wrap{max-width:1200px;margin:0 auto}
.ztc-sec-head{max-width:720px}
body.ztc-v3 .ztc-sec-head h2{
  font-family:"Fraunces",serif;font-weight:400;letter-spacing:-.02em;
  font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08;margin:1.4rem 0 0;text-wrap:balance;color:var(--ztc-fg);
}
body.ztc-v3 .ztc-sec-head h2 em{font-style:italic;color:var(--ztc-accent);font-weight:500}
.ztc-sec-head p{margin-top:1.4rem;color:var(--ztc-mut);font-size:1.05rem;max-width:56ch}

/* Scroll-Reveal */
.ztc-rv{opacity:0;transform:translateY(46px);filter:blur(8px);transition:opacity 1s var(--ztc-ease),transform 1s var(--ztc-ease),filter 1s var(--ztc-ease)}
.ztc-rv.ztc-in{opacity:1;transform:none;filter:none}
.ztc-rv-d1{transition-delay:.08s}.ztc-rv-d2{transition-delay:.16s}.ztc-rv-d3{transition-delay:.24s}.ztc-rv-d4{transition-delay:.32s}

/* ---- Leitbild ---- */
.ztc-quote{background:linear-gradient(180deg,#eef3f2,#e4ecea)}
.ztc-quote blockquote{position:relative;max-width:880px;margin:0 auto;text-align:center;padding:0 1rem;border:0;background:none}
.ztc-quote .ztc-mark{font-family:"Fraunces",serif;font-size:7rem;line-height:0;display:block;height:2.4rem;color:var(--ztc-gold-l)}
.ztc-quote blockquote p{
  font-family:"Fraunces",serif;font-style:italic;font-weight:360;
  font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.35;letter-spacing:-.01em;color:var(--ztc-petrol-deep);text-wrap:balance;
}
.ztc-quote blockquote footer{margin-top:2.2rem;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ztc-mut)}
.ztc-quote blockquote footer b{color:var(--ztc-gold);font-weight:500}

/* ---- Wer wir sind ---- */
.ztc-ueber{background:linear-gradient(180deg,#e4ecea,#d3e0dd)}
.ztc-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:4rem;align-items:start}
.ztc-stats{display:grid;gap:1rem;margin-top:1rem}
.ztc-stat-shell{
  padding:.45rem;border-radius:var(--ztc-r-shell);
  background:var(--ztc-shell-bg);border:1px solid var(--ztc-hairline);
  transition:transform .6s var(--ztc-ease),box-shadow .6s var(--ztc-ease);
}
.ztc-stat-shell:hover{transform:translateY(-4px);box-shadow:var(--ztc-shadow)}
.ztc-stat{
  border-radius:var(--ztc-r-core);padding:1.6rem 1.8rem;
  background:var(--ztc-card-grad);
  box-shadow:inset 0 1px 1px var(--ztc-inset-hl);
  display:flex;align-items:baseline;gap:1.2rem;
}
.ztc-stat b{
  font-family:"Fraunces",serif;font-weight:600;font-size:2.6rem;letter-spacing:-.02em;
  color:var(--ztc-accent);font-variant-numeric:tabular-nums;min-width:3.2ch;
}
.ztc-stat span{color:var(--ztc-mut);font-size:.95rem}
.ztc-prose p+p{margin-top:1.2rem}
.ztc-prose p{color:var(--ztc-mut);max-width:58ch}
.ztc-prose .ztc-lede{font-size:1.18rem;color:var(--ztc-fg);font-weight:400;margin-top:1.6rem}
@media(max-width:880px){.ztc-split{grid-template-columns:1fr;gap:2.6rem}}

/* ---- Marquee-Band ---- */
.ztc-band{
  overflow:hidden;padding:5.5rem 0 6.5rem;
  background:linear-gradient(180deg,#d3e0dd 0%,#3d6165 55%,#123034 100%);
}
.ztc-band-track{display:flex;gap:3.5rem;width:max-content;animation:ztc-slide 36s linear infinite}
.ztc-band span{
  font-family:"Fraunces",serif;font-style:italic;font-weight:500;white-space:nowrap;
  font-size:clamp(2.6rem,6vw,4.6rem);letter-spacing:-.01em;
  color:transparent;-webkit-text-stroke:1.2px rgba(232,195,93,.75);
}
.ztc-band span:nth-child(even){color:rgba(232,195,93,.9);-webkit-text-stroke:0}
@keyframes ztc-slide{to{transform:translateX(-50%)}}

/* ---- Dunkle Zonen-Verlaeufe ---- */
.ztc-dz-programm{background:linear-gradient(180deg,#123034,#0f2427)}
.ztc-dz-termine{background:linear-gradient(180deg,#0f2427,#0d2023 50%,#0f2427)}
.ztc-dz-frauen{background:#0f2427}
.ztc-dz-cta{background:linear-gradient(180deg,#0f2427,#0c1e21)}
.ztc-dz-kontakt{background:linear-gradient(180deg,#0c1e21,#0a1a1c)}

/* ---- Bento ---- */
.ztc-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem;margin-top:4rem}
.ztc-card-shell{
  padding:.45rem;border-radius:var(--ztc-r-shell);
  background:var(--ztc-shell-bg);border:1px solid var(--ztc-hairline);
  transition:transform .7s var(--ztc-ease),box-shadow .7s var(--ztc-ease),border-color .7s var(--ztc-ease);
  transform-style:preserve-3d;will-change:transform;
}
.ztc-card-shell:hover{border-color:rgba(232,195,93,.35);box-shadow:var(--ztc-shadow)}
.ztc-card{
  height:100%;border-radius:var(--ztc-r-core);padding:2.2rem;
  background:var(--ztc-card-grad);
  box-shadow:inset 0 1px 1px var(--ztc-inset-hl);
  display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;
}
.ztc-card::after{
  content:"";position:absolute;inset:0;opacity:0;pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(232,195,93,.12),transparent 60%);
  transition:opacity .6s var(--ztc-ease);
}
.ztc-card-shell:hover .ztc-card::after{opacity:1}
.ztc-glyph{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;
  background:rgba(232,195,93,.1);border:1px solid rgba(232,195,93,.28);color:var(--ztc-accent);
}
.ztc-glyph svg{width:22px;height:22px}
body.ztc-v3 .ztc-card h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.5rem;letter-spacing:-.01em;color:var(--ztc-fg);margin:0}
.ztc-card p{color:var(--ztc-mut);font-size:.96rem;max-width:46ch}
.ztc-more{
  margin-top:auto;padding-top:1.2rem;display:inline-flex;align-items:center;gap:.5rem;
  color:var(--ztc-accent);font-size:.85rem;font-weight:500;text-decoration:none;letter-spacing:.04em;
}
.ztc-more:hover{color:var(--ztc-accent)}
.ztc-more .ztc-arr{transition:translate .5s var(--ztc-ease)}
.ztc-card-shell:hover .ztc-arr{translate:4px 0}
.ztc-b-lg{grid-column:span 7}
.ztc-b-md{grid-column:span 5}
.ztc-b-lg .ztc-card{min-height:320px;justify-content:flex-end}
body.ztc-v3 .ztc-b-lg .ztc-card h3{font-size:2rem}
.ztc-card-feature{background:linear-gradient(150deg,rgba(127,23,52,.45),#0e2124 60%)}
.ztc-badge{
  position:absolute;top:1.6rem;right:1.6rem;
  font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ztc-bordeaux-l);border:1px solid rgba(176,48,85,.45);padding:.35rem .8rem;border-radius:999px;
}
@media(max-width:880px){.ztc-b-lg,.ztc-b-md{grid-column:span 12}.ztc-b-lg .ztc-card{min-height:240px}}

/* ---- Termine ---- */
.ztc-tl{margin-top:4rem;display:grid;border-top:1px solid var(--ztc-hairline)}
.ztc-tl-row{
  display:grid;grid-template-columns:minmax(110px,180px) 1fr auto;gap:2rem;align-items:center;
  padding:1.8rem .8rem;border-bottom:1px solid var(--ztc-hairline);
  transition:background .5s var(--ztc-ease),padding .5s var(--ztc-ease);
}
.ztc-tl-row:hover{background:rgba(126,205,212,.05);padding-left:1.4rem}
.ztc-tl-date{
  font-family:"Fraunces",serif;font-weight:600;font-size:1.5rem;color:var(--ztc-accent);
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
.ztc-tl-date small{display:block;font-family:"Outfit",sans-serif;font-weight:420;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ztc-mut);margin-top:.2rem}
body.ztc-v3 .ztc-tl-row h3{font-family:"Outfit",sans-serif;font-weight:500;font-size:1.12rem;color:var(--ztc-fg);margin:0}
.ztc-tl-row p{color:var(--ztc-mut);font-size:.9rem;margin:.15rem 0 0}
.ztc-tl-tag{
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;
  padding:.4rem .85rem;border-radius:999px;border:1px solid rgba(126,205,212,.3);color:var(--ztc-teal);
}
.ztc-tl-tag.ztc-hot{border-color:rgba(176,48,85,.55);color:var(--ztc-bordeaux-l)}
@media(max-width:680px){.ztc-tl-row{grid-template-columns:1fr;gap:.5rem}.ztc-tl-tag{justify-self:start}}

/* ---- FAQ (zweispaltig, ohne Akkordeon) ---- */
.ztc-faq{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:4rem}
.ztc-faq .ztc-card{gap:.6rem}
body.ztc-v3 .ztc-faq h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.25rem;letter-spacing:-.01em;color:var(--ztc-fg);margin:0}
.ztc-faq h3::before{content:"— ";color:var(--ztc-accent)}
.ztc-faq p{font-size:.92rem}
@media(max-width:880px){.ztc-faq{grid-template-columns:1fr}}

/* ---- Auf dem Laufenden bleiben ---- */
.ztc-stay{
  margin-top:5rem;
  display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between;
  padding:2.4rem 2.6rem;border-radius:var(--ztc-r-shell);
  border:1px dashed rgba(232,195,93,.4);
  background:rgba(232,195,93,.05);
}
.ztc-stay-txt{max-width:52ch}
body.ztc-v3 .ztc-stay h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.5rem;color:var(--ztc-fg);margin:0 0 .4rem}
.ztc-stay p{color:var(--ztc-mut);font-size:.95rem;margin:0}
@media(max-width:680px){.ztc-stay{padding:1.8rem}}

/* ---- Gruenderinnen ---- */
.ztc-crew-box{position:relative;max-width:1200px;margin:0 auto;padding:0 1.5rem}
.ztc-crew-rail{
  /* max. 3 Karten nebeneinander, keine angeschnittene vierte */
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2.2rem)/3);gap:1.1rem;
  overflow-x:auto;padding:4rem .2rem 1.6rem;
  scrollbar-width:none;-ms-overflow-style:none;
}
@media(max-width:980px){.ztc-crew-rail{grid-auto-columns:calc((100% - 1.1rem)/2)}}
@media(max-width:640px){.ztc-crew-rail{grid-auto-columns:100%}}
.ztc-crew-rail::-webkit-scrollbar{display:none}
.ztc-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(232,195,93,.35);
  background:rgba(10,26,28,.72);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--ztc-gold-l);font-size:1.15rem;line-height:1;
  display:grid;place-items:center;cursor:pointer;padding:0;
  box-shadow:0 14px 30px -14px rgba(2,8,9,.9);
  transition:background .45s var(--ztc-ease),border-color .45s var(--ztc-ease),scale .45s var(--ztc-ease),opacity .45s var(--ztc-ease);
}
.ztc-arrow:hover{background:rgba(232,195,93,.18);border-color:rgba(232,195,93,.6);scale:1.06}
.ztc-arrow:active{scale:.95}
.ztc-arrow[disabled]{opacity:.25;pointer-events:none}
.ztc-arrow-prev{left:-.4rem}
.ztc-arrow-next{right:-.4rem}
@media(max-width:680px){
  .ztc-arrow{width:44px;height:44px}
  .ztc-arrow-prev{left:.4rem}
  .ztc-arrow-next{right:.4rem}
}
.ztc-who{scroll-snap-align:start}
.ztc-who .ztc-card{padding:0;gap:0;overflow:hidden}
.ztc-who figure{position:relative;aspect-ratio:520/620;overflow:hidden;margin:0}
.ztc-who figure img{
  width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
  transition:transform 1s var(--ztc-ease);
}
.ztc-who:hover figure img{transform:scale(1.05)}
.ztc-who figure::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(6,15,17,.5));
  pointer-events:none;
}
.ztc-who .ztc-meta{padding:1.3rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.35rem}
body.ztc-v3 .ztc-who h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.35rem;color:var(--ztc-fg);margin:0}
.ztc-role{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ztc-accent);font-weight:500}
.ztc-bio{font-size:.85rem;color:var(--ztc-mut);line-height:1.6;margin:0}
.ztc-ava-mono{
  width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--ztc-petrol),var(--ztc-petrol-deep));
  font-family:"Fraunces",serif;font-weight:600;font-size:4.5rem;color:var(--ztc-gold-l);
}
.ztc-crew-note{color:var(--ztc-mut);font-size:.8rem;letter-spacing:.03em;margin-top:.6rem}

/* ---- CTA-Panel (Champagner) ---- */
.ztc-cta-shell{
  padding:.55rem;border-radius:calc(var(--ztc-r-shell) + .3rem);
  background:rgba(232,195,93,.1);border:1px solid rgba(232,195,93,.25);
}
.ztc-cta-panel{
  position:relative;overflow:hidden;text-align:center;
  border-radius:var(--ztc-r-shell);padding:5.5rem 2rem;
  background:
    radial-gradient(900px 420px at 25% -10%,rgba(176,48,85,.16),transparent 60%),
    radial-gradient(700px 380px at 85% 115%,rgba(232,195,93,.3),transparent 60%),
    linear-gradient(160deg,#f8f0dd,#f2e4c4 70%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.8), 0 40px 80px -40px rgba(2,8,9,.9);
}
.ztc-cta-panel .ztc-eyebrow{border-color:rgba(127,23,52,.3);background:rgba(255,255,255,.5);color:var(--ztc-bordeaux)}
body.ztc-v3 .ztc-cta-panel h2{
  font-family:"Fraunces",serif;font-weight:400;font-size:clamp(2.2rem,5vw,3.8rem);
  letter-spacing:-.02em;line-height:1.06;color:#241a05;text-wrap:balance;margin:1.4rem 0 0;
}
body.ztc-v3 .ztc-cta-panel h2 em{font-style:italic;color:var(--ztc-bordeaux);font-weight:500}
.ztc-cta-panel>p{max-width:44ch;margin:1.4rem auto 0;color:#5c4a1e}
.ztc-cta-panel .ztc-actions{justify-content:center}
.ztc-cta-panel .ztc-btn-ghost{background:rgba(255,255,255,.55);color:#241a05;border-color:rgba(36,26,5,.2)}
.ztc-cta-fleur{position:absolute;width:340px;right:-70px;bottom:-90px;opacity:.1;color:var(--ztc-bordeaux);pointer-events:none}

/* ---- Kontakt (Elementor-Grid-Container mit Pro-Form) ---- */
body.ztc-v3 .e-con.ztc-kontakt-grid{
  display:grid !important;
  grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:4rem;align-items:start;
  /* Hintergrund volle Breite, Inhalt via Padding auf 1200px zentriert */
  width:100%;max-width:none;margin:0;
  padding:7.5rem max(1.5rem,calc((100% - 1200px)/2)) !important;
}
@media(max-width:880px){
  body.ztc-v3 .e-con.ztc-kontakt-grid{grid-template-columns:1fr;gap:2.6rem}
}
.ztc-meta-list{display:grid;gap:1.6rem;margin-top:2.4rem}
.ztc-meta-list .ztc-line{display:flex;gap:1rem;align-items:baseline}
.ztc-meta-list .ztc-line b{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ztc-accent);min-width:5.5rem;font-weight:500}
.ztc-meta-list .ztc-line a{color:var(--ztc-teal);text-decoration:none;border-bottom:1px solid rgba(126,205,212,.35);transition:border-color .4s var(--ztc-ease)}
.ztc-meta-list .ztc-line a:hover{border-color:var(--ztc-teal)}

/* Elementor-Pro-Form im Zunft-Look: Widget = Doppelrahmen-Shell, form = Kern */
.elementor-widget-form.ztc-form-shell{
  padding:.45rem;border-radius:var(--ztc-r-shell);
  background:var(--ztc-shell-bg);border:1px solid var(--ztc-hairline);
}
.ztc-form-shell form.elementor-form{
  border-radius:var(--ztc-r-core);padding:2.4rem;
  background:var(--ztc-card-grad);
  box-shadow:inset 0 1px 1px var(--ztc-inset-hl);
}
.ztc-form-shell .elementor-field-label{
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ztc-mut);font-weight:420;
}
.ztc-form-shell .elementor-field-textual{
  padding:.85rem 1.1rem;border-radius:14px;
  background:rgba(6,15,17,.55) !important;border:1px solid var(--ztc-hairline) !important;
  color:var(--ztc-fg) !important;font-family:inherit;font-size:.95rem;
  transition:border-color .45s var(--ztc-ease),box-shadow .45s var(--ztc-ease);
}
.ztc-form-shell .elementor-field-textual:focus{
  outline:none;border-color:rgba(232,195,93,.55);box-shadow:0 0 0 3px rgba(232,195,93,.15);
  background:rgba(6,15,17,.55);color:var(--ztc-fg);
}
.ztc-form-shell .elementor-field-textual::placeholder{color:rgba(149,180,183,.6)}
.ztc-form-shell .elementor-button{
  display:inline-flex;align-items:center;gap:.8rem;
  padding:.85rem 1.8rem;border-radius:999px;border:0;
  background:linear-gradient(135deg,var(--ztc-bordeaux-l),var(--ztc-bordeaux) 60%);
  color:#fff;font-family:inherit;font-size:.95rem;font-weight:500;
  box-shadow:0 16px 34px -14px rgba(127,23,52,.6), inset 0 1px 1px rgba(255,255,255,.35);
  transition:transform .5s var(--ztc-ease),box-shadow .5s var(--ztc-ease);
}
.ztc-form-shell .elementor-button:hover{transform:translateY(-2px);box-shadow:0 24px 44px -16px rgba(127,23,52,.7), inset 0 1px 1px rgba(255,255,255,.35)}
.ztc-form-shell .elementor-button:active{transform:scale(.97)}
.ztc-form-shell .elementor-message-success{color:var(--ztc-teal)}
.ztc-form-shell .elementor-message-danger{color:var(--ztc-bordeaux-l)}

/* ---- Footer ---- */
.ztc-footer{
  border-top:1px solid rgba(126,205,212,.12);
  padding:3.5rem 1.5rem 2.5rem;background:#081517;color:#e6f0f0;
}
.ztc-foot{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between}
.ztc-foot .ztc-fbrand{display:flex;align-items:center;gap:.7rem;font-family:"Fraunces",serif;font-weight:600}
.ztc-foot .ztc-fbrand img{width:34px;height:auto}
.ztc-foot nav{display:flex;gap:1.6rem;flex-wrap:wrap}
.ztc-foot nav a{color:#95b4b7;text-decoration:none;font-size:.85rem;transition:color .4s var(--ztc-ease)}
.ztc-foot nav a:hover{color:var(--ztc-gold-l)}
.ztc-foot small{color:#57787b;font-size:.78rem;width:100%;text-align:center;margin-top:1rem;letter-spacing:.04em}

/* ---- Elementor-Resets fuer die v3-Seite ---- */
body.ztc-v3{background:#eef3f2 !important}
body.ztc-v3 .elementor-widget-html .elementor-widget-container{width:100%}
body.ztc-v3 .elementor-section,body.ztc-v3 .e-con{max-width:none}
body.ztc-v3 .e-con{padding:0 !important;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
body.ztc-v3 .e-con>.e-con-inner{padding:0;max-width:none}
body.ztc-v3 .elementor-widget-html{margin:0 !important;width:100%}
body.ztc-v3 .elementor{overflow:clip}

/* ---- Rechtsseiten (Impressum / Datenschutz) ---- */
/* Astra-Standard-Header/-Footer ausblenden — v3-Nav und -Footer kommen per Hook */
body.ztc-legal .site-header,
body.ztc-legal .site-footer,
body.ztc-legal .ast-above-header-wrap,
body.ztc-legal #ast-mobile-header{display:none}
body.ztc-legal .site-content{padding-top:10rem}
body.ztc-legal{background:linear-gradient(180deg,#fbfdfc,#eef3f2 40%)}
body.ztc-legal .site-content .ast-container{max-width:800px}
body.ztc-legal .site-content h1,
body.ztc-legal .entry-title{
  font-family:"Fraunces",serif;font-weight:500;letter-spacing:-.02em;color:var(--ztc-fg);
  font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.1;margin-bottom:1.2rem;
}
body.ztc-legal .site-content h2{
  font-family:"Fraunces",serif;font-weight:500;letter-spacing:-.01em;
  font-size:1.7rem;margin:2.6rem 0 .8rem;color:var(--ztc-fg);
}
body.ztc-legal .site-content h3{
  font-weight:500;font-size:1.15rem;margin:2rem 0 .5rem;color:var(--ztc-fg);
}
body.ztc-legal .site-content p,
body.ztc-legal .site-content li{color:var(--ztc-mut);max-width:70ch}
body.ztc-legal .site-content a{color:var(--ztc-petrol);text-decoration-color:rgba(40,82,87,.4)}
body.ztc-legal .site-content mark{
  background:rgba(232,195,93,.35);padding:.1em .35em;border-radius:4px;font-weight:500;
}

/* Astra Scroll-Top-Button im Markenlook */
body.ztc-v3 #ast-scroll-top{
  background:linear-gradient(135deg,var(--ztc-bordeaux-l),var(--ztc-bordeaux) 60%);
  border-radius:999px;
  box-shadow:0 14px 30px -12px rgba(127,23,52,.6);
}

/* ---- Reduced Motion ---- */
@media(prefers-reduced-motion:reduce){
  body.ztc-v3 *,body.ztc-v3 *::before,body.ztc-v3 *::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;
  }
  .ztc-rv{opacity:1;transform:none;filter:none}
  .ztc-mask .ztc-w{translate:0 0}
  .ztc-band-track{animation:none}
}
