:root{
  --bg:#090909;--surface:#111111;--surface2:#1a1a1a;--surface3:#242424;
  --text:#f7f8fa;--muted:#b5b5b5;--line:rgba(255,255,255,.11);
  --brand:#f36318;--brand2:#f36318;--cream:#f2f2f2;--ink:#151515;
  --success:#3d8f58;--radius:26px;--radius-sm:16px;--max:1220px;
  --shadow:0 22px 70px rgba(0,0,0,.28);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font-family:"Open Sans",Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at 85% -5%,rgba(243,99,24,.13),transparent 26%),linear-gradient(180deg,#090909,#0e0e0e 40%,#090909);line-height:1.55;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.section{padding:104px 0}.section--light{background:var(--cream);color:var(--ink)}.eyebrow{display:inline-flex;gap:10px;align-items:center;color:var(--brand);font-size:.78rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:2px;border-radius:10px;background:var(--brand)}.section--light .eyebrow{color:var(--brand-dark)}.section-head{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:end;margin-bottom:42px}.section-head h2{margin:10px 0 0;font-size:clamp(2.25rem,4.6vw,4.7rem);line-height:.97;letter-spacing:-.01em}.section-head p{margin:0;color:var(--muted);font-size:1.04rem;max-width:610px;justify-self:end}.section--light .section-head p{color:#606060}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border:1px solid transparent;border-radius:14px;font-weight:850;cursor:pointer;transition:.2s ease;background:none;color:inherit}.btn:hover{transform:translateY(-1px)}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(243,99,24,.45);outline-offset:3px}.btn-primary{background:var(--brand);color:#171717;box-shadow:0 12px 30px rgba(243,99,24,.22)}.btn-secondary{border-color:var(--line);background:rgba(255,255,255,.04)}.btn-dark{background:#161616;color:#fff}.btn-small{min-height:42px;padding:0 15px;border-radius:12px;font-size:.88rem}.skip-link{position:fixed;z-index:999;top:10px;left:10px;padding:10px 14px;border-radius:10px;background:#fff;color:#111;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:60;background:rgba(9,10,12,.79);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{width:156px;height:auto}.nav-links{display:flex;gap:26px;align-items:center;color:#dddddd;font-size:.92rem}.nav-links a:hover{color:#fff}.nav-actions{display:flex;gap:10px;align-items:center}.menu-btn{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.04);color:#fff;place-items:center}.menu-btn svg{width:21px}
.hero{padding:74px 0 48px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center;min-height:670px}.hero h1{margin:16px 0 24px;font-size:clamp(3.75rem,7vw,7.1rem);letter-spacing:-.01em;line-height:1.1;max-width:850px}.hero h1 span{color:var(--brand)}.hero-lead{margin:0 0 30px;color:#cfcfcf;font-size:clamp(1.05rem,1.5vw,1.26rem);max-width:700px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-trust{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:30px;color:#cfcfcf;font-size:.9rem}.trust-item{display:flex;align-items:center;gap:9px}.trust-dot{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:rgba(243,99,24,.1);border:1px solid rgba(243,99,24,.25);color:var(--brand);font-weight:900}.hero-visual{position:relative;min-height:610px}.hero-frame{position:absolute;inset:34px 0 42px 44px;border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#1d1d1d}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.62))}.hero-caption{position:absolute;left:0;bottom:0;width:min(310px,68%);padding:20px;border-radius:21px;background:rgba(18,20,24,.94);border:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.hero-caption strong{display:block;font-size:1.14rem}.hero-caption span{display:block;color:var(--muted);font-size:.88rem;margin-top:3px}.hero-badge{position:absolute;right:-8px;top:0;width:178px;padding:16px 17px;border-radius:21px;background:var(--brand);color:#161616;box-shadow:0 16px 42px rgba(243,99,24,.18);font-weight:900;line-height:1.15}.hero-badge small{display:block;margin-top:8px;font-size:.73rem;font-weight:750;opacity:.75;line-height:1.35}
.pillbar{padding:8px 0 0}.pillbar-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px;background:#f2f2f2;color:#181818;border-radius:25px;box-shadow:0 20px 70px rgba(0,0,0,.2)}.pill{display:flex;gap:12px;align-items:center;min-height:76px;padding:14px 16px;border-radius:17px;background:#fff;border:1px solid #e2e2e2}.pill-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#fbe9e0;color:var(--brand-dark);font-weight:900}.pill strong{display:block;font-size:.94rem}.pill span{display:block;color:#676b71;font-size:.8rem}
.services-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.service{grid-column:span 4;min-height:330px;padding:25px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(145deg,#1a1a1a,#111111);display:flex;flex-direction:column;position:relative;overflow:hidden}.service--wide{grid-column:span 8;background:linear-gradient(145deg,#1a1a1a,#111111)}.service-number{font-size:.74rem;font-weight:850;letter-spacing:.1em;color:var(--brand);text-transform:uppercase}.service h3{margin:auto 0 10px;font-size:clamp(1.45rem,2.3vw,2.15rem);letter-spacing:-.035em;line-height:1}.service p{margin:0;color:#c3c3c3;max-width:620px}.service-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chip{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);border-radius:999px;color:#dfdfdf;font-size:.76rem}.service-orbit{position:absolute;width:190px;height:190px;border-radius:999px;border:1px solid rgba(243,99,24,.15);right:-60px;top:-70px}.service-orbit:before,.service-orbit:after{content:"";position:absolute;border:1px solid rgba(243,99,24,.12);border-radius:999px;inset:22px}.service-orbit:after{inset:48px}
.project-list{display:grid;gap:26px}.project{display:grid;grid-template-columns:1.1fr .9fr;min-height:540px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#141414}.project:nth-child(even){grid-template-columns:.9fr 1.1fr}.project:nth-child(even) .project-media{order:2}.project-media{position:relative;min-height:480px;background:#222}.project-media img{width:100%;height:100%;object-fit:cover}.project-copy{padding:44px;display:flex;flex-direction:column;justify-content:center}.project-kicker{color:var(--brand);font-size:.77rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850}.project h3{font-size:clamp(2.1rem,3.6vw,3.7rem);line-height:.98;letter-spacing:-.05em;margin:12px 0 16px}.project p{color:#c1c1c1;margin:0 0 22px}.project-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.gallery-strip button{padding:0;border:0;border-radius:13px;overflow:hidden;background:#242424;cursor:zoom-in;aspect-ratio:4/3}.gallery-strip img{width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.gallery-strip button:hover img{transform:scale(1.035)}
.about-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:58px;align-items:center}.about-photo{position:relative}.about-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow)}.about-note{position:absolute;right:-18px;bottom:20px;width:min(285px,75%);padding:18px 19px;border-radius:18px;background:#fff;color:#18191c;box-shadow:var(--shadow)}.about-note strong{display:block}.about-note span{display:block;color:#666b72;font-size:.85rem;margin-top:3px}.about-copy h2{font-size:clamp(2.4rem,4.6vw,4.8rem);line-height:.96;letter-spacing:-.01em;margin:12px 0 22px}.about-copy>p{color:var(--muted);font-size:1.03rem}.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:26px}.value{padding:15px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:15px}.value strong{display:block;font-size:.92rem}.value span{display:block;color:#9fa6af;font-size:.82rem;margin-top:3px}
.team-lead{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.person-card{border:1px solid #dcdcdc;background:#fff;border-radius:22px;overflow:hidden}.person-photo{height:300px;background:linear-gradient(#f3f3f3,#e7e7e7);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.person-photo img{height:100%;width:100%;object-fit:contain;object-position:center bottom}.person-card.lead .person-photo img{object-fit:contain;width:auto;height:100%;max-width:100%}.person-body{padding:20px}.person-role{font-size:.74rem;font-weight:850;color:var(--brand-dark);letter-spacing:.09em;text-transform:uppercase}.person-body h3{font-size:1.24rem;margin:6px 0 5px;letter-spacing:-.025em}.person-body p{margin:0;color:#686c72;font-size:.88rem;min-height:44px}.person-contact{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.person-contact a{font-size:.78rem;font-weight:800;padding:7px 9px;border-radius:9px;background:#f2f2f2}.team-toggle-wrap{text-align:center;margin:26px 0 0}.team-full{display:none;grid-template-columns:repeat(5,1fr);gap:13px;margin-top:26px}.team-full.open{display:grid}.team-full .person-photo{height:230px}.team-full .person-body{padding:15px}.team-full .person-body h3{font-size:1rem}.team-full .person-body p{font-size:.79rem;min-height:38px}
.career-shell{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:38px;border-radius:30px;background:linear-gradient(145deg,#1a1a1a,#0e0e0e);border:1px solid var(--line);box-shadow:var(--shadow)}.career-copy h2{font-size:clamp(2.5rem,4.7vw,4.8rem);letter-spacing:-.01em;line-height:.95;margin:11px 0 18px}.career-copy p{color:#c3c3c3}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.benefit{padding:14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:.88rem}.career-card{background:#f3f3f3;color:#171717;border-radius:22px;padding:28px}.career-card h3{font-size:1.55rem;margin:0 0 10px}.career-card p{color:#62666c}.career-card ul{padding-left:20px;color:#494d52}.career-card .btn{margin-top:8px}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.review{padding:24px;border-radius:20px;border:1px solid var(--line);background:#141414;min-height:235px;display:flex;flex-direction:column}.stars{color:var(--brand);letter-spacing:.12em}.review blockquote{margin:17px 0 24px;color:#d8d8d8}.review footer{margin-top:auto;color:#8f969f;font-size:.8rem}
.contact-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;padding:24px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,#141414,#0e0e0e);box-shadow:var(--shadow)}.contact-copy{padding:23px}.contact-copy h2{font-size:clamp(2.6rem,4.5vw,4.6rem);letter-spacing:-.01em;line-height:.95;margin:12px 0 18px}.contact-copy>p{color:var(--muted)}.contact-list{display:grid;gap:12px;margin-top:28px}.contact-item{padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.contact-item small{display:block;color:#969da6}.contact-item strong,.contact-item a{font-size:.95rem}.form-card{padding:28px;border-radius:23px;background:#f2f2f2;color:#161719}.form-card h3{font-size:1.55rem;margin:0}.form-card .intro{margin:4px 0 22px;color:#666a70;font-size:.9rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:800;color:#34383e}.field input,.field select,.field textarea{width:100%;border:1px solid #d8d8d8;background:#fff;color:#171717;border-radius:12px;padding:12px 13px;outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(243,99,24,.12)}.privacy-check{display:flex;gap:9px;align-items:flex-start;margin:14px 0;color:#5e6268;font-size:.78rem}.privacy-check input{margin-top:3px}.form-footer{display:flex;gap:14px;align-items:center;justify-content:space-between}.form-note{font-size:.75rem;color:#74787d;max-width:330px}.form-status{margin-top:12px;display:none;padding:10px 12px;border-radius:11px;background:#e6f1e8;color:#2c6e3f;font-size:.82rem}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq details{border:1px solid var(--line);border-radius:17px;background:#141414;padding:0 18px}.faq summary{cursor:pointer;list-style:none;padding:20px 3px;font-weight:820;display:flex;justify-content:space-between;gap:15px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--brand);font-size:1.25rem}.faq details[open] summary:after{content:"–"}.faq details p{margin:0 3px 19px;color:var(--muted)}
.partner-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.partner-row p{margin:0;color:#9aa1aa}.partner-links{display:flex;flex-wrap:wrap;gap:9px}.partner-links a{padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:.78rem;font-weight:800}footer.site-footer{padding:34px 0 44px;color:#9da4ad}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:start}.footer-brand img{width:126px;margin-bottom:12px}.footer-brand p{margin:0;font-size:.85rem;max-width:410px}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:15px;font-size:.82rem}.copyright{margin-top:24px;font-size:.74rem;color:#737a84}
.lightbox{width:min(1000px,calc(100% - 28px));max-height:92vh;border:0;padding:0;border-radius:20px;background:#0e0e0e;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.6)}.lightbox::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.lightbox img{width:100%;max-height:78vh;object-fit:contain;background:#090909}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border-top:1px solid var(--line)}.lightbox-close{border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;border-radius:10px;padding:7px 10px;cursor:pointer}
.legal-main{padding:70px 0 100px}.legal-card{max-width:900px;margin:auto;padding:38px;border:1px solid var(--line);border-radius:26px;background:#111111}.legal-card h1{font-size:clamp(2.7rem,6vw,5rem);letter-spacing:-.01em;line-height:.95;margin:0 0 28px}.legal-card h2{margin-top:34px;font-size:1.35rem}.legal-card p,.legal-card li{color:#c4c9d0}.legal-card a{color:var(--brand);text-decoration:underline}.legal-note{padding:14px 16px;border-radius:12px;border:1px solid rgba(243,99,24,.25);background:rgba(243,99,24,.07);color:#d8d8d8!important}
.mobile-cta{display:none}
@media(max-width:1050px){.nav-links{display:none;position:absolute;top:76px;left:20px;right:20px;flex-direction:column;align-items:stretch;gap:2px;padding:15px;border:1px solid var(--line);background:#111111;border-radius:18px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{padding:12px;border-radius:10px}.nav-links a:hover{background:rgba(255,255,255,.04)}.menu-btn{display:grid}.nav-actions>.btn-secondary{display:none}.hero-grid,.about-grid,.contact-shell{grid-template-columns:1fr}.hero-grid{min-height:0}.hero-visual{min-height:540px}.pillbar-inner{grid-template-columns:1fr 1fr}.service,.service--wide{grid-column:span 6}.team-full{grid-template-columns:repeat(4,1fr)}.project,.project:nth-child(even){grid-template-columns:1fr}.project:nth-child(even) .project-media{order:0}.project-media{min-height:430px}.career-shell{grid-template-columns:1fr}.section-head{grid-template-columns:1fr;gap:18px}.section-head p{justify-self:start}.partner-row{grid-template-columns:1fr}.partner-links{justify-content:flex-start}}
@media(max-width:760px){.container{width:min(calc(100% - 24px),var(--max))}.section{padding:76px 0}.nav{height:70px}.brand img{width:135px}.nav-actions>.btn-primary{display:none}.hero{padding-top:38px}.hero h1{font-size:clamp(3.25rem,16vw,5.3rem)}.hero-visual{min-height:430px}.hero-frame{inset:20px 0 38px 14px;border-radius:24px}.hero-badge{right:0;width:145px;font-size:.88rem}.hero-caption{padding:15px;width:75%}.pillbar-inner{grid-template-columns:1fr;padding:10px}.pill{min-height:66px}.services-grid{grid-template-columns:1fr}.service,.service--wide{grid-column:1}.project-media{min-height:300px}.project-copy{padding:28px}.gallery-strip{gap:7px}.about-note{right:8px;bottom:-25px}.about-copy{margin-top:20px}.value-grid{grid-template-columns:1fr}.team-lead{grid-template-columns:1fr}.team-full{grid-template-columns:1fr 1fr}.team-full .person-photo{height:240px}.career-shell{padding:20px}.benefits{grid-template-columns:1fr}.reviews{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-footer{align-items:stretch;flex-direction:column}.form-footer .btn{width:100%}.faq{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.mobile-cta{display:flex;position:fixed;z-index:45;left:12px;right:12px;bottom:12px;gap:8px;padding:8px;border-radius:16px;background:rgba(15,17,20,.9);border:1px solid var(--line);backdrop-filter:blur(12px);box-shadow:0 16px 50px rgba(0,0,0,.35)}.mobile-cta a{flex:1;min-height:46px}.site-footer{padding-bottom:100px!important}}
@media(max-width:430px){.team-full{grid-template-columns:1fr}.person-photo,.team-full .person-photo{height:300px}.gallery-strip{grid-template-columns:1fr 1fr}.gallery-strip button:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Website-Relaunch: CD-konforme Typografie und Farben */
h1,h2,h3,h4,.brand-descriptor,.hero-badge strong{font-family:"Roboto Slab",Georgia,"Times New Roman",serif;letter-spacing:-.01em}
h1,h2{font-weight:700}
.hero h1{font-size:clamp(3rem,5.9vw,6.2rem);line-height:1.11;letter-spacing:-.01em;max-width:830px}
.section-head h2,.about-copy h2,.career-copy h2,.contact-copy h2,.legal-card h1{line-height:1.14;letter-spacing:-.01em}
.service h3,.project h3{line-height:1.2;letter-spacing:-.01em}
.eyebrow,.service-number,.project-kicker{color:var(--brand)}
.section--light .eyebrow,.person-role{color:var(--brand-dark)}
.btn-primary{color:#fff;background:var(--brand);box-shadow:0 12px 30px rgba(243,99,24,.20)}
.btn-primary:hover{background:#d95410}
.brand{display:flex;align-items:center;gap:11px;min-width:190px}
.brand img{width:140px;max-height:64px;object-fit:contain}
.brand-descriptor{display:inline-block;color:var(--brand);border-left:1px solid rgba(255,255,255,.25);padding-left:12px;font-family:"Open Sans",Arial,sans-serif;letter-spacing:.10em;font-size:.62rem;font-weight:800}
.site-header{background:rgba(9,9,9,.92)}
.hero-badge{background:var(--brand);color:#fff}.hero-badge small{color:#fff;opacity:.92}
.hero-frame{background:#171717}
.pillbar-inner{background:#f2f2f2}.pill{border-color:#dedede}.pill-icon{background:#fbe9e0;color:var(--brand-dark)}
.section--light{background:#f2f2f2}
.service,.service--wide{background:#181818}
.career-shell,.contact-shell{background:#111}
.service-partner-note{margin-top:15px!important;font-size:.85rem;color:#cfcfcf!important}
.service-partner-note a{font-weight:750;color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.heritage-note{margin-top:13px;padding:14px 16px;border-left:3px solid var(--brand);background:#171717;font-size:.88rem!important}
.heritage-note strong{color:#fff}
.about-photo{max-width:550px;margin-inline:auto}
.about-photo img{filter:brightness(.86) saturate(.9);border:1px solid var(--brand)}
.about-photo:after{content:"";position:absolute;pointer-events:none;inset:0;border-radius:28px;background:linear-gradient(140deg,transparent 55%,rgba(243,99,24,.18))}
.about-note{z-index:2;border-left:4px solid var(--brand)}
.team-lead{grid-template-columns:repeat(2,minmax(0,1fr));max-width:740px}
.person-photo{background:linear-gradient(#f5f5f5,#e6e6e6)}
.team-full .person-photo{height:205px}
.review{min-height:180px;max-width:720px}.review blockquote{font-size:1.15rem}.review-tag{color:var(--brand);font-size:.75rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.review a{text-decoration:underline;text-underline-offset:3px}
.process-section{padding-top:66px}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.process-grid article{padding:25px 22px;border:1px solid var(--line);border-radius:19px;background:#151515}
.process-grid article>span{font-family:"Roboto Slab",Georgia,serif;font-size:2rem;font-weight:700;color:var(--brand)}
.process-grid h3{font-size:1.25rem;margin:17px 0 8px}
.process-grid p{color:var(--muted);font-size:.91rem;margin:0}
.expertise-teasers{margin-top:46px}
.teaser-heading{margin-bottom:20px}.teaser-heading h3{font-size:clamp(1.7rem,3vw,2.5rem);margin:6px 0}
.teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.teaser-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #dedede;color:#171717;display:flex;flex-direction:column}
.teaser-card img{width:100%;height:185px;object-fit:cover}
.teaser-card>div{padding:20px;display:flex;flex-direction:column;gap:5px;flex:1}
.teaser-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-dark);font-weight:850}
.teaser-card strong{font-size:1.1rem;line-height:1.4}
.teaser-card a{font-size:.84rem;font-weight:800;color:var(--brand-dark);margin-top:auto;padding-top:13px}
.small-explain{display:block;font-size:.77rem;color:#b3b3b3;margin-top:5px}
.hp-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%);opacity:0;pointer-events:none}
.form-status[data-state="error"]{display:block;background:#ffede7;color:#7d2510}
.form-status[data-state="success"]{display:block;background:#e3f1e3;color:#1c5b2a}
.form-card button:disabled{cursor:progress;opacity:.7}
.legal-card{background:#141414}.legal-card a{color:var(--brand)}
.footer-brand img{width:132px;height:auto}
.footer-brand a{color:#efefef;text-decoration:underline}
@media(max-width:1050px){.brand{min-width:auto}.brand-descriptor{display:none}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero h1{font-size:clamp(2.8rem,11.5vw,4.7rem);line-height:1.1}.teaser-grid{grid-template-columns:1fr}.teaser-card img{height:215px}.team-lead{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.process-grid article{padding:20px 16px}.about-photo{max-width:100%}.brand img{width:136px;max-height:54px}}
@media(max-width:430px){.process-grid{grid-template-columns:1fr}.process-grid article{padding:18px}}

.meister-wordmark{display:block;color:var(--brand);font-weight:850;font-size:.75rem;letter-spacing:.12em;margin-bottom:6px}


/* Corporate Design Manual, 25.03.2024: local typefaces and official brand color. */






:root{--brand:var(--brand);--brand2:var(--brand);--muted:#b5b5b5}
h1,h2,h3,h4,h5,h6{font-family:"Roboto Slab",Georgia,serif;font-weight:700;letter-spacing:-.012em!important}
h1{line-height:1.1!important}h2,h3{line-height:1.15!important}
.btn,.eyebrow,.service-number,.project-kicker,.person-role,.chip,.person-contact{font-family:"Open Sans",Arial,sans-serif}
.brand img{width:181px;max-height:70px;object-fit:contain;object-position:left center}
.brand-descriptor{font-size:.72rem;letter-spacing:.13em}
.footer-brand img{width:185px;max-width:100%;height:auto}
.site-header{background:rgba(9,9,9,.94)}
.site-header,.site-footer{color:#f8f8f8}
.service-partner-note a{color:var(--brand);text-underline-offset:3px}
.service-partner-note a:hover{color:#fff}
.meister-logo{width:183px;height:auto;max-width:100%;display:block;margin-bottom:6px;background:#fff;padding:8px;border-radius:8px}
.pill-icon{color:#b84209}
.section--light .eyebrow,.teaser-card a,.teaser-card span,.person-role{color:#b84209}
.btn-primary{background:var(--brand);color:#141414}
.btn-primary:hover{background:var(--brand);filter:brightness(1.08)}
.hero h1{overflow-wrap:normal}
.google-summary{margin:0 0 24px;padding:20px 24px;border:1px solid rgba(243,99,24,.35);border-radius:20px;background:#181818;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.google-summary-score{font-family:"Roboto Slab",Georgia,serif;font-size:2.4rem;font-weight:700;white-space:nowrap;line-height:1.25}
.google-summary-score span{font-family:Arial,sans-serif;font-size:1.2rem;letter-spacing:.07em;color:var(--brand)}
.google-summary strong{display:block;font-size:1.04rem}.google-summary small{display:block;color:#bdbdbd;font-size:.8rem;margin-top:3px}
.google-summary>a{margin-left:auto;color:#ffb18a;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.reviews .review{min-height:200px;max-width:none;height:100%}.review blockquote{font-size:1.08rem;line-height:1.5}
.form-status[role=status]{white-space:normal}
.form-card input,.form-card select,.form-card textarea{min-width:0}
.project-media{overflow:hidden}.project-media img{object-fit:cover;image-rendering:auto}
.teaser-card img{object-position:center}
.site-footer .footer-brand p{margin-top:18px}
@media(max-width:1050px){.brand img{width:166px}}
@media(max-width:760px){.brand img{width:142px;max-height:60px}.reviews{grid-template-columns:1fr}.google-summary{align-items:start;gap:12px}.google-summary>a{margin-left:0;width:100%}.hero h1{font-size:clamp(2.7rem,11vw,4.3rem)}}
@media(max-width:430px){.brand img{width:127px}.nav-actions .btn-secondary{display:none}.nav-actions{gap:6px}.hero-visual{min-height:460px}.hero-badge{max-width:155px;font-size:.77rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Fine-tuned sizing for the broader Roboto Slab letterforms. */
.hero h1{font-size:clamp(2.65rem,4.1vw,4.9rem);overflow-wrap:break-word;hyphens:auto}
.section-head h2,.about-copy h2{overflow-wrap:break-word;hyphens:auto}
.project h3{letter-spacing:-.01em;overflow-wrap:break-word}
@media(max-width:760px){.hero h1{font-size:clamp(2.2rem,8.7vw,3.3rem)}.section-head h2{font-size:clamp(2.0rem,7.7vw,3.4rem)}}


/* V5 final responsive typography: whole words only, scale to available viewport width. */
html{overflow-x:clip}
body{min-width:280px;overflow-x:clip}
h1,h2,h3,h4,.eyebrow,.service-number,.person-role,.project-kicker{
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
}
h1,h2,h3,h4{line-height:1.18!important;letter-spacing:-.015em!important;text-wrap:balance}
.hero h1{font-size:clamp(2.4rem,4.3vw,4.05rem);line-height:1.16!important;max-width:100%;}
.section-head h2{font-size:clamp(2rem,3.65vw,3.75rem);line-height:1.18!important}
.about-copy h2,.career-copy h2,.contact-copy h2{font-size:clamp(2.1rem,3.7vw,3.95rem);line-height:1.16!important}
.service h3{font-size:clamp(1.3rem,2vw,1.95rem);line-height:1.25!important}
.project-copy h3{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2!important}
.legal-card h1{font-size:clamp(2.1rem,4.4vw,4.3rem)}
.hero-grid,.section-head,.project,.about-grid,.career-shell,.contact-shell{min-width:0}
.hero-grid>*,.section-head>*,.project>*,.about-grid>*,.career-shell>*,.contact-shell>*{min-width:0}
.hero-badge{overflow-wrap:normal;word-break:normal;hyphens:none}
.project-copy,.service,.career-shell,.contact-copy{min-width:0}
.project-cta{display:inline-flex;margin-top:19px;padding:11px 15px;border-radius:11px;font-weight:800;font-size:.88rem;background:var(--brand);color:#fff;line-height:1.35;text-decoration:none;transition:background .18s ease}
.project-cta:hover{background:#d94f0d}
.gallery-strip button{position:relative;overflow:hidden;min-width:0;cursor:zoom-in}
.gallery-strip img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.gallery-strip button:hover img{transform:scale(1.035)}
.gallery-strip button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.google-summary-score{font-size:1.25rem!important;letter-spacing:0!important}
.teaser-card img{height:210px;object-fit:cover}
/* Narrow typography retains complete words without splitting letters across lines. */
@media(max-width:1050px){.hero h1{font-size:clamp(2.2rem,5.5vw,4.25rem)}.section-head h2{font-size:clamp(1.95rem,4.7vw,3.4rem)}}
@media(max-width:760px){
 .hero h1{font-size:clamp(1.95rem,7.9vw,3.55rem);line-height:1.18!important}
 .section-head h2{font-size:clamp(1.75rem,7.1vw,3.1rem)}
 .about-copy h2,.career-copy h2,.contact-copy h2{font-size:clamp(1.75rem,6.6vw,3.05rem)}
 .project-copy h3{font-size:clamp(1.75rem,6vw,2.4rem)}
 .service h3{font-size:clamp(1.4rem,5.6vw,1.9rem)}
 .hero-grid{gap:16px}.project-copy{padding:25px}
 .gallery-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .gallery-strip button:last-child{display:block}
 .brand img{width:144px;max-height:56px}
}
@media(max-width:370px){
 .hero h1{font-size:clamp(1.75rem,7.3vw,2rem)}
 .section-head h2{font-size:clamp(1.55rem,7vw,1.8rem)}
 .about-copy h2,.career-copy h2,.contact-copy h2{font-size:clamp(1.55rem,6.7vw,1.9rem)}
 .service h3{font-size:1.31rem}
 .project-copy h3{font-size:1.55rem}
 .form-card{padding:18px}
 .contact-shell{padding:14px}
}
/* Download-free typography: fonts load from installed system when present;
   licensed WOFF2 can be self-hosted using the setup guide. */

@media(max-width:370px){.career-card h3{font-size:1.13rem!important;letter-spacing:-.025em!important}}
/* CMS: Überschriften umbrechen nur zwischen Wörtern, auch auf kleinen Handys. */
.hero h1,.section h2,.section h3,.project h3,.person-card h3{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:410px){.hero h1{font-size:clamp(2.25rem,10vw,3rem)}.section-head h2,.about-copy h2,.career-copy h2,.contact-copy h2{font-size:clamp(1.7rem,8.1vw,2.3rem)} }
.wb-no-image{width:100%;min-height:110px;display:grid;place-items:center;background:#292929;color:#ddd;font-size:.88rem}
