/* ═══════════════════════════════════════════════════════════
   Schriften — lokal eingebunden.
   Sie werden vom eigenen Server ausgeliefert. Es findet kein Aufruf
   an externe Schrift-Anbieter statt, daher wird keine Besucher-IP
   uebertragen. DSGVO-konform ohne Einwilligung.
   ═══════════════════════════════════════════════════════════ */

@font-face{
  font-family:'Playfair Display';
  src:url('fonts/PlayfairDisplay-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Playfair Display';
  src:url('fonts/PlayfairDisplay-Medium.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Playfair Display';
  src:url('fonts/PlayfairDisplay-Italic.woff2') format('woff2');
  font-weight:400;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('fonts/Inter-Light.woff2') format('woff2');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('fonts/Inter-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('fonts/Inter-Medium.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('fonts/Inter-SemiBold.woff2') format('woff2');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-Light.woff2') format('woff2');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-Medium.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

/* ═══════════════════════════════════════════════════════════
   WILDIKUS — Design System · Mehrseitig
   Grundsatz: Inhalt ist IMMER sichtbar. Kein opacity:0 im Basis-CSS.
   Farben WCAG-AA geprüft.
   ═══════════════════════════════════════════════════════════ */

:root{
  --ink:      #0B1020;
  --ink-2:    #131A2E;
  --ink-3:    #1E2740;
  --paper:    #F6F7F9;
  --paper-2:  #ECEEF2;
  --paper-3:  #E2E5EB;

  --text:     #0B1020;
  --text-mid: #545C70;
  --text-dim: #676C7A;

  --on-dark:      #F6F7F9;
  --on-dark-mid:  #A4ACC0;
  --on-dark-dim:  #7B849C;

  --gold:     #84692D;   /* auf hell — 4,85:1 */
  --gold-hi:  #B8933F;   /* Linien / Grafik */
  --gold-lt:  #D4B25C;   /* auf dunkel — 9,31:1 */

  --line:      #D5D9E1;
  --line-2:    #E4E7ED;
  --line-dark: #262F49;

  --f-display: 'Playfair Display', Georgia, serif;
  --f-sans:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --f-mono:    'DM Mono', 'SF Mono', Menlo, monospace;

  --gutter: clamp(20px, 4.5vw, 72px);
  --maxw:   1440px;
  --ease:   cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0; background:var(--paper); color:var(--text);
  font-family:var(--f-sans); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:400; letter-spacing:-.015em; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); }
.wrap-narrow{ max-width:960px; margin:0 auto; padding-inline:var(--gutter); }

/* Ab Tablet-Breite: Inhalt nimmt 80% der Fensterbreite ein statt bis zum
   Rand zu gehen — auf sehr breiten Bildschirmen weiterhin durch --maxw
   begrenzt, damit Textzeilen nicht unlesbar lang werden. Auf Mobilgeräten
   bleibt die bisherige Logik (volle Breite + kleiner Randabstand) erhalten,
   da 80% dort zu wenig nutzbare Breite uebrig liesse. */
@media (min-width:820px){
  .wrap{
    width:80% !important;
    max-width:var(--maxw) !important;
    padding-inline:0 !important;
    margin-inline:auto !important;
  }
}

/* ── Typo-Bausteine ────────────────────────────────────── */
.eyebrow{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--text-dim);
  display:flex; align-items:center; gap:14px; margin:0 0 22px;
}
.eyebrow::before{ content:''; width:34px; height:1px; background:var(--gold-hi); flex:none; }
.on-ink .eyebrow{ color:var(--on-dark-mid); }
.on-ink .eyebrow::before{ background:var(--gold-lt); }

.h-hero{
  font-family:var(--f-display);
  font-size:clamp(40px, 6.4vw, 82px); line-height:1.03; letter-spacing:-.026em;
}
.h-page{
  font-family:var(--f-display);
  font-size:clamp(36px, 5.4vw, 66px); line-height:1.05; letter-spacing:-.022em;
  margin:0 0 24px;
}
.h-section{
  font-family:var(--f-display);
  font-size:clamp(30px, 4vw, 50px); line-height:1.08; letter-spacing:-.02em;
  margin:0 0 22px;
}
.h-sub{ font-family:var(--f-display); font-size:clamp(22px,2.4vw,30px); line-height:1.2; margin:0 0 12px; }

em.acc{ font-style:italic; color:var(--gold); }
.on-ink em.acc{ color:var(--gold-lt); }

.lede{ font-size:clamp(17px,1.5vw,20px); line-height:1.62; color:var(--text-mid); max-width:60ch; margin:0; }
.on-ink .lede{ color:var(--on-dark-mid); }
.body-txt{ color:var(--text-mid); font-size:16.5px; line-height:1.7; }
.on-ink .body-txt{ color:var(--on-dark-mid); }

/* Bemaßungslinie — Leitmotiv */
.rule{ height:1px; background:var(--line); border:0; margin:0; position:relative; }
.rule::before,.rule::after{
  content:''; position:absolute; top:-3px; width:1px; height:7px; background:var(--line);
}
.rule::before{ left:0; } .rule::after{ right:0; }
.on-ink .rule,.on-ink .rule::before,.on-ink .rule::after{ background:var(--line-dark); }

section{ padding:calc(var(--density, 1) * clamp(64px, 9.5vh, 128px)) 0; position:relative; }
.on-ink{ background:var(--ink); color:var(--on-dark); }
.tint{ background:var(--paper-2); }

.sec-head{ display:grid; grid-template-columns:minmax(0,1fr); gap:28px; margin-bottom:clamp(40px,6vh,74px); }
@media (min-width:900px){
  .sec-head{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:58px; align-items:end; }
}

/* ── Buttons & Links ───────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  text-decoration:none; padding:16px 30px;
  border:1px solid var(--ink); border-radius:var(--radius,0); background:var(--ink); color:var(--paper);
  cursor:pointer;
  transition:background .35s var(--ease), color .35s var(--ease);
}
.btn:hover{ background:transparent; color:var(--ink); }
.btn .ar{ transition:transform .35s var(--ease); }
.btn:hover .ar{ transform:translateX(5px); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.on-ink .btn{ background:var(--paper); color:var(--ink); border-color:var(--paper); }
.on-ink .btn:hover{ background:transparent; color:var(--paper); }
.on-ink .btn-ghost{ background:transparent; color:var(--on-dark); border-color:var(--line-dark); }
.on-ink .btn-ghost:hover{ background:var(--paper); color:var(--ink); border-color:var(--paper); }

.tlink{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.13em; text-transform:uppercase;
  text-decoration:none; color:var(--text); padding-bottom:5px; position:relative;
  display:inline-flex; align-items:center; gap:9px;
}
.tlink::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:currentColor; transform-origin:right; transform:scaleX(1);
  transition:transform .4s var(--ease);
}
.tlink:hover::after{ transform-origin:left; transform:scaleX(0); }
.on-ink .tlink{ color:var(--on-dark); }

/* ── Navigation ────────────────────────────────────────── */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100; padding:20px 0;
  border-bottom:1px solid transparent;
  transition:padding .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease);
}
.nav.stuck{
  padding:12px 0; background:rgba(246,247,249,.95);
  border-bottom-color:var(--line); backdrop-filter:saturate(150%) blur(7px);
}
.nav-in{
  max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:26px;
}
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.brand-mark{ width:30px; height:34px; flex:none; object-fit:contain; }
.brand-txt{ font-family:var(--f-display); font-size:20px; letter-spacing:.15em; white-space:nowrap; }
.nav.over-dark .brand,.nav.over-dark .nav-links a{ color:var(--paper); }
.nav.over-dark .nav-cta{ color:var(--paper); border-color:rgba(246,247,249,.35); }
.nav.over-dark .burger span{ background:var(--paper); }

.nav-links{ display:none; gap:30px; list-style:none; margin:0; padding:0; }
@media (min-width:1080px){ .nav-links{ display:flex; } }
.nav-links a{
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.15em; text-transform:uppercase;
  text-decoration:none; color:var(--text-mid); padding-bottom:4px; position:relative;
  transition:color .3s var(--ease);
}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav-links a:hover{ color:var(--ink); }
.nav-links a:hover::after,.nav-links a.current::after{ transform:scaleX(1); }
.nav-links a.current{ color:var(--ink); }
.nav.over-dark .nav-links a.current{ color:var(--paper); }

.nav-cta{
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.13em; text-transform:uppercase;
  text-decoration:none; padding:10px 20px; border:1px solid var(--line); color:var(--ink);
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  white-space:nowrap;
}
.nav-cta:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

.burger{ display:flex; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
@media (min-width:1080px){ .burger{ display:none; } }
.burger span{ width:23px; height:1px; background:var(--ink); transition:transform .3s var(--ease), opacity .3s var(--ease); }
.burger.open span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:0; background:var(--paper); z-index:99;
  display:flex; flex-direction:column; justify-content:center; padding:0 var(--gutter);
  transform:translateY(-100%); transition:transform .5s var(--ease);
}
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu a{
  font-family:var(--f-display); font-size:clamp(26px,6.4vw,40px);
  text-decoration:none; color:var(--ink); padding:13px 0; border-bottom:1px solid var(--line);
}

/* ── Seitenkopf (Unterseiten) ──────────────────────────── */
.page-head{
  background:var(--ink); color:var(--on-dark);
  padding:clamp(130px,17vh,190px) 0 clamp(60px,9vh,96px);
}
.page-head .lede{ color:var(--on-dark-mid); }
.crumb{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--on-dark-dim); margin:0 0 26px;
}
.crumb a{ text-decoration:none; }
.crumb a:hover{ color:var(--on-dark); }

/* ── Startseite: Hero ──────────────────────────────────── */
.hero{
  min-height:92svh; display:flex; align-items:center;
  padding-top:130px; padding-bottom:60px;
  background:var(--ink); color:var(--on-dark); overflow:hidden;
}
.hero-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; align-items:center; width:100%; }
@media (min-width:1000px){ .hero-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; } }

.logo-lockup{ margin:0 0 38px; }
.logo-lockup svg{ width:clamp(92px,11vw,124px); height:auto; margin-bottom:20px; }
.logo-word{
  font-family:var(--f-display); font-size:clamp(30px,3.6vw,44px);
  letter-spacing:.2em; color:var(--paper); margin:0; line-height:1;
}
.logo-desc{
  font-family:var(--f-mono); font-size:clamp(9.5px,1vw,11.5px); letter-spacing:.42em;
  text-transform:uppercase; color:var(--on-dark-mid); margin:12px 0 0;
}

.slogan{
  font-family:var(--f-display); font-size:clamp(28px,3.6vw,46px);
  line-height:1.14; color:var(--paper); margin:0 0 26px; letter-spacing:-.02em;
}
.slogan em{ font-style:italic; color:var(--gold-lt); }
.hero-sub{ font-size:clamp(16px,1.4vw,18.5px); line-height:1.68; color:var(--on-dark-mid); max-width:46ch; margin:0 0 36px; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:15px; align-items:center; }

/* Bildbereich mit Rahmen + Maßmarken */
.hero-visual{ position:relative; }
.frame{
  position:relative; border:1px solid var(--line-dark);
  background:var(--ink-2); overflow:hidden;
  aspect-ratio:4/3;
; border-radius:var(--radius,0)}
.frame img{ width:100%; height:100%; object-fit:cover; }
.frame-fallback{ width:100%; height:100%; display:block; }
.frame::before,.frame::after{
  content:''; position:absolute; width:13px; height:13px; pointer-events:none;
  border-color:var(--gold-lt); border-style:solid; border-width:0;
}
.frame::before{ top:-1px; left:-1px; border-top-width:1px; border-left-width:1px; }
.frame::after{ bottom:-1px; right:-1px; border-bottom-width:1px; border-right-width:1px; }
.frame-cap{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--on-dark-dim); margin:14px 0 0; display:flex; justify-content:space-between; gap:16px;
}

/* ── Startseite: Wer wir sind ──────────────────────────── */
.about-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:44px; }
@media (min-width:900px){ .about-grid{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; } }
.about-facts{ list-style:none; margin:36px 0 0; padding:0; border-top:1px solid var(--line); }
.about-facts li{ display:flex; gap:20px; padding:15px 0; border-bottom:1px solid var(--line); }
.about-facts dt{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--text-dim); min-width:120px; padding-top:3px;
}
.about-facts dd{ margin:0; font-size:16px; }

/* ── Startseite: Bereichs-Kacheln (nur Navigation) ─────── */
.tiles{
  display:grid; grid-template-columns:minmax(0,1fr); gap:1px;
  background:var(--line); border-block:1px solid var(--line);
}
@media (min-width:700px){ .tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1040px){ .tiles{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.tile{
  background:var(--paper); padding:34px 30px 30px; text-decoration:none; color:inherit;
  display:flex; flex-direction:column; min-height:200px;
  transition:background .4s var(--ease);
}
.tile:hover{ background:#fff; }
.tile-n{ font-family:var(--f-mono); font-size:11px; letter-spacing:.18em; color:var(--gold); margin-bottom:16px; }
.tile-t{ font-family:var(--f-display); font-size:25px; margin:0 0 9px; }
.tile-d{ color:var(--text-mid); font-size:15px; line-height:1.6; margin:0 0 auto; }
.tile-go{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-dim); margin-top:24px; display:flex; align-items:center; gap:9px;
  transition:color .3s var(--ease), gap .3s var(--ease);
}
.tile:hover .tile-go{ color:var(--ink); gap:14px; }

/* ── CTA-Band ──────────────────────────────────────────── */
.cta-band{ background:var(--ink); color:var(--on-dark); padding:clamp(56px,8vh,96px) 0; }
.cta-in{ display:grid; grid-template-columns:minmax(0,1fr); gap:30px; align-items:center; }
@media (min-width:840px){ .cta-in{ grid-template-columns:minmax(0,1fr) auto; gap:50px; } }
.cta-h{ font-family:var(--f-display); font-size:clamp(26px,3.4vw,40px); line-height:1.14; margin:0; color:var(--paper); }

/* ── Leistungs-Zeilen ──────────────────────────────────── */
.svc{ border-top:1px solid var(--line); }
.svc-item{
  display:grid; grid-template-columns:minmax(0,1fr); gap:20px;
  padding:36px 0; border-bottom:1px solid var(--line);
  transition:background .4s var(--ease);
}
@media (min-width:880px){
  .svc-item{ grid-template-columns:64px minmax(0,1.15fr) minmax(0,1fr); gap:38px; align-items:start; padding:42px 0; }
}
.svc-item:hover{ background:var(--paper-2); }
.svc-n{ font-family:var(--f-mono); font-size:12px; color:var(--gold); letter-spacing:.14em; padding-top:6px; }
.svc-t{ font-family:var(--f-display); font-size:clamp(23px,2.5vw,30px); margin:0 0 11px; line-height:1.16; }
.svc-d{ color:var(--text-mid); margin:0; font-size:16px; line-height:1.62; }

.price-list{ margin:0; padding:0; list-style:none; }
.price-list li{
  display:flex; justify-content:space-between; gap:18px;
  padding:11px 0; border-bottom:1px solid var(--line); font-size:14.5px;
}
.price-list li:last-child{ border-bottom:0; }
.price-list .lbl{ color:var(--text-mid); }
.price-list .val{ font-family:var(--f-mono); font-size:13.5px; white-space:nowrap; }

/* ── Modellstufen Basic / Premium ──────────────────────── */
.tiers2{ display:grid; grid-template-columns:minmax(0,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); }
@media (min-width:880px){ .tiers2{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.tier{ background:var(--ink); padding:40px 34px; display:flex; flex-direction:column; transition:background .45s var(--ease); }
.tier:hover{ background:var(--ink-2); }
.tier-badge{
  font-family:var(--f-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink); background:var(--gold-lt); padding:5px 11px; align-self:flex-start; margin-bottom:20px;
}
.tier-badge.plain{ background:transparent; color:var(--on-dark-dim); border:1px solid var(--line-dark); }
.tier-name{ font-family:var(--f-display); font-size:clamp(30px,3.4vw,40px); color:var(--paper); margin:0 0 7px; letter-spacing:.01em; }
.tier-sub{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.15em; text-transform:uppercase; color:var(--gold-lt); margin:0 0 20px; }
.tier-d{ color:var(--on-dark-mid); font-size:15.5px; line-height:1.62; margin:0 0 26px; }
.tier-feat{ list-style:none; margin:0 0 26px; padding:0; }
.tier-feat li{
  display:flex; gap:12px; padding:8px 0; font-size:14.5px; color:var(--on-dark-mid);
}
.tier-feat li::before{ content:'—'; color:var(--gold-lt); flex:none; }
.tier-prices{ margin:0 0 auto; padding:0; list-style:none; border-top:1px solid var(--line-dark); }
.tier-prices li{
  display:flex; justify-content:space-between; gap:14px; padding:12px 0;
  border-bottom:1px solid var(--line-dark); font-size:14px; color:var(--on-dark-mid);
}
.tier-prices .val{ font-family:var(--f-mono); font-size:13px; color:var(--paper); white-space:nowrap; }
.tier-meta{
  margin-top:26px; padding-top:18px; border-top:1px solid var(--line-dark);
  font-family:var(--f-mono); font-size:11px; line-height:2; color:var(--on-dark-dim);
}

/* ── Material ──────────────────────────────────────────── */
.mats{ display:grid; grid-template-columns:minmax(0,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (min-width:820px){ .mats{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.mat{ background:var(--paper); padding:34px 28px; transition:background .4s var(--ease); }
.mat:hover{ background:#fff; }
.mat-ico svg{ width:36px; height:36px; stroke:var(--ink); fill:none; stroke-width:1.1; margin-bottom:20px; }
.mat-t{ font-family:var(--f-display); font-size:23px; margin:0 0 4px; }
.mat-tag{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin:0 0 16px; }
.mat-d{ color:var(--text-mid); font-size:15px; line-height:1.62; margin:0 0 20px; }
.mat-spec{
  display:flex; flex-wrap:wrap; gap:8px 20px; font-family:var(--f-mono); font-size:11.5px;
  color:var(--text-dim); padding-top:16px; border-top:1px solid var(--line);
}

/* ── Prozess ───────────────────────────────────────────── */
.steps{ display:grid; }
.step{
  display:grid; grid-template-columns:minmax(0,1fr); gap:11px;
  padding:28px 0 28px 44px; position:relative; border-bottom:1px solid var(--line-dark);
}
@media (min-width:820px){ .step{ grid-template-columns:minmax(0,.42fr) minmax(0,1fr); gap:42px; padding-left:54px; } }
.step:last-child{ border-bottom:0; }
.step::before{ content:''; position:absolute; left:11px; top:36px; bottom:-1px; width:1px; background:var(--line-dark); }
.step:last-child::before{ display:none; }
.step::after{
  content:''; position:absolute; left:6px; top:34px; width:11px; height:11px; border-radius:50%;
  border:1px solid var(--gold-lt); background:var(--ink); transition:background .4s var(--ease);
}
.step:hover::after{ background:var(--gold-lt); }
.step-n{ font-family:var(--f-mono); font-size:11px; letter-spacing:.18em; color:var(--gold-lt); }
.step-t{ font-family:var(--f-display); font-size:clamp(20px,2.1vw,26px); color:var(--paper); margin:2px 0 0; }
.step-d{ color:var(--on-dark-mid); font-size:15.5px; line-height:1.64; margin:0; }

/* ── Shop ──────────────────────────────────────────────── */
.shop-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (min-width:640px){ .shop-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px){ .shop-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.prod{ background:var(--paper); display:flex; flex-direction:column; transition:background .4s var(--ease); }
.prod:hover{ background:#fff; }
.prod-img{
  aspect-ratio:1/1; background:var(--paper-2); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative;
; border-radius:var(--radius,0)}
.prod-img img{ width:100%; height:100%; object-fit:cover; }
.prod-img svg{ width:52%; height:auto; stroke:var(--text-dim); fill:none; stroke-width:1; }
.prod-body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.prod-cat{ font-family:var(--f-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin:0 0 9px; }
.prod-t{ font-family:var(--f-display); font-size:21px; margin:0 0 8px; line-height:1.2; }
.prod-d{ color:var(--text-mid); font-size:14.5px; line-height:1.58; margin:0 0 auto; }
.prod-foot{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin-top:22px; padding-top:16px; border-top:1px solid var(--line);
}
.prod-price{ font-family:var(--f-mono); font-size:16px; }
.prod-price small{ font-size:11px; color:var(--text-dim); display:block; }
.prod-btn{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase;
  text-decoration:none; padding:9px 16px; border:1px solid var(--line); color:var(--ink);
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  white-space:nowrap;
}
.prod-btn:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

.notice{
  border:1px solid var(--line); border-left:3px solid var(--gold-hi);
  background:#fff; padding:22px 26px; margin:36px 0 0;
  font-size:15px; line-height:1.65; color:var(--text-mid);
}
.notice strong{ color:var(--text); }

/* ── Formular ──────────────────────────────────────────── */
.form-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; }
@media (min-width:960px){ .form-grid{ grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:70px; } }
.contact-list{ list-style:none; margin:32px 0 0; padding:0; border-top:1px solid var(--line); }
.contact-list li{ padding:16px 0; border-bottom:1px solid var(--line); }
.contact-list dt{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--text-dim); margin-bottom:5px;
}
.contact-list dd{ margin:0; font-size:16.5px; }
.contact-list a{ text-decoration:none; border-bottom:1px solid var(--line); }
.contact-list a:hover{ border-color:var(--ink); }

.field{ margin-bottom:20px; }
.field label{
  display:block; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.15em;
  text-transform:uppercase; color:var(--text-dim); margin-bottom:8px;
}
.field input,.field select,.field textarea{
  width:100%; padding:14px 15px; border:1px solid var(--line); background:#fff;
  font-family:var(--f-sans); font-size:15.5px; color:var(--text); border-radius:var(--radius,0);
  transition:border-color .3s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--ink); }
.field textarea{ min-height:130px; resize:vertical; }
.field-row{ display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
@media (min-width:600px){ .field-row{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.form-note{ font-size:13px; color:var(--text-dim); margin:16px 0 24px; line-height:1.6; }
.form-ok{ border:1px solid var(--gold-hi); background:#fff; padding:18px 20px; margin-bottom:24px; font-size:15px; }

/* ── Footer ────────────────────────────────────────────── */
.foot{ background:var(--ink); color:var(--on-dark); padding:66px 0 32px; }
.foot-grid{
  display:grid; grid-template-columns:minmax(0,1fr); gap:36px;
  padding-bottom:42px; border-bottom:1px solid var(--line-dark);
}
@media (min-width:820px){ .foot-grid{ grid-template-columns:1.5fr 1fr 1fr 1fr; gap:44px; } }
.foot-brand{ font-family:var(--f-display); font-size:24px; letter-spacing:.16em; margin:0 0 12px; }
.foot-desc{ color:var(--on-dark-dim); font-size:14.5px; max-width:32ch; margin:0; line-height:1.65; }
.foot-t{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.17em; text-transform:uppercase; color:var(--on-dark-dim); margin:0 0 15px; }
.foot-links{ list-style:none; margin:0; padding:0; }
.foot-links li{ margin-bottom:10px; }
.foot-links a{ text-decoration:none; color:var(--on-dark-mid); font-size:14.5px; transition:color .3s var(--ease); }
.foot-links a:hover{ color:var(--paper); }
.foot-bar{
  display:flex; flex-wrap:wrap; gap:12px 26px; justify-content:space-between; padding-top:24px;
  font-family:var(--f-mono); font-size:11px; color:var(--on-dark-dim);
}
.foot-bar a{ text-decoration:none; }
.foot-bar a:hover{ color:var(--on-dark-mid); }

/* ── Animation: additiv, nie Voraussetzung ─────────────── */
.js-anim [data-rise],.js-anim .wk-rise{
  opacity:0; transform:translateY(20px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.js-anim [data-rise].shown,.js-anim .wk-rise.shown{ opacity:1; transform:none; }
.js-anim .draw{ stroke-dasharray:var(--len); stroke-dashoffset:var(--len); }
.js-anim .draw.go{ animation:draw 1.4s var(--ease) forwards; }
@keyframes draw{ to{ stroke-dashoffset:0; } }
.js-anim .lyr{ opacity:0; }
.js-anim .lyr.go{ animation:lyrIn .45s var(--ease) forwards; }
@keyframes lyrIn{ to{ opacity:1; } }

.no-js [data-rise],.no-js .wk-rise{ opacity:1 !important; transform:none !important; }

@media (prefers-reduced-motion:reduce){
  .js-anim [data-rise],.js-anim .wk-rise{ opacity:1 !important; transform:none !important; transition:none !important; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

::selection{ background:var(--gold-lt); color:var(--ink); }
:focus-visible{ outline:2px solid var(--gold-hi); outline-offset:3px; }

/* Druck */
@media print{
  .nav,.mobile-menu,.cta-band,.btn,.prod-btn{ display:none !important; }
  body{ background:#fff; color:#000; }
  .on-ink,.page-head,.hero{ background:#fff !important; color:#000 !important; }
}

/* ══ WordPress-Anpassungen ═════════════════════════════ */
/* wp_nav_menu erzeugt eigene Klassen — hier angeglichen */
.nav-links li{ list-style:none; }
.nav-links .current-menu-item > a,
.nav-links .current_page_item > a{ color:var(--ink); }
.nav-links .current-menu-item > a::after,
.nav-links .current_page_item > a::after{ transform:scaleX(1); }
.nav.over-dark .nav-links .current-menu-item > a,
.nav.over-dark .nav-links .current_page_item > a{ color:var(--paper); }

/* Eigenes Logo aus dem Customizer */
.custom-logo{ width:auto; height:34px; }
.custom-logo-link{ display:flex; align-items:center; }

/* Block-Editor: Inhalte laufen ueber die volle Breite */
.entry-content > *,
.wp-site-blocks > *{ margin-block:0; }

/* Sicherheitsnetz gegen WordPress-eigene Breitenbegrenzung:
   Manche WordPress-Grundeinstellungen zwaengen Bloecken automatisch eine
   eigene max-width auf (ueber die Voreinstellung "is-layout-constrained"
   bzw. die CSS-Variable --wp--style--global--content-size). Diese Website
   steuert ihre Breite vollstaendig selbst ueber .wrap/--maxw — daher wird
   hier jede WordPress-eigene Begrenzung ausdruecklich zurueckgesetzt. */
.entry-content,
.wp-block-post-content,
body.page .site-content,
body.single .site-content{
  max-width:none !important;
  width:100% !important;
}
.entry-content > .wp-block-group:not(.wrap),
.entry-content > .wp-block-group.is-layout-constrained{
  max-width:none !important;
}
.alignfull{ margin-inline:0; max-width:none; }

/* Sicherheitsnetz: Absaetze, die direkt aus dem Editor kommen */
.wrap > p:not([class]),
.wrap-narrow > p:not([class]){ color:var(--text-mid); font-size:16.5px; line-height:1.7; }

/* Editor-Ansicht im Backend lesbar halten */
.block-editor-page .editor-styles-wrapper{ background:var(--paper); }

/* ══════════════════════════════════════════════════════
   WooCommerce — im Wildikus-Stil
   ══════════════════════════════════════════════════════ */
.woo-section{ padding:clamp(56px,8vh,110px) 0; }

/* Meldungen */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border:1px solid var(--line); border-left:3px solid var(--gold-hi);
  background:#fff; padding:18px 22px; margin:0 0 28px; list-style:none;
  font-size:15px; color:var(--text-mid); border-radius:var(--radius,0);
}
.woocommerce-error{ border-left-color:#b32d2e; }
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{ display:none; }

/* Ergebniszahl */
.woocommerce-result-count{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-dim); margin:0 0 26px;
}

/* Produktraster */
.woocommerce ul.products{
  display:grid; grid-template-columns:minmax(0,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  margin:0; padding:0; list-style:none;
}
@media (min-width:640px){ .woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px){ .woocommerce ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.woocommerce ul.products li.product{
  background:var(--paper); margin:0 !important; padding:0; width:auto !important;
  float:none !important; display:flex; flex-direction:column;
  transition:background .4s var(--ease);
}
.woocommerce ul.products li.product:hover{ background:#fff; }
.woocommerce ul.products li.product a img{
  margin:0; border-bottom:1px solid var(--line); aspect-ratio:1/1; object-fit:cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--f-display); font-size:21px !important; font-weight:400;
  padding:24px 24px 6px !important; margin:0; line-height:1.22;
}
.woocommerce ul.products li.product .price{
  font-family:var(--f-mono); font-size:16px; color:var(--text) !important;
  padding:0 24px; margin:0 0 auto; display:block;
}
.woocommerce ul.products li.product .price del{ color:var(--text-dim); font-size:13px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woo-tax{ display:block; font-size:10.5px; color:var(--text-dim); letter-spacing:.04em; margin-top:3px; }

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase;
  background:transparent; color:var(--ink); border:1px solid var(--line);
  padding:11px 18px; border-radius:var(--radius,0); margin:20px 24px 24px; align-self:flex-start;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.woocommerce ul.products li.product .button:hover{
  background:var(--ink); color:var(--paper); border-color:var(--ink);
}
.woocommerce span.onsale{
  background:var(--gold-hi); color:var(--ink); border-radius:var(--radius,0); font-family:var(--f-mono);
  font-size:10px; letter-spacing:.14em; text-transform:uppercase; padding:6px 12px;
  min-height:0; min-width:0; line-height:1; top:12px; left:12px; margin:0;
}

/* Einzelnes Produkt */
.woocommerce div.product .product_title{ display:none; }
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--f-mono); font-size:24px; color:var(--text);
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0; margin:0 0 26px; border-bottom:1px solid var(--line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; border-radius:var(--radius,0); margin:0 26px 0 0; padding:0 0 12px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-dim); padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--ink); }

/* Knöpfe allgemein */
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce input.button.alt{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  background:var(--ink); color:var(--paper); border:1px solid var(--ink);
  padding:16px 30px; border-radius:var(--radius,0); font-weight:400;
  transition:background .35s var(--ease), color .35s var(--ease);
}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,
.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:transparent; color:var(--ink);
}

/* Formulare in Warenkorb und Kasse */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.select2-container .select2-selection--single{
  border:1px solid var(--line); border-radius:var(--radius,0); padding:13px 15px;
  font-family:var(--f-sans); font-size:15.5px; background:#fff; height:auto;
}
.woocommerce form .form-row label{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.15em;
  text-transform:uppercase; color:var(--text-dim);
}

/* Tabellen: Warenkorb, Bestellübersicht */
.woocommerce table.shop_table{
  border:1px solid var(--line); border-radius:var(--radius,0); border-collapse:collapse;
}
.woocommerce table.shop_table th{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--text-dim); font-weight:400; border-bottom:1px solid var(--line);
}
.woocommerce table.shop_table td{ border-top:1px solid var(--line); }
.woocommerce-cart table.cart img{ width:64px; }

.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-checkout h3,.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,#order_review_heading{
  font-family:var(--f-display); font-size:26px; font-weight:400; margin:0 0 20px;
}

/* Blätterfunktion */
.woocommerce nav.woocommerce-pagination ul{ border:0; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  font-family:var(--f-mono); font-size:13px; padding:10px 15px;
  border:1px solid var(--line); margin:0 3px;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ink); color:var(--paper); border-color:var(--ink);
}

/* Warenkorb-Symbol in der Navigation */
.nav-cart{
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; color:var(--ink); white-space:nowrap; display:none;
}
@media (min-width:1080px){ .nav-cart{ display:inline-flex; align-items:center; gap:7px; } }
.nav.over-dark .nav-cart{ color:var(--paper); }
.nav-cart .n{
  background:var(--gold-hi); color:var(--ink); border-radius:999px;
  padding:1px 7px; font-size:10px; line-height:1.6;
}

/* ══ Referenzen / Projekte ═════════════════════════════ */
.refs{
  display:grid; grid-template-columns:minmax(0,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
@media (min-width:680px){ .refs{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1060px){ .refs{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.ref{ background:var(--paper); display:flex; flex-direction:column; transition:background .4s var(--ease); }
.ref:hover{ background:#fff; }
.ref-img{
  aspect-ratio:4/3; background:var(--paper-2); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
; border-radius:var(--radius,0)}
.ref-img img{ width:100%; height:100%; object-fit:cover; }
.ref-img svg{ width:56%; height:auto; stroke:var(--text-dim); fill:none; stroke-width:1.4;
  stroke-linejoin:round; stroke-linecap:round; }
.ref-body{ padding:24px 26px 28px; display:flex; flex-direction:column; flex:1; }
.ref-meta{
  font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); margin:0 0 10px;
}
.ref-t{ font-family:var(--f-display); font-size:22px; margin:0 0 9px; line-height:1.2; }
.ref-d{ color:var(--text-mid); font-size:14.5px; line-height:1.6; margin:0; }

/* Sprunglink für Tastaturbedienung */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--ink); color:var(--paper); padding:14px 22px;
  font-family:var(--f-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none;
}
.skip-link:focus{ left:12px; top:12px; }

/* Shop-Verweis (statt Platzhalterprodukte) */
.shop-cta{ text-align:center; padding:clamp(40px,6vh,72px) 0 clamp(20px,3vh,32px); }
.shop-cta-lead{ font-size:clamp(17px,1.6vw,21px); line-height:1.6; color:var(--text-mid);
  max-width:52ch; margin:0 auto 32px; }

/* ══════════════════════════════════════════════════════
   Fluent Forms — im Wildikus-Stil
   ══════════════════════════════════════════════════════ */
.ff-el-form-control{
  border:1px solid var(--line) !important; border-radius:var(--radius,0) !important;
  padding:14px 15px !important; font-family:var(--f-sans) !important;
  font-size:15.5px !important; color:var(--text) !important; background:#fff !important;
  box-shadow:none !important; height:auto !important;
}
.ff-el-form-control:focus{ border-color:var(--ink) !important; box-shadow:none !important; }
.ff-el-input--label,.ff-el-form-control-wrapper label,.ff_asterik{
  font-family:var(--f-mono) !important; font-size:10.5px !important; letter-spacing:.15em !important;
  text-transform:uppercase !important; color:var(--text-dim) !important; font-weight:400 !important;
  margin-bottom:8px !important;
}
.ff-el-group{ margin-bottom:20px !important; }
textarea.ff-el-form-control{ min-height:130px !important; resize:vertical !important; }

/* Datei-Upload */
.ff_upload_wrapper, .ff-el-form-control-wrapper .ff_fileupload_wrap{
  border:1px dashed var(--line) !important; border-radius:var(--radius,0) !important;
  background:var(--paper-2) !important; padding:22px !important;
}
.ff_upload_btn, .ff_fileupload_wrap button{
  font-family:var(--f-mono) !important; font-size:12px !important; letter-spacing:.13em !important;
  text-transform:uppercase !important; background:var(--ink) !important; color:var(--paper) !important;
  border:1px solid var(--ink) !important; border-radius:var(--radius,0) !important; padding:11px 22px !important;
}

/* Absende-Knopf */
.ff-btn-submit{
  font-family:var(--f-mono) !important; font-size:12px !important; letter-spacing:.14em !important;
  text-transform:uppercase !important; background:var(--ink) !important; color:var(--paper) !important;
  border:1px solid var(--ink) !important; border-radius:var(--radius,0) !important; padding:16px 30px !important;
  transition:background .35s var(--ease), color .35s var(--ease) !important;
}
.ff-btn-submit:hover{ background:transparent !important; color:var(--ink) !important; }

/* Einwilligungs-Checkbox */
.ff-el-group .ff-el-form-check{ font-size:13.5px !important; color:var(--text-dim) !important; }
.ff-el-form-check a{ text-decoration:underline; }

/* Erfolgsmeldung */
.ff-message-success{
  border:1px solid var(--gold-hi) !important; background:#fff !important;
  padding:18px 20px !important; border-radius:var(--radius,0) !important; font-size:15px !important;
  color:var(--text) !important;
}

/* Fehlermeldung */
.error-message,.ff-el-is-error .ff-el-form-control{ border-color:#b32d2e !important; }
.error-message{ font-size:13px !important; color:#b32d2e !important; margin-top:5px !important; }

/* ══════════════════════════════════════════════════════
   Layout-Schalter — steuerbar über den Customizer
   Diese Regeln blenden nur Linien/Rahmen aus oder ändern
   die Eckenform. Struktur, Abstände und Reihenfolge der
   Elemente bleiben in jedem Zustand unverändert — nichts
   kann dadurch "kaputtgehen", nur die Optik der Kanten.
   ══════════════════════════════════════════════════════ */

/* Trennlinien-Motiv (die feine Linie mit Endmarken unter Überschriften) */
body.wk-no-rules hr.rule{ display:none; }

/* Rahmenlinien um Kachel-/Karten-Raster
   (Architekturmodell-Stufen, Leistungs-Zeilen, Material-Karten,
   Referenzen, Shop-Produkte, Prozess-Linie) */
body.wk-no-card-borders .tiles,
body.wk-no-card-borders .mats,
body.wk-no-card-borders .refs,
body.wk-no-card-borders .shop-grid,
body.wk-no-card-borders .tiers2,
body.wk-no-card-borders .svc{
  background:transparent; border-color:transparent;
}
body.wk-no-card-borders .tile,
body.wk-no-card-borders .mat,
body.wk-no-card-borders .ref,
body.wk-no-card-borders .prod,
body.wk-no-card-borders .tier,
body.wk-no-card-borders .svc-item{
  border:0 !important;
}
body.wk-no-card-borders .price-list li,
body.wk-no-card-borders .tier-prices li,
body.wk-no-card-borders .contact-list li{
  border-bottom-color:transparent;
}
body.wk-no-card-borders .step{ border-bottom-color:transparent; }
body.wk-no-card-borders .step::before{ background:transparent; }

/* ══════════════════════════════════════════════════════
   Block-Editor-Kompatibilität
   Sorgt dafür, dass per Editor eingefügte Muster (Patterns)
   optisch nahtlos ins bestehende Design passen, auch wenn
   WordPress zusätzliche eigene Klassen ergänzt.
   ══════════════════════════════════════════════════════ */

/* WordPress hängt Kernklassen an (z.B. wp-block-group) —
   die Design-Klassen (svc-item, tile, tier ...) bleiben dadurch
   wirksam, hier nur unerwünschte Kern-Standardabstände zurücksetzen */
.wp-block-group.svc-item,
.wp-block-group.tile,
.wp-block-group.tier,
.wp-block-group.prod,
.wp-block-group.ref,
.wp-block-group.mat,
.wp-block-group.step{
  margin-top:0; margin-bottom:0;
}
.wp-block-group.prod-body,
.wp-block-group.ref-body{ padding:0; }

/* Bilder aus dem Muster „Produktkarte“ / „Referenz-Karte“ */
figure.wp-block-image.prod-img,
figure.wp-block-image.ref-img{ margin:0; }
figure.wp-block-image.prod-img img,
figure.wp-block-image.ref-img img{ width:100%; height:100%; object-fit:cover; }

/* Listen aus dem Muster „Leistungs-Zeile“ / „Architekturmodell-Stufe“ */
ul.wp-block-list.price-list,
ul.wp-block-list.tier-feat{ list-style:none; padding:0; margin:0; }
ul.wp-block-list.price-list li{
  display:flex; justify-content:space-between; gap:18px;
  padding:11px 0; border-bottom:1px solid var(--line); font-size:14.5px;
}
ul.wp-block-list.tier-feat li{
  padding:8px 0; font-size:14.5px; color:var(--on-dark-mid);
}
ul.wp-block-list.tier-feat li::before{ content:'— '; color:var(--gold-lt); }

/* Button-Muster: is-style-outline nutzt die vorhandene .btn-ghost-Optik */
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent; color:var(--ink); border:1px solid var(--line);
  border-radius:var(--radius,0);
  font-family:var(--f-mono); font-size:12px; letter-spacing:.13em; text-transform:uppercase;
  padding:14px 26px;
}
.wp-block-button .wp-block-button__link{
  border-radius:var(--radius,0);
  font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
}

/* Eyebrow/Lede/h-section aus dem Textabschnitt-Muster außerhalb
   der festen Kopfzeilen — Standardverhalten wie im Rest der Seite */
.entry-content .eyebrow{ margin-top:32px; }
