html { scroll-behavior: smooth; }
:root {
  --lime-hover: #d7ff42;
  --font-nav: 0.95rem;
  --font-eyebrow: 0.82rem;
  --font-body-editable: 1.08rem;
  --font-lead: 1.22rem;
  --font-section-title: clamp(2.8rem, 1.2rem + 4vw, 5.2rem);
  --font-service-title: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --font-quote: clamp(2rem, 1rem + 3vw, 4.5rem);
  --font-mail: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
}
:root {
  --font-nav: <?php echo esc_html( kreativithek_get_option( 'font_size_nav', '0.95rem' ) ); ?>;
}
body {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.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.8rem, 1.2rem + 4vw, 5.2rem);
  --text-hero: clamp(3.4rem, 1rem + 8vw, 7rem);
  --space-2: 0.5rem; --space-3: 0.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;
  --bg: #ffffff; --surface: #ffffff; --surface-2: #f5f5f5; --border: rgba(24,22,18,.12); --divider: rgba(24,22,18,.08);
  --text: #151515; --muted: #5f5a52; --inverse: #ffffff; --primary: #151515; --radius: 1.5rem; --radius-full: 9999px; --shadow: 0 1px 2px rgba(0,0,0,.04);
  background: var(--bg); color: var(--text); font-family: 'Inter', Arial, sans-serif; margin:0; transition: background-color .25s ease, color .25s ease;
}
html[data-theme='dark'] body {
  --bg: #0f0f10; --surface: #171718; --surface-2: #202123; --border: rgba(255,255,255,.12); --divider: rgba(255,255,255,.08);
  --text: #f3f3ef; --muted: #b7b7b0; --inverse: #0f0f10; --primary: #f3f3ef; --shadow: 0 1px 2px rgba(0,0,0,.25);
}
*, *::before, *::after { box-sizing:border-box; }
a { color:inherit; }
img { max-width:100%; height:auto; display:block; }
input, textarea, button { font: inherit; }
button { cursor:pointer; }
.kth-wrap { width:min(calc(100% - 2rem), 1120px); margin:0 auto; }
.kth-skip-link { position:absolute; left:1rem; top:1rem; background:var(--primary); color:var(--inverse); padding:.75rem 1rem; border-radius:9999px; transform:translateY(-160%); z-index:1000; }
.kth-skip-link:focus { transform:translateY(0); }
.kth-site-header { position:sticky; top:0; z-index:100; backdrop-filter:blur(18px); background:color-mix(in srgb, var(--bg) 86%, transparent); border-bottom:1px solid var(--divider); transition: background-color .25s ease, border-color .25s ease; }
.kth-header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; min-height:72px; padding:1rem 0; }
.kth-brand { min-width:0; overflow:hidden; }
.kth-brand img { height:28px; width:auto; max-width:100%; transition: filter .25s ease; }
html[data-theme='dark'] .kth-brand img { filter: invert(1) brightness(1.05); }
.kth-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:.75rem; margin-left:auto; flex-shrink:0; white-space:nowrap; }
.kth-menu-toggle { display:none; min-width:44px; min-height:44px; border:1px solid var(--border); border-radius:9999px; background:var(--surface); color:var(--text); align-items:center; justify-content:center; flex-direction:column; gap:4px; padding:0; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.kth-menu-toggle span { display:block; width:16px; height:1.5px; background:currentColor; transition: transform .2s ease, opacity .2s ease; }
.kth-menu-toggle:hover { background:var(--lime-hover); border-color:var(--lime-hover); color:#111; transform:translateY(-1px); }
.kth-menu-toggle[aria-expanded='true'] span:nth-child(1) { transform:translateY(5.5px) rotate(45deg); }
.kth-menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity:0; }
.kth-menu-toggle[aria-expanded='true'] span:nth-child(3) { transform:translateY(-5.5px) rotate(-45deg); }
.kth-mobile-nav { display:none; width:min(calc(100% - 2rem), 1120px); margin:0 auto 1rem; padding:1rem; border:1px solid var(--border); border-radius:1.25rem; background:var(--surface); box-shadow:var(--shadow); }
.kth-mobile-nav a { display:block; padding:.85rem 0; text-decoration:none; color:var(--text); border-bottom:1px solid var(--divider); }
.kth-mobile-nav a:last-child { border-bottom:0; }
.kth-mobile-nav.is-open { display:block; }
.kth-nav { display:flex; gap:1rem; flex-wrap:wrap; font-size:var(--font-nav); }
.kth-nav a { text-decoration:none; color:var(--muted); }
.kth-theme-toggle { min-width:44px; min-height:44px; border:1px solid var(--border); border-radius:9999px; background:var(--surface); color:var(--text); display:grid; place-items:center; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.kth-theme-toggle:hover { background:var(--lime-hover); color:#111; border-color:var(--lime-hover); transform:translateY(-1px); }
.kth-page { position:relative; overflow:hidden; }
.kth-page::after { content:''; pointer-events:none; position:fixed; inset:0; opacity:.03; background-image:radial-gradient(circle at 20% 20%, rgba(0,0,0,.12) .6px, transparent .7px); background-size:18px 18px; }
html[data-theme='dark'] .kth-page::after { opacity:.04; background-image:radial-gradient(circle at 20% 20%, rgba(255,255,255,.14) .6px, transparent .7px); }
.kth-hero { padding:clamp(4rem,10vw,8rem) 0 var(--space-16); position:relative; z-index:1; }
.kth-eyebrow,.kth-label { font-size:var(--font-eyebrow); text-transform:uppercase; letter-spacing:.18em; color:var(--muted); }
.kth-hero-grid,.kth-section-head,.kth-intro,.kth-services,.kth-statement,.kth-contact { display:grid; gap:var(--space-10); }
.kth-hero-grid { grid-template-columns:1.15fr .85fr; align-items:end; }
.kth-headline { font-family:'Archivo', Arial, sans-serif; font-size:var(--text-hero); font-weight:800; line-height:.92; letter-spacing:-.05em; text-transform:uppercase; max-width:10ch; margin:0; }
.kth-copy { display:grid; gap:var(--space-6); }
.kth-copy p,.kth-card p,.kth-manifesto p,.kth-side p,.kth-contact-box p { font-size:var(--font-lead); color:var(--muted); max-width:34ch; margin:0; }
.kth-actions { display:flex; gap:var(--space-4); flex-wrap:wrap; }
.kth-btn { min-height:48px; padding:0 1.25rem; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-full); border:1px solid var(--border); text-decoration:none; font-size:var(--text-sm); background:transparent; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.kth-btn:hover, .kth-btn:focus-visible { background:var(--lime-hover); border-color:var(--lime-hover); color:#111; transform:translateY(-1px); }
.kth-btn-primary { background:var(--primary); color:var(--inverse); border-color:var(--primary); }
.kth-btn-secondary { color:var(--text); }
.kth-ticker { margin-top:var(--space-16); border-top:1px solid var(--divider); border-bottom:1px solid var(--divider); overflow:hidden; }
.kth-ticker-track { display:flex; gap:var(--space-8); width:max-content; padding:1rem 0; animation:kth-marquee 22s linear infinite; }
.kth-ticker-track span { font-family:'Archivo', Arial, sans-serif; font-size:var(--text-xl); text-transform:uppercase; letter-spacing:-.03em; }
.kth-section { padding:clamp(3rem,8vw,6rem) 0; border-top:1px solid var(--divider); position:relative; z-index:1; }
.kth-section-head { grid-template-columns:.7fr 1.3fr; margin-bottom:var(--space-12); }
.kth-section h2,.kth-service h3,.kth-mail,.kth-quote { font-family:'Archivo', Arial, sans-serif; text-transform:uppercase; letter-spacing:-.04em; }
.kth-section h2 { font-size:var(--font-section-title); font-weight:800; line-height:1; margin:0; }
.kth-intro { grid-template-columns:1fr 1.05fr; align-items:start; }
.kth-intro > .kth-manifesto { border:none !important; box-shadow:none !important; background:transparent !important; }
.kth-card,.kth-manifesto,.kth-service { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); transition: background-color .25s ease, border-color .25s ease; }
.kth-card,.kth-manifesto,.kth-service,.kth-contact-box { padding:var(--space-6); }
.kth-card img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:calc(var(--radius) - var(--space-6)); background:var(--surface-2); }
.kth-meta { display:flex; justify-content:space-between; gap:1rem; padding-top:1rem; font-size:var(--text-sm); color:var(--muted); }
.kth-line { height:1px; background:var(--divider); margin:var(--space-6) 0; }
.kth-services { grid-template-columns:repeat(3,1fr); }
.kth-service { min-height:300px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.kth-service h3 { font-size:var(--font-service-title); line-height:1; margin:0; max-width:10ch; position:relative; }
.kth-statement { grid-template-columns:1.2fr .8fr; align-items:start; }
.kth-quote { font-size:var(--font-quote); font-weight:800; line-height:.95; margin:0; }
.kth-side { display:grid; gap:var(--space-6); }
.kth-contact { grid-template-columns:1fr 1fr; align-items:start; }
.kth-contact-box { background:var(--primary); color:var(--inverse); border-radius:var(--radius); transition: background-color .25s ease, color .25s ease; }
.kth-contact-box p { color:color-mix(in srgb, var(--inverse) 82%, transparent); }
.kth-mail { display:inline-block; margin-top:var(--space-8); color:var(--inverse); text-decoration:none; font-size:var(--font-mail); font-weight:800; }
.kth-wpforms-wrap { margin-top:2rem; }
.kth-wpforms-wrap .wpforms-container { margin:0; }
.kth-wpforms-wrap .wpforms-field-label { color:var(--inverse) !important; font-weight:600; }
.kth-wpforms-wrap input, .kth-wpforms-wrap textarea, .kth-wpforms-wrap select { background:color-mix(in srgb, var(--inverse) 8%, transparent) !important; color:var(--inverse) !important; border:1px solid color-mix(in srgb, var(--inverse) 22%, transparent) !important; border-radius:1rem !important; padding:.95rem 1rem !important; }
.kth-wpforms-wrap input::placeholder, .kth-wpforms-wrap textarea::placeholder { color:color-mix(in srgb, var(--inverse) 64%, transparent) !important; }
.kth-wpforms-wrap .wpforms-submit-container { padding-top:1rem !important; }
.kth-wpforms-wrap button[type='submit'], .kth-wpforms-wrap .wpforms-submit {
  min-height:48px !important; padding:0 1.25rem !important; border-radius:9999px !important; border:1px solid #fff !important; background:#fff !important; color:#111 !important; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}
.kth-wpforms-wrap button[type='submit']:hover, .kth-wpforms-wrap button[type='submit']:focus, .kth-wpforms-wrap .wpforms-submit:hover, .kth-wpforms-wrap .wpforms-submit:focus {
  background:var(--lime-hover) !important; border-color:var(--lime-hover) !important; color:#111 !important; transform:translateY(-1px);
}
.kth-site-footer { padding:2rem 0; border-top:1px solid var(--divider); position:relative; z-index:1; background:var(--bg); transition: background-color .25s ease; }
.kth-footer-inner { display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; font-size:var(--text-sm); color:var(--muted); align-items:flex-end; }
.kth-footer-brand { display:grid; gap:.9rem; }
.kth-footer-brand img { height:24px; width:auto; transition: filter .25s ease; }
html[data-theme='dark'] .kth-footer-brand img { filter: invert(1) brightness(1.05); }
.kth-socials { display:flex; gap:1rem; flex-wrap:wrap; }
.kth-socials a { text-decoration:none; }
.kth-generic-page { padding:4rem 0; }
.kth-page-title { font-family:'Archivo', Arial, sans-serif; font-size:var(--text-2xl); margin:0 0 1rem; }
.kth-page-content { max-width:70ch; }
.kth-reveal { opacity:0; transform:translateY(var(--anim-distance)); transition:opacity var(--anim-duration) cubic-bezier(.16,1,.3,1), transform var(--anim-duration) cubic-bezier(.16,1,.3,1); transition-delay: var(--reveal-delay, 0s); }
.kth-page[data-animation-style='fade-in'] .kth-reveal { transform:none; }
.kth-page[data-animation-style='slide-left'] .kth-reveal { transform:translateX(calc(var(--anim-distance) * -1)); }
.kth-page[data-animation-style='slide-right'] .kth-reveal { transform:translateX(var(--anim-distance)); }
.kth-page[data-animation-style='zoom-in'] .kth-reveal { transform:scale(.94); }
.kth-page[data-animation-style='none'] .kth-reveal { opacity:1; transform:none; transition:none; }
.kth-reveal.is-visible { opacity:1; transform:none; }
@keyframes kth-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width:980px){ .kth-hero-grid,.kth-section-head,.kth-intro,.kth-services,.kth-statement,.kth-contact{grid-template-columns:1fr;} .kth-headline{max-width:100%;} .kth-service{min-height:0;} }
@media (max-width:860px){ .kth-nav{display:none;} .kth-menu-toggle{display:inline-flex;} .kth-header-actions{margin-left:auto;} }
@media (max-width:640px){ .kth-header-inner{grid-template-columns:minmax(0,1fr) auto; gap:.75rem;} .kth-header-actions{width:auto; justify-content:flex-end; gap:.5rem;} .kth-brand{max-width:100%;} .kth-brand img{height:22px;} .kth-actions{flex-direction:column;} .kth-btn{width:100%;} .kth-mail{word-break:break-word;} }
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important;} .kth-reveal{opacity:1; transform:none;} .kth-ticker-track{animation:none; width:auto; flex-wrap:wrap;} }


.kth-manifesto-quote { position:relative; display:inline-block; width:fit-content; max-width:24ch; padding:2.25rem 2rem 2rem 2rem; isolation:isolate; overflow:visible; }
.kth-manifesto-mark { position:absolute; font-family:'Archivo', Arial, sans-serif; font-weight:800; font-size:var(--quote-mark-size); line-height:.72; letter-spacing:-.08em; color:color-mix(in srgb, var(--text) 10%, transparent); z-index:0; pointer-events:none; }
.kth-manifesto-mark--open { left:0; top:0; transform:translate(-22%, -18%); }
.kth-manifesto-mark--close { right:0; bottom:0; transform:translate(18%, 26%); }
.kth-manifesto-quote p { position:relative; z-index:1; margin:0; font-size:var(--font-lead); color:var(--text); max-width:20ch; }
.kth-manifesto-quote cite { position:relative; z-index:1; display:block; margin-top:1rem; font-size:var(--font-eyebrow); letter-spacing:.14em; text-transform:uppercase; font-style:normal; color:var(--muted); }

.kth-manifesto-quote.no-quote-marks { padding:0; max-width:20ch; }
.kth-manifesto-quote.no-quote-marks .kth-manifesto-mark { display:none; }

.kth-manifesto-quote { border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }

@media (max-width: 900px) {
  .kth-manifesto { width:100%; display:flex; justify-content:center; }
  .kth-manifesto-quote { margin-inline:auto; }
}


/* v43 finetune */
.kth-page-content{display:block;}
.kth-generic-page{padding:0;}
.kth-page-content > article{display:block;}

/* Hero like v32 */
.kth-page-content > .wp-block-group.alignfull:first-child{position:relative;z-index:1;}
.kth-page-content > .wp-block-group.alignfull:first-child{padding-top:clamp(4rem,10vw,8rem) !important;padding-bottom:var(--space-16) !important;}
.kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide{width:min(calc(100% - 2rem), 1120px);margin:0 auto;}
.kth-page-content > .wp-block-group.alignfull:first-child p:first-child{font-size:var(--font-eyebrow) !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--muted);margin-bottom:var(--space-3) !important;}
.kth-page-content > .wp-block-group.alignfull:first-child h1{font-family:'Archivo', Arial, sans-serif;font-size:var(--text-hero) !important;font-weight:800;line-height:.92;letter-spacing:-.05em;text-transform:uppercase;max-width:10ch;margin:0 0 var(--space-6) !important;}
.kth-page-content > .wp-block-group.alignfull:first-child p:not(:first-child){font-size:var(--font-lead);color:var(--muted);max-width:34ch;}
.kth-page-content > .wp-block-group.alignfull:first-child .wp-block-buttons{margin-top:var(--space-6);gap:1rem;}

/* Section rhythm like v32 */
.kth-page-content > .wp-block-group:not(.alignfull),
.kth-page-content > .wp-block-columns,
.kth-page-content > .wp-block-quote,
.kth-page-content > .wp-block-separator{position:relative;z-index:1;}
.kth-page-content > .wp-block-group:not(.alignfull){padding-top:clamp(3rem,8vw,6rem) !important;padding-bottom:clamp(3rem,8vw,6rem) !important;border-top:1px solid var(--divider);}

.kth-page-content .alignwide,
.kth-page-content .kth-page-wrap{width:min(calc(100% - 2rem),1120px);margin:0 auto;}
.kth-page-content .wp-block-heading,
.kth-page-content h1,
.kth-page-content h2,
.kth-page-content h3{font-family:'Archivo', Arial, sans-serif;text-transform:uppercase;color:var(--text);}
.kth-page-content h2{font-size:var(--font-section-title) !important;font-weight:800;line-height:1;letter-spacing:-.04em;max-width:13ch;margin:0 0 var(--space-10) !important;}
.kth-page-content h3{font-size:var(--font-service-title) !important;font-weight:800;line-height:1;letter-spacing:-.04em;max-width:10ch;margin:0 0 var(--space-4) !important;}
.kth-page-content p{font-size:var(--font-body-editable);color:var(--muted);max-width:34ch;}
.kth-page-content .wp-block-columns{gap:var(--space-10);align-items:start;}
.kth-page-content .wp-block-column > * + *{margin-top:1rem;}

/* Cards and service feel */
.kth-page-content .kth-card,
.kth-page-content .wp-block-group.kth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-6);transition:background-color .25s ease,border-color .25s ease;}
.kth-page-content .wp-block-group.kth-card p:last-child{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);max-width:28ch;}
.kth-page-content .wp-block-image.kth-card{padding:0;overflow:hidden;}
.kth-page-content .wp-block-image.kth-card img{display:block;width:100%;height:auto;border-radius:0;}

/* Quote area */
.kth-page-content .kth-manifesto{width:100%;display:flex;justify-content:center;}
.kth-page-content .kth-manifesto-quote{position:relative;display:inline-block;width:fit-content;max-width:24ch;padding:2.25rem 2rem 2rem 2rem;isolation:isolate;overflow:visible;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin:0;}
.kth-page-content .kth-manifesto-quote p{position:relative;z-index:1;margin:0;font-size:var(--font-lead);line-height:1.02;letter-spacing:-.03em;color:var(--text);max-width:20ch;text-transform:none;}
.kth-page-content .kth-manifesto-quote cite{position:relative;z-index:1;display:block;margin-top:1rem;font-size:var(--font-eyebrow);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--muted);}
.kth-page-content .kth-manifesto-mark{position:absolute;font-family:'Archivo', Arial, sans-serif;font-weight:800;font-size:var(--quote-mark-size);line-height:.72;letter-spacing:-.08em;color:color-mix(in srgb, var(--text) 10%, transparent);z-index:0;pointer-events:none;}
.kth-page-content .kth-manifesto-mark--open{left:0;top:0;transform:translate(-22%, -18%);}
.kth-page-content .kth-manifesto-mark--close{right:0;bottom:0;transform:translate(18%, 26%);}
.kth-page-content .wp-block-quote.is-style-plain{border:none;background:transparent;box-shadow:none;padding:0;margin:0 0 var(--space-10);}
.kth-page-content .wp-block-quote.is-style-plain p{font-family:'Archivo', Arial, sans-serif;font-size:var(--font-quote);font-weight:800;line-height:.98;letter-spacing:-.04em;text-transform:uppercase;color:var(--text);max-width:14ch;}
.kth-page-content .wp-block-quote.is-style-plain cite{display:none;}

/* Buttons exactly snappier */
.kth-page-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:1rem;}
.kth-page-content .wp-block-button__link{min-height:48px;padding:0 1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid var(--border);text-decoration:none;font-size:var(--text-sm);font-weight:600;background:transparent;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;}
.kth-page-content .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--primary);color:var(--inverse);border-color:var(--primary);}
.kth-page-content .wp-block-button__link:hover{background:var(--lime-hover);border-color:var(--lime-hover);color:#111;transform:translateY(-1px);}

/* Reveal closer to v32 */
.kth-page-content .wp-block-group,
.kth-page-content .wp-block-columns,
.kth-page-content .wp-block-image,
.kth-page-content .wp-block-quote,
.kth-page-content .wp-block-separator,
.kth-page-content .wp-block-column{opacity:0;transform:translateY(var(--anim-distance));transition:opacity var(--anim-duration) cubic-bezier(.16,1,.3,1),transform var(--anim-duration) cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform;}
.kth-page-content .is-visible{opacity:1;transform:none;}

/* Fine text handling */
.kth-page-content .wp-block-column > p:first-of-type + p{margin-top:.75rem;}
.kth-page-content .wp-block-separator{border:none;border-top:1px solid var(--divider);opacity:1;transform:none;margin:48px 0 !important;}

@media (max-width:980px){
  .kth-page-content .wp-block-columns{grid-template-columns:1fr !important;}
  .kth-page-content > .wp-block-group.alignfull:first-child h1{max-width:100%;}
  .kth-page-content h2{max-width:100%;}
}
@media (prefers-reduced-motion: reduce){
  .kth-page-content .wp-block-group,
  .kth-page-content .wp-block-columns,
  .kth-page-content .wp-block-image,
  .kth-page-content .wp-block-quote,
  .kth-page-content .wp-block-separator,
  .kth-page-content .wp-block-column{opacity:1;transform:none;transition:none;}
}


/* v44 speed + width + service cards */
.kth-wrap,
.kth-page-content .alignwide,
.kth-page-content .kth-page-wrap,
.kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide{width:min(calc(100% - 2rem), 1240px);}

.kth-page-content > .wp-block-group:not(.alignfull) .wp-block-columns[style*="repeat(3"],
.kth-page-content #leistungen .wp-block-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);}

.kth-page-content #leistungen .wp-block-group.kth-card,
.kth-page-content #leistungen .kth-card{display:flex;flex-direction:column;justify-content:space-between;min-height:300px;padding:var(--space-6);}

.kth-page-content #leistungen h3{max-width:none;width:100%;}
.kth-page-content #leistungen .wp-block-heading{max-width:none;}
.kth-page-content #leistungen .wp-block-group.kth-card p{max-width:none;}
.kth-page-content #leistungen .wp-block-group.kth-card p:last-child{max-width:100%;}

.kth-page-content .wp-block-group,
.kth-page-content .wp-block-columns,
.kth-page-content .wp-block-image,
.kth-page-content .wp-block-quote,
.kth-page-content .wp-block-separator,
.kth-page-content .wp-block-column{transition-duration:.52s;}

@media (max-width:980px){
  .kth-wrap,
  .kth-page-content .alignwide,
  .kth-page-content .kth-page-wrap,
  .kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide{width:min(calc(100% - 2rem), 1120px);}
  .kth-page-content #leistungen .wp-block-columns{grid-template-columns:1fr !important;}
}


/* v45 service cards + contact card refinement */
.kth-wrap,
.kth-page-content .alignwide,
.kth-page-content .kth-page-wrap,
.kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide{
  width:min(calc(100% - 3rem), 1220px);
  margin-inline:auto;
}

.kth-page-content,
.kth-generic-page,
.kth-page-content > article{
  width:100%;
  margin-inline:auto;
}

.kth-page-content #leistungen .wp-block-columns{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-8);
  align-items:stretch;
}

.kth-page-content #leistungen .wp-block-column{
  display:flex;
}

.kth-page-content #leistungen .wp-block-group.kth-card,
.kth-page-content #leistungen .kth-card{
  width:100%;
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:var(--space-6);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.kth-page-content #leistungen .wp-block-group.kth-card > *{
  width:100%;
}

.kth-page-content #leistungen h3{
  max-width:none;
  width:100%;
  margin-bottom:var(--space-5) !important;
}

.kth-page-content #leistungen .wp-block-group.kth-card p{
  max-width:none;
}

.kth-page-content #leistungen .wp-block-group.kth-card p:last-child{
  margin-top:var(--space-8);
  font-size:var(--text-sm);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.kth-page-content #kontakt .wp-block-group.kth-card,
.kth-page-content #kontakt .kth-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:clamp(1.5rem,2vw,2rem);
  max-width:100%;
}

.kth-page-content #kontakt h2{
  max-width:12ch;
  margin-bottom:var(--space-6) !important;
}

.kth-page-content #kontakt p{
  max-width:40ch;
}

.kth-page-content #kontakt p a,
.kth-page-content #kontakt a[href^="mailto:"]{
  font-family:'Archivo', Arial, sans-serif;
  font-size:var(--font-mail);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1;
  text-transform:uppercase;
  color:var(--text);
  text-decoration:none;
}

.kth-page-content #kontakt p + p{
  margin-top:var(--space-5);
}

@media (max-width:980px){
  .kth-wrap,
  .kth-page-content .alignwide,
  .kth-page-content .kth-page-wrap,
  .kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide{
    width:min(calc(100% - 2rem), 1120px);
  }
  .kth-page-content #leistungen .wp-block-columns{grid-template-columns:1fr !important;}
  .kth-page-content #leistungen .wp-block-group.kth-card,
  .kth-page-content #leistungen .kth-card{min-height:0;}
}


/* v46 wider desktop + contact mail fit */
.kth-wrap,
.kth-page-content .alignwide,
.kth-page-content .kth-page-wrap,
.kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide{
  width:min(calc(100% - 4rem), 1360px);
  margin-inline:auto;
}

.kth-page-content #leistungen .wp-block-columns{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.5rem,2vw,2.25rem);
}

.kth-page-content #leistungen .wp-block-group.kth-card,
.kth-page-content #leistungen .kth-card{
  min-height:340px;
}

.kth-page-content #kontakt .wp-block-group.kth-card,
.kth-page-content #kontakt .kth-card{
  padding:clamp(1.5rem,2vw,2.5rem);
  overflow:hidden;
}

.kth-page-content #kontakt p,
.kth-page-content #kontakt a{
  max-width:100%;
}

.kth-page-content #kontakt p a,
.kth-page-content #kontakt a[href^="mailto:"]{
  display:block;
  font-family:'Archivo', Arial, sans-serif;
  font-size:clamp(1.5rem,2.2vw,2.6rem);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.05;
  text-transform:uppercase;
  color:var(--text);
  text-decoration:none;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:100%;
}

@media (max-width:980px){
  .kth-wrap,
  .kth-page-content .alignwide,
  .kth-page-content .kth-page-wrap,
  .kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide{
    width:min(calc(100% - 2rem), 1120px);
  }
}


/* editable WordPress menu for v46 */
.kth-nav,
.kth-mobile-nav{font-size:var(--font-nav);}
.kth-nav .menu,
.kth-mobile-nav .menu,
.kth-nav-menu,
.kth-mobile-nav-menu{display:contents;margin:0;padding:0;list-style:none;}
.kth-nav .menu-item,
.kth-mobile-nav .menu-item{list-style:none;}
.kth-nav .menu-item a,
.kth-nav-menu a{display:inline-flex;align-items:center;text-decoration:none;}
.kth-mobile-nav .menu-item a,
.kth-mobile-nav-menu a{display:block;text-decoration:none;}


/* editable footer menu */
.kth-socials .menu,
.kth-socials .kth-footer-menu{display:contents;margin:0;padding:0;list-style:none;}
.kth-socials .menu-item{list-style:none;}
.kth-socials .menu-item a,
.kth-footer-menu a{text-decoration:none;}


/* contact mail size only */
.kth-mail,
.kth-page-content #kontakt a[href^="mailto:"],
.kth-page-content #kontakt p a[href^="mailto:"]{font-size:var(--kth-mail-size) !important;line-height:1.05;}


/* 70 Prozent Fensterbreite fuer das Theme */

.kth-wrap,
.kth-page-content .alignwide,
.kth-page-content .kth-page-wrap,
.kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide,
.kth-page-content,
.kth-generic-page,
.kth-page-content > article,
.entry-content,
.wp-site-blocks {
  width: min(70vw, 1360px) !important;
  max-width: 70vw !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.kth-page-content > .wp-block-group:not(.alignfull),
.kth-page-content > .wp-block-columns,
.kth-page-content > .wp-block-quote,
.kth-page-content > .wp-block-separator,
.kth-page-content .kth-card,
.kth-page-content .wp-block-group.kth-card,
.kth-page-content .kth-manifesto,
.kth-page-content .kth-manifesto-quote,
.kth-page-content #kontakt .wp-block-group.kth-card,
.kth-page-content #kontakt .kth-card,
.kth-page-content #leistungen .wp-block-group.kth-card,
.kth-page-content #leistungen .kth-card,
.kth-page-content .wp-block-column {
  width: 100% !important;
  max-width: none !important;
}

.kth-page-content p,
.kth-page-content h1,
.kth-page-content h2,
.kth-page-content h3,
.kth-page-content h4,
.kth-page-content h5,
.kth-page-content h6,
.kth-copy p,
.kth-card p,
.kth-manifesto p,
.kth-side p,
.kth-contact-box p,
.kth-page-content .wp-block-group.kth-card p,
.kth-page-content .wp-block-group.kth-card p:last-child,
.kth-page-content .kth-manifesto-quote p,
.kth-page-content .kth-manifesto-quote cite,
.kth-page-content .wp-block-quote.is-style-plain p,
.kth-page-content #kontakt p,
.kth-page-content #kontakt a,
.kth-page-content #leistungen h3,
.kth-page-content .wp-block-heading {
  max-width: none !important;
  width: 100% !important;
}

.kth-page-content .wp-block-columns {
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
}

.kth-page-content .wp-block-column {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

@media (max-width: 980px) {
  .kth-wrap,
  .kth-page-content .alignwide,
  .kth-page-content .kth-page-wrap,
  .kth-page-content > .wp-block-group.alignfull:first-child .wp-block-group.alignwide,
  .kth-page-content,
  .kth-generic-page,
  .kth-page-content > article,
  .entry-content,
  .wp-site-blocks {
    width: calc(100% - 1rem) !important;
    max-width: calc(100% - 1rem) !important;
  }
}



/* Limette Hover fuer Buttons */
.kth-page-content .wp-block-button__link,
.kth-page-content .wp-element-button,
.kth-btn,
button,
input[type="submit"] {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.kth-page-content .wp-block-button__link:hover,
.kth-page-content .wp-element-button:hover,
.kth-btn:hover,
button:hover,
input[type="submit"]:hover,
.kth-page-content .wp-block-button__link:focus-visible,
.kth-page-content .wp-element-button:focus-visible,
.kth-btn:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible {
  background: #d7ff42 !important;
  border-color: #d7ff42 !important;
  color: #111111 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(215,255,66,.32) !important;
}

/* Menue-Buttons ausnehmen */
.kth-nav .wp-block-button__link:hover,
.kth-nav .wp-element-button:hover,
.kth-nav button:hover,
.kth-nav input[type="submit"]:hover,
.kth-mobile-nav .wp-block-button__link:hover,
.kth-mobile-nav .wp-element-button:hover,
.kth-mobile-nav button:hover,
.kth-mobile-nav input[type="submit"]:hover,
.kth-site-header .wp-block-button__link:hover,
.kth-site-header .wp-element-button:hover,
.kth-site-header button:hover,
.kth-site-header input[type="submit"]:hover {
  background: transparent !important;
  border-color: currentColor !important;
  color: inherit !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Fette Limetten-Unterstreichung nur bei Hover/Focus, Menue, Buttons und Footer-Links ausgenommen */

.kth-page-content a:not(.button):not(.btn):not([class*='button']):not([role='button']),
.entry-content a:not(.button):not(.btn):not([class*='button']):not([role='button']),
.kth-generic-page a:not(.button):not(.btn):not([class*='button']):not([role='button']) {
  text-decoration-line: underline !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 0.18em !important;
  text-underline-offset: 0.18em !important;
  transition: color .2s ease, text-decoration-color .2s ease, text-decoration-thickness .2s ease !important;
}

.kth-page-content a:not(.button):not(.btn):not([class*='button']):not([role='button']):hover,
.kth-page-content a:not(.button):not(.btn):not([class*='button']):not([role='button']):focus-visible,
.entry-content a:not(.button):not(.btn):not([class*='button']):not([role='button']):hover,
.entry-content a:not(.button):not(.btn):not([class*='button']):not([role='button']):focus-visible,
.kth-generic-page a:not(.button):not(.btn):not([class*='button']):not([role='button']):hover,
.kth-generic-page a:not(.button):not(.btn):not([class*='button']):not([role='button']):focus-visible {
  text-decoration-color: #d7ff42 !important;
  text-decoration-thickness: 0.22em !important;
}

.kth-nav a,
.kth-nav a:hover,
.kth-nav a:focus-visible,
.kth-mobile-nav a,
.kth-mobile-nav a:hover,
.kth-mobile-nav a:focus-visible,
.kth-site-header a,
.kth-site-header a:hover,
.kth-site-header a:focus-visible,
.kth-header-inner a,
.kth-header-inner a:hover,
.kth-header-inner a:focus-visible,
.kth-brand,
.kth-brand:hover,
.kth-brand:focus-visible,
.kth-site-footer a,
.kth-site-footer a:hover,
.kth-site-footer a:focus-visible,
a.button,
a.button:hover,
a.button:focus-visible,
a.btn,
a.btn:hover,
a.btn:focus-visible,
a[class*='button'],
a[class*='button']:hover,
a[class*='button']:focus-visible,
a[role='button'],
a[role='button']:hover,
a[role='button']:focus-visible {
  text-decoration: none !important;
}
