/*
Theme Name: SG Projekt
Theme URI: https://sg-projekt.de
Author: SG Projekt GmbH
Description: Individuelles Theme für SG Projekt – Architektur. Gesund. Zirkulär. Mit Projekten, Projektarchiv, Team, Materialien, Blog und integriertem Kontaktformular. Schriften lokal eingebunden (DSGVO).
Version: 1.6.0
Requires at least: 6.5
Requires PHP: 8.0
License: Proprietär
Text Domain: sg-projekt
*/

/* ---------- Schriften (lokal, keine Verbindung zu Google) ---------- */
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/instrument-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/instrument-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Corinthia";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/corinthia-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/instrument-sans-latin-600-normal.woff2") format("woff2")}

/* ---------- Farben & Maße ---------- */
:root{
  --sg-kupfer:#B07946;
  --sg-kupfer-dunkel:#8A5A2E;
  --sg-sand:#D8CABA;
  --sg-sand-dunkel:#C0AD8D;
  --sg-oliv:#776F4F;
  --sg-schwarz:#1D1D1D;
  --sg-creme:#F7F3EB;
  --sg-weiss:#FFFFFF;
  --sg-text-2:#3a3a3a;
  --sg-text-3:#5a5a5a;
  --sg-pad-x:clamp(20px,5vw,80px);
  --sg-pad-y:clamp(64px,8vw,128px);
  --sg-max:1440px;
  --sg-sans:"Instrument Sans",system-ui,sans-serif;
  --sg-serif:"Corinthia",cursive; /* Kontrastschrift: Corinthia (OFL) */
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sg-creme);color:var(--sg-schwarz);font-family:var(--sg-sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--sg-schwarz)}
a:hover{color:var(--sg-kupfer-dunkel)}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.02em;line-height:1.08}
:focus-visible{outline:2px solid var(--sg-kupfer);outline-offset:3px}
.sg-skip{position:absolute;left:-9999px;top:0;background:var(--sg-schwarz);color:var(--sg-creme);padding:12px 20px;z-index:100}
.sg-skip:focus{left:16px;top:16px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.sg-wrap{max-width:var(--sg-max);margin:0 auto}

/* ---------- Header ---------- */
.sg-header{padding:20px var(--sg-pad-x);border-bottom:1px solid var(--sg-sand);background:var(--sg-creme);position:relative;z-index:20}
.sg-header__inner{max-width:var(--sg-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.sg-logo img{height:64px;width:auto}
.sg-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:32px;font-size:16px;font-weight:500}
.sg-nav a{text-decoration:none;display:inline-flex;min-height:44px;align-items:center}
.sg-nav .current-menu-item>a,.sg-nav .current-menu-ancestor>a,.sg-nav .current_page_parent>a,.sg-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--sg-kupfer);text-decoration-thickness:2px}
.sg-nav .sg-nav-kontakt>a{color:var(--sg-kupfer-dunkel)}
.sg-menu-toggle{display:none;min-height:44px;min-width:44px;border:1.5px solid var(--sg-schwarz);background:transparent;border-radius:999px;font:inherit;font-size:16px;padding:0 18px;cursor:pointer;color:var(--sg-schwarz)}
@media (max-width:860px){
  .sg-menu-toggle{display:inline-flex;align-items:center}
  .sg-nav{display:none;width:100%}
  .sg-nav.is-open{display:block}
  .sg-nav ul{flex-direction:column;gap:4px;padding:12px 0}
  .sg-logo img{height:52px}
}

/* ---------- Abschnitte (Gruppen-Blöcke) ---------- */
.sg-main{display:block}
.sg-section{padding:var(--sg-pad-y) var(--sg-pad-x)}
.sg-section>*{max-width:var(--sg-max);margin-left:auto;margin-right:auto}
.sg-section>.wp-block-group__inner-container{max-width:var(--sg-max);margin-left:auto;margin-right:auto}
:is(.sg-section,.sg-section>.wp-block-group__inner-container)>*+*{margin-top:40px}
:is(.sg-section,.sg-section>.wp-block-group__inner-container)>*:first-child{margin-top:0}
.sg-section .sg-center.sg-narrow{margin-left:auto;margin-right:auto}
.sg-section .wp-block-column>*:first-child{margin-top:0}
.sg-bg-weiss{background:var(--sg-weiss)}
.sg-bg-sand{background:var(--sg-sand)}
.sg-bg-oliv{background:var(--sg-oliv);color:var(--sg-creme)}
.sg-bg-dunkel{background:var(--sg-schwarz);color:var(--sg-creme)}
.sg-bg-oliv a,.sg-bg-dunkel a{color:var(--sg-creme)}
.sg-hero{padding-top:clamp(48px,7vw,112px);padding-bottom:clamp(48px,7vw,112px)}
.sg-section .wp-block-columns{gap:clamp(32px,6vw,96px);margin-bottom:0}
.sg-section .wp-block-column>*+*{margin-top:20px}
.sg-v-end{align-items:flex-end!important}
.sg-v-center{align-items:center!important}

/* ---------- Typografie ---------- */
.sg-eyebrow{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sg-kupfer-dunkel)}
.sg-bg-oliv .sg-eyebrow,.sg-bg-dunkel .sg-eyebrow{color:var(--sg-sand)}
.sg-display{font-size:clamp(44px,6.2vw,92px);line-height:1.02;letter-spacing:-.03em}
.sg-section h2,.sg-h2{font-size:clamp(34px,4.6vw,64px);line-height:1.06;letter-spacing:-.025em}
.sg-section h3{font-size:clamp(22px,2vw,26px);font-weight:600;line-height:1.25;letter-spacing:-.01em}
.sg-display em,.sg-section h2 em,.sg-serif-accent{font-family:var(--sg-serif);font-style:normal;font-weight:400;font-size:1.28em;line-height:.85;letter-spacing:0;color:var(--sg-kupfer-dunkel)}
.sg-bg-oliv h2 em,.sg-bg-dunkel h2 em{color:var(--sg-sand)}
.sg-lead{font-size:20px;color:var(--sg-text-2)}
.sg-lead-strong{font-size:clamp(20px,1.8vw,24px);line-height:1.4;font-weight:500}
.sg-serif{font-family:var(--sg-serif);font-style:normal;font-size:clamp(32px,2.8vw,40px);line-height:1.15}
.sg-serif-kupfer{font-family:var(--sg-serif);font-style:normal;font-size:clamp(32px,2.8vw,40px);line-height:1.15;color:var(--sg-kupfer-dunkel)}
.sg-caption{font-size:15px;font-weight:600}
.sg-muted{color:var(--sg-text-2)}
.sg-bg-oliv .sg-muted,.sg-bg-dunkel .sg-muted,.sg-bg-oliv .sg-lead,.sg-bg-dunkel .sg-lead{color:var(--sg-sand)}
.sg-center{text-align:center}
.sg-right{text-align:right}
.sg-narrow{max-width:900px!important}
.sg-num{width:44px;height:44px;border:1.5px solid var(--sg-kupfer);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--sg-kupfer-dunkel)}
.sg-rule-top{border-top:1.5px solid currentColor;padding-top:24px}
.sg-bg-oliv .sg-rule-top{border-color:var(--sg-sand)}

/* ---------- Buttons ---------- */
.wp-block-button__link,.sg-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;background:var(--sg-schwarz);color:var(--sg-creme);border:1.5px solid var(--sg-schwarz);border-radius:999px;font:inherit;font-size:17px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.wp-block-button__link:hover,.sg-btn:hover{background:var(--sg-kupfer-dunkel);border-color:var(--sg-kupfer-dunkel);color:var(--sg-creme)}
.is-style-outline .wp-block-button__link,.sg-btn--outline{background:transparent;color:var(--sg-schwarz)}
.is-style-outline .wp-block-button__link:hover,.sg-btn--outline:hover{background:var(--sg-schwarz);color:var(--sg-creme)}
.sg-bg-oliv .wp-block-button__link,.sg-bg-dunkel .wp-block-button__link,.sg-btn--hell{background:var(--sg-creme);border-color:var(--sg-creme);color:var(--sg-schwarz)}
.sg-bg-oliv .wp-block-button__link:hover,.sg-bg-dunkel .wp-block-button__link:hover,.sg-btn--hell:hover{background:var(--sg-sand);border-color:var(--sg-sand);color:var(--sg-schwarz)}
.sg-btn--kupfer{background:var(--sg-kupfer);border-color:var(--sg-kupfer);color:var(--sg-schwarz);font-weight:600}
.sg-btn--kupfer:hover{background:var(--sg-sand);border-color:var(--sg-sand);color:var(--sg-schwarz)}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px}
.sg-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;color:var(--sg-kupfer-dunkel);text-decoration:none}
.sg-link::after{content:"→"}
.sg-circle-btn{flex:none;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--sg-schwarz);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--sg-schwarz)}
.sg-circle-btn--hell{border:none;background:var(--sg-creme);width:44px;height:44px}
.sg-circle-btn svg{width:20px;height:20px}

/* ---------- Bilder & Platzhalter ---------- */
.wp-block-image{margin:0}
.wp-block-image img{width:100%;object-fit:cover}
.sg-ratio-4-5 img{aspect-ratio:4/5}
.sg-ratio-1-1 img{aspect-ratio:1/1}
.sg-ratio-3-2 img{aspect-ratio:3/2}
.sg-ph{background-color:var(--sg-sand-dunkel);background-image:repeating-linear-gradient(90deg,rgba(119,111,79,.18) 0 2px,transparent 2px 42px);display:flex;align-items:flex-end;padding:16px;min-height:120px}
.sg-ph span{font-size:13px;background:var(--sg-creme);padding:6px 12px;border-radius:999px;color:var(--sg-schwarz)}
.sg-ph--oliv{background-color:var(--sg-oliv);background-image:repeating-linear-gradient(0deg,rgba(29,29,29,.12) 0 1px,transparent 1px 20px)}
.sg-ph--sand{background-color:var(--sg-sand);background-image:repeating-linear-gradient(45deg,rgba(176,121,70,.16) 0 1px,transparent 1px 16px)}
.sg-ph--kupfer{background-color:var(--sg-kupfer);background-image:repeating-linear-gradient(90deg,rgba(29,29,29,.1) 0 2px,transparent 2px 34px)}
.sg-ph--raster{background-color:var(--sg-weiss);background-image:repeating-linear-gradient(0deg,rgba(119,111,79,.12) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(119,111,79,.12) 0 1px,transparent 1px 24px)}
.sg-media{position:relative;overflow:hidden}
.sg-media img,.sg-media .sg-ph{width:100%;height:100%;object-fit:cover}
.sg-kreis-deko{position:relative}
.sg-kreis-deko::after{content:"";position:absolute;top:-36px;right:-24px;width:120px;height:120px;border:2px solid var(--sg-kupfer);border-radius:50%;pointer-events:none}

/* ---------- Projekt-Slider Startseite ---------- */
.sg-slider{display:flex;align-items:center;gap:16px}
.sg-slider__stage{flex:1 1 auto;min-width:0}
.sg-slide{display:none}
.sg-slide.is-active{display:block}
.sg-slide__media{aspect-ratio:16/7}
.sg-slide__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:16px;font-size:16px}
.sg-slide__meta a{text-decoration:none}
@media (max-width:640px){.sg-slider .sg-circle-btn{display:none}.sg-slide__media{aspect-ratio:4/3}}

/* ---------- Projekte (aktuell) ---------- */
.sg-proj{padding:72px 0;border-bottom:1px solid var(--sg-sand);display:flex;flex-direction:column;gap:40px}
.sg-proj:last-child{border-bottom:none;padding-bottom:0}
.sg-proj__kopf{display:flex;flex-direction:column;gap:12px;max-width:980px}
.sg-proj__kopf h3{font-size:clamp(26px,2.6vw,36px)!important}
.sg-proj__ort{font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sg-kupfer-dunkel)}
.sg-proj__body{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px);align-items:flex-start}
.sg-proj__galerie{flex:3 1 520px;min-width:0;display:flex;flex-direction:column;gap:12px}
.sg-proj__text{flex:2 1 340px;min-width:0;display:flex;flex-direction:column;gap:40px}
.sg-proj--rechts .sg-proj__kopf{align-self:flex-end;text-align:right}
.sg-proj--rechts .sg-proj__body{flex-direction:row-reverse}
.sg-proj--rechts .sg-proj__text{text-align:right}
.sg-proj--rechts .sg-chips{justify-content:flex-end}
.sg-gal__stage{position:relative;aspect-ratio:4/3;background:var(--sg-sand-dunkel)}
.sg-gal__stage>.sg-ph{position:absolute;inset:0}
.sg-gal__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}
.sg-gal__stage img.is-active{opacity:1}
.sg-gal__nav{position:absolute;right:20px;bottom:20px;display:flex;gap:8px}
.sg-gal__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sg-gal__thumbs button{padding:0;border:none;background:none;cursor:pointer;aspect-ratio:1/1;outline-offset:2px}
.sg-gal__thumbs button img{width:100%;height:100%;object-fit:cover}
.sg-gal__thumbs button[aria-current="true"]{outline:2px solid var(--sg-schwarz)}
.sg-zitat{margin:0;display:flex;flex-direction:column;gap:12px}
.sg-zitat blockquote{margin:0;font-family:var(--sg-serif);font-style:normal;font-size:38px;line-height:1.2}
.sg-zitat figcaption{font-size:15px;font-weight:600}
.sg-umsetzung{border-top:1.5px solid var(--sg-schwarz);padding-top:20px;display:flex;flex-direction:column;gap:12px}
.sg-umsetzung p{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.sg-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:15px}
.sg-chips li{padding:6px 14px;border:1.5px solid var(--sg-sand-dunkel);border-radius:999px}
.sg-konzept .sg-gal__stage{aspect-ratio:16/10;background:var(--sg-weiss)}

/* ---------- Materialien ---------- */
.sg-mat{display:flex;align-items:center;gap:16px}
.sg-mat__liste{flex:1 1 auto;min-width:0;list-style:none;margin:0;padding:0 0 8px;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.sg-mat__liste li{flex:0 0 clamp(260px,30%,380px);scroll-snap-align:start;display:flex;flex-direction:column;gap:14px}
.sg-mat__liste .sg-mat__bild{aspect-ratio:4/3;overflow:hidden;width:100%}
.sg-mat__liste .sg-mat__bild>*{width:100%;height:100%}
.sg-mat__liste img{width:100%;height:100%;object-fit:cover}
.sg-mat__liste h3{font-size:22px!important}
.sg-mat__liste p{font-size:16px;color:var(--sg-text-2)}
@media (max-width:640px){.sg-mat .sg-circle-btn{display:none}}

/* ---------- Karten / Raster ---------- */
.sg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:48px 32px}
.sg-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.sg-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:80px clamp(32px,5vw,80px)}
.sg-card{display:flex;flex-direction:column;gap:14px}
.sg-card__bild{aspect-ratio:3/2;overflow:hidden;display:block}
.sg-card__bild img,.sg-card__bild .sg-ph{width:100%;height:100%;object-fit:cover}
.sg-card--gross .sg-card__bild{aspect-ratio:4/5}
.sg-card h3{font-size:24px;line-height:1.25;font-weight:600}
.sg-card--gross h3{font-size:clamp(24px,2.2vw,30px);line-height:1.2}
.sg-card h3 a{text-decoration:none}
.sg-card__kat{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sg-kupfer-dunkel)}
.sg-card__meta{font-size:14px;color:var(--sg-text-3)}
.sg-card p.sg-card__text{font-size:16px;color:var(--sg-text-2)}
.sg-card--klein h3{font-size:18px;line-height:1.3}
.sg-neu{margin-top:80px;padding-top:48px;border-top:1.5px solid var(--sg-schwarz)}
.sg-neu__kopf{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:baseline;margin-bottom:32px}
.sg-neu__kopf h3{font-size:28px!important}
.sg-neu__liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:24px 48px}
.sg-neu__item{display:flex;gap:20px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--sg-sand)}
.sg-neu__bild{flex:0 0 140px;aspect-ratio:1/1;overflow:hidden}
.sg-neu__bild img,.sg-neu__bild .sg-ph{width:100%;height:100%;object-fit:cover;min-height:0}
.sg-neu__item h4{font-size:20px;line-height:1.3;font-weight:600}
.sg-neu__item h4 a{text-decoration:none}
.sg-neu__item p{font-size:15px;color:var(--sg-text-2)}
.sg-neu__item .sg-card__meta{font-size:13px}
@media (max-width:520px){.sg-neu__bild{flex-basis:96px}}

/* ---------- Team ---------- */
.sg-team__karte{display:flex;flex-direction:column;gap:20px}
.sg-team__karte h3{font-size:26px!important}
.sg-team__rolle{color:var(--sg-text-3)}
.sg-team__bild{aspect-ratio:4/5;overflow:hidden}
.sg-team__bild img,.sg-team__bild .sg-ph{width:100%;height:100%;object-fit:cover}
.sg-team__zitat{font-family:var(--sg-serif);font-style:normal;font-size:36px;line-height:1.2}
.sg-team__komp{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sg-kupfer-dunkel)}
.sg-haltung{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;padding:clamp(40px,5vw,72px);background:var(--sg-creme);position:relative;overflow:hidden}
.sg-haltung::before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border:2px solid var(--sg-kupfer);border-radius:50%}
.sg-haltung__satz{font-size:clamp(30px,3.2vw,44px);line-height:1.1;font-weight:500;letter-spacing:-.02em;position:relative}
.sg-haltung__worte{display:flex;flex-direction:column;gap:4px;font-family:var(--sg-serif);font-style:normal;font-weight:400;font-size:clamp(48px,5.2vw,76px);line-height:1;letter-spacing:0;color:var(--sg-kupfer-dunkel);position:relative}

/* ---------- Seitenkopf (Archiv, Blog) ---------- */
.sg-pagehead{padding:clamp(48px,7vw,104px) var(--sg-pad-x) clamp(40px,5vw,64px)}
.sg-pagehead__inner{max-width:var(--sg-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,96px);align-items:flex-end}
.sg-pagehead__inner>div{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:20px}
.sg-pagehead__inner>p{flex:1 1 420px;min-width:0;font-size:20px;color:var(--sg-text-2)}
.sg-pagehead h1{font-size:clamp(56px,8vw,120px);line-height:.95;letter-spacing:-.035em}

/* ---------- Filter ---------- */
.sg-filter{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:40px;margin-bottom:48px;border-bottom:1px solid var(--sg-sand)}
.sg-filter button,.sg-filter a{min-height:44px;padding:0 22px;border-radius:999px;border:1.5px solid var(--sg-sand-dunkel);background:transparent;color:var(--sg-schwarz);font:inherit;font-size:16px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.sg-filter [aria-pressed="true"],.sg-filter .is-active{background:var(--sg-schwarz);border-color:var(--sg-schwarz);color:var(--sg-creme)}

/* ---------- Archiv-Karten ---------- */
.sg-arch{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:64px 32px}
.sg-arch__karte{display:flex;flex-direction:column;gap:16px}
.sg-arch__karte[hidden]{display:none}
.sg-arch__bild{aspect-ratio:4/5;position:relative;overflow:hidden}
.sg-arch__bild img,.sg-arch__bild .sg-ph{width:100%;height:100%;object-fit:cover}
.sg-badge{position:absolute;left:16px;top:16px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--sg-creme);padding:6px 12px;border-radius:999px}
.sg-arch__karte h2{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.sg-arch__karte h2 span{font-weight:400;color:var(--sg-text-3)}
.sg-arch__karte>p{font-size:16px;color:var(--sg-text-2)}
.sg-arch details{border-top:1px solid var(--sg-sand);padding-top:12px}
.sg-arch summary{display:flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:600;cursor:pointer;list-style:none}
.sg-arch summary::-webkit-details-marker{display:none}
.sg-arch summary::before{content:"›";font-size:22px;color:var(--sg-kupfer-dunkel);transition:transform .2s;line-height:1}
.sg-arch details[open] summary::before{transform:rotate(90deg)}
.sg-arch dl{margin:8px 0 0;display:grid;grid-template-columns:130px 1fr;gap:6px 16px;font-size:15px}
.sg-arch dt{color:var(--sg-text-3)}
.sg-arch dd{margin:0}
.sg-arch details p{font-size:15px;color:var(--sg-text-2);padding-top:12px}

/* ---------- Kontakt ---------- */
.sg-kontakt{padding:clamp(64px,8vw,112px) var(--sg-pad-x);background:var(--sg-schwarz);color:var(--sg-creme)}
.sg-kontakt__inner{max-width:var(--sg-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px)}
.sg-kontakt__intro{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.sg-kontakt__intro img{height:88px;width:auto;margin-bottom:16px}
.sg-kontakt__intro h2{font-size:clamp(36px,4.6vw,64px);line-height:1.05;letter-spacing:-.025em}
.sg-kontakt__intro p{color:var(--sg-sand)}
.sg-kontakt a{color:var(--sg-creme)}
.sg-kontakt a.sg-btn{color:var(--sg-schwarz)}
.sg-form{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px}
.sg-form__reihe{display:flex;flex-wrap:wrap;gap:20px}
.sg-form label.sg-feld{flex:1 1 200px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--sg-sand)}
.sg-form input[type=text],.sg-form input[type=email],.sg-form input[type=tel],.sg-form textarea{min-height:48px;background:transparent;border:none;border-bottom:1.5px solid var(--sg-sand-dunkel);color:var(--sg-creme);font:inherit;font-size:17px;padding:4px 0;border-radius:0}
.sg-form textarea{resize:vertical;min-height:120px}
.sg-form input:focus,.sg-form textarea:focus{outline:none;border-bottom-color:var(--sg-kupfer)}
.sg-form .sg-check{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--sg-creme);cursor:pointer}
.sg-form .sg-check input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--sg-kupfer)}
.sg-form .sg-check a{text-decoration-color:var(--sg-kupfer);text-underline-offset:3px}
.sg-form .sg-hinweis{font-size:14px;color:var(--sg-sand)}
.sg-hp{position:absolute!important;left:-9999px!important}
.sg-meldung{padding:16px 20px;border-radius:4px;font-weight:500}
.sg-meldung--ok{background:var(--sg-oliv);color:var(--sg-creme)}
.sg-meldung--fehler{background:var(--sg-kupfer);color:var(--sg-schwarz)}

/* ---------- Footer ---------- */
.sg-footer{padding:48px var(--sg-pad-x);background:var(--sg-creme);border-top:1px solid var(--sg-sand);font-size:15px}
.sg-footer__inner{max-width:var(--sg-max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.sg-footer img{height:80px;width:auto}
.sg-footer strong{font-weight:600;display:block}
.sg-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}

/* ---------- Beitrag / Rechtliches / Standardseite ---------- */
.sg-artikel{padding:clamp(48px,7vw,104px) var(--sg-pad-x) clamp(64px,8vw,128px)}
.sg-artikel__inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:32px}
.sg-artikel__kopf{display:flex;flex-direction:column;gap:16px}
.sg-artikel__kopf h1{font-size:clamp(40px,5.2vw,72px);line-height:1.04;letter-spacing:-.03em;hyphens:auto}
.sg-artikel__bild img{width:100%;aspect-ratio:16/10;object-fit:cover}
.sg-inhalt>*+*{margin-top:1.1em}
.sg-inhalt h2{font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.01em;margin-top:2em;padding-top:28px;border-top:1px solid var(--sg-sand-dunkel)}
.sg-inhalt h3{font-size:22px;font-weight:600;margin-top:1.6em}
.sg-inhalt ul,.sg-inhalt ol{padding-left:22px}
.sg-inhalt blockquote{margin:1.5em 0;font-family:var(--sg-serif);font-style:normal;font-size:38px;line-height:1.2;border:none;padding:0}
.sg-inhalt .wp-block-image{margin:2em 0}
.sg-inhalt figcaption{font-size:14px;color:var(--sg-text-3);margin-top:8px}
.sg-inhalt a{text-decoration-color:var(--sg-kupfer);text-underline-offset:3px}
.sg-zurueck{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:600;text-decoration:none;color:var(--sg-kupfer-dunkel)}
.sg-pagination{display:flex;justify-content:center;gap:8px;padding-top:56px;flex-wrap:wrap}
.sg-pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--sg-sand-dunkel);border-radius:999px;text-decoration:none;padding:0 14px}
.sg-pagination .current{background:var(--sg-schwarz);color:var(--sg-creme);border-color:var(--sg-schwarz)}


/* ---------- Bausteine aus den Seitenvorlagen ---------- */
.sg-prinzipien{gap:24px!important}
.sg-prinzipien .wp-block-column{border-top:1.5px solid var(--sg-schwarz);padding-top:24px}
.sg-karten{gap:24px!important}
.sg-karten .wp-block-column{background:var(--sg-weiss);padding:32px}
.sg-schritt{border-top:1px solid var(--sg-sand-dunkel);padding:32px 0;margin-top:0!important;gap:16px clamp(32px,6vw,96px)!important}
.sg-section .wp-block-columns+.sg-schritt{margin-top:64px!important;border-top:1.5px solid var(--sg-schwarz)}
.sg-schritt .wp-block-column:first-child{display:flex;align-items:center;gap:24px}
.sg-schritt .wp-block-column:first-child>*{margin-top:0!important}
.sg-schritt .sg-num{width:56px;height:56px;flex:none}
.sg-box{background:var(--sg-creme);padding:40px;height:100%}
:is(.sg-box,.sg-box>.wp-block-group__inner-container)>*+*{margin-top:20px}
.sg-box p{line-height:2}

/* Fachartikel (Blog-Muster) */
.sg-steckbrief{height:auto;padding:28px 32px;border-left:3px solid var(--sg-kupfer)}
.sg-steckbrief h3{font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.sg-steckbrief ul{list-style:none;padding:0;margin:0}
.sg-steckbrief li{line-height:1.7}
.sg-steckbrief li+li{margin-top:6px}
.sg-cta-satz{font-weight:600;border-top:1px solid currentColor;padding-top:20px}
.sg-tags{display:flex;flex-wrap:wrap;gap:12px}
.sg-tags span{display:inline-block;padding:10px 20px;border:1.5px solid var(--sg-sand-dunkel);border-radius:999px}
.sg-punkt{display:flex;gap:16px;align-items:center;padding:20px 0;border-top:1px solid var(--sg-sand-dunkel);margin-top:0!important}
.sg-punkt:first-child{border-top:1.5px solid var(--sg-schwarz)}
.sg-punkt::before{content:"";flex:none;width:14px;height:14px;border:1.5px solid var(--sg-kupfer-dunkel);border-radius:50%}
.sg-hero .wp-block-buttons{margin-top:32px}

/* ---------- Team und Materialien (Blöcke in der Seite) ---------- */
.sg-team-reihe{gap:80px clamp(32px,5vw,80px)!important}
.sg-team-reihe+.sg-team-reihe{margin-top:80px!important}
.sg-team-reihe .wp-block-column>*+*{margin-top:16px}
.sg-team-reihe h3{font-size:26px!important}
.sg-team-reihe .sg-team__rolle{margin-top:2px!important}
.sg-team-reihe .wp-block-image img{aspect-ratio:4/5;object-fit:cover;width:100%}
.sg-haltung.wp-block-group{margin-top:80px!important}
.sg-haltung>.wp-block-group__inner-container{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;width:100%;position:relative}
.sg-haltung__worte{line-height:1.05}
.sg-mat-liste{flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px!important;padding-bottom:8px;scrollbar-width:thin}
.sg-mat-liste>.wp-block-column{flex:0 0 clamp(260px,30%,380px)!important;scroll-snap-align:start}
.sg-mat-liste .wp-block-column>*+*{margin-top:14px}
.sg-mat-liste h3{font-size:22px!important}
.sg-mat-liste .wp-block-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
.sg-mat-rahmen{display:flex;align-items:center;gap:16px}
.sg-mat-rahmen>.sg-mat-liste{flex:1 1 auto;min-width:0;margin:0!important}
@media (max-width:640px){.sg-mat-rahmen .sg-circle-btn{display:none}}


/* ---------- Leistungsphasen (Infografik) ---------- */
.sg-phasen{position:relative;gap:clamp(24px,3vw,40px)!important;margin-top:64px!important}
.sg-phasen::before{content:"";position:absolute;left:32px;right:32px;top:31px;height:2px;background:var(--sg-sand-dunkel)}
.sg-phasen>.wp-block-column{position:relative;display:flex;flex-direction:column}
.sg-phasen .wp-block-column>*+*{margin-top:18px}
.sg-phase__nr{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;letter-spacing:.02em;box-shadow:0 0 0 8px var(--sg-creme);position:relative}
.sg-phase__nr--01{background:var(--sg-sand);color:var(--sg-schwarz)}
.sg-phase__nr--02{background:var(--sg-sand-dunkel);color:var(--sg-schwarz)}
.sg-phase__nr--03{background:var(--sg-oliv);color:var(--sg-weiss)}
.sg-phase__nr--04{background:var(--sg-kupfer-dunkel);color:var(--sg-weiss)}
.sg-section h3.sg-phase__titel{display:flex;align-items:center;gap:14px;font-size:clamp(22px,1.8vw,26px);line-height:1.15;margin-top:28px!important}
.sg-phase__titel::before{content:"";flex:none;width:40px;height:40px;background:var(--sg-oliv);-webkit-mask:var(--sg-ico) center/contain no-repeat;mask:var(--sg-ico) center/contain no-repeat}
.sg-icon-scan{--sg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12V5h7M29 5h7v7M36 28v7h-7M11 35H4v-7'/%3E%3Cpath d='M11 21l9-7 9 7v9H11z'/%3E%3Cpath d='M4 20h32' stroke-dasharray='2 3'/%3E%3C/svg%3E")}
.sg-icon-idee{--sg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 5a10 10 0 0 0-6 18c1.3 1 2 2.4 2 4v1h8v-1c0-1.6.7-3 2-4A10 10 0 0 0 20 5z'/%3E%3Cpath d='M16 32h8M17 36h6'/%3E%3Cpath d='M20 15v6M17 18h6'/%3E%3C/svg%3E")}
.sg-icon-plan{--sg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 34V6l28 28z'/%3E%3Cpath d='M12 28V20l8 8z'/%3E%3Cpath d='M6 12h3M6 18h3M6 24h3'/%3E%3C/svg%3E")}
.sg-icon-bau{--sg-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 36V6M10 8h26M10 8l8 6M14 36H6'/%3E%3Cpath d='M30 8v8'/%3E%3Cpath d='M26 16h8v6h-8z'/%3E%3Cpath d='M10 14l-4-6h4'/%3E%3C/svg%3E")}
.sg-phase__claim{font-family:var(--sg-serif);font-style:normal;font-size:33px;line-height:1.1;color:var(--sg-kupfer-dunkel)}
.sg-phase__liste{list-style:none;margin:0;padding:0;font-size:16px;line-height:1.45}
.sg-phase__liste li{border-top:1px solid var(--sg-sand);padding:10px 0 10px 22px;position:relative}
.sg-phase__liste li::before{content:"";position:absolute;left:2px;top:17px;width:8px;height:8px;border:1.5px solid var(--sg-kupfer);border-radius:50%}
.sg-phase__liste li:last-child{border-bottom:1px solid var(--sg-sand)}
.sg-phase__tag{align-self:flex-start;margin-top:auto!important;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--sg-sand-dunkel);border-radius:999px;padding:6px 14px}
.sg-phasen .wp-block-column>.sg-phase__tag{margin-top:22px!important}
@media (max-width:781px){
  .sg-phasen::before{left:31px;right:auto;top:32px;bottom:32px;width:2px;height:auto}
  .sg-phasen>.wp-block-column{padding-left:88px}
  .sg-phase__nr{position:absolute;left:0;top:0}
  .sg-section h3.sg-phase__titel{margin-top:14px!important}
  .sg-phasen{gap:56px!important}
}


/* ---------- Titelbild Startseite (Cover über die volle Breite) ---------- */
.wp-block-cover.sg-hero-voll{min-height:clamp(560px,82vh,860px)!important;padding:clamp(48px,7vw,112px) var(--sg-pad-x);margin:0;align-items:flex-end;justify-content:flex-start;background:var(--sg-oliv);position:relative;overflow:hidden}
.sg-hero-voll .wp-block-cover__background{opacity:1!important;background:linear-gradient(90deg,rgba(29,29,29,.74) 0%,rgba(29,29,29,.5) 36%,rgba(29,29,29,0) 66%)!important}
.sg-hero-voll .wp-block-cover__inner-container{max-width:760px!important;width:100%;margin:0!important;color:var(--sg-creme);position:relative;z-index:1}
.sg-hero-voll .wp-block-cover__inner-container>*+*{margin-top:28px}
.sg-hero-voll .sg-eyebrow{color:var(--sg-sand)}
.sg-hero-voll h1.sg-display{color:var(--sg-creme)}
.sg-hero-voll h1 em{color:var(--sg-sand)}
.sg-hero-voll .sg-lead{color:var(--sg-creme);max-width:520px}
.sg-hero-voll .wp-block-button__link{background:var(--sg-creme);border-color:var(--sg-creme);color:var(--sg-schwarz)}
.sg-hero-voll .wp-block-button__link:hover{background:var(--sg-sand);border-color:var(--sg-sand);color:var(--sg-schwarz)}
.sg-hero-voll .is-style-outline .wp-block-button__link{background:transparent;color:var(--sg-creme);border-color:var(--sg-creme)}
.sg-hero-voll .is-style-outline .wp-block-button__link:hover{background:var(--sg-creme);color:var(--sg-schwarz)}
.sg-hero-voll::after{content:"";position:absolute;right:var(--sg-pad-x);bottom:clamp(40px,6vw,96px);width:120px;height:120px;border:2px solid var(--sg-kupfer);border-radius:50%;z-index:1;pointer-events:none}
@media (max-width:700px){
  .wp-block-cover.sg-hero-voll{min-height:max(640px,92svh)!important;padding-top:40vh}
  .sg-hero-voll .wp-block-cover__background{background:linear-gradient(0deg,rgba(29,29,29,.86) 0%,rgba(29,29,29,.72) 52%,rgba(29,29,29,0) 82%)!important}
  .sg-hero-voll .wp-block-cover__image-background{object-position:72% 30%!important}
  .sg-hero-voll::after{display:none}
  .sg-hero-voll .wp-block-cover__inner-container>*+*{margin-top:20px}
}

/* ---------- Sanfte Einblendung ---------- */
@media (prefers-reduced-motion:no-preference){
  .sg-fade-init{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  .sg-fade-init.is-visible{opacity:1;transform:none}
}
.sg-haltung p.sg-haltung__worte{display:block}
