
/*
Theme Name: Menschgeist Adaptive ACF Theme
Theme URI: https://menschgeist.com/
Author: Perplexity
Author URI: https://www.perplexity.ai/
Description: Version 3 modular WordPress theme for Menschgeist powered by Advanced Custom Fields flexible content layouts.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: menschgeist
Tags: custom-theme, acf, flexible-content, custom-menu, featured-images, translation-ready
*/
:root,[data-theme="light"]{--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-3xl:clamp(2.5rem,1rem + 4vw,5rem);--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--color-bg:#f7f6f2;--color-surface:#f9f8f5;--color-surface-2:#fbfbf9;--color-surface-offset:#f3f0ec;--color-border:#d4d1ca;--color-divider:#dcd9d5;--color-text:#28251d;--color-text-muted:#7a7974;--color-text-inverse:#f9f8f4;--color-primary:#01696f;--color-primary-hover:#0c4e54;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:999px;--shadow-sm:0 1px 2px rgba(28,26,22,.06);--shadow-md:0 4px 12px rgba(28,26,22,.08);--font-display:'Zodiak','Georgia',serif;--font-body:'Satoshi','Inter',sans-serif;--content-default:1120px}
[data-theme="dark"]{--color-bg:#171614;--color-surface:#1c1b19;--color-surface-2:#201f1d;--color-surface-offset:#1d1c1a;--color-border:#393836;--color-divider:#262523;--color-text:#cdccca;--color-text-muted:#9c9b98;--color-text-inverse:#2b2a28;--color-primary:#4f98a3;--color-primary-hover:#227f8b}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{margin:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;background:var(--color-bg);color:var(--color-text)}img,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{color:var(--color-primary)}button,input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.container{width:min(calc(100% - 2rem),var(--content-default));margin-inline:auto}.narrow{max-width:72ch}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:var(--color-primary);color:var(--color-text-inverse);padding:.75rem 1rem;border-radius:var(--radius-md)}
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}.branding{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.branding-mark{width:2.25rem;height:2.25rem;border:1px solid color-mix(in srgb,var(--color-text) 14%,transparent);border-radius:50%;padding:.35rem}.branding-mark svg{width:100%;height:100%}.primary-nav ul,.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-4)}.primary-nav a,.footer-menu a{font-size:var(--text-sm);color:var(--color-text-muted)}
.theme-toggle,.menu-toggle,.button,.button-secondary,input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1.2rem;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer}.button,input[type="submit"]{background:var(--color-primary);color:var(--color-text-inverse)}.button:hover,input[type="submit"]:hover{background:var(--color-primary-hover);color:var(--color-text-inverse)}.button-secondary,.menu-toggle,.theme-toggle{background:var(--color-surface);color:var(--color-text);border-color:color-mix(in srgb,var(--color-text) 14%,transparent)}
.site-main{padding-block:var(--space-8)}.section{padding:var(--space-12) 0}.section-alt{background:var(--color-surface-2)}.section-head{display:grid;gap:var(--space-3);margin-bottom:var(--space-8)}.eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.section-title,.entry-title,.hero-title{font-family:var(--font-display);line-height:1.06;letter-spacing:-.02em;margin:0}.section-title{font-size:var(--text-2xl)}.section-intro,.muted{color:var(--color-text-muted)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-8);align-items:end}.hero-title{font-size:var(--text-3xl);margin:var(--space-4) 0}.hero-text{font-size:var(--text-lg);max-width:34ch;color:var(--color-text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.panel,.card,.metric,.service-card,.audience-card,.post-card,.quote-panel,.cta-band,.widget{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.panel,.card,.service-card,.audience-card,.post-card,.widget{padding:var(--space-6)}.metrics-grid,.cards-3,.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.metric{padding:var(--space-5);background:var(--color-surface-offset)}.metric strong{display:block;font-family:var(--font-display);font-size:var(--text-xl)}.metric span{display:block;color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-2)}.service-card h3,.audience-card h3,.post-card h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 var(--space-3)}
.steps{display:grid;gap:var(--space-4)}.step{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start;padding:var(--space-5);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:var(--radius-lg)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 10%, var(--color-surface));color:var(--color-primary);font-weight:700}.step h3{margin:0 0 .5rem;font-size:var(--text-lg)}.step p{margin:0;color:var(--color-text-muted)}
.quote-panel{padding:var(--space-8);background:linear-gradient(135deg,var(--color-surface),var(--color-surface-offset))}.quote-panel blockquote{margin:0;font-family:var(--font-display);font-size:var(--text-xl)}.quote-panel cite{display:block;margin-top:var(--space-4);font-style:normal;color:var(--color-text-muted)}
.cta-band{padding:var(--space-10);background:var(--color-primary);color:var(--color-text-inverse)}.cta-band h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-2xl)}.cta-band p{max-width:48ch}.cta-band .button{margin-top:var(--space-4);background:var(--color-text-inverse);color:var(--color-primary)}
.entry-content{display:grid;gap:var(--space-6)}.entry-content h1,.entry-content h2,.entry-content h3{font-family:var(--font-display)}.entry-content h1{font-size:var(--text-3xl)}.entry-content h2{font-size:var(--text-2xl)}.entry-content h3{font-size:var(--text-xl)}.entry-content p,.entry-content li{max-width:72ch}.entry-content input:not([type="submit"]),.entry-content textarea,.entry-content select,.search-field{width:100%;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-2);color:var(--color-text)}
.site-footer{margin-top:var(--space-16);padding:var(--space-10) 0;border-top:1px solid var(--color-divider)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-6)}.footer-grid p,.footer-grid li,.footer-grid a,.meta{color:var(--color-text-muted);font-size:var(--text-sm)}
@media (max-width:900px){.hero-grid,.metrics-grid,.cards-3,.post-grid,.footer-grid{grid-template-columns:1fr}.primary-nav{display:none;width:100%}.primary-nav.is-open{display:block}.primary-nav ul,.footer-menu{flex-direction:column;align-items:flex-start}.header-inner{flex-wrap:wrap}}@media (min-width:901px){.menu-toggle{display:none}}
