/* maximilianlehmann.pro — Stilformen nach dem Limestone-Vorbild: Hairline-Raster, Mono-Beschriftungen, nummerierte Abschnitte,
   dunkle Statement-Bänder, Fallstudien-Karten, Sprechblasen-Zitat. Farben und Tonalität bleiben fainin/Max. */
@font-face{font-family:Archivo;src:url(/fonts/archivo.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Geist;src:url(/fonts/geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"DM Mono";src:url(/fonts/dmmono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Mono";src:url(/fonts/dmmono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --paper:#fdfdfc; --band:#f5f6f7; --line:#e3e6ea; --ink:#14181f; --muted:#5d646d;
  --accent:#007a7d; --accent-hover:#006063; --brand:#5bcbce; --brand-soft:#e3fafa;
  --statement:#0c1a26; --on-dark:#fff; --on-dark-muted:rgba(255,255,255,.7); --line-dark:rgba(255,255,255,.16);
  --r:6px;
  --display:Archivo,Geist,ui-sans-serif,system-ui,sans-serif;
  --body:Geist,ui-sans-serif,system-ui,sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(1.25rem,6vw,5rem);
  --vpad:clamp(3.5rem,2rem + 7vw,8rem);
  --shell:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 clamp(1rem,.94rem + .3vw,1.125rem)/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--display);line-height:1.08;letter-spacing:-.025em;margin:0 0 16px;font-weight:700;text-wrap:balance}
h1{font-size:clamp(2.2rem,1rem + 4.6vw,4.25rem);letter-spacing:-.035em}
h2{font-size:clamp(1.75rem,1.1rem + 2.6vw,3rem)}
h3{font-size:clamp(1.15rem,1rem + .6vw,1.45rem);line-height:1.2;letter-spacing:-.015em}
p{margin:0 0 16px;max-width:66ch}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}
.dark :focus-visible{outline-color:var(--brand)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-100px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--r);z-index:100}
.skip:focus{top:16px}
.shell{max-width:calc(var(--shell) + 2*var(--pad));margin-inline:auto;padding-inline:var(--pad)}

/* Abschnitte mit Hairline-Raster */
.sec{position:relative;padding-block:var(--vpad);box-shadow:inset 0 1px 0 var(--line)}
.sec::before{content:"";position:absolute;inset:0 max(20px,calc((100% - var(--shell))/2 - 40px));border-inline:1px solid var(--line);pointer-events:none;z-index:0}
.sec>*{position:relative;z-index:1}
.sec.band{background:var(--band)}
.sec.dark{background:var(--statement);color:var(--on-dark);box-shadow:none}
.sec.dark::before{border-color:var(--line-dark)}
.sec.dark p{color:var(--on-dark-muted)}
.sec.dark h2,.sec.dark h3{color:#fff}
.sec.dark a:not(.btn){color:var(--brand)}
.sec.flush::before{display:none}
@media (max-width:48rem){.sec::before{display:none}}

/* Beschriftungen und Nummern */
.eyebrow{font:500 .8125rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.dark .eyebrow{color:var(--brand)}
.num{display:block;font:400 clamp(2.5rem,1.5rem + 4vw,4.5rem)/1 var(--mono);color:var(--accent);margin:0 0 12px;letter-spacing:-.04em}
.dark .num{color:var(--brand)}
.lead{font-size:clamp(1.125rem,1rem + .6vw,1.4rem);color:var(--muted);line-height:1.5;max-width:60ch}
.dark .lead{color:var(--on-dark-muted)}
.muted{color:var(--muted)}
.head{max-width:52rem;margin-bottom:clamp(2rem,1rem + 3vw,4rem)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--r);background:var(--ink);color:#fff;font:600 1rem/1 var(--body);text-decoration:none;border:1.5px solid var(--ink);cursor:pointer;transition:background .2s ease-out,color .2s ease-out,transform .2s ease-out}
.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn:active{transform:translateY(1px)}
.btn::after{content:"→";font-weight:500}
.btn.plain::after{content:none}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.dark .btn{background:var(--brand);border-color:var(--brand);color:var(--statement)}
.dark .btn:hover{background:#fff;border-color:#fff;color:var(--statement)}
.dark .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.dark .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
.btn-sm{min-height:44px;padding:0 18px;font-size:.9375rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.link-arrow{font-weight:600;text-decoration:none;font-family:var(--body)}
.link-arrow::after{content:" →"}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,253,252,.92);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.brand{font:700 1.125rem/1 var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.02em;padding:12px 0}
.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r)}
.menu summary::-webkit-details-marker{display:none}
.burger,.burger::before,.burger::after{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;position:relative;content:""}
.burger::before{position:absolute;top:-7px}.burger::after{position:absolute;top:7px}
.menu nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:16px var(--pad) 24px;display:flex;flex-direction:column;gap:2px}
.menu nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;padding:12px 0;min-height:44px}
.menu nav a[aria-current=page]{color:var(--accent)}
.menu nav .btn{margin-top:8px}
.nav-d{display:none}
@media (min-width:72rem){
  .menu{display:none}
  .nav-d{display:flex;align-items:center;gap:28px}
  .nav-d a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;font-size:.9375rem;padding:12px 0}
  .nav-d a:not(.btn):hover,.nav-d a[aria-current=page]{color:var(--accent)}
}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(2.5rem,1rem + 6vw,6rem) var(--vpad)}
.hero::before{display:none}
.hero-grid{display:grid;gap:48px;align-items:center}
@media (min-width:56rem){.hero-grid{grid-template-columns:1.2fr .8fr;gap:72px}}
.hero h1{margin-bottom:24px}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 64%,var(--brand) 64%);padding:0 .08em}
.portrait-wrap{position:relative;max-width:440px;margin-inline:auto;width:100%}
.portrait-wrap::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1.5px solid var(--accent);border-radius:var(--r);z-index:0}
.portrait{position:relative;z-index:1;border-radius:var(--r);aspect-ratio:866/1100;object-fit:cover;width:100%;background:var(--band)}
.tagline{font:500 .9375rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 20px}
.meta{display:grid;gap:0;margin:28px 0 0;border-top:1px solid var(--line);max-width:36rem}
.meta div{display:grid;grid-template-columns:8.5rem 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.meta dt{font:500 .8125rem/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.meta dd{margin:0;font-size:.9375rem}
.dark .meta,.dark .meta div{border-color:var(--line-dark)}
.dark .meta dt{color:var(--on-dark-muted)}
.hero-sm{padding-block:clamp(2.5rem,1rem + 5vw,5rem) clamp(2rem,1rem + 3vw,4rem)}
.hero-sm h1{max-width:20ch}
.crumb{font:500 .8125rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 28px}
.crumb a{text-decoration:none;color:var(--muted)}.crumb a:hover{color:var(--accent)}

/* Logoleiste */
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:20px 48px;margin:0;padding:0;list-style:none}
.logos a{display:flex;align-items:center;min-height:44px;padding:6px 0;opacity:.85;filter:grayscale(1) contrast(1.1);transition:opacity .2s ease-out,filter .2s ease-out}
.logos a:hover,.logos a:focus-visible{opacity:1;filter:none}
.logos img{height:30px;width:auto;max-width:160px}
.logos img.sq{height:48px}
.logos img.wide{height:22px;max-width:200px}
.logo-label{font:500 .8125rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.logo-row{display:grid;gap:16px}
@media (min-width:56rem){.logo-row{grid-template-columns:auto 1fr;align-items:center;gap:56px}.logo-row .logo-label{margin:0}}

/* Zahlen */
.stats{display:grid;grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
@media (min-width:56rem){.stats{grid-template-columns:repeat(4,1fr)}}
.stats.three{grid-template-columns:repeat(3,1fr)}
.stat{padding:clamp(1.25rem,1rem + 1.5vw,2rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat:nth-child(2n){border-right:0}
@media (min-width:56rem){.stat{border-bottom:0;border-right:1px solid var(--line)}.stat:nth-child(2n){border-right:1px solid var(--line)}.stat:last-child{border-right:0}}
.stat b{display:block;white-space:nowrap;font:500 clamp(1.7rem,1rem + 2.6vw,3rem)/1 var(--mono);letter-spacing:-.05em;color:var(--ink)}
.stat span{display:block;margin-top:12px;font-size:.9375rem;color:var(--muted);line-height:1.4}
.dark .stats{background:transparent;border-color:var(--line-dark)}
.dark .stat{border-color:var(--line-dark)}
.dark .stat b{color:var(--brand)}.dark .stat span{color:var(--on-dark-muted)}

/* Bild-Band */
.bleed{position:relative;margin:0}
.bleed img{width:100%;height:clamp(260px,46vw,560px);object-fit:cover;border-radius:0}
.bleed figcaption{position:absolute;left:var(--pad);bottom:24px;margin:0;background:var(--statement);color:#fff;padding:10px 16px;border-radius:var(--r);font:500 .8125rem/1.2 var(--mono);letter-spacing:.04em;max-width:calc(100% - 2*var(--pad))}
.bleed figcaption b{color:var(--brand);margin-right:8px;font-weight:500}

/* Geschichte und Zeitleiste */
.story{display:grid;gap:48px}
@media (min-width:56rem){.story{grid-template-columns:.9fr 1.1fr;gap:72px}}
.story .big{font:700 clamp(1.6rem,1rem + 2vw,2.5rem)/1.12 var(--display);letter-spacing:-.03em;text-wrap:balance;margin:0}
.timeline{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:5.5rem 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.timeline b{font:500 .875rem/1.6 var(--mono);color:var(--accent);letter-spacing:.02em}
.timeline strong{display:block;font:600 1.0625rem/1.3 var(--display)}
.timeline span{display:block;color:var(--muted);font-size:.9375rem;margin-top:2px}
.dark .timeline,.dark .timeline li{border-color:var(--line-dark)}
.dark .timeline b{color:var(--brand)}.dark .timeline strong{color:#fff}.dark .timeline span{color:var(--on-dark-muted)}
.prose{max-width:68ch}.prose h2{font-size:clamp(1.3rem,1.1rem + 1vw,1.75rem);margin-top:40px}.prose li{margin-bottom:6px}

/* Karten (Fallstudien) */
.cards{display:grid;gap:24px}
@media (min-width:48rem){.cards.two{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.cards.three{grid-template-columns:repeat(3,1fr)}}
.case{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s ease-out,transform .2s ease-out,box-shadow .2s ease-out}
.case:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(12,26,38,.35);color:inherit}
.case .thumb{aspect-ratio:1200/630;background:var(--band);border-bottom:1px solid var(--line);overflow:hidden}
.case .thumb img{width:100%;height:100%;object-fit:cover}
.case .body{display:flex;flex-direction:column;gap:12px;padding:24px;flex:1}
.case h3{margin:0}
.case p{margin:0;color:var(--muted);font-size:1rem}
.case .go{margin-top:auto;padding-top:12px;font-weight:600;color:var(--accent)}
.case .go::after{content:" →"}
.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.tags li{font:500 .75rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--muted);background:var(--paper)}
.case.dashed{border:1.5px dashed #b6bcc6;background:transparent}
.case.dashed .thumb{display:grid;place-items:center;background:transparent;font:400 clamp(2.5rem,2rem + 3vw,4.5rem)/1 var(--mono);color:var(--accent)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5rem,1rem + 2vw,2.5rem);display:flex;flex-direction:column;align-items:flex-start}
.card p{color:var(--muted)}
.card .actions{margin-top:auto;padding-top:16px}
.card.dk{background:var(--statement);border-color:var(--statement);color:#fff}
.card.dk p{color:var(--on-dark-muted)}.card.dk .eyebrow{color:var(--brand)}.card.dk h3{color:#fff}
.card.dk .btn{background:var(--brand);border-color:var(--brand);color:var(--statement)}
.card.dk .btn:hover{background:#fff;border-color:#fff}
.card.dk :focus-visible{outline-color:var(--brand)}

/* Nummerierte Blöcke */
.blocks{display:grid;gap:0;border-top:1px solid var(--line);margin:0;padding:0;list-style:none}
.blocks li{display:grid;gap:8px;padding:28px 0;border-bottom:1px solid var(--line)}
@media (min-width:48rem){.blocks li{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px}}
.blocks h3{margin:0}
.blocks p{margin:0;color:var(--muted)}
.dark .blocks,.dark .blocks li{border-color:var(--line-dark)}
.dark .blocks p{color:var(--on-dark-muted)}
.feat{display:grid;gap:24px}
@media (min-width:48rem){.feat{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.feat.three{grid-template-columns:repeat(3,1fr)}}
.feat article{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:var(--paper)}
.feat h3{font-size:1.2rem}.feat p{margin:0;color:var(--muted)}
.feat .k{font:500 .75rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:14px}
.dark .feat article{background:transparent;border-color:var(--line-dark)}
.dark .feat p{color:var(--on-dark-muted)}.dark .feat .k{color:var(--brand)}
.steps{counter-reset:s;padding:0;margin:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.steps li{counter-increment:s;position:relative;padding:22px 0 22px 4.5rem;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:22px;font:400 1.5rem/1.2 var(--mono);color:var(--accent)}
.steps h3{margin:0 0 4px;font-size:1.2rem}.steps p{margin:0;color:var(--muted)}
.split{display:grid;gap:48px;align-items:start}
@media (min-width:56rem){.split{grid-template-columns:1fr 1fr;gap:72px}}
.list{padding:0;margin:0 0 16px;list-style:none;display:grid;gap:12px}
.list li{position:relative;padding-left:28px;max-width:62ch}
.list li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:2px;background:var(--accent)}
.note{border-left:3px solid var(--accent);padding:16px 24px;background:var(--band);border-radius:0 var(--r) var(--r) 0;max-width:62ch}
.note p{margin:0}
.clients{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:24px 0 0;list-style:none}
.clients li{border:1px solid var(--line);border-radius:999px;padding:10px 18px;font:600 1rem/1.2 var(--display);background:var(--paper)}

/* Sprechblasen-Zitat */
.bubbles{display:grid;gap:56px}
@media (min-width:56rem){.bubbles.two{grid-template-columns:repeat(2,1fr);gap:40px}}
.bubble{margin:0;display:flex;flex-direction:column}
.bubble blockquote{margin:0;position:relative;background:var(--accent);color:#fff;border-radius:18px;padding:clamp(1.5rem,1rem + 2vw,2.5rem)}
.bubble blockquote::after{content:"";position:absolute;left:48px;bottom:-20px;border-style:solid;border-width:20px 24px 0 0;border-color:var(--accent) transparent transparent transparent}
.bubble blockquote p{margin:0;max-width:none;font:600 clamp(1.15rem,1rem + .9vw,1.55rem)/1.3 var(--display);letter-spacing:-.015em;color:#fff}
.bubble blockquote p::before{content:"„"}.bubble blockquote p::after{content:"“"}
.bubble blockquote:lang(en) p::before{content:"“"}.bubble blockquote:lang(en) p::after{content:"”"}
.bubble figcaption{margin:34px 0 0 8px;font-size:.9375rem;color:var(--muted);max-width:none}
.bubble figcaption strong{display:block;color:var(--ink);font:600 1rem/1.3 var(--display)}
.dark .bubble figcaption{color:var(--on-dark-muted)}.dark .bubble figcaption strong{color:#fff}
.dark .bubble blockquote{background:var(--brand)}
.dark .bubble blockquote p{color:var(--statement)}
.dark .bubble blockquote::after{border-top-color:var(--brand)}

/* Marquee */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;gap:24px;width:max-content;animation:mq-left 60s linear infinite}
.marquee.rev .track{animation-name:mq-right;animation-duration:75s}
.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}
.marquee+.marquee{margin-top:24px}
.track-dup{display:contents}
@keyframes mq-left{to{transform:translateX(calc(-50% - 12px))}}
@keyframes mq-right{from{transform:translateX(calc(-50% - 12px))}to{transform:translateX(0)}}
.mq-photo{flex:none;width:clamp(240px,28vw,380px);margin:0}
.mq-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.mq-photo span{display:block;margin-top:8px;font:500 .75rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.mq-card{flex:none;width:clamp(260px,30vw,380px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.mq-card b{font:600 1.0625rem/1.25 var(--display)}
.mq-card small{color:var(--muted);font-size:.9375rem;line-height:1.4}
@media (prefers-reduced-motion:reduce){.track{animation:none;flex-wrap:wrap;width:auto}.marquee{-webkit-mask-image:none;mask-image:none}.track-dup{display:none}}

/* Lead-Magnet */
.lead-box{display:grid;gap:40px}
@media (min-width:56rem){.lead-box{grid-template-columns:1fr 1fr;align-items:center;gap:72px}}
.lead-form{display:grid;gap:16px}
.lead-form label{font-weight:600;font-size:.9375rem;color:#fff}
.lead-form input[type=email]{width:100%;min-height:52px;border-radius:var(--r);border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff;padding:0 16px;font:400 1rem var(--body)}
.lead-form input[type=email]::placeholder{color:rgba(255,255,255,.5)}
.lead-form input[type=email]:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400!important;color:var(--on-dark-muted)!important;line-height:1.45}
.check input{width:24px;height:24px;margin-top:2px;flex:none;accent-color:#5bcbce}
.check a{color:var(--brand)}
.form-msg{min-height:1.4em;margin:0;font-size:.9375rem;color:#ffd7a8}
.form-msg.ok{color:var(--brand)}

/* Footer */
.site-footer{background:var(--statement);color:var(--on-dark-muted);padding-block:72px 32px;font-size:.9375rem}
.site-footer a{color:#fff}
.foot{display:grid;gap:40px}
@media (min-width:48rem){.foot{grid-template-columns:1.4fr 1fr 1fr}}
.foot h2{font:500 .8125rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:16px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.foot li a{display:inline-block;padding:9px 0;min-height:44px}
.foot p{color:var(--on-dark-muted)}
.legal{margin-top:56px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between}

.contact-list{display:grid;gap:12px;margin:24px 0 0}
.contact-list .btn{justify-content:space-between}
.reveal{transition:opacity .6s ease-out,transform .6s ease-out}
.reveal.hide{opacity:0;transform:translateY(16px)}
@media (prefers-reduced-motion:reduce){.reveal.hide{opacity:1;transform:none}}

.panel{background:var(--statement);color:#fff;border-radius:var(--r);padding:clamp(1.5rem,1rem + 3vw,4rem)}
.panel p{color:var(--on-dark-muted)}.panel h2,.panel h3{color:#fff}.panel .eyebrow{color:var(--brand)}
.panel .btn{background:var(--brand);border-color:var(--brand);color:var(--statement)}.panel .btn:hover{background:#fff;border-color:#fff}

/* Galerie (Auftritte) */
.gallery{display:grid;gap:24px;align-items:start}
@media (min-width:48rem){.gallery{grid-template-columns:repeat(2,1fr)}.gallery .wide{grid-column:1/-1}}
@media (min-width:64rem){.gallery.g3{grid-template-columns:repeat(3,1fr)}.gallery.g3 .wide{grid-column:span 2}}
figure{margin:0}
.gallery figure img{border-radius:var(--r);width:100%;height:auto;object-fit:cover;background:var(--band)}
.gallery figcaption{margin-top:12px;font-size:.9375rem;color:var(--muted);max-width:60ch}
.gallery figcaption strong{display:block;color:var(--ink);font:600 1.0625rem/1.3 var(--display);margin-bottom:2px}
.ratio-43 img{aspect-ratio:4/3}.ratio-32 img{aspect-ratio:3/2}.ratio-169 img{aspect-ratio:16/9}.ratio-34 img{aspect-ratio:3/4}
.hero-sm .actions{margin-top:28px}
.sec.dark .lead{color:var(--on-dark-muted)}
.sec.dark h2{max-width:22ch}

.logos a.txt{opacity:.85;filter:none;font:700 1.15rem/1 var(--display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.logos a.txt:hover{color:var(--accent)}
.hero-sm{overflow:hidden}
.portrait-wrap::before{inset:14px 0 -14px 14px}
@media (max-width:30rem){.stat b{font-size:1.5rem}}

/* Formulare (hell) */
.form{display:grid;gap:20px;max-width:34rem}
.field{display:grid;gap:8px}
.field label{font-weight:600;font-size:.9375rem}
.field input,.field select{width:100%;min-height:52px;border-radius:var(--r);border:1.5px solid #b8bfc9;background:#fff;color:var(--ink);padding:0 14px;font:400 1rem var(--body)}
.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.form .check{color:var(--muted)!important}.form .check a{color:var(--accent)}
.form .form-msg{color:#8a3b00}.form .form-msg.ok{color:var(--accent)}

.nav-e{display:flex;align-items:center;gap:20px}.nav-e a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;font-size:.9375rem;padding:12px 0}
@media (max-width:40rem){.nav-e .btn{display:none}}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font:600 1.0625rem/1.3 var(--display);list-style:none;display:flex;justify-content:space-between;gap:16px;min-height:44px;align-items:center}.faq summary::after{content:'+';font:400 1.4rem/1 var(--mono);color:var(--accent)}.faq details[open] summary::after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq p{margin:12px 0 0;color:var(--muted)}

/* ===== Ethos-inspirierter Stil (nur Seiten mit theme "ethos") ===== */
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Space Mono";src:url(/fonts/spacemono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Mono";src:url(/fonts/spacemono-700.woff2) format("woff2");font-weight:700;font-display:swap}
.theme-ethos{
  --paper:#f9f6f3; --band:#f1ece5; --line:rgba(12,33,36,.14); --ink:#0c2124; --muted:#44585b;
  --accent:#1a6e78; --accent-hover:#155d66; --brand:#69dfce;
  --statement:#101a1c; --on-dark-muted:rgba(232,244,245,.74); --line-dark:rgba(138,233,220,.2);
  --display:"Instrument Serif",Georgia,serif; --mono:"Space Mono",ui-monospace,Menlo,monospace; --r:18px;
}
.theme-ethos h1,.theme-ethos h2,.theme-ethos h3{font-weight:400;letter-spacing:-.015em;line-height:1.05}
.theme-ethos h1{font-size:clamp(2.6rem,1.2rem + 5.6vw,5rem)}
.theme-ethos h2{font-size:clamp(2.1rem,1.2rem + 3.2vw,3.6rem)}
.theme-ethos h3{font-size:clamp(1.4rem,1.1rem + .9vw,1.9rem);line-height:1.12}
.theme-ethos em,.theme-ethos .hero h1 em{font-style:italic;background:none;color:var(--accent)}
.theme-ethos .site-header{background:rgba(249,246,243,.9)}
.theme-ethos .brand{font-family:var(--display);font-weight:400;font-size:1.4rem;letter-spacing:-.01em}
.theme-ethos .eyebrow,.theme-ethos .tagline,.theme-ethos .meta dt,.theme-ethos .foot h2,.theme-ethos .crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em}
.theme-ethos .num{font-family:var(--display);font-size:clamp(2.4rem,1.6rem + 3vw,4rem);letter-spacing:-.02em}
.theme-ethos .btn{border-radius:999px;border-color:var(--accent);background:var(--accent);color:#fff}
.theme-ethos .btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.theme-ethos .btn-ghost{background:transparent;color:var(--accent)}
.theme-ethos .btn-ghost:hover{background:rgba(31,129,140,.1);color:var(--accent-hover);border-color:var(--accent-hover)}
.theme-ethos .sec.dark .btn{background:var(--brand);border-color:var(--brand);color:#0c2124}
.theme-ethos .sec.dark .btn:hover{background:#fff;border-color:#fff}
.theme-ethos .sec.dark .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.theme-ethos .sec::before{border-color:var(--line)}
.theme-ethos .sec.dark::before{border-color:var(--line-dark)}
.theme-ethos .feat article{border-radius:var(--r);background:#f8f6f2}
.theme-ethos .sec.dark .feat article{background:#142225}
.theme-ethos .note{border-left-color:var(--accent);background:#f3efe9;border-radius:0 var(--r) var(--r) 0}
.theme-ethos .portrait-wrap::before{display:none}
.theme-ethos .portrait{border-radius:calc(var(--r)*1.6);box-shadow:0 30px 60px -30px rgba(12,33,36,.45)}
.theme-ethos .timeline b{font-family:var(--mono);font-size:.78rem}
.theme-ethos .faq summary{font-family:var(--display);font-weight:400;font-size:1.45rem}
.theme-ethos .hero-sm{position:relative;overflow:hidden}
.theme-ethos .hero-sm::before{content:"";display:block;position:absolute;right:-12%;top:-30%;width:min(80vw,820px);aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Crect%20x%3D%2240%22%20y%3D%2240%22%20width%3D%22720%22%20height%3D%22720%22%20rx%3D%22300%22%20fill%3D%22none%22%20stroke%3D%22rgba%2831%2C129%2C140%2C0.16%29%22%20stroke-width%3D%221.5%22/%3E%3Crect%20x%3D%2295%22%20y%3D%2295%22%20width%3D%22610%22%20height%3D%22610%22%20rx%3D%22248%22%20fill%3D%22none%22%20stroke%3D%22rgba%2831%2C129%2C140%2C0.16%29%22%20stroke-width%3D%221.5%22/%3E%3Crect%20x%3D%22150%22%20y%3D%22150%22%20width%3D%22500%22%20height%3D%22500%22%20rx%3D%22196%22%20fill%3D%22none%22%20stroke%3D%22rgba%2831%2C129%2C140%2C0.16%29%22%20stroke-width%3D%221.5%22/%3E%3Crect%20x%3D%22205%22%20y%3D%22205%22%20width%3D%22390%22%20height%3D%22390%22%20rx%3D%22144%22%20fill%3D%22none%22%20stroke%3D%22rgba%2831%2C129%2C140%2C0.16%29%22%20stroke-width%3D%221.5%22/%3E%3Crect%20x%3D%22260%22%20y%3D%22260%22%20width%3D%22280%22%20height%3D%22280%22%20rx%3D%2292%22%20fill%3D%22none%22%20stroke%3D%22rgba%2831%2C129%2C140%2C0.16%29%22%20stroke-width%3D%221.5%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;z-index:0}
.theme-ethos .hero-grid{position:relative;z-index:1}

/* Prozess-Karten auf Verlauf */
.flow{display:grid;gap:24px}
@media (min-width:56rem){.flow{grid-template-columns:repeat(3,1fr)}}
.flow-card{border-radius:calc(var(--r)*1.4);padding:clamp(20px,1rem + 1vw,32px);background:linear-gradient(135deg,#1f818c 0%,#69dfce 70%,#d4f9f8 100%);display:flex;flex-direction:column;gap:18px;min-height:380px}
.flow-card:nth-child(2){background:linear-gradient(135deg,#175855 0%,#39a699 60%,#aff2f1 100%)}
.flow-card:nth-child(3){background:linear-gradient(135deg,#155d66 0%,#1b949f 55%,#8ae9dc 100%)}
.flow-step{font:400 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff}
.flow-card h3{color:#fff;margin:0;text-shadow:0 1px 14px rgba(12,33,36,.25)}
.flow-ui{margin-top:auto;background:#fff;color:#0c2124;border-radius:16px;padding:18px;box-shadow:0 24px 40px -22px rgba(12,33,36,.55);display:grid;gap:10px;font-size:.9rem}
.flow-ui .row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(12,33,36,.1)}
.flow-ui .row:last-child{border-bottom:0}
.flow-ui .row b{font:400 .68rem/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#44585b}
.flow-ui .row span{text-align:right}
.flow-ui .chip{display:inline-block;font:400 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:rgba(31,129,140,.12);color:#155d66}
.flow-ui .tick{display:flex;gap:10px;align-items:flex-start}
.flow-ui .tick::before{content:"✓";color:#1a6e78;font-weight:700}

/* Expertenkarte und Angebote (Ethos-Stil) */
.offer{display:grid;gap:24px;align-items:stretch}
@media (min-width:60rem){.offer{grid-template-columns:.8fr 1.2fr}}
.profile-card{position:relative;border-radius:calc(var(--r)*1.6);padding:clamp(22px,1rem + 1.4vw,36px);background:linear-gradient(150deg,#155d66 0%,#1f818c 45%,#69dfce 100%);color:#fff;display:flex;flex-direction:column;overflow:hidden;min-height:0}
.profile-card .label{font:400 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.profile-card h3{color:#fff;margin:14px 0 6px;font-size:clamp(2rem,1.4rem + 1.6vw,2.8rem)}
.profile-card .role{margin:0;max-width:22rem;color:rgba(255,255,255,.92);font-size:1rem}

.profile-card .cut{position:relative;align-self:center;width:min(72%,300px);height:auto;margin:auto auto -16px;padding-top:16px;filter:drop-shadow(0 26px 30px rgba(12,33,36,.35));z-index:0}
.profile-card .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;max-width:100%;padding:0;list-style:none}
.profile-card .chips li{font:400 .68rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff}

.profile-card .facts{margin-top:0;position:relative;z-index:1;background:#fff;color:#0c2124;border-radius:16px;padding:14px 16px;width:100%;display:grid;gap:8px;box-shadow:0 22px 36px -20px rgba(12,33,36,.55);font-size:.9rem}
.profile-card .facts div{display:flex;justify-content:space-between;gap:12px}
.profile-card .facts b{font:400 .66rem/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#44585b}
.opps{display:grid;gap:16px}
.opp{background:#f8f6f2;border:1px solid var(--line);border-radius:calc(var(--r)*1.2);padding:clamp(18px,1rem + .8vw,26px);display:grid;gap:10px;position:relative}
.opp .tag{font:400 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.opp h3{margin:0;font-size:clamp(1.35rem,1.1rem + .9vw,1.8rem)}
.opp p{margin:0;color:var(--muted);font-size:.98rem}
.opp .rate{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding-top:12px;border-top:1px solid var(--line)}
.opp .rate b{font:400 1.7rem/1 var(--display);color:#0c2124}.opp .rate b small{font:400 .72rem/1 var(--mono);letter-spacing:.06em;color:var(--muted);margin-left:4px}
.opp .rate span{font:400 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#44585b}
.opp .go{margin-top:6px;display:inline-flex;align-items:center;gap:.35em;min-height:44px}

/* Wortmarke im Footer der Startseite: Aufbau und federnde Dehnung wie bei TYMBO, Schrift und Farben im Ethos-Stil */
.site-footer{overflow:hidden}
.mark-wrap{container-type:inline-size;margin-top:clamp(48px,7vw,104px);display:flex;justify-content:center}
.mark{width:100%;display:flex;justify-content:center;transform-origin:50% 100%;will-change:transform;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mark-word{margin:0;max-width:none;font:400 clamp(2.6rem,11.5cqw,8.4rem)/.9 "Instrument Serif",Georgia,serif;letter-spacing:-.025em;color:#f4fbfb;text-align:center;text-wrap:balance;padding-bottom:.06em}
.mark-word em{font-style:italic;color:#69dfce}
@container (max-width:560px){.mark-word{font-size:15.2cqw;white-space:nowrap}}

/* Ethos auf allen Seiten */
.theme-ethos .stat b{font-family:var(--display);font-weight:400;letter-spacing:-.02em;font-size:clamp(2.2rem,1.2rem + 3vw,3.6rem)}
.theme-ethos .stat span{font-size:.9375rem}
.theme-ethos .stats,.theme-ethos .card,.theme-ethos .case,.theme-ethos .feat article,.theme-ethos .mq-card,.theme-ethos .clients li{border-radius:var(--r)}
.theme-ethos .case .thumb{border-bottom-color:var(--line)}
.theme-ethos .stats{background:#f8f6f2}
.theme-ethos .sec.dark .stats{background:transparent}
.theme-ethos .tags li{border-radius:999px}
.theme-ethos .bubble blockquote{border-radius:var(--r)}
.theme-ethos .bubble blockquote p{font-family:var(--display);font-weight:400;font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);line-height:1.2}
.theme-ethos .hero-sm h1{max-width:22ch}
.theme-ethos .lead-form input[type=email]{border-radius:999px;padding-inline:20px}
.theme-ethos .field input,.theme-ethos .field select{border-radius:14px}
.theme-ethos .btn::after{content:"→"}
.theme-ethos .card.dk{background:#101a1c;border-color:#101a1c}
.theme-ethos .link-arrow{font-weight:600}
.theme-ethos .timeline strong{font-family:var(--display);font-weight:400;font-size:1.2rem}
.theme-ethos .steps h3,.theme-ethos .blocks h3{font-weight:400}
.theme-ethos .bubble figcaption strong{font-size:1.2rem;line-height:1.2;font-weight:400}
.theme-ethos .story .big{font-family:var(--display);font-weight:400;font-size:clamp(2.1rem,1.2rem + 3.2vw,3.6rem);letter-spacing:-.015em;line-height:1.05}

/* Buttons und Links in Karten und Aktionsreihen */
.card .actions{flex-direction:column;align-items:flex-start;gap:14px}
.card .actions .link-arrow{font-size:.9375rem;padding:6px 0;min-height:44px;display:inline-flex;align-items:center}
.card.dk .link-arrow,.sec.dark .link-arrow{color:var(--brand)}
.card.dk .link-arrow:hover,.sec.dark .link-arrow:hover{color:#fff}
.actions .btn{white-space:nowrap}
@media (max-width:30rem){.actions .btn{white-space:normal;width:100%}.actions{gap:12px}}
.split-actions{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(14rem,max-content));align-items:center;margin-top:28px}
.hint-row{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:.9375rem}
.hint-row a{font-weight:600;text-decoration:none}
.hint-row a::after{content:" →"}
.hint-row span{color:var(--muted)}
.card .actions .link-arrow::after,.link-arrow.go::after{margin-left:.35em}
.card .actions .link-arrow{gap:0}
