/* Wertia Finanz — sito pubblico. */

:root {
  --wz-background: #050403;
  --wz-background-soft: #0b0907;
  --wz-surface: #100d0a;
  --wz-surface-light: #17110c;
  --wz-gold: #b78335;
  --wz-gold-light: #d1a15b;
  --wz-gold-dark: #74501f;
  --wz-text-primary: #e8e1d6;
  --wz-text-secondary: #9f978c;
  --wz-border: rgba(183, 131, 53, 0.28);
}

/* =====================================================================
   Krankenkassen-Wizard V3 — pagina standalone, namespace .kk-page.
   Mantiene il modello UI ufficiale senza introdurre un CSS parallelo.
   ===================================================================== */
.kk-page{--kk-bg:#070605;--kk-panel:#11100e;--kk-text:#f5efe7;--kk-muted:#aaa197;--kk-gold:#c79338;--kk-gold2:#e0bb70;--kk-danger:#ef8c7d;--kk-success:#72c59a;--kk-line:rgba(255,255,255,.10);--kk-soft:rgba(199,147,56,.10);box-sizing:border-box;margin:0;min-height:100vh;color:var(--kk-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 12% -10%,rgba(199,147,56,.18),transparent 30%),linear-gradient(180deg,#0a0907,#050403)}
.wz-card-link{color:inherit;text-decoration:none}
.kk-page *{box-sizing:border-box}.kk-page button,.kk-page input,.kk-page select,.kk-page textarea{font:inherit}.kk-page .wrap{max-width:1160px;margin:auto;padding:20px 18px 40px}.kk-page .top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.kk-page .brand{display:flex;align-items:center;gap:12px;letter-spacing:.16em;color:inherit;text-decoration:none}.kk-page .brandMark{width:44px;height:44px;border:1px solid rgba(224,187,112,.45);border-radius:50%;display:grid;place-items:center;color:var(--kk-gold2);font:26px Georgia}.kk-page .brand strong{font:500 22px Georgia}.kk-page .brand small{font:500 11px Inter}.kk-page .langFlags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.kk-page .langBtn{min-width:54px;padding:8px 10px;border-radius:11px;border:1px solid var(--kk-line);background:#13110e;color:var(--kk-muted);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.05em;transition:.18s}.kk-page .langBtn:hover{border-color:rgba(199,147,56,.55);color:var(--kk-text)}.kk-page .langBtn.active{border-color:var(--kk-gold);background:rgba(199,147,56,.12);color:var(--kk-gold2);box-shadow:inset 0 0 0 1px rgba(199,147,56,.08)}.kk-page .langBtn .flag{font-size:18px}.kk-page .wiz{border:1px solid var(--kk-line);border-radius:26px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 22px 60px rgba(0,0,0,.32)}.kk-page .head{padding:22px 26px 12px;border-bottom:1px solid var(--kk-line)}.kk-page .bar{height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.kk-page .bar span{display:block;height:100%;width:10%;background:linear-gradient(90deg,var(--kk-gold),var(--kk-gold2));transition:.25s}.kk-page .meta{display:flex;justify-content:space-between;margin-top:10px;color:var(--kk-muted);font-size:12px}.kk-page .body{padding:38px 40px 32px}.kk-page .step{display:none}.kk-page .step.on{display:block}.kk-page .kicker{color:var(--kk-gold2);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.kk-page h1{font:500 clamp(34px,5vw,56px)/1.04 Georgia;margin:8px 0 12px}.kk-page .lead{max-width:790px;color:var(--kk-muted);font-size:16px;line-height:1.55;margin:0 0 24px}.kk-page .choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kk-page .choices.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kk-page .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kk-page .genderChoice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kk-page .gender .card{min-height:86px;flex-direction:row;gap:10px;padding:12px 14px}.kk-page .choice{position:relative}.kk-page .choice>input{position:absolute;opacity:0;pointer-events:none}.kk-page .card{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:18px;border:1px solid var(--kk-line);border-radius:18px;background:rgba(255,255,255,.025);color:var(--kk-text);cursor:pointer;transition:.18s}.kk-page .card:hover{transform:translateY(-2px);border-color:rgba(199,147,56,.48)}.kk-page .choice>input:checked+.card{border-color:var(--kk-gold);background:linear-gradient(180deg,rgba(199,147,56,.13),rgba(199,147,56,.035))}.kk-page .icon{width:30px;height:30px;color:var(--kk-gold2);stroke-width:1.7}.kk-page .card small{color:var(--kk-muted);font-size:12px;line-height:1.35}.kk-page .field{display:flex;flex-direction:column;gap:7px}.kk-page .field label,.kk-page .checkText{font-size:13px;color:var(--kk-muted)}.kk-page input,.kk-page select,.kk-page textarea{width:100%;padding:15px 14px;border:1px solid var(--kk-line);border-radius:13px;background:#181612;color:var(--kk-text);outline:none}.kk-page select option{background:#181612;color:var(--kk-text)}.kk-page input:focus,.kk-page select:focus,.kk-page textarea:focus{border-color:var(--kk-gold);box-shadow:0 0 0 3px rgba(199,147,56,.12)}.kk-page .invalid{border-color:var(--kk-danger)!important}.kk-page .block{margin-top:18px}.kk-page .hidden{display:none!important}.kk-page .upload{margin-top:14px;padding:17px;border:1px dashed rgba(224,187,112,.38);border-radius:15px;background:rgba(255,255,255,.02)}.kk-page .upload small{display:block;color:var(--kk-muted);margin-top:4px}.kk-page .note{margin-top:16px;padding:14px 16px;border:1px solid rgba(199,147,56,.30);background:var(--kk-soft);border-radius:13px;color:#e7ddcf;font-size:13px;line-height:1.5}.kk-page .franchise{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.kk-page .franchise .card{min-height:100px;padding:12px}.kk-page .dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kk-page .dual .card{min-height:190px}.kk-page .sectionLabel{margin:26px 0 12px;color:var(--kk-gold2);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.kk-page .nav{display:flex;justify-content:space-between;gap:12px;padding:18px 40px 26px;border-top:1px solid var(--kk-line)}.kk-page .nav button{padding:14px 22px;border-radius:13px;font-weight:700;cursor:pointer}.kk-page .prev{background:transparent;color:var(--kk-text);border:1px solid var(--kk-line)}.kk-page .next{background:linear-gradient(135deg,var(--kk-gold),var(--kk-gold2));color:#171108;border:0;min-width:160px}.kk-page .next:disabled{opacity:.55;cursor:wait}.kk-page .formError{min-height:20px;margin:0 40px 8px;color:var(--kk-danger);font-size:13px}.kk-page .consent{display:flex;align-items:flex-start;gap:12px;padding:14px 0}.kk-page .consent input{width:20px;height:20px;flex:0 0 auto;margin:0}.kk-page .familyRow{position:relative;padding:16px;border:1px solid var(--kk-line);border-radius:15px;margin-top:12px}.kk-page .removeMember{position:absolute;right:10px;top:10px;border:0;background:transparent;color:var(--kk-danger);cursor:pointer;font-size:20px}.kk-page .secondary{margin-top:12px;padding:11px 15px;border-radius:11px;border:1px solid rgba(224,187,112,.4);background:transparent;color:var(--kk-gold2);cursor:pointer}.kk-page .success{text-align:center;padding:36px 10px}.kk-page .successIcon{width:72px;height:72px;border:1px solid var(--kk-success);border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;color:var(--kk-success);font-size:38px}
@media(max-width:950px){.kk-page .choices{grid-template-columns:repeat(2,1fr)}.kk-page .franchise{grid-template-columns:repeat(3,1fr)}.kk-page .grid{grid-template-columns:1fr}.kk-page .body{padding:30px 20px}}@media(max-width:700px){.kk-page .choices.three{grid-template-columns:1fr}}@media(max-width:560px){.kk-page .wrap{padding:10px}.kk-page .top{align-items:flex-start}.kk-page .langFlags{max-width:220px;gap:5px}.kk-page .langBtn{min-width:48px;padding:7px 8px}.kk-page .brand strong{font-size:18px}.kk-page .wiz{border-radius:20px}.kk-page .choices,.kk-page .dual{grid-template-columns:1fr}.kk-page .franchise{grid-template-columns:repeat(2,1fr)}.kk-page .card{min-height:112px;padding:12px 9px}.kk-page .dual .card{min-height:150px}.kk-page .body{padding:26px 14px 20px}.kk-page .nav{padding:14px;position:sticky;bottom:0;background:rgba(8,7,6,.96);backdrop-filter:blur(12px)}.kk-page .nav button{flex:1}.kk-page .formError{margin:0 14px 8px}}

.kk-page .step h2{font:500 clamp(34px,5vw,56px)/1.04 Georgia;margin:8px 0 12px}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.wz-body {
  margin: 0;
  background: var(--wz-background);
  color: var(--wz-text-primary);
  font-family: "Inter", "Manrope", -apple-system, sans-serif;
  font-weight: 300;
  letter-spacing: 0.01em;
  overflow-x: hidden;
}

.wz-gold { color: var(--wz-gold-light); }
.wz-center { display: flex; justify-content: center; }

/* ===== Reveal (fade-in discreto) ===== */
.wz-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.7s ease, transform 0.7s ease; }
.wz-reveal-in { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .wz-reveal { opacity: 1; transform: none; transition: none; }
}

/* ===== Comet Hover (motore riutilizzabile, vedi cometHover.js) =====
   class="wz-comet-hover" su qualunque elemento attiva un vero effetto
   cometa: una testa (.wz-comet-head) insegue cursore/tocco, dietro di sé
   una coda (.wz-comet-dot, pool fisso riciclato) ripercorre il movimento
   e si dissolve — vedi cometHover.js per il modello a "storico
   temporale" che la fa allungare/accorciare con la velocità. Il layer è
   l'ultimo figlio iniettato da JS: sta sopra al contenuto ma
   `mix-blend-mode: screen` + `pointer-events: none` lo rendono un velo
   di luce che non oscura né intercetta il testo/le icone sottostanti —
   evita così i classici problemi di stacking-context di un bagliore
   "dietro" al contenuto.
   Ogni frame si scrive solo `transform` (posizione + scale) e `opacity`
   per ciascun punto — un solo requestAnimationFrame condiviso, nessun
   nodo DOM creato/distrutto durante l'interazione, nessun repaint. La
   testa ha una propria `transition` di opacity per il fade rapido
   all'uscita, indipendente dalla coda che invece continua a dissolversi
   da sola nel motore JS. */
.wz-comet-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  mix-blend-mode: screen;
}
.wz-comet-dot {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  will-change: transform, opacity;
}
.wz-comet-head { transition: opacity 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
  /* Il motore JS non parte nemmeno (vedi initCometHover): resta solo
     questo micro riscontro statico, senza alcun movimento. */
  .wz-comet-hover:hover, .wz-comet-hover:focus-visible {
    box-shadow: 0 0 0 1px rgba(209, 161, 91, 0.4);
    transition: box-shadow 0.3s ease;
  }
}

/* ===== Bottone outline oro ===== */
.wz-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 30px;
  border: 1px solid var(--wz-gold);
  border-radius: 2px;
  color: var(--wz-gold-light);
  background: transparent;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.14em;
  font-weight: 500;
  transition: background 0.35s ease, box-shadow 0.35s ease, color 0.35s ease;
  cursor: pointer;
}
.wz-btn-outline svg { width: 14px; height: 14px; }
.wz-btn-outline:hover {
  background: rgba(183, 131, 53, 0.1);
  box-shadow: 0 0 22px rgba(183, 131, 53, 0.25);
  color: var(--wz-text-primary);
}

.wz-eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.28em;
  color: var(--wz-text-secondary);
  margin: 0 0 14px;
}

.wz-h2 {
  font-family: "Cormorant Garamond", "EB Garamond", serif;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 18px;
  color: var(--wz-text-primary);
}
.wz-h2-left { text-align: left; }
.wz-h3 {
  font-family: "Cormorant Garamond", "EB Garamond", serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.35;
  margin: 6px 0 0;
}

.wz-section-text {
  color: var(--wz-text-secondary);
  font-size: 15px;
  line-height: 1.8;
  max-width: 560px;
  margin: 0 auto;
}

/* ===== Header ===== */
/* Fuori dal flusso (fixed, non sticky): la Hero deve estendersi da y:0,
   il video resta visibile dietro il menu finché non si scrolla (2026-07-28). */
.wz-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: transparent;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  transition: background 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease;
}
.wz-header-scrolled {
  background: rgba(5, 4, 3, 0.85);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--wz-border);
}
.wz-header-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 18px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.wz-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
/* Crop preciso del solo segno "W" dal lockup verticale (wertia-logo-gold.png,
   2000x2000): il segno occupa x:[24.2%,78.8%] y:[14.2%,57.2%] dell'immagine
   sorgente (misurato via canvas, 2026-07-28). background-size/-position sotto
   sono calcolati da quei bounding-box, non a occhio — non modificare senza
   ricalcolare se il file sorgente cambia. */
.wz-brand-w {
  width: 44px;
  height: 34px;
  border-radius: 2px;
  flex-shrink: 0;
  background-image: url("./assets/wertia-logo-gold.png");
  background-repeat: no-repeat;
  background-size: 183.2% 232.6%;
  background-position: 53.3% 24.9%;
}
.wz-brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.wz-brand-name { font-family: "Cormorant Garamond", serif; font-size: 15px; letter-spacing: 0.18em; color: var(--wz-text-primary); }
.wz-brand-sub { font-size: 9px; letter-spacing: 0.3em; color: var(--wz-text-secondary); }

.wz-nav { display: flex; align-items: center; gap: 34px; }
.wz-nav-item { position: relative; display: flex; align-items: center; }
.wz-nav-link {
  color: var(--wz-text-secondary);
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: color 0.25s ease;
}
.wz-nav-link:hover { color: var(--wz-text-primary); }
.wz-nav-link.active { color: var(--wz-gold-light); }
.wz-nav-submenu {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  min-width: 190px;
  padding: 8px;
  border: 1px solid var(--wz-border);
  background: rgba(9, 7, 5, .98);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .35);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.wz-nav-submenu::before { content: ""; position: absolute; inset: -19px 0 auto; height: 19px; }
.wz-nav-item-submenu:hover .wz-nav-submenu,
.wz-nav-item-submenu:focus-within .wz-nav-submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.wz-nav-submenu-link {
  display: block;
  padding: 12px 14px;
  color: var(--wz-text-secondary);
  text-decoration: none;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: color .2s ease, background .2s ease;
}
.wz-nav-submenu-link:hover,
.wz-nav-submenu-link:focus { color: var(--wz-gold-light); background: rgba(183, 131, 53, .08); outline: 0; }

.wz-header-cta { padding: 10px 22px; font-size: 11px; }
.wz-menu-btn {
  display: none;
  background: none;
  border: 1px solid var(--wz-border);
  color: var(--wz-gold-light);
  width: 40px;
  height: 40px;
  border-radius: 2px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.wz-menu-btn svg { width: 20px; height: 20px; }

/* ===== Hero — full-bleed, video come sfondo assoluto edge-to-edge (2026-07-28) ===== */
.wz-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 100svh;
  padding: 0;
  margin-bottom: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background: var(--wz-background);
  padding-bottom: 10vh;
}
.wz-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  pointer-events: none;
}
/* Zona chiara sopra (la W del video resta piena visibilità), banda scura
   solida in basso: il testo HTML deve leggersi sempre, indipendentemente
   da cosa mostra il video in quel fotogramma del loop (2026-07-28). */
.wz-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0) 52%,
    rgba(5, 4, 3, 0.55) 66%,
    rgba(5, 4, 3, 0.88) 80%,
    #050403 92%
  );
  pointer-events: none;
  z-index: 1;
}
.wz-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding: 0 24px;
}

.wz-hero-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 52px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0 0 22px;
  position: relative;
  z-index: 2;
}
.wz-hero-text { color: var(--wz-text-secondary); font-size: 17px; line-height: 1.85; margin: 0 0 40px; position: relative; z-index: 2; }
.wz-hero-cta { position: relative; z-index: 2; padding: 16px 36px; }

/* Hero: contrasto sottotitolo migliorato (solo hero, variabile globale invariata) */
.wz-hero .wz-hero-text {
  color: #c8bfb1;
}

/* Hero: layout dei due CTA — orizzontale su desktop, verticale su mobile */
.wz-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.wz-hero-cta-whatsapp svg {
  width: 18px;
  height: 18px;
  margin-right: 4px;
}

@media (max-width: 640px) {
  .wz-hero-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 340px;
  }
  .wz-hero-actions .wz-hero-cta {
    justify-content: center;
    width: 100%;
  }
}

/* Ingresso ritardato dei contenuti hero: gli elementi occupano già la loro
   posizione finale nel flusso, l'animazione muove solo opacity/transform
   (compositor-only, nessun layout shift). */
@keyframes wzHeroReveal {
  from { opacity: 0; transform: translateY(35px); }
  to { opacity: 1; transform: translateY(0); }
}
.wz-hero-title,
.wz-hero-text,
.wz-hero-cta {
  opacity: 0;
  animation: wzHeroReveal 1s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.wz-hero-title { animation-delay: 4.4s; }
.wz-hero-text { animation-delay: 4.9s; }
.wz-hero-cta { animation-delay: 5.4s; }

.wz-hero-audio-btn {
  position: absolute;
  z-index: 3;
  right: 24px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(23, 17, 12, 0.55);
  border: 1px solid rgba(183, 131, 53, 0.4);
  border-radius: 999px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.wz-hero-audio-btn:hover {
  background: rgba(23, 17, 12, 0.78);
  border-color: rgba(209, 161, 91, 0.6);
}
.wz-hero-audio-icon svg { width: 15px; height: 15px; color: var(--wz-gold-light); display: block; }
.wz-hero-audio-label {
  color: var(--wz-text-primary);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .wz-hero-audio-btn { right: 16px; bottom: 16px; padding: 10px; }
  .wz-hero-audio-label { display: none; }
  .wz-hero-title { animation-delay: 1.8s; }
  .wz-hero-text { animation-delay: 2.1s; }
  .wz-hero-cta { animation-delay: 2.4s; }
}

@media (prefers-reduced-motion: reduce) {
  .wz-hero-video { display: none; }
  .wz-hero-audio-btn { display: none; }
  .wz-hero { background-image: url("./assets/hero-w-render.png"); background-size: cover; background-position: center; }
  .wz-hero-title,
  .wz-hero-text,
  .wz-hero-cta {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* ===== Trust bar ===== */
.wz-trustbar {
  max-width: 1300px;
  margin: 0 auto 90px;
  background: var(--wz-background-soft);
  border: 1px solid var(--wz-border);
  border-radius: 3px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 36px 20px;
}
.wz-trust-item { text-align: center; padding: 0 20px; }
.wz-trust-sep { border-left: 1px solid var(--wz-border); }
.wz-trust-icon { color: var(--wz-gold-light); display: inline-flex; margin-bottom: 14px; }
.wz-trust-icon svg { width: 26px; height: 26px; }
.wz-trust-title { text-transform: uppercase; font-size: 13px; letter-spacing: 0.12em; margin: 0 0 8px; color: var(--wz-text-primary); }
.wz-trust-text { font-size: 13px; color: var(--wz-text-secondary); line-height: 1.6; margin: 0; }

/* ===== Sezioni generiche ===== */
.wz-section-head { text-align: center; max-width: 640px; margin: 0 auto 48px; }

/* ===== Services ===== */
.wz-services { max-width: 1300px; margin: 0 auto 100px; padding: 0 24px; }
.wz-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--wz-border);
  border: 1px solid var(--wz-border);
  margin-bottom: 40px;
}
.wz-card {
  background: var(--wz-surface);
  padding: 34px 24px;
  text-align: center;
  transition: background 0.35s ease;
}
.wz-card:hover { background: var(--wz-surface-light); }
.wz-card-icon { color: var(--wz-gold-light); display: inline-flex; margin-bottom: 16px; }
.wz-card-icon svg { width: 28px; height: 28px; }
.wz-card-title { text-transform: uppercase; font-size: 13px; letter-spacing: 0.1em; margin: 0 0 10px; }
.wz-card-text { font-size: 13px; color: var(--wz-text-secondary); line-height: 1.7; margin: 0; }

/* ===== About ===== */
.wz-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1440px;
  margin: 0 auto 100px;
  min-height: 480px;
}
.wz-about-visual {
  position: relative;
  overflow: hidden;
}
.wz-about-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.wz-about-content { padding: 64px 64px 64px 56px; display: flex; flex-direction: column; justify-content: center; }
.wz-about-text { color: var(--wz-text-secondary); font-size: 15px; line-height: 1.85; max-width: 460px; margin: 0 0 26px; }
.wz-checklist { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 14px; }
.wz-checklist li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--wz-text-primary); }
.wz-checklist svg { width: 16px; height: 16px; color: var(--wz-gold-light); flex-shrink: 0; border: 1px solid var(--wz-border); border-radius: 50%; padding: 3px; box-sizing: content-box; }

/* ===== Partners ===== */
.wz-partners { margin: 0 0 100px; }

/* Sfondo full-bleed (edge-to-edge, stessa tecnica di .wz-hero): il contenuto
   (titolo + loghi) resta invece dentro .wz-partners-inner, a larghezza
   controllata, così le posizioni percentuali dei loghi non dipendono dalla
   larghezza reale della viewport (2026-07-28). */
.wz-partners-stage {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: 680px;
  overflow: hidden;
  background-image: url("./assets/partners-bg.webp");
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  --wz-p-scale-mult: 1;
}
.wz-partners-inner { position: relative; max-width: 1300px; height: 100%; margin: 0 auto; padding: 0 24px; }
.wz-partners-bg, .wz-partners-fg { position: absolute; inset: 0; pointer-events: none; }

.wz-partners-title-block {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  max-width: 480px;
  padding: 28px 32px;
}
.wz-partners-title-block::before {
  content: "";
  position: absolute;
  inset: -40px -60px;
  background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(5, 4, 3, 0.55), transparent 75%);
  z-index: -1;
}
.wz-partners-eyebrow { text-transform: uppercase; font-size: 12px; letter-spacing: 0.28em; color: var(--wz-text-secondary); margin: 0 0 12px; }
.wz-partners-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 46px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--wz-text-primary);
  margin: 0 0 12px;
}
.wz-partners-subtitle { color: var(--wz-text-secondary); font-size: 16px; line-height: 1.8; margin: 0; }
.wz-partners-rule { display: block; width: 64px; height: 1px; margin: 18px auto 0; background: linear-gradient(90deg, transparent, var(--wz-gold), transparent); box-shadow: 0 0 8px rgba(183, 131, 53, 0.5); }

.wz-partner-anchor { position: absolute; will-change: transform; }
.wz-partner-center { position: relative; transform-origin: center; }
.wz-partner-float {
  animation-name: wzPartnerFloat;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.wz-partner-logo {
  display: block;
  height: auto;
  pointer-events: none;
}
.wz-partner-logo--fg {
  width: 210px;
  filter: drop-shadow(0 0 14px rgba(183, 131, 53, 0.2));
  pointer-events: auto;
  transition: transform 0.3s ease, filter 0.3s ease;
}
.wz-partner-logo--fg:hover { transform: scale(1.04); filter: drop-shadow(0 0 18px rgba(209, 161, 91, 0.35)) brightness(1.12); }
.wz-partner-logo--bg { width: 46px; filter: none; }

@keyframes wzPartnerFloat {
  0%   { transform: translate3d(0, 0, 0); }
  50%  { transform: translate3d(calc(var(--wz-p-amp-x, 3px) * var(--wz-p-scale-mult, 1)), calc(var(--wz-p-amp-y, 8px) * var(--wz-p-scale-mult, 1) * -1), 0); }
  100% { transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .wz-partner-float { animation: none; }
}

/* ===== Appointment CTA ===== */
.wz-appointment {
  max-width: 1600px;
  margin: 0 auto;
  padding: 40px 48px;
  display: grid;
  grid-template-columns: 1.2fr 1fr auto;
  align-items: center;
  gap: 40px;
  border-top: 1px solid var(--wz-border);
  border-bottom: 1px solid var(--wz-border);
  margin-bottom: 90px;
}
.wz-appointment-left { display: flex; align-items: flex-start; gap: 20px; }
.wz-appointment-icon { color: var(--wz-gold-light); flex-shrink: 0; margin-top: 4px; }
.wz-appointment-icon svg { width: 30px; height: 30px; }
.wz-appointment-text { color: var(--wz-text-secondary); font-size: 14px; line-height: 1.8; margin: 0; }

/* ===== Footer ===== */
.wz-footer { background: var(--wz-background-soft); border-top: 1px solid var(--wz-border); padding: 64px 48px 28px; }
.wz-footer-grid {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 44px;
}
.wz-footer-brand .wz-brand { margin-bottom: 16px; }
.wz-footer-desc { color: var(--wz-text-secondary); font-size: 13px; line-height: 1.8; max-width: 260px; }
.wz-footer-heading { text-transform: uppercase; font-size: 11px; letter-spacing: 0.16em; color: var(--wz-gold-light); margin: 0 0 18px; }
.wz-footer-col a { display: block; color: var(--wz-text-secondary); text-decoration: none; font-size: 13px; margin-bottom: 12px; transition: color 0.25s ease; }
.wz-footer-col a:hover { color: var(--wz-text-primary); }
.wz-footer-line { color: var(--wz-text-secondary); font-size: 13px; margin: 0 0 10px; }
.wz-footer-bottom {
  max-width: 1600px;
  margin: 0 auto;
  padding-top: 28px;
  border-top: 1px solid var(--wz-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.wz-finma-badge { border: 1px solid var(--wz-border); border-radius: 2px; padding: 6px 14px; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: var(--wz-gold-light); text-align: center; line-height: 1.4; }
.wz-finma-badge small { display: block; font-size: 8px; color: var(--wz-text-secondary); font-weight: 400; letter-spacing: 0.1em; }
.wz-copyright { color: var(--wz-text-secondary); font-size: 12px; margin: 0; }
.wz-footer-legal { display: flex; gap: 20px; flex-wrap: wrap; }
.wz-footer-legal a { color: var(--wz-text-secondary); font-size: 12px; text-decoration: none; }
.wz-footer-legal a:hover { color: var(--wz-text-primary); }
.wz-footer-legal-active { color: var(--wz-gold-light); text-decoration: underline; text-underline-offset: 3px; }

/* ===== Responsive ===== */
@media (max-width: 1180px) {
  .wz-card-grid { grid-template-columns: repeat(2, 1fr); }
  .wz-about { grid-template-columns: 1fr; }
  .wz-about-visual { min-height: 320px; }
  .wz-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .wz-appointment { grid-template-columns: 1fr; text-align: center; }
  .wz-appointment-left { flex-direction: column; align-items: center; text-align: center; }
  .wz-partners-title { font-size: 36px; }
  .wz-partners-stage { height: 600px; --wz-p-scale-mult: 0.85; }
  .wz-partner-logo--fg { width: 170px; }
  .wz-partner-logo--bg { width: 38px; }
}

@media (max-width: 860px) {
  .wz-menu-btn { display: flex; position: relative; z-index: 1000; }
  .wz-header-cta { display: none; }

  .wz-nav {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    bottom: 0;
    width: 55%;
    background: rgba(18, 10, 6, 0.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: -8px 0 40px rgba(184,149,60,0.22), -1px 0 0 #B8953C;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    padding: 80px 0 32px;
    gap: 0;
    border-left: 1.5px solid #B8953C;
    border-top: none;
    border-bottom: none;
    transform: translateX(110%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;
    overflow-y: auto;
    z-index: 999;
  }

  .wz-nav.wz-nav-open {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
  }

  .wz-nav > a.wz-nav-link {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color: #FAF7F0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 15px 22px;
    border-bottom: 1px solid rgba(184,149,60,0.18);
    text-align: left;
    text-decoration: none;
    background: transparent;
    transition: color 0.2s, background 0.2s;
  }

  .wz-nav > a.wz-nav-link:hover {
    color: #C9A646;
    background: rgba(184,149,60,0.07);
  }

  .wz-nav > .wz-nav-item-submenu {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .wz-nav > .wz-nav-item-submenu > a.wz-nav-link {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color: #FAF7F0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 15px 22px;
    border-bottom: none;
    text-align: left;
    text-decoration: none;
    background: transparent;
    transition: color 0.2s, background 0.2s;
  }

  .wz-nav > .wz-nav-item-submenu > a.wz-nav-link:hover {
    color: #C9A646;
    background: rgba(184,149,60,0.07);
  }

  .wz-nav-submenu {
    position: static;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(42,26,18,0.6);
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    border-top: 1px solid rgba(184,149,60,0.15);
    border-bottom: 1px solid rgba(184,149,60,0.18);
  }

  .wz-nav-submenu a {
    display: block;
    padding: 10px 22px 10px 34px;
    color: #C9A646;
    font-size: 9px;
    letter-spacing: 2px;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(184,149,60,0.10);
    text-decoration: none;
    background: transparent;
    transition: color 0.2s, background 0.2s;
  }

  .wz-nav-submenu a:last-child { border-bottom: none; }

  .wz-nav-submenu a:hover {
    color: #FAF7F0;
    background: rgba(184,149,60,0.08);
  }

  .wz-nav::after {
    content: 'BERATUNG';
    display: block;
    margin: 24px 18px;
    padding: 13px 8px;
    border: 1px solid #B8953C;
    color: #C9A646;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-align: center;
  }

  .wz-hero { min-height: 100svh; padding-bottom: 10vh; }
  .wz-hero-title { font-size: 24px; letter-spacing: 0.02em; }
  .wz-trustbar { grid-template-columns: repeat(2, 1fr); gap: 24px 0; }
  .wz-trust-sep { border-left: none; }
  .wz-trust-item:nth-child(2n+1) { border-right: 1px solid var(--wz-border); }
  .wz-card-grid { grid-template-columns: 1fr; }
  .wz-footer-grid { grid-template-columns: 1fr 1fr; }
  .wz-footer-bottom { flex-direction: column; text-align: center; }
  .wz-footer-legal { justify-content: center; }
  .wz-partners-stage { height: 560px; --wz-p-scale-mult: 0.6; }
  .wz-partner-logo--fg { width: 140px; }
  .wz-partner-logo--bg { width: 32px; }
  .wz-partners-bg .wz-partner-anchor:nth-child(n+9) { display: none; }
  .wz-partners-title-block { max-width: 340px; padding: 20px 24px; }
}

@media (max-width: 520px) {
  .wz-header-inner { padding: 14px 20px; }
  .wz-hero { min-height: 108svh; padding-bottom: 12vh; }
  .wz-trustbar { grid-template-columns: 1fr; margin: 0 16px 60px; }
  .wz-trust-item:nth-child(2n+1) { border-right: none; }
  .wz-services, .wz-appointment { padding-left: 16px; padding-right: 16px; }
  .wz-about-content { padding: 40px 24px; }
  .wz-footer-grid { grid-template-columns: 1fr; }
  .wz-footer { padding: 48px 20px 24px; }
  .wz-partners-inner { padding: 0 16px; }
  .wz-partners-title { font-size: 26px; }
  .wz-partners-stage { height: 560px; --wz-p-scale-mult: 0.4; }
  .wz-partner-logo--fg { width: 100px; }
  .wz-partner-logo--bg { width: 24px; }
  .wz-partners-bg .wz-partner-anchor:nth-child(n+6) { display: none; }
  .wz-partners-title-block { max-width: 280px; padding: 16px 18px; }
}

/* ===== Pagine legali (Impressum / Datenschutz / Cookies) ===== */
.wz-legal {
  max-width: 820px;
  margin: 0 auto;
  padding: 160px 24px 100px;
}
.wz-legal h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: 38px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.wz-legal .wz-legal-updated { color: var(--wz-text-secondary); font-size: 13px; margin: 0 0 48px; }
.wz-legal h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 22px;
  letter-spacing: 0.02em;
  color: var(--wz-gold-light);
  margin: 40px 0 14px;
}
.wz-legal h2:first-of-type { margin-top: 0; }
.wz-legal h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  letter-spacing: 0.02em;
  color: var(--wz-text-primary);
  margin: 24px 0 10px;
}
.wz-legal p { color: var(--wz-text-secondary); font-size: 15px; line-height: 1.85; margin: 0 0 14px; }
.wz-legal ul { color: var(--wz-text-secondary); font-size: 15px; line-height: 1.85; padding-left: 20px; margin: 0 0 14px; }
.wz-legal a { color: var(--wz-gold-light); }
.wz-legal strong { color: var(--wz-text-primary); font-weight: 500; }
.wz-legal .wz-legal-note { color: var(--wz-text-secondary); font-size: 12px; line-height: 1.7; margin: 32px 0 0; }
@media (max-width: 520px) {
  .wz-legal { padding: 130px 20px 70px; }
  .wz-legal h1 { font-size: 28px; }
}

/* ===== Kontakt — bottoni condivisi (non uppercase, diversi da .wz-btn-outline) ===== */
.wz-k-btn-primary, .wz-k-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.15s ease;
  border: 1px solid transparent;
}
.wz-k-btn-primary svg, .wz-k-btn-outline svg { width: 18px; height: 18px; flex-shrink: 0; }
.wz-k-btn-primary {
  background: linear-gradient(135deg, var(--wz-gold-light) 0%, var(--wz-gold) 100%);
  color: #1c1207;
}
.wz-k-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(183, 131, 53, 0.28); }
.wz-k-btn-outline {
  background: transparent;
  border-color: var(--wz-border);
  color: var(--wz-text-primary);
}
.wz-k-btn-outline:hover { border-color: var(--wz-gold); color: var(--wz-gold-light); }

/* ===== Kontakt — Hero ===== */
.wz-k-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 640px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 150px 24px 80px;
  background: var(--wz-background);
}
.wz-k-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 78% center;
  z-index: 0;
}
.wz-k-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, var(--wz-background) 0%, rgba(5,4,3,0.88) 32%, rgba(5,4,3,0.35) 58%, rgba(5,4,3,0.12) 100%),
    linear-gradient(180deg, rgba(5,4,3,0.25) 0%, transparent 30%, transparent 70%, rgba(5,4,3,0.55) 100%);
  z-index: 1;
}
.wz-k-hero-content { position: relative; z-index: 2; max-width: 620px; }
.wz-k-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; }
.wz-k-eyebrow-dash { width: 24px; height: 1px; background: var(--wz-gold); display: inline-block; }
.wz-k-hero-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 46px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--wz-text-primary);
  margin: 0 0 22px;
}
.wz-k-hero-text { color: var(--wz-text-secondary); font-size: 16px; line-height: 1.8; max-width: 520px; margin: 0; }

/* ===== Kontakt — sezione principale (card contatto + form) ===== */
.wz-k-main { max-width: 1280px; margin: -64px auto 90px; padding: 0 24px; position: relative; z-index: 3; }
.wz-k-main-grid { display: grid; grid-template-columns: 38% 1fr; gap: 28px; align-items: stretch; }
.wz-k-card {
  background: rgba(23, 17, 10, 0.72);
  backdrop-filter: blur(6px);
  border: 1px solid var(--wz-border);
  border-radius: 3px;
  padding: 40px;
  box-shadow: 0 24px 50px rgba(0,0,0,0.35);
}
.wz-k-card-title { font-family: "Cormorant Garamond", serif; font-size: 24px; font-weight: 500; color: var(--wz-text-primary); margin: 0 0 12px; }
.wz-k-card-text { color: var(--wz-text-secondary); font-size: 14px; line-height: 1.75; margin: 0 0 28px; }

.wz-k-detail-list { list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 18px; }
.wz-k-detail { display: flex; align-items: flex-start; gap: 14px; }
.wz-k-detail-icon { color: var(--wz-gold); flex-shrink: 0; margin-top: 2px; }
.wz-k-detail-icon svg { width: 18px; height: 18px; }
.wz-k-detail-text { display: flex; flex-direction: column; gap: 2px; }
.wz-k-detail-label { font-size: 12px; color: var(--wz-text-secondary); }
.wz-k-detail-text a, .wz-k-detail-text span:last-child { color: var(--wz-text-primary); font-size: 15px; text-decoration: none; }
.wz-k-detail-text a:hover { color: var(--wz-gold-light); }

.wz-k-hours { border-top: 1px solid var(--wz-border); padding-top: 22px; margin-bottom: 26px; }
.wz-k-hours-title { font-size: 13px; letter-spacing: 0.06em; color: var(--wz-gold-light); margin: 0 0 10px; font-weight: 600; }
.wz-k-hours-days { color: var(--wz-text-primary); font-size: 14px; margin: 0 0 4px; }
.wz-k-hours-time { color: var(--wz-text-secondary); font-size: 14px; margin: 0 0 2px; }
.wz-k-hours-note { color: var(--wz-text-secondary); font-size: 12.5px; line-height: 1.6; margin: 12px 0 0; }

.wz-k-card-actions { display: flex; flex-direction: column; gap: 12px; }
.wz-k-card-actions .wz-k-btn-primary, .wz-k-card-actions .wz-k-btn-outline { width: 100%; }

/* ===== Kontakt — Form ===== */
.wz-k-form-card form { display: flex; flex-direction: column; }
.wz-k-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wz-k-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.wz-k-field-label { font-size: 13px; color: var(--wz-text-secondary); }
.wz-k-field input, .wz-k-field select, .wz-k-field textarea {
  background: rgba(5,4,3,0.5);
  border: 1px solid var(--wz-border);
  border-radius: 2px;
  color: var(--wz-text-primary);
  font-size: 14px;
  font-family: inherit;
  padding: 12px 14px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wz-k-field textarea { resize: vertical; min-height: 96px; }
.wz-k-field input::placeholder, .wz-k-field textarea::placeholder { color: var(--wz-text-secondary); opacity: 0.7; }
.wz-k-field input:focus, .wz-k-field select:focus, .wz-k-field textarea:focus {
  border-color: var(--wz-gold);
  box-shadow: 0 0 0 3px rgba(183, 131, 53, 0.16);
}
.wz-k-field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d1a15b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 38px; }
.wz-k-field input[aria-invalid="true"], .wz-k-field select[aria-invalid="true"], .wz-k-field textarea[aria-invalid="true"] { border-color: var(--wz-danger, #b85c5c); }
.wz-k-field-error { color: #d98787; font-size: 12px; min-height: 14px; }

.wz-k-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.wz-k-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--wz-text-secondary); line-height: 1.6; margin: 4px 0 4px; cursor: pointer; }
.wz-k-consent input { margin-top: 3px; accent-color: var(--wz-gold); flex-shrink: 0; }
.wz-k-consent a { color: var(--wz-gold-light); }

.wz-k-form-status { font-size: 13px; min-height: 18px; margin: 4px 0 14px; }
.wz-k-form-status-error { color: #d98787; }
.wz-k-form-status-success { color: var(--wz-gold-light); }

.wz-k-submit { margin-bottom: 16px; }
.wz-k-submit:disabled { opacity: 0.6; cursor: default; transform: none; box-shadow: none; }

.wz-k-security { display: flex; align-items: center; gap: 8px; color: var(--wz-text-secondary); font-size: 12px; line-height: 1.6; margin: 0; }
.wz-k-security svg { width: 14px; height: 14px; color: var(--wz-gold); flex-shrink: 0; }

/* ===== Kontakt — fascia fiducia ===== */
.wz-k-trust {
  max-width: 1280px;
  margin: 0 auto 90px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--wz-border);
  border-radius: 3px;
  background: var(--wz-background-soft);
}
.wz-k-trust-item { text-align: center; padding: 36px 24px; }
.wz-k-trust-sep { border-left: 1px solid var(--wz-border); }
.wz-k-trust-icon { color: var(--wz-gold); display: inline-flex; margin-bottom: 16px; }
.wz-k-trust-icon svg { width: 28px; height: 28px; }
.wz-k-trust-title { font-family: "Cormorant Garamond", serif; font-size: 18px; font-weight: 500; color: var(--wz-text-primary); margin: 0 0 8px; }
.wz-k-trust-text { color: var(--wz-text-secondary); font-size: 13.5px; line-height: 1.6; margin: 0; }

/* ===== Kontakt — CTA finale ===== */
.wz-k-cta {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 420px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 70px 24px;
  margin-bottom: 0;
}
.wz-k-cta-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 85% 70%;
  transform: scale(1.3);
  opacity: 0.8;
}
.wz-k-cta-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg, var(--wz-background) 0%, rgba(5,4,3,0.85) 38%, rgba(5,4,3,0.3) 65%, rgba(5,4,3,0.15) 100%),
    linear-gradient(180deg, rgba(5,4,3,0.3) 0%, transparent 25%, transparent 75%, rgba(5,4,3,0.3) 100%);
}
.wz-k-cta-content { position: relative; z-index: 2; max-width: 620px; }
.wz-k-cta-title { font-family: "Cormorant Garamond", serif; font-size: 32px; font-weight: 500; line-height: 1.3; color: var(--wz-text-primary); margin: 0 0 18px; }
.wz-k-cta-text { color: var(--wz-text-secondary); font-size: 15px; line-height: 1.75; margin: 0 0 28px; max-width: 500px; }
.wz-k-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* ===== Kontakt — responsive ===== */
@media (max-width: 1024px) {
  .wz-k-main-grid { grid-template-columns: 1fr; }
  .wz-k-hero-title { font-size: 38px; }
}
@media (max-width: 768px) {
  .wz-k-hero { min-height: 520px; padding: 130px 20px 60px; }
  .wz-k-hero-bg { object-position: 88% center; }
  .wz-k-hero-overlay { background: linear-gradient(180deg, rgba(5,4,3,0.5) 0%, rgba(5,4,3,0.75) 55%, var(--wz-background) 100%); }
  .wz-k-main { margin-top: -40px; }
  .wz-k-card { padding: 28px 22px; }
  .wz-k-form-row { grid-template-columns: 1fr; }
  .wz-k-trust { grid-template-columns: 1fr; }
  .wz-k-trust-sep { border-left: none; border-top: 1px solid var(--wz-border); }
  .wz-k-cta { min-height: 360px; }
  .wz-k-cta-bg { object-position: 75% 60%; }
  .wz-k-cta-title { font-size: 26px; }
}
@media (max-width: 430px) {
  .wz-k-hero-title { font-size: 30px; }
  .wz-k-main { padding: 0 16px; }
  .wz-k-trust { margin: 0 16px 60px; padding: 0; }
  .wz-k-cta { padding: 50px 16px; }
  .wz-k-cta-actions { flex-direction: column; }
  .wz-k-cta-actions .wz-k-btn-primary, .wz-k-cta-actions .wz-k-btn-outline { width: 100%; }
}

/* =====================================================================
   Über uns
   ===================================================================== */

/* ===== Hero =====
   L'immagine fornita (i due fondatori) è l'unico elemento visivo, mai
   ritagliata come file — solo object-fit/object-position che cambiano
   per breakpoint, così i volti restano sempre nel campo visibile.
   L'overlay è un semplice gradiente verso il basso (stessa tecnica di
   .wz-hero-overlay in home): la parte alta, dove stanno i volti, resta
   quasi scoperta; solo la fascia con il testo viene scurita quel tanto
   che basta per la leggibilità — l'immagine resta protagonista. Il
   gradiente termina esattamente sul colore di sfondo della sezione
   successiva: nessun taglio netto, la hero vi si dissolve dentro. */
.wz-uu-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  background: var(--wz-background);
  padding-bottom: 9vh;
}
.wz-uu-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
}
.wz-uu-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0) 42%,
    rgba(5, 4, 3, 0.42) 58%,
    rgba(5, 4, 3, 0.8) 72%,
    rgba(5, 4, 3, 0.94) 86%,
    var(--wz-background) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.wz-uu-hero-content { position: relative; z-index: 2; max-width: 720px; padding: 0 24px; text-align: center; }
.wz-uu-hero-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 48px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0 0 18px;
  text-wrap: balance;
}
.wz-uu-hero-text { color: var(--wz-text-secondary); font-size: 17px; line-height: 1.85; margin: 0 0 32px; }

/* ===== Unsere Geschichte ===== */
.wz-uu-story { max-width: 1300px; margin: 0 auto 100px; padding: 110px 24px 0; }
.wz-uu-story-inner { display: flex; flex-direction: column; align-items: center; }
.wz-uu-story-text {
  max-width: 700px;
  color: var(--wz-text-secondary);
  font-size: 15.5px;
  line-height: 1.9;
}
.wz-uu-story-text p { margin: 0 0 22px; }
.wz-uu-story-text p:last-child { margin-bottom: 0; }

/* ===== Unsere Werte =====
   Stessa tecnica full-bleed di .wz-partners-stage; sfondo
   --wz-background-soft per dare un po' di respiro/ritmo rispetto alla
   sezione precedente, senza introdurre un nuovo colore. Le card sono
   esattamente .wz-card (stesso componente dei servizi in home) con
   wz-comet-hover applicato — nessun nuovo stile di card. */
.wz-uu-values { width: 100vw; margin-left: calc(50% - 50vw); background: var(--wz-background-soft); padding: 90px 0 100px; }
.wz-uu-values-inner { max-width: 1300px; margin: 0 auto; padding: 0 24px; }
.wz-uu-values-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--wz-border);
  border: 1px solid var(--wz-border);
}

@media (max-width: 1180px) {
  .wz-uu-hero { min-height: 92svh; }
  .wz-uu-hero-title { font-size: 38px; }
  .wz-uu-values-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
  .wz-uu-hero { min-height: 84svh; padding-bottom: 8vh; }
  /* Riquadro più basso e più stretto in verticale: senza intervenire,
     l'object-fit:cover dovrebbe tagliare più ai lati che in alto/basso.
     Spostare l'inquadratura leggermente più in alto (dove sono i volti,
     non il logo/marchio in basso nella foto) mantiene entrambi i
     fondatori nel campo visibile anche in questa fascia. */
  .wz-uu-hero-img { object-position: center 38%; }
  .wz-uu-hero-title { font-size: 32px; }
  .wz-uu-story { padding-top: 90px; }
  .wz-uu-values-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  /* Sotto i 520px il rapporto larghezza/altezza dello schermo è troppo
     stretto per mostrare entrambi i volti con un ritaglio: invece di
     forzare un cover che rischierebbe di tagliarne uno, l'immagine passa
     a object-fit:contain nel suo rapporto nativo (3:2) — resta intera,
     mai ritagliata — e il testo scorre sotto di essa invece di
     sovrapporvisi. La hero non è più un blocco assoluto a piena altezza:
     l'altezza torna "naturale" (immagine + testo), lo sfondo del
     riquadro (uguale a quello della pagina) riempie l'eventuale spazio
     residuo senza soluzione di continuità. */
  .wz-uu-hero {
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
    padding-bottom: 0;
  }
  .wz-uu-hero-img {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 1536 / 1024;
    object-fit: contain;
    background: var(--wz-background);
  }
  .wz-uu-hero-overlay { display: none; }
  .wz-uu-hero-content { padding: 36px 20px 48px; max-width: 100%; }
  .wz-uu-hero-title { font-size: 27px; }
  .wz-uu-story { padding: 70px 20px 0; }
  .wz-uu-story-text { font-size: 15px; }
  .wz-uu-values { padding: 64px 0 70px; }
  .wz-uu-values-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   Leistungen
   ===================================================================== */

/* ===== Hero =====
   Struttura, classi e comportamento identici alla Hero esistente
   (.wz-hero/.wz-hero-overlay/.wz-hero-content/.wz-hero-title/.wz-hero-text,
   vedi sopra) — l'unica aggiunta è .wz-lst-hero-img al posto del video, con
   la stessa identica ricetta object-fit di .wz-hero-video. Nessun altro
   elemento grafico sopra l'immagine. */
.wz-lst-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
  z-index: 0;
  pointer-events: none;
}
.wz-lst-hero-ctas { display: flex; gap: 28px; align-items: center; justify-content: center; flex-wrap: wrap; position: relative; z-index: 2; }
.wz-lst-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--wz-text-secondary);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.14em;
  font-weight: 500;
  padding: 13px 6px;
  transition: color 0.3s ease;
}
.wz-lst-btn-ghost svg { width: 14px; height: 14px; }
.wz-lst-btn-ghost:hover { color: var(--wz-gold-light); }

/* ===== Vier Bereiche (Premium Card) =====
   Card più ricche delle .wz-card dei servizi in home (icona + titolo +
   testo + CTA propria) perché qui sono solo 4, punto d'ingresso verso le
   future landing page dedicate — 2 colonne desktop invece di una griglia
   fitta, per lasciare loro più respiro ("massimo spazio bianco"). */
.wz-lst-categories { max-width: 1300px; margin: 0 auto 110px; padding: 110px 24px 0; }
.wz-lst-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--wz-border); border: 1px solid var(--wz-border); }
.wz-lst-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--wz-surface);
  padding: 48px 44px;
  text-decoration: none;
  color: inherit;
  transition: background 0.35s ease;
}
.wz-lst-card:hover { background: var(--wz-surface-light); }
.wz-lst-card-icon { color: var(--wz-gold-light); display: inline-flex; margin-bottom: 22px; }
.wz-lst-card-icon svg { width: 34px; height: 34px; }
.wz-lst-card-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--wz-text-primary);
  margin: 0 0 12px;
}
.wz-lst-card-text { color: var(--wz-text-secondary); font-size: 14px; line-height: 1.75; margin: 0 0 26px; max-width: 380px; }
/* .wz-lst-card-cta: non renderizzata al momento (vedi leistungenCategories.js,
   2026-08-06 — "Mehr erfahren" rimosso finché le landing dedicate non
   esistono). Regola lasciata pronta per quando verrà reintrodotta. */
.wz-lst-card-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--wz-gold-light);
  text-transform: uppercase;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  font-weight: 500;
}
.wz-lst-card-cta svg { width: 14px; height: 14px; transition: transform 0.25s ease; }
.wz-lst-card:hover .wz-lst-card-cta svg { transform: translateX(4px); }

/* ===== CTA finale (Termin/WhatsApp/E-Mail) =====
   Riusa .wz-section-head e .wz-lst-hero-ctas già definiti sopra per
   questa stessa pagina — nessuna nuova classe di layout. */
.wz-lst-final-cta { max-width: 900px; margin: 0 auto 120px; padding: 0 24px; text-align: center; }
.wz-lst-final-cta .wz-section-head { margin-bottom: 36px; }

@media (max-width: 1180px) {
  .wz-lst-card { padding: 40px 36px; }
}
@media (max-width: 860px) {
  .wz-lst-hero-img { object-position: 62% 60%; }
  .wz-lst-hero-ctas { flex-direction: column; gap: 16px; }
  .wz-lst-categories { padding-top: 90px; }
  .wz-lst-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .wz-lst-card { padding: 36px 26px; }
  .wz-lst-card-title { font-size: 21px; }
}
/* Krankenkasse — pagina istituzionale e wizard in modal */
.wz-kk-page-main {
  background: var(--wz-bg);
  color: var(--wz-text-primary);
  overflow: hidden;
}
.wz-kk-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 104px clamp(28px, 7vw, 110px) 58px;
}
.wz-kk-hero-copy {
  position: relative;
  z-index: 2;
  width: min(590px, 48%);
}
.wz-kk-eyebrow,
.wz-kk-section-kicker {
  color: var(--wz-gold-light);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin: 0 0 22px;
}
.wz-kk-badges { display: flex; gap: 10px; margin-bottom: 26px; }
.wz-kk-badges span {
  border: 1px solid var(--wz-border);
  color: var(--wz-gold-light);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  padding: 8px 12px;
}
.kk-page .wz-kk-hero h1 {
  color: var(--wz-text-primary);
  font-family: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  font-size: clamp(42px, 3.75vw, 56px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.025em;
  margin: 0 0 24px;
}
.wz-kk-hero-copy > p:not(.wz-kk-eyebrow) {
  color: var(--wz-text-secondary);
  font-size: 16px;
  line-height: 1.7;
  max-width: 620px;
  margin: 0 0 28px;
}
.wz-kk-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 52px;
  padding: 0 25px;
  border: 1px solid var(--wz-gold);
  background: var(--wz-gold);
  color: #0d0a07;
  font: 700 12px/1 Inter, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.wz-kk-primary:hover { background: var(--wz-gold-light); transform: translateY(-2px); }
.wz-kk-primary svg { width: 18px; height: 18px; }
.wz-kk-microcopy {
  color: var(--wz-text-secondary) !important;
  font-size: 11px !important;
  letter-spacing: .08em;
  margin: 14px 0 0 !important;
}
.wz-kk-hero-visual {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.wz-kk-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(7, 5, 3, .96) 0%, rgba(7, 5, 3, .88) 32%, rgba(7, 5, 3, .55) 52%, rgba(7, 5, 3, .12) 78%, rgba(7, 5, 3, .05) 100%);
  pointer-events: none;
}
.wz-kk-hero-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 52%;
}
.wz-kk-products {
  max-width: 1320px;
  margin: 0 auto;
  padding: 42px 28px 100px;
  text-align: center;
}
.wz-kk-products h2,
.wz-kk-bottom-cta h2 {
  color: var(--wz-text-primary);
  font-family: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 500;
  line-height: 1.1;
  margin: 0 0 48px;
}
.wz-kk-products-intro {
  max-width: 650px;
  margin: -28px auto 44px;
  color: var(--wz-text-secondary);
  font-size: 14px;
  line-height: 1.7;
}
.wz-kk-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--wz-border);
  background: var(--wz-border);
  text-align: left;
}
.wz-kk-product-grid article { background: var(--wz-surface); padding: 44px 38px; }
.wz-kk-product-grid svg { width: 30px; height: 30px; color: var(--wz-gold-light); margin-bottom: 24px; }
.wz-kk-product-grid h3 {
  color: var(--wz-text-primary);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 30px;
  font-weight: 500;
  margin: 0 0 14px;
}
.wz-kk-product-grid p,
.wz-kk-bottom-cta p { color: var(--wz-text-secondary); font-size: 14px; line-height: 1.75; margin: 0; }
.wz-kk-editorial {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 28px 100px;
}
.wz-kk-editorial h2,
.wz-kk-editorial h3 {
  color: var(--wz-text-primary);
  font-family: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  font-weight: 500;
}
.wz-kk-editorial h2 { font-size: clamp(34px, 3.4vw, 50px); line-height: 1.08; margin: 0 0 24px; }
.wz-kk-editorial h3 { font-size: 27px; line-height: 1.15; margin: 12px 0 18px; }
.wz-kk-editorial p { color: var(--wz-text-secondary); font-size: 15px; line-height: 1.75; }
.wz-kk-feature-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid var(--wz-border);
  color: var(--wz-gold-light);
  margin-bottom: 28px;
}
.wz-kk-feature-icon svg { width: 23px; height: 23px; }
.wz-kk-editorial-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--wz-border); }
.wz-kk-feature { min-width: 0; padding: 56px; background: var(--wz-surface); }
.wz-kk-feature + .wz-kk-feature { border-left: 1px solid var(--wz-border); }
.wz-kk-key-number {
  display: block;
  color: var(--wz-gold-light);
  font: 500 clamp(38px, 4.5vw, 62px)/1 "Cormorant Garamond", Georgia, serif;
  margin: 34px 0 26px;
}
.wz-kk-tip { margin: 28px 0 0; padding: 22px 24px; border-left: 2px solid var(--wz-gold); background: rgba(183, 131, 53, .06); }
.wz-kk-tip span { color: var(--wz-gold-light); font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.wz-kk-tip p { margin: 9px 0 0; }
.wz-kk-editorial-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  margin-top: 30px;
  border: 0;
  background: transparent;
  color: var(--wz-gold-light);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wz-kk-editorial-link svg { width: 17px; height: 17px; transition: transform .2s ease; }
.wz-kk-editorial-link:hover svg { transform: translateX(4px); }
.wz-kk-warning {
  display: grid;
  grid-template-columns: auto minmax(260px, .75fr) minmax(320px, 1.25fr) auto;
  align-items: center;
  gap: 30px;
  margin: 28px 0 0;
  padding: 40px 44px;
  border: 1px solid var(--wz-gold);
  border-left: 3px solid #a64f40;
  background: linear-gradient(90deg, rgba(166, 79, 64, .055), transparent 26%), var(--wz-surface);
}
.wz-kk-warning .wz-kk-feature-icon { margin: 0; }
.wz-kk-warning h2 { font-size: clamp(30px, 3vw, 42px); margin: 0; }
.wz-kk-warning .wz-kk-section-kicker { margin-bottom: 10px; }
.wz-kk-warning-copy p { margin: 0; }
.wz-kk-warning-copy p + p { margin-top: 8px; }
.wz-kk-warning .wz-kk-editorial-link { margin: 0; white-space: nowrap; }
.wz-kk-editorial-section,
.wz-kk-premium-factors,
.wz-kk-current { margin-top: 92px; }
.wz-kk-editorial-heading { max-width: 820px; margin-bottom: 42px; }
.wz-kk-editorial-heading > p:last-child { max-width: 680px; }
.wz-kk-unfall-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--wz-border); background: var(--wz-border); gap: 1px; }
.wz-kk-unfall-grid article { min-width: 0; padding: 38px 34px; background: var(--wz-surface); }
.wz-kk-unfall-grid article > svg { width: 25px; height: 25px; color: var(--wz-gold-light); margin-bottom: 24px; }
.wz-kk-unfall-grid strong { display: block; color: var(--wz-text-primary); font: 500 29px/1.1 "Cormorant Garamond", Georgia, serif; }
.wz-kk-unfall-grid small { display: block; color: var(--wz-gold-light); font-size: 12px; line-height: 1.65; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--wz-border); }
.wz-kk-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.wz-kk-compare-grid article { padding: 44px 46px; border: 1px solid var(--wz-border); background: var(--wz-surface); }
.wz-kk-compare-grid article > span { color: var(--wz-gold-light); font-size: 11px; font-weight: 800; letter-spacing: .22em; }
.wz-kk-compare-grid ul { columns: 2; padding: 20px 0 0; margin: 20px 0 0; border-top: 1px solid var(--wz-border); list-style: none; }
.wz-kk-compare-grid li { color: var(--wz-text-secondary); font-size: 14px; line-height: 1.8; break-inside: avoid; }
.wz-kk-compare-grid li::before { content: "—"; color: var(--wz-gold); margin-right: 8px; }
.wz-kk-premium-factors { padding: 56px; border: 1px solid var(--wz-border); background: var(--wz-surface); }
.wz-kk-factor-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-block: 1px solid var(--wz-border); }
.wz-kk-factor-grid article { min-width: 0; min-height: 126px; padding: 26px 22px; display: flex; flex-direction: column; gap: 20px; justify-content: center; }
.wz-kk-factor-grid article + article { border-left: 1px solid var(--wz-border); }
.wz-kk-factor-grid svg { width: 23px; height: 23px; color: var(--wz-gold-light); }
.wz-kk-factor-grid span { color: var(--wz-text-primary); font-size: 14px; line-height: 1.45; }
.wz-kk-current { display: grid; grid-template-columns: auto minmax(360px, 1.2fr) minmax(300px, .8fr); gap: 34px; align-items: start; padding: 50px 54px; border: 1px solid var(--wz-border); background: linear-gradient(125deg, rgba(183, 131, 53, .09), transparent 48%), var(--wz-surface); }
.wz-kk-current .wz-kk-feature-icon { margin: 0; }
.wz-kk-current h2 { margin-bottom: 16px; }
.wz-kk-current aside { padding: 22px 24px; border-left: 1px solid var(--wz-gold); background: rgba(0, 0, 0, .13); }
.wz-kk-current aside strong { color: var(--wz-text-primary); font: 500 23px/1.2 "Cormorant Garamond", Georgia, serif; }
.wz-kk-current aside p { margin-bottom: 0; }
.wz-kk-current .wz-kk-editorial-link { grid-column: 2 / -1; margin-top: 0; }
.wz-kk-bottom-cta {
  max-width: 1240px;
  margin: 0 auto 110px;
  padding: 62px 64px;
  border: 1px solid var(--wz-gold);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  background: var(--wz-surface);
}
.wz-kk-bottom-cta h2 { margin-bottom: 14px; }
.wz-kk-bottom-cta a { color: var(--wz-gold-light); text-underline-offset: 3px; }
.wz-kk-bottom-cta .wz-kk-primary { flex: 0 0 auto; }
body.wz-kk-modal-open { overflow: hidden; }
.wz-kk-modal {
  position: fixed;
  inset: 0;
  z-index: 2500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.wz-kk-modal.is-open { display: flex; }
.wz-kk-modal-backdrop { position: absolute; inset: 0; background: rgba(4, 3, 2, .82); backdrop-filter: blur(7px); }
.wz-kk-dialog {
  position: relative;
  width: min(1180px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  background: #0d0b09;
  border: 1px solid rgba(209, 161, 91, .38);
  box-shadow: 0 32px 100px rgba(0, 0, 0, .65);
}
.wz-kk-dialog-top {
  min-height: 70px;
  padding: 14px 18px 10px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--kk-line);
}
.wz-kk-close {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--kk-line);
  background: transparent;
  color: var(--kk-text);
  cursor: pointer;
}
.wz-kk-close svg { width: 20px; height: 20px; }
.wz-kk-dialog .wiz { border: 0; border-radius: 0; box-shadow: none; }

@media (max-width: 980px) {
  .wz-kk-hero { min-height: 540px; padding-top: 104px; }
  .wz-kk-hero-copy { width: min(610px, 62%); }
  .wz-kk-hero-visual::after { background: linear-gradient(90deg, rgba(7, 5, 3, .96) 0%, rgba(7, 5, 3, .84) 42%, rgba(7, 5, 3, .34) 72%, rgba(7, 5, 3, .12) 100%); }
  .wz-kk-bottom-cta { margin-inline: 28px; }
  .wz-kk-feature { padding: 42px 34px; }
  .wz-kk-warning { grid-template-columns: auto 1fr; }
  .wz-kk-warning-copy { grid-column: 2; }
  .wz-kk-warning .wz-kk-editorial-link { grid-column: 2; justify-self: start; }
  .wz-kk-factor-grid { grid-template-columns: repeat(3, 1fr); }
  .wz-kk-factor-grid article:nth-child(4) { border-left: 0; }
  .wz-kk-factor-grid article:nth-child(n+4) { border-top: 1px solid var(--wz-border); }
  .wz-kk-current { grid-template-columns: auto 1fr; }
  .wz-kk-current aside { grid-column: 2; }
}
@media (max-width: 760px) {
  .wz-kk-hero { min-height: 610px; padding: 94px 20px 44px; align-items: flex-end; }
  .wz-kk-hero-copy { width: 100%; }
  .kk-page .wz-kk-hero h1 { font-size: clamp(38px, 11vw, 52px); }
  .wz-kk-hero-copy > p:not(.wz-kk-eyebrow):not(.wz-kk-microcopy) br { display: none; }
  .wz-kk-hero-visual::after { background: linear-gradient(180deg, rgba(7, 5, 3, .14) 0%, rgba(7, 5, 3, .28) 38%, rgba(7, 5, 3, .94) 72%, rgba(7, 5, 3, .98) 100%); }
  .wz-kk-hero-visual img { object-position: 55% 50%; }
  .wz-kk-products { padding: 40px 20px 78px; }
  .wz-kk-product-grid { grid-template-columns: 1fr; }
  .wz-kk-product-grid article { padding: 34px 28px; }
  .wz-kk-editorial { padding: 0 20px 78px; }
  .wz-kk-editorial-split,
  .wz-kk-unfall-grid,
  .wz-kk-compare-grid { grid-template-columns: 1fr; }
  .wz-kk-feature { padding: 38px 28px; }
  .wz-kk-feature + .wz-kk-feature { border-left: 0; border-top: 1px solid var(--wz-border); }
  .wz-kk-warning { grid-template-columns: 1fr; padding: 34px 28px; }
  .wz-kk-warning-copy,
  .wz-kk-warning .wz-kk-editorial-link { grid-column: auto; }
  .wz-kk-editorial-section,
  .wz-kk-premium-factors,
  .wz-kk-current { margin-top: 64px; }
  .wz-kk-compare-grid article { padding: 36px 28px; }
  .wz-kk-compare-grid ul { columns: 1; }
  .wz-kk-premium-factors { padding: 38px 28px; }
  .wz-kk-factor-grid { grid-template-columns: 1fr; }
  .wz-kk-factor-grid article + article { border-left: 0; border-top: 1px solid var(--wz-border); }
  .wz-kk-current { grid-template-columns: 1fr; padding: 38px 28px; }
  .wz-kk-current aside,
  .wz-kk-current .wz-kk-editorial-link { grid-column: auto; }
  .wz-kk-bottom-cta { margin: 0 20px 78px; padding: 42px 28px; flex-direction: column; align-items: flex-start; }
  .wz-kk-modal { padding: 0; }
  .wz-kk-dialog { width: 100%; max-height: 100vh; min-height: 100vh; }
  .wz-kk-dialog-top { position: sticky; top: 0; z-index: 4; background: #0d0b09; }
}
/* Auto & Motorrad landing — isolated page namespace */
.auto-page { background:#0c0907; color:#f6efe4; }
.auto-page main { overflow:hidden; }
.auto-page svg { width:1.2em; height:1.2em; stroke-width:1.7; }
.auto-hero { min-height:clamp(650px,82vh,880px); position:relative; display:flex; align-items:center; background:#090705; }
.auto-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.auto-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,5,4,.98) 0%,rgba(7,5,4,.89) 29%,rgba(7,5,4,.45) 49%,rgba(7,5,4,.05) 72%); }
.auto-hero-copy { position:relative; z-index:1; width:min(610px,43vw); margin-left:max(7vw,48px); padding:110px 0 70px; }
.auto-eyebrow { color:#d7a94e; font-size:.76rem; letter-spacing:.24em; font-weight:700; margin:0 0 18px; }
.auto-hero h1 { font-family:Georgia,serif; font-size:clamp(3rem,5.1vw,5.8rem); line-height:.95; letter-spacing:-.035em; margin:0 0 28px; font-weight:500; }
.auto-hero-copy>p:not(.auto-eyebrow) { max-width:580px; color:#d0c3b2; line-height:1.75; font-size:1.05rem; }
.auto-hero-copy>small { display:block; color:#a99b89; margin-top:18px; }
.auto-gold-btn,.auto-secondary-btn,.auto-text-btn { border:0; font:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:10px; }
.auto-modal [hidden] { display:none !important; }
.auto-gold-btn { margin-top:25px; padding:16px 22px; background:#c99b47; color:#140e08; font-weight:800; letter-spacing:.06em; }
.auto-section { padding:100px max(6vw,32px); max-width:1500px; margin:auto; }
.auto-section-head { max-width:760px; margin-bottom:42px; }
.auto-section h2,.auto-final h2 { font:500 clamp(2.2rem,4vw,4.2rem)/1.05 Georgia,serif; margin:0; }
.auto-card-grid { display:grid; gap:18px; }.auto-card-grid-3{grid-template-columns:repeat(3,1fr)}.auto-card-grid-4{grid-template-columns:repeat(4,1fr)}
.auto-info-card{position:relative}.auto-info-trigger{position:absolute;top:20px;right:20px;width:38px;height:38px;border:1px solid rgba(215,169,78,.5);border-radius:50%;display:grid;place-items:center;background:rgba(10,7,5,.42);color:#d7a94e;cursor:pointer;transition:border-color .22s ease,background .22s ease,color .22s ease,transform .22s ease}.auto-info-trigger:hover,.auto-info-trigger:focus-visible{border-color:#efc46b;background:rgba(215,169,78,.14);color:#efc46b;transform:translateY(-2px);outline:none}.auto-info-trigger svg{width:17px;height:17px}.auto-coverage-modal{position:fixed;inset:0;z-index:2700;display:none;place-items:center;padding:24px}.auto-coverage-modal.is-open{display:grid}.auto-coverage-backdrop{position:absolute;inset:0;background:rgba(3,2,2,.82);backdrop-filter:blur(8px)}.auto-coverage-dialog{position:relative;width:min(620px,calc(100vw - 36px));max-height:calc(100dvh - 48px);overflow:auto;padding:46px 48px 42px;border:1px solid rgba(215,169,78,.48);background:#100b08;color:#eee4d6;box-shadow:0 28px 90px rgba(0,0,0,.58)}.auto-coverage-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid rgba(215,169,78,.32);background:transparent;color:#d7a94e;display:grid;place-items:center;cursor:pointer}.auto-coverage-close svg{width:18px;height:18px}.auto-coverage-kicker{display:block;color:#d7a94e;font-size:.7rem;font-weight:800;letter-spacing:.22em;margin-bottom:14px}.auto-coverage-dialog h3{font:500 clamp(2.2rem,5vw,3.25rem)/1 Georgia,serif;margin:0 48px 24px 0;color:#f7efe3}.auto-coverage-body p{color:#c7baaa;line-height:1.7;margin:0 0 15px}.auto-coverage-body h4{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#d7a94e;margin:28px 0 13px}.auto-coverage-body ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:0;padding:0;list-style:none}.auto-coverage-body li{color:#e8ded0;padding-left:17px;position:relative}.auto-coverage-body li::before{content:"—";position:absolute;left:0;color:#d7a94e}.auto-coverage-body aside{margin-top:28px;padding:18px 20px;border-left:2px solid #d7a94e;background:rgba(215,169,78,.07);color:#cfc2b1;line-height:1.65}.auto-coverage-body aside strong{color:#f0c872}
.auto-schadenfall-hero{position:relative;min-height:clamp(620px,76vh,820px);display:flex;align-items:center;overflow:hidden;background:#090705}.auto-schadenfall-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.auto-schadenfall-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,5,4,.98) 0%,rgba(7,5,4,.91) 30%,rgba(7,5,4,.62) 48%,rgba(7,5,4,.13) 72%),linear-gradient(0deg,rgba(7,5,4,.4),transparent 45%)}.auto-schadenfall-copy{position:relative;z-index:1;width:min(650px,47vw);margin-left:max(7vw,48px);padding:76px 0}.auto-schadenfall-copy h2{font:500 clamp(3rem,5vw,5.6rem)/.98 Georgia,serif;letter-spacing:-.035em;margin:10px 0 22px;color:#f6efe4}.auto-schadenfall-copy>p{max-width:610px;color:#c7b9a7;line-height:1.65;margin:0 0 16px}.auto-schadenfall-copy .auto-schadenfall-subhead{font:500 1.35rem Georgia,serif;color:#e8c77f;margin-bottom:18px}.auto-schadenfall-copy blockquote{margin:28px 0;padding:20px 0 20px 24px;border-left:2px solid #d7a94e;color:#f4e8d5;font:500 clamp(1.25rem,1.8vw,1.65rem)/1.45 Georgia,serif}.auto-schadenfall-copy .auto-schadenfall-secondary{font-size:.94rem;color:#aa9d8d}.auto-schadenfall-copy>strong{display:block;color:#efc46b;font-size:1rem;margin:24px 0}.auto-schadenfall-copy .auto-gold-btn{margin-top:2px}
.auto-info-card,.auto-mini-card{position:relative;overflow:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .32s ease,background-color .32s ease,box-shadow .32s ease}.auto-info-card:hover,.auto-mini-card:hover{transform:translateY(-7px);border-color:rgba(215,169,78,.72);box-shadow:0 22px 48px rgba(0,0,0,.24)}.auto-info-card .auto-icon,.auto-mini-card>svg{transition:transform .32s cubic-bezier(.22,1,.36,1),color .32s ease}.auto-info-card:hover .auto-icon,.auto-mini-card:hover>svg{transform:translateY(-2px) scale(1.08);color:#efc46b}.auto-info-card button svg{transition:transform .25s ease}.auto-info-card:hover button svg{transform:translateX(5px)}
.auto-mini-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.auto-card-arrow{position:absolute;right:20px;top:20px;color:#d7a94e;opacity:0;transform:translate(-7px,7px);transition:opacity .25s ease,transform .32s cubic-bezier(.22,1,.36,1)}.auto-card-arrow svg{width:18px;height:18px}.auto-mini-card:hover .auto-card-arrow,.auto-mini-card:focus-visible .auto-card-arrow{opacity:1;transform:none}.auto-mini-card:focus-visible,.auto-info-card:focus-within{outline:2px solid #d7a94e;outline-offset:3px}
.auto-factor-grid span{transition:background-color .28s ease,color .28s ease,transform .28s cubic-bezier(.22,1,.36,1)}.auto-factor-grid span:hover{background:#21170f;color:#fff3df;transform:translateY(-2px)}.auto-factor-grid span svg{transition:transform .28s cubic-bezier(.22,1,.36,1)}.auto-factor-grid span:hover svg{transform:scale(1.12) rotate(-3deg)}
.auto-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--auto-reveal-delay,0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--auto-reveal-delay,0ms)}.auto-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.auto-info-card,.auto-mini-card,.auto-factor-grid span,.auto-factor-grid span svg,.auto-reveal{transition:none!important;transform:none!important;opacity:1!important}}
.auto-info-card,.auto-mini-card { border:1px solid rgba(211,169,89,.25); background:#120e0b; padding:32px; }
.auto-info-card h3,.auto-mini-card h3 { font:500 1.65rem Georgia,serif; margin:20px 0 9px; }.auto-info-card p,.auto-mini-card p{color:#ab9e8d;line-height:1.65}
.auto-icon { display:grid; place-items:center; width:52px; height:52px; border:1px solid #9c742e; color:#ddb35f; border-radius:50%; }
.auto-info-card button,.auto-text-btn { color:#d7a94e; background:none; padding:0; margin-top:20px; }
.auto-mini-card>svg { color:#d7a94e; width:28px; height:28px; }
.auto-editorial { border-top:1px solid rgba(211,169,89,.14); }
.auto-factors { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; background:#0f0b08; color:#f6efe4; max-width:none; padding-left:max(7vw,32px);padding-right:max(7vw,32px); border-top:1px solid rgba(211,169,89,.14); border-bottom:1px solid rgba(211,169,89,.14) }
.auto-factors>div:first-child>p:not(.auto-eyebrow){color:#ab9e8d;line-height:1.7}.auto-factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(211,169,89,.22);border:1px solid rgba(211,169,89,.22)}.auto-factor-grid span{background:#15100c;padding:24px;display:flex;gap:12px;align-items:center;color:#e8dece}.auto-factor-grid svg{color:#d7a94e}
.auto-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center}.auto-vs article{padding:42px;border:1px solid rgba(211,169,89,.28);background:#120e0b}.auto-vs article>span{color:#d7a94e;letter-spacing:.18em;font-size:.75rem}.auto-vs h3{font:500 2rem Georgia,serif}.auto-vs li{padding:10px 0;color:#c3b7a7}.auto-vs>b{border:1px solid #c99b47;color:#d7a94e;border-radius:50%;width:58px;height:58px;display:grid;place-items:center}
.auto-final{text-align:center;padding:110px 24px;background:#17100b}.auto-final p:not(.auto-eyebrow){color:#b7aa99}
.auto-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0 30px}.auto-choice-grid-4{grid-template-columns:repeat(4,1fr)}.auto-extra-grid{grid-template-columns:repeat(3,1fr)}
.auto-choice-grid .card svg{width:30px;height:30px;color:var(--kk-gold2);stroke-width:1.7}.auto-choice-grid .card strong,.auto-choice-grid .card small{display:block}
.auto-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.auto-fields-3{grid-template-columns:repeat(3,1fr)}
.auto-upload{display:grid;place-items:center;text-align:center;border:1px dashed rgba(224,187,112,.38);border-radius:15px;padding:25px;background:rgba(255,255,255,.02);cursor:pointer}.auto-upload input{position:absolute;opacity:0}.auto-upload svg{width:34px;height:34px;color:var(--kk-gold2);margin-bottom:9px}.auto-upload small{display:block;color:var(--kk-muted);margin-top:5px}.auto-file-name{text-align:center;color:var(--kk-muted)}
.auto-review{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.auto-review>div{display:flex;gap:14px;padding:20px;background:rgba(255,255,255,.025);border:1px solid var(--kk-line)}.auto-review small,.auto-review strong{display:block}.auto-review small{color:var(--kk-muted)}.auto-review svg{color:var(--kk-gold2)}.auto-preview-success{text-align:center;padding:70px}.auto-preview-success svg{width:52px;height:52px;color:var(--kk-success)}
@media(max-width:900px){.auto-hero{min-height:720px;align-items:flex-end}.auto-hero>img{object-position:62% center}.auto-hero-shade{background:linear-gradient(0deg,#090705 0%,rgba(9,7,5,.92) 35%,rgba(9,7,5,.05) 78%)}.auto-hero-copy{width:auto;margin:0;padding:280px 24px 55px}.auto-schadenfall-hero{min-height:720px;align-items:flex-end}.auto-schadenfall-hero>img{object-position:60% center}.auto-schadenfall-overlay{background:linear-gradient(0deg,rgba(7,5,4,.98) 0%,rgba(7,5,4,.88) 48%,rgba(7,5,4,.12) 88%)}.auto-schadenfall-copy{width:auto;margin:0;padding:240px 28px 58px}.auto-card-grid-3,.auto-card-grid-4{grid-template-columns:repeat(2,1fr)}.auto-factors{grid-template-columns:1fr}.auto-extra-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.auto-hero{display:block;min-height:0;background:#090705}.auto-hero>img{height:auto;object-fit:contain;object-position:center top}.auto-hero-shade{bottom:auto;height:60vw;background:linear-gradient(0deg,#090705 0%,rgba(9,7,5,.28) 48%,rgba(9,7,5,.03) 100%)}.auto-hero-copy{padding:calc(56vw - 45px) 24px 55px}.auto-hero h1{font-size:3.2rem}.auto-schadenfall-hero{min-height:760px}.auto-schadenfall-hero>img{object-position:62% center}.auto-schadenfall-copy{padding:220px 20px 50px}.auto-schadenfall-copy h2{font-size:3rem}.auto-schadenfall-copy blockquote{padding-left:16px}.auto-section{padding:70px 20px}.auto-card-grid-3,.auto-card-grid-4,.auto-choice-grid,.auto-choice-grid-4,.auto-extra-grid,.auto-fields,.auto-fields-3,.auto-review{grid-template-columns:1fr}.auto-factor-grid{grid-template-columns:1fr 1fr}.auto-vs{grid-template-columns:1fr}.auto-vs>b{margin:auto}.auto-coverage-modal{padding:12px}.auto-coverage-dialog{width:100%;max-height:calc(100dvh - 24px);padding:40px 22px 28px}.auto-coverage-body ul{grid-template-columns:1fr}.auto-modal{padding:0}.auto-modal-panel{width:100vw;height:100dvh;border:0}.auto-modal-panel>header,.auto-wizard-body,.auto-modal-panel>footer{padding-left:18px;padding-right:18px}}

/* 3. Säule — seconda sezione scenari */
.vorsorge-page .wz-kk-hero{min-height:100vh;min-height:100svh;padding-top:clamp(104px,12vh,150px);padding-bottom:clamp(54px,8vh,96px)}
.vorsorge-page .wz-kk-hero-visual img{object-fit:cover;object-position:center center}

/* Regola Hero WERTIA: le landing principali occupano sempre il primo viewport. */
.kk-page:not(.vorsorge-page) .wz-kk-hero,
.auto-page .auto-hero{
  min-height:100vh;
  min-height:100svh;
}
.auto-page .auto-hero>img{
  height:100%;
  object-fit:cover;
}
.vorsorge-scenarios{background:var(--wz-bg);color:var(--wz-text-primary);padding:116px 28px 132px}.vorsorge-scenarios__inner{width:min(1240px,100%);margin:auto}.vorsorge-scenarios__header{max-width:850px;margin-bottom:58px}.vorsorge-eyebrow,.scenario-kicker,.scenario-question__label,.gap-example>span,.pillar-comparison>div>span{display:block;color:var(--wz-gold-light);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.vorsorge-scenarios__header h2{margin:18px 0 22px;font:500 clamp(42px,5vw,66px)/1.04 "Cormorant Garamond",Georgia,serif}.vorsorge-scenarios__header p{max-width:760px;margin:0;color:var(--wz-text-secondary);font-size:16px;line-height:1.8}
.vorsorge-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--wz-border);scrollbar-width:thin}.vorsorge-tab{flex:1 0 auto;min-width:150px;padding:20px 24px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--wz-text-secondary);font:500 13px/1 Inter,sans-serif;cursor:pointer}.vorsorge-tab:hover{color:var(--wz-text-primary)}.vorsorge-tab.is-active{color:var(--wz-gold-light);border-bottom-color:var(--wz-gold);background:rgba(183,131,53,.045)}.vorsorge-tab:focus-visible{outline:2px solid var(--wz-gold-light);outline-offset:-4px}.vorsorge-panel{padding-top:70px}.vorsorge-panel[hidden]{display:none}.scenario-heading{display:grid;grid-template-columns:72px minmax(0,760px);gap:26px;margin-bottom:58px}.scenario-number{color:rgba(209,161,91,.5);font:500 42px/1 "Cormorant Garamond",Georgia,serif}.scenario-heading h3{margin:12px 0 18px;font:500 clamp(34px,4vw,54px)/1.07 "Cormorant Garamond",Georgia,serif}.scenario-heading p{margin:0;color:var(--wz-text-secondary);font-size:15px;line-height:1.8}.scenario-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:54px;align-items:stretch}
.income-chart{min-width:0;padding:34px 32px 26px;border:1px solid var(--wz-border);background:rgba(255,255,255,.018)}.income-chart__axis-label{margin:0 0 26px 52px;color:var(--wz-text-secondary);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.income-chart__canvas{position:relative;height:390px;padding-left:54px;border-bottom:1px solid var(--wz-border)}.income-chart__canvas:before{content:"";position:absolute;inset:0 0 0 54px;background:repeating-linear-gradient(to top,transparent 0,transparent calc(20% - 1px),rgba(183,131,53,.09) calc(20% - 1px),rgba(183,131,53,.09) 20%)}.income-axis{position:absolute;inset:0 auto 0 0;width:46px}.income-axis span{position:absolute;right:0;transform:translateY(50%);color:var(--wz-text-secondary);font-size:10px}.income-bars{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;height:100%;align-items:end}.income-step{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}.income-bar{position:relative;height:var(--bar-height);min-height:74px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;border-top:2px solid var(--wz-gold);background:rgba(183,131,53,.12)}.income-bar--gold{background:rgba(183,131,53,.24)}.income-bar--muted{background:rgba(159,151,140,.11);border-top-color:#8f8375}.income-bar--empty{background:transparent;border:1px dashed rgba(159,151,140,.35)}.income-bar--gap{background:rgba(155,78,67,.14);border-top-color:#9b4e43}.income-bar__value{position:absolute;top:-28px;left:0;color:var(--wz-gold-light);font-size:12px;font-weight:600}.income-bar__content{display:flex;flex-direction:column}.income-bar__content strong{font:500 21px/1.1 "Cormorant Garamond",Georgia,serif}.income-bar__content span,.income-bar__content em{margin-top:5px;color:var(--wz-text-secondary);font-size:11px;font-style:normal;line-height:1.35}.income-step__period{min-height:38px;padding-top:14px;color:var(--wz-text-secondary);font-size:10px;line-height:1.35;text-align:center}
.scenario-explanation{border-top:1px solid var(--wz-border)}.scenario-explanation__item{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--wz-border)}.scenario-explanation__index{color:var(--wz-gold-light);font:500 13px/1 Inter,sans-serif}.scenario-explanation__item strong{font:500 23px/1.15 "Cormorant Garamond",Georgia,serif}.scenario-explanation__item p{margin:9px 0 0;color:var(--wz-text-secondary);font-size:13px;line-height:1.7}.scenario-explanation__item--highlight{border-left:2px solid var(--wz-gold);padding-left:18px}.scenario-bottom{margin-top:64px}.scenario-question{display:grid;grid-template-columns:70px 1fr;gap:26px;max-width:880px;padding:38px 42px;border:1px solid var(--wz-border);background:linear-gradient(120deg,rgba(183,131,53,.08),transparent 58%)}.scenario-question__mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--wz-gold);border-radius:50%;color:var(--wz-gold-light);font:500 26px/1 "Cormorant Garamond",Georgia,serif}.scenario-question h4{margin:10px 0;font:500 clamp(28px,3vw,40px)/1.08 "Cormorant Garamond",Georgia,serif}.scenario-question p{margin:0;color:var(--wz-text-secondary);line-height:1.7}
.gap-example{position:relative;max-width:500px;margin:24px 0 0 auto;padding:30px 34px;border:1px solid var(--wz-border)}.gap-example dl{margin:20px 0 0}.gap-example dl div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(183,131,53,.12)}.gap-example dt{color:var(--wz-text-secondary)}.gap-example dd{margin:0;font-weight:600}.gap-example__total{color:var(--wz-gold-light)}.gap-example>strong{position:absolute;right:30px;top:24px;color:#c98274;font:500 28px/1 "Cormorant Garamond",Georgia,serif}
.scenario-bottom-row{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr);gap:28px;align-items:stretch;margin-top:64px}.scenario-bottom-row .scenario-bottom{margin-top:0}.scenario-bottom-row .scenario-question{height:100%;max-width:none}.scenario-bottom-row .gap-example{width:100%;max-width:none;height:100%;margin:0}
.survivor-chart,.pillar-comparison{padding:34px;border:1px solid var(--wz-border)}.survivor-chart__base{display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--wz-border)}.survivor-chart__base span,.survivor-chart__result>span{color:var(--wz-text-secondary);font-size:10px;letter-spacing:.1em}.survivor-chart__base strong{color:var(--wz-gold-light);font-size:24px}.survivor-chart__flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;padding:42px 0}.survivor-chart__flow>div{min-height:130px;display:flex;flex-direction:column;justify-content:center;padding:20px;background:rgba(183,131,53,.07);border-top:1px solid var(--wz-gold)}.survivor-chart__flow span,.survivor-chart__flow small{color:var(--wz-text-secondary);font-size:10px}.survivor-chart__flow strong{margin:9px 0;font:500 22px/1 "Cormorant Garamond",Georgia,serif}.survivor-chart__result>div{display:grid;grid-template-columns:68% 32%;height:62px;margin-top:15px}.survivor-chart__result i{background:rgba(183,131,53,.28);border-top:2px solid var(--wz-gold)}.survivor-chart__result em{display:grid;place-items:center;background:rgba(155,78,67,.17);color:#d18a7e;font-size:11px;font-style:normal}
.pillar-comparison{display:grid;grid-template-columns:1fr 70px 1fr;gap:22px;align-items:center}.pillar-comparison>strong{color:var(--wz-gold-light);font-size:30px;text-align:center}.pillar-comparison section{display:flex;flex-direction:column;margin-top:20px}.pillar-comparison section>*{display:grid;place-items:center;min-height:78px;font-style:normal}.pillar-comparison section i{background:rgba(159,151,140,.11)}.pillar-comparison section em{background:rgba(183,131,53,.28)}.pillar-comparison section b{background:rgba(155,78,67,.16);color:#d18a7e}
@media(max-width:900px){.scenario-grid{grid-template-columns:1fr}.scenario-heading{grid-template-columns:54px 1fr}.scenario-bottom-row{grid-template-columns:1fr}.pillar-comparison{grid-template-columns:1fr}.pillar-comparison>strong{transform:rotate(90deg)}}
@media(max-width:600px){.vorsorge-page .wz-kk-hero,.kk-page:not(.vorsorge-page) .wz-kk-hero,.auto-page .auto-hero{min-height:100vh;min-height:100svh}.vorsorge-page .wz-kk-hero{padding-top:94px;padding-bottom:44px}.vorsorge-page .wz-kk-hero-visual img{object-position:62% center}.auto-page .auto-hero{display:flex;align-items:flex-end}.auto-page .auto-hero>img{height:100%;object-fit:cover;object-position:62% center}.auto-page .auto-hero-shade{height:100%;bottom:0}.auto-page .auto-hero-copy{padding:clamp(260px,44vh,430px) 24px 55px}.vorsorge-scenarios{padding:84px 18px 96px}.vorsorge-scenarios__header{margin-bottom:42px}.vorsorge-tab{min-width:138px;padding:17px 16px}.vorsorge-panel{padding-top:50px}.scenario-heading{grid-template-columns:1fr;gap:14px}.scenario-number{font-size:30px}.income-chart{padding:28px 14px 20px;overflow-x:auto}.income-chart__canvas{width:620px}.scenario-question{grid-template-columns:1fr;padding:30px 24px}.gap-example{margin-left:0}.survivor-chart{padding:24px 18px;overflow-x:auto}.survivor-chart__flow{min-width:610px}.pillar-comparison{padding:25px 18px}}

/* 3. Säule — terza sezione: flip card dei tre pilastri */
@property --pillar-comet-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.vorsorge-pillars{
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:clamp(42px,5vh,72px) 28px;
  background:
    radial-gradient(circle at 50% 44%,rgba(183,131,53,.065),transparent 42%),
    #050403;
  color:var(--wz-text-primary);
}
.vorsorge-pillars__inner{width:min(1420px,100%);margin:auto;text-align:center}
.vorsorge-pillars__header{max-width:820px;margin:0 auto clamp(22px,3vh,38px)}
.vorsorge-pillars__header h2{margin:14px 0 13px;font:500 clamp(38px,4.2vw,62px)/1.02 "Cormorant Garamond",Georgia,serif;letter-spacing:-.02em}
.vorsorge-pillars__header p{max-width:720px;margin:auto;color:var(--wz-text-secondary);font-size:15px;line-height:1.65}
.vorsorge-pillars__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.2vw,36px);width:min(1120px,100%);height:auto;margin-inline:auto}
.pillar-card{position:relative;min-width:0;width:100%;height:auto;aspect-ratio:2/3;perspective:1200px;transition:transform .28s ease,filter .28s ease;isolation:isolate}
.pillar-card__comet{
  content:"";
  position:absolute;
  inset:3.7% 5.35%;
  z-index:6;
  padding:1.5px;
  border-radius:6.5% / 4.4%;
  pointer-events:none;
  background:conic-gradient(from var(--pillar-comet-angle),transparent 0deg,transparent 292deg,rgba(183,131,53,0) 292deg,rgba(183,131,53,.24) 309deg,rgba(209,161,91,.72) 326deg,rgba(244,225,183,.96) 339deg,transparent 341deg,transparent 360deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:blur(.55px) drop-shadow(0 0 3px rgba(209,161,91,.25));
  animation:pillar-comet-rotate 8s linear infinite;
}
@keyframes pillar-comet-rotate{to{--pillar-comet-angle:360deg}}
.pillar-card:hover{transform:translateY(-4px);filter:drop-shadow(0 14px 22px rgba(0,0,0,.32))}
.pillar-card:hover .pillar-card__comet{filter:blur(.65px) drop-shadow(0 0 5px rgba(209,161,91,.38))}
.pillar-card__button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.pillar-card__button:focus-visible{outline:2px solid var(--wz-gold-light);outline-offset:5px}
.pillar-card__inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform 700ms cubic-bezier(.2,.7,.2,1)}
.pillar-card.is-flipped .pillar-card__inner{transform:rotateY(180deg)}
.pillar-card__face{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#050403}
.pillar-card__face--front{position:absolute;background:transparent}
.pillar-card__artwork{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:none;opacity:1}
.pillar-card__front-copy{position:absolute;right:7%;bottom:5%;left:7%;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.72)}
.pillar-card__eyebrow,.pillar-card__back-head>span{display:block;margin-bottom:5px;color:var(--wz-gold-light);font:600 .68rem/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.pillar-card__front-copy strong{margin:0 0 5px;color:#e8e1d6;font:500 clamp(1.5rem,1.8vw,2rem)/1 "Cormorant Garamond",Georgia,serif;text-transform:uppercase}
.pillar-card__type{margin:0 0 4px;color:#c7bfb4;font-size:.8rem}
.pillar-card__microcopy{margin:0;color:#8f877e;font-size:.7rem;line-height:1.4}
.pillar-card__face--back{transform:rotateY(180deg);padding:clamp(22px,2.4vw,36px);border:1px solid rgba(183,131,53,.22);background:linear-gradient(155deg,#100c08,#080604 62%,#0e0906);text-align:left}
.pillar-card__watermark{position:absolute;right:14px;bottom:-48px;color:rgba(183,131,53,.065);font:500 clamp(190px,22vw,310px)/1 "Cormorant Garamond",Georgia,serif;pointer-events:none}
.pillar-card__back-head{position:relative;z-index:1;display:flex;flex-direction:column;padding-bottom:15px;border-bottom:1px solid rgba(183,131,53,.2)}
.pillar-card__back-head strong{margin-top:6px;color:#f0e5d6;font:500 clamp(21px,1.75vw,29px)/1 "Cormorant Garamond",Georgia,serif;text-transform:uppercase}
.pillar-card__face--back dl{position:relative;z-index:1;margin:10px 0 0}
.pillar-card__detail{padding:7px 0;border-bottom:1px solid rgba(183,131,53,.12)}
.pillar-card__detail dt{color:var(--wz-gold-light);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.pillar-card__detail dd{margin:3px 0 0;color:#cfc3b3;font-size:clamp(10px,.78vw,12px);line-height:1.38}
.pillar-card__conclusion{position:relative;z-index:1;display:block;margin-top:12px;padding-left:12px;border-left:1px solid var(--wz-gold);color:#ead9bd;font:500 clamp(13px,1vw,16px)/1.38 "Cormorant Garamond",Georgia,serif}
.vorsorge-pillars__hint{margin:clamp(18px,2.5vh,28px) 0 0;color:var(--wz-text-secondary);font-size:11px;letter-spacing:.06em}
.vorsorge-pillars__hint>span:first-child{display:inline-block;margin-right:7px;color:var(--wz-gold-light);font-size:17px;vertical-align:-2px}

@media(max-height:780px) and (min-width:901px){
  .vorsorge-pillars{padding-top:38px;padding-bottom:34px}
  .vorsorge-pillars__header{margin-bottom:22px}
  .vorsorge-pillars__header h2{font-size:42px}
  .vorsorge-pillars__cards{width:min(930px,100%)}
  .pillar-card__face--back{padding:20px 24px}
  .pillar-card__detail{padding:5px 0}
  .pillar-card__conclusion{margin-top:8px}
  .vorsorge-pillars__hint{margin-top:14px}
}
@media(max-width:900px){
  .vorsorge-pillars{overflow:visible;padding:88px 22px 100px}
  .vorsorge-pillars__cards{height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar-card{height:auto}
  .pillar-card:last-child{grid-column:1/-1;width:calc(50% - 10px);margin:auto}
}
@media(max-width:600px){
  .vorsorge-pillars{min-height:100svh;overflow:hidden;padding:78px 0 88px}
  .vorsorge-pillars__header{padding:0 22px;margin-bottom:32px;text-align:left}
  .vorsorge-pillars__header h2{font-size:42px}
  .vorsorge-pillars__cards{display:flex;gap:16px;overflow-x:auto;height:auto;padding:4px max(22px,calc((100vw - 340px)/2)) 20px;scroll-snap-type:x mandatory;scroll-padding-inline:22px;scrollbar-width:thin}
  .pillar-card,.pillar-card:last-child{flex:0 0 min(82vw,340px);width:auto;height:auto;margin:0;scroll-snap-align:center}
  .pillar-card:hover{transform:none}
  .pillar-card__face--back{padding:22px}
  .pillar-card__detail{padding:6px 0}
  .pillar-card__detail dd{font-size:10px}
  .pillar-card__conclusion{font-size:14px}
  .vorsorge-pillars__hint{padding:0 22px}
}
@media(prefers-reduced-motion:reduce){
  .pillar-card,.pillar-card__inner{transition:none}
  .pillar-card__comet{animation:none;filter:none;--pillar-comet-angle:28deg}
  .pillar-card__inner{transform:none!important}
  .pillar-card__face{transition:opacity .15s linear}
  .pillar-card__face--back{transform:none;opacity:0;pointer-events:none}
  .pillar-card.is-flipped .pillar-card__face--front{opacity:0;pointer-events:none}
  .pillar-card.is-flipped .pillar-card__face--back{opacity:1;pointer-events:auto}
}

/* 3. Säule — quarta sezione: confronto editoriale 3a / 3b */
.vorsorge-compare{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:clamp(70px,7vh,110px) 28px;background:radial-gradient(circle at 50% 38%,rgba(183,131,53,.055),transparent 48%),#050403;color:var(--wz-text-primary)}
.vorsorge-compare__inner{width:min(1460px,100%);margin:auto}
.vorsorge-compare__intro{max-width:980px;margin:0 auto clamp(28px,4vh,46px);text-align:center}
.vorsorge-compare__intro .vorsorge-eyebrow{display:inline-block;position:relative;padding:0 26px 17px;border-bottom:1px solid rgba(209,161,91,.6)}
.vorsorge-compare__intro .vorsorge-eyebrow::after{content:"";position:absolute;bottom:-5px;left:50%;width:8px;height:8px;border:1px solid var(--wz-gold-light);background:#050403;transform:translateX(-50%) rotate(45deg)}
.vorsorge-compare__intro h2{margin:14px 0 8px;font:500 clamp(58px,6.5vw,96px)/.94 "Cormorant Garamond",Georgia,serif;letter-spacing:-.025em}
.vorsorge-compare__intro p{margin:0;color:var(--wz-text-secondary);font-size:15px;line-height:1.7}
.vorsorge-compare__table-wrap{border:1px solid rgba(183,131,53,.44)}
.vorsorge-compare__table{width:100%;border-collapse:collapse;table-layout:fixed}
.vorsorge-compare__table th,.vorsorge-compare__table td{padding:clamp(10px,1.3vh,16px) clamp(18px,2vw,30px);border-bottom:1px solid rgba(183,131,53,.24);vertical-align:middle}
.vorsorge-compare__table th:first-child{width:28%}
.vorsorge-compare__table th:nth-child(2),.vorsorge-compare__table td:nth-child(2),.vorsorge-compare__table th:nth-child(3),.vorsorge-compare__table td:nth-child(3){width:36%;border-left:1px solid rgba(183,131,53,.34)}
.vorsorge-compare__table thead th{padding-top:22px;padding-bottom:22px;text-align:center;background:linear-gradient(180deg,rgba(183,131,53,.09),rgba(183,131,53,.015))}
.vorsorge-compare__table thead th:first-child{border:0;background:transparent}
.vorsorge-compare__table thead th:not(:first-child){position:relative;border-top:1px solid rgba(209,161,91,.65);border-right:1px solid rgba(209,161,91,.48)}
.vorsorge-compare__table thead th:not(:first-child)::after{content:"";position:absolute;top:-2px;left:48%;width:62px;height:3px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,238,190,.95),rgba(209,161,91,.35) 42%,transparent 72%);filter:blur(.5px)}
.vorsorge-compare__table thead th strong{display:block;color:#e5c18a;font:500 clamp(30px,3vw,44px)/1 "Cormorant Garamond",Georgia,serif}
.vorsorge-compare__table thead th span:not(.sr-only){display:block;margin-top:7px;color:#cab998;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.vorsorge-compare__table tbody th{color:#ddd5ca;font-size:clamp(13px,1.1vw,16px);font-weight:400;text-transform:none;text-align:left}
.vorsorge-compare__label{display:flex;align-items:center;gap:18px}
.vorsorge-compare__table tbody th svg{flex:0 0 24px;width:24px;height:24px;color:var(--wz-gold-light);stroke-width:1.4}
.vorsorge-compare__table tbody td{text-align:center}
.vorsorge-compare__value{display:flex;flex-direction:column;align-items:center;gap:3px;color:#ddd5ca;font-size:clamp(12px,1.05vw,16px);line-height:1.32}
.vorsorge-compare__table tr.highlight th,.vorsorge-compare__table tr.highlight-label th{color:var(--wz-gold-light);font-weight:600}
.vorsorge-compare__table tr.highlight .vorsorge-compare__value{color:#e2b66f;font-weight:600}
.vorsorge-compare__note{margin:0;padding:16px clamp(18px,2vw,30px);color:var(--wz-text-secondary);font-size:11px;line-height:1.6}
.vorsorge-compare__note strong{color:#cdbb9e;font-weight:600}
.vorsorge-compare__conclusion{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;max-width:1180px;margin:clamp(28px,4vh,46px) auto 0;padding-top:28px;text-align:center}
.vorsorge-compare__conclusion::before{content:"";position:absolute;top:0;left:24%;right:24%;height:1px;background:rgba(209,161,91,.58)}
.vorsorge-compare__conclusion strong{display:block;color:#eadfce;font:500 clamp(22px,2.5vw,36px)/1.15 "Cormorant Garamond",Georgia,serif}
.vorsorge-compare__conclusion>span{color:var(--wz-gold-light);font:500 48px/1 "Cormorant Garamond",Georgia,serif}
@media(max-width:900px){
  .vorsorge-compare{display:block;min-height:100svh;padding:84px 20px 96px}
  .vorsorge-compare__intro{text-align:left}
  .vorsorge-compare__intro h2{font-size:48px}
  .vorsorge-compare__table,.vorsorge-compare__table tbody,.vorsorge-compare__table tr,.vorsorge-compare__table th,.vorsorge-compare__table td{display:block;width:100%!important}
  .vorsorge-compare__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .vorsorge-compare__table tbody tr{padding:24px 0;border-bottom:1px solid rgba(183,131,53,.18)}
  .vorsorge-compare__table th,.vorsorge-compare__table td{padding:0;border:0!important}
  .vorsorge-compare__table tbody th{margin-bottom:18px;font-size:15px}
  .vorsorge-compare__table td{display:grid;grid-template-columns:78px minmax(0,1fr)!important;gap:16px;padding:10px 0!important}
  .vorsorge-compare__table td::before{content:attr(data-label);color:var(--wz-gold-light);font:600 10px/1.5 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}
  .vorsorge-compare__table tr.highlight th::before{display:none}
  .vorsorge-compare__value{align-items:flex-start;text-align:left}
  .vorsorge-compare__note{padding:18px 0}
  .vorsorge-compare__conclusion{gap:10px;text-align:left}
  .vorsorge-compare__conclusion::before{right:0;left:0}
  .vorsorge-compare__conclusion>span{font-size:34px}
}
