/*!
 * theme-overrides.css — Anpassungsschicht
 *
 * Setzt Farbwelt, Typografie und Layoutdetails über die Basis aus site.css.
 * Die hohe Dichte an !important ist die Folge dieser Schichtung: site.css
 * bleibt unangetastet (siehe dort). Wer hier aufräumen möchte, führt site.css
 * und diese Datei zusammen, statt einzelne !important zu entfernen — sonst
 * kippt die Kaskade an unerwarteter Stelle.
 *
 * Ladereihenfolge: style.css → site.css → theme-overrides.css → wordpress.css
 */
@font-face{font-family:'GI Avenir Fallback';src:url('assets/fonts/Manrope-Variable.woff2?v=20260722') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}

:root{--paper:#ffffff;--paper-2:#b3a69f;--ink:#1d1d1b;--muted:#666260;--funding-muted:#3f3c3a;--dark-muted:#f2ece8;--program-selected-muted:#666260;--graph-muted:#f2ece8;--graph-graphite:#b3a69f;--deep-green:#666260;--forest:#1d1d1b;--bronze:#e2c863;--gold-surface:linear-gradient(90deg,#ded684 0%,#ded684 12%,#b19f53 52%,#9a823a 88%,#9a823a 100%);--line:rgba(29,29,27,.2);--serif:'Avenir Next','Avenir','GI Avenir Fallback','Segoe UI',Arial,sans-serif;--sans:'Avenir Next','Avenir','GI Avenir Fallback','Segoe UI',Arial,sans-serif}
body{background:#ffffff;color:#1d1d1b;font-family:var(--sans)}
.site-footer{background:#b3a69f}
.site-footer .footer-grid{align-items:start}
.site-footer .footer-brand-logo{width:76px}
.site-footer a{transition:opacity .2s ease}
@media(hover:hover){.site-footer a:hover{opacity:.58}}
.gi-funnel-page .site-footer{color:#1d1d1b}
.display,.inner-hero h1,.prose h2,.program h3,.step h3,.faq summary{font-family:var(--sans);font-weight:500;letter-spacing:-.052em}
.hero,.programs,.funnel-side{background:#666260}.authority,.method,.funding{background:#b3a69f}.manifesto,.profile,.faq,.contact-teaser{background:#ffffff}
.contact-teaser .contact-side p{color:var(--funding-muted)}
@media(max-width:700px){.contact-teaser,.contact-portrait{background:#ffffff}}
@media(min-width:901px){.hero,.hero-grid{min-height:clamp(760px,calc(100svh - 122px),1080px)}.hero-grid{padding-top:118px;padding-bottom:58px}.knowledge-instrument{height:min(60vh,650px);min-height:520px}.hero-principle{margin-top:38px}}
@media(min-width:901px) and (min-height:740px) and (max-height:850px){.hero,.hero-grid{min-height:calc(100svh - 122px)}.hero-grid{padding-top:92px;padding-bottom:24px}.knowledge-instrument{height:480px;min-height:480px}}
.btn-primary{background-color:#ded684;background-image:var(--gold-surface);background-size:140% 100%;background-position:left center;color:#1d1d1b}.btn-primary:hover{background-color:#ded684;background-image:var(--gold-surface);background-size:140% 100%;background-position:right center}.btn-dark{background:#1d1d1b;color:#ffffff}.nav-action{border-color:rgba(255,255,255,.65)}
.program-head:after{background:linear-gradient(90deg,rgba(102,98,96,.95),rgba(102,98,96,.58) 60%,rgba(102,98,96,.24))}
.knowledge-instrument canvas{filter:none}
.eyebrow{letter-spacing:.21em;font-weight:800}.variant-label{position:fixed;z-index:1000;right:18px;bottom:18px;padding:9px 12px;background:#ffffff;color:#1d1d1b;border:1px solid rgba(29,29,27,.3);font:800 10px/1 var(--sans);letter-spacing:.16em}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand-signature{display:block;width:clamp(118px,9vw,154px);height:auto;max-height:66px;object-fit:contain;object-position:left center}
.hero-brand-lockup{display:block;width:min(88%,560px);height:auto;margin:18px 0 30px}
.manifesto-brand-claim{display:block;width:min(82%,500px);height:auto;margin:0 0 clamp(34px,4vw,54px)}
.program-eyebrow{display:flex;align-items:center;gap:13px}.program-brand-signet{display:block;width:34px;height:34px;object-fit:contain}
.hero:not(.hero-motion):before{content:none!important;background:none!important}
.manifesto-portrait:after{display:none!important}.manifesto-portrait .manifesto-image-signature{position:absolute;z-index:2;left:clamp(28px,3vw,48px);bottom:clamp(18px,2vw,28px);width:clamp(150px,12vw,190px)!important;height:auto!important;transform:none;object-fit:contain!important;filter:none!important;pointer-events:none}
.program-arrow{position:relative;font-size:0!important;line-height:0;transform:none!important}.program-arrow:before{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%) rotate(-45deg)}.program-arrow:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;box-sizing:border-box;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(0,-100%)}
.contact-teaser{position:relative;overflow:hidden}.contact-teaser .contact-grid{grid-template-columns:minmax(0,1.15fr) minmax(250px,.75fr);gap:clamp(38px,5vw,78px);align-items:center;padding-right:clamp(350px,27vw,440px)}.contact-teaser .contact-grid>div{position:relative;z-index:1}
.contact-portrait{position:absolute;z-index:0;top:0;right:0;bottom:0;margin:0;width:min(54vw,820px);height:100%;overflow:hidden}.contact-portrait:before{display:none}.contact-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% center;mix-blend-mode:darken;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 4%,#000 14%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 4%,#000 14%,#000 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.answer-summary{margin:0 0 38px;padding:24px 0 27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.prose .answer-summary .answer-label{margin:0 0 13px;color:#8c7431;font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.18em;text-transform:uppercase}
.prose .answer-summary h3{max-width:720px;margin:0 0 12px;font-size:clamp(24px,2.15vw,32px);font-weight:500;line-height:1.12;letter-spacing:-.035em}
.prose .answer-summary p:last-child{max-width:760px;margin:0;color:#3f3c3a;font-size:17px;line-height:1.65}
.villa-proof{overflow:hidden;padding:clamp(76px,8vw,116px) 0;border-top:1px solid var(--line);background:#fff}
.villa-proof-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr);gap:clamp(54px,8vw,124px);align-items:center}
.villa-proof-copy{max-width:590px}
.villa-proof-copy .eyebrow{margin:0 0 24px;color:#8c7431}
.villa-proof-copy h2{margin:0 0 28px;font-size:clamp(38px,4.1vw,60px);font-weight:300;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.villa-proof-copy>p:not(.eyebrow){max-width:570px;margin:0;color:#4b4744;font-size:17px;line-height:1.72}
.villa-proof-meta{display:grid;grid-template-columns:1fr 1fr;margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.villa-proof-meta span{padding:19px 20px 20px 0;color:#67615d;font-size:11px;line-height:1.55}
.villa-proof-meta span+span{padding-left:22px;border-left:1px solid var(--line)}
.villa-proof-meta strong{display:block;margin-bottom:7px;color:#1d1d1b;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.villa-proof-visual{margin:0;text-align:center}
.villa-proof-visual img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}
.villa-proof-visual figcaption{margin-top:12px;color:#6b625e;font-size:9px;letter-spacing:.15em;text-align:right;text-transform:uppercase}
@media(max-width:900px){.villa-proof-grid{grid-template-columns:1fr;gap:46px}.villa-proof-copy{max-width:680px}.villa-proof-visual{width:min(100%,620px);margin:0 auto}}
@media(max-width:600px){.villa-proof{padding:64px 0}.villa-proof-copy h2{font-size:clamp(34px,9.6vw,40px)}.villa-proof-copy>p:not(.eyebrow){font-size:16px}.villa-proof-meta{grid-template-columns:1fr}.villa-proof-meta span{padding:17px 0}.villa-proof-meta span+span{padding-left:0;border-top:1px solid var(--line);border-left:0}.villa-proof-visual figcaption{text-align:left}}
@media(min-width:701px) and (max-width:1600px){.contact-portrait{right:-120px}}
@media(max-width:1100px){.contact-teaser .contact-grid{grid-template-columns:1fr;gap:30px;padding-right:clamp(300px,43vw,380px)}.contact-side{max-width:500px;align-self:start}.contact-portrait{width:min(62vw,650px)}}
@media(max-width:700px){.contact-teaser{padding-bottom:0}.contact-teaser .contact-grid{grid-template-columns:1fr;gap:30px;padding-right:0}.contact-side{max-width:520px}.contact-portrait{position:relative;top:auto;right:auto;bottom:auto;width:100vw;height:auto;aspect-ratio:4/5;margin:clamp(-48px,-10vw,-34px) calc(50% - 50vw) 0}.contact-portrait img{height:100%;object-fit:cover;object-position:60% center;-webkit-mask-image:none;mask-image:none}}
@media(max-width:600px){.brand-signature{width:122px;max-height:54px}.hero-brand-lockup{width:88%;margin:22px auto 28px}.manifesto-brand-claim{width:92%;margin-bottom:30px}.program-brand-signet{width:29px;height:29px}.manifesto-portrait .manifesto-image-signature{left:22px;bottom:14px;width:140px!important}.knowledge-instrument:not(.motion-knowledge){height:clamp(280px,78vw,360px)!important;min-height:clamp(280px,78vw,360px)!important}.method{padding-bottom:0}.method-grid{gap:clamp(42px,12vw,56px)}.steps{position:relative;isolation:isolate}.step{position:sticky!important;top:0;min-height:max(100svh,380px);align-content:center;background:var(--paper-2);box-shadow:0 -1px 0 var(--line),0 -24px 32px var(--paper-2)}.step:nth-child(1){z-index:1}.step:nth-child(2){z-index:2}.step:nth-child(3){z-index:3}.step:nth-child(4){z-index:4}}
@media(max-width:600px){.answer-summary{margin-bottom:30px;padding:21px 0 23px}.prose .answer-summary h3{font-size:24px}.prose .answer-summary p:last-child{font-size:16px}}

.display,.inner-hero h1,.inner-intro,.prose h2,.program h3,.step h3,.faq summary,.authority-title,.funnel-stage h1,.funnel-stage h2,.funnel-side blockquote{font-family:var(--sans)!important}
.display,.inner-hero h1,.inner-intro,.manifesto-quote,.section-title,.method h2,.profile-copy .display,.about-story .display,.about-hero .display,.contact-teaser h2,.funnel-stage h1,.funnel-stage h2,.funnel-side blockquote{font-weight:300!important}
.prose h2,.program h3,.step h3,.faq summary,.authority-title{font-weight:500!important}
.hero .eyebrow,.hero-intro,.hero-principle{color:var(--dark-muted)!important}
.authority-item,.method .step p,.method .step:before{color:var(--funding-muted)!important}
.manifesto-quote em{color:#5c4b3d!important}
.display,h1,h2,h3,.inner-hero .display,.profile-copy .display,.about-hero .display{hyphens:none!important;overflow-wrap:normal!important;word-break:normal!important}
.manifesto-quote{font-size:clamp(42px,4.6vw,68px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
.section-title{font-size:clamp(42px,4.8vw,68px)!important;line-height:1!important}
.program h3{font-size:clamp(28px,2.7vw,42px)!important;line-height:1.04!important}
.method h2{font-size:clamp(44px,4.8vw,70px)!important;line-height:1.02!important}
.profile-copy .display,.about-story .display{font-size:clamp(38px,4.3vw,62px)!important;line-height:1.02!important}
.contact-teaser h2{font-size:clamp(44px,5.3vw,78px)!important;line-height:1!important}
.inner-hero h1{font-size:clamp(46px,5.4vw,76px)!important;line-height:.98!important;letter-spacing:-.045em!important;text-wrap:pretty!important}
.about-hero .display{font-size:clamp(46px,5vw,72px)!important;line-height:.98!important;max-width:820px}
.title-long{font-size:clamp(42px,4.8vw,68px)!important}.title-extra-long{font-size:clamp(38px,4.2vw,60px)!important}
.prose h2{font-size:clamp(30px,3vw,46px)!important;line-height:1.08!important}
.funding h2{font-size:clamp(34px,3.4vw,48px)!important;line-height:1.06!important}
.funnel-stage h1,.funnel-stage h2{font-size:clamp(36px,4vw,58px)!important;line-height:1.04!important}
.role-line-long{font-size:1em!important;letter-spacing:inherit!important}.role-line-long,.values-title span:first-child{white-space:normal!important;width:auto!important;hyphens:none!important;overflow-wrap:normal!important}
.funding{background:var(--paper-2)!important;color:var(--ink)!important}.funding h2,.funding .eyebrow,.funding .text-link{color:var(--ink)!important}.funding p{color:var(--funding-muted)!important}
.section-intro,.program p{color:var(--dark-muted)!important}
.program:focus-visible p,.program.is-hovered p{color:var(--program-selected-muted)!important}
/* Lesbarkeit langer Sätze in Displaygröße (Feedback Gundula 12.08.):
   Leitsatz und Rollenzeile liefen in Gewicht 300 mit engem Satz — bei einem
   langen Satz ermüdet das. Kräftiger, offener, etwas kleiner. */
.profile-copy .display{font-weight:400!important;letter-spacing:-.015em!important;line-height:1.18!important}
.manifesto-quote{font-weight:400!important;letter-spacing:0!important;line-height:1.34!important}
.manifesto-quote{font-size:clamp(28px,2.3vw,34px)!important}
.profile-copy .display{font-size:clamp(34px,2.6vw,40px)!important}

/* WerteKompass — Titel links, Kompass rechts als Gegengewicht */
.values .section-head{grid-template-columns:1.5fr .5fr;align-items:center}
.values-compass{margin:0;width:min(100%,300px);justify-self:end}
.values-compass img{display:block;width:100%;height:auto}
@media(max-width:900px){.values .section-head{grid-template-columns:1fr}.values-compass{width:140px;justify-self:start}}
@media(hover:hover){.program:hover p{color:var(--program-selected-muted)!important}}
.mobile-title-break{display:none}
.inner-grid{grid-template-columns:minmax(170px,.55fr) minmax(0,1.45fr);gap:clamp(48px,6vw,88px)}
@media(max-width:900px){.inner-grid{grid-template-columns:1fr;gap:34px}.inner-hero h1,.about-hero .display{font-size:clamp(40px,7.2vw,58px)!important}.manifesto-quote{font-size:clamp(27px,4.2vw,33px)!important;line-height:1.34!important;letter-spacing:0!important}}
@media(max-width:600px){.mobile-title-break{display:inline}.manifesto-quote{font-size:clamp(24px,6.2vw,28px)!important;line-height:1.36!important;letter-spacing:0!important}.section-title{font-size:clamp(36px,10vw,42px)!important}.program h3,.program h3.program-title-long{font-size:30px!important}.method h2{font-size:clamp(36px,9.6vw,40px)!important}.profile-copy .display,.about-story .display{font-size:clamp(30px,8.2vw,34px)!important}.contact-teaser h2{font-size:clamp(36px,10vw,42px)!important}.inner-hero h1,.title-long,.inner-hero h1.title-extra-long{font-size:clamp(32px,9vw,36px)!important;line-height:1.01!important}.about-hero .display{font-size:clamp(33px,9vw,36px)!important}.prose h2{font-size:30px!important}.funding h2{font-size:34px!important}.funnel-stage h1,.funnel-stage h2{font-size:clamp(31px,8.5vw,36px)!important}}

/* Einwilligung im Kontaktformular.
   Ohne eigene Regel erbt das Kaestchen .field input{width:100%} aus site.css
   und wird ueber die volle Feldbreite gestreckt - es stand dadurch als
   eigener Block ueber dem Text statt daneben. */
.field .consent{display:flex!important;align-items:flex-start;gap:11px;text-transform:none!important;letter-spacing:.01em!important;font-size:12.5px!important;line-height:1.45;margin-bottom:0!important;cursor:pointer}
.field .consent input[type=checkbox]{width:15px!important;height:15px;flex:0 0 15px;margin:1px 0 0;padding:0!important;border-bottom:0!important;accent-color:#c79b67;cursor:pointer}
