:root {
  color-scheme: light;
  --paper:#f5f3ed; --surface:#fffefa; --ink:#162e33; --muted:#354f53;
  --line:#d4d9d2; --accent:#116459; --note:#193b3e; --note-text:#f9f7ee;
  --sans:Arial,Helvetica,sans-serif; --serif:Georgia,"Times New Roman",serif;
}
html[data-theme="dark"] {color-scheme:dark;--paper:#102628;--surface:#183336;--ink:#f1f1e9;--muted:#b0c4c1;--line:#3e5858;--accent:#91d2bf;--note:#234c4d;}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:105px}
body {margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
a {color:inherit;text-decoration:none}
a:hover {text-decoration:underline;text-underline-offset:5px}
button,input,select,textarea {font:inherit}
button,a,input,textarea,select,summary {-webkit-tap-highlight-color:transparent}
:focus-visible {outline:3px solid var(--accent);outline-offset:5px}
button {cursor:pointer}
img {max-width:100%;display:block}
.container {width:min(1240px,calc(100% - 96px));margin-inline:auto}
.skip-link {position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}
.skip-link:focus {top:10px}
.site-header {position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.nav-shell {height:91px;display:flex;align-items:center;gap:32px}
.brand {display:flex;align-items:center;gap:12px}
.brand-mark {display:block;width:48px;height:48px;background:#fff;overflow:hidden}
.brand-mark img {width:100%;height:100%;object-fit:cover}
.brand-copy strong {font-size:18px;letter-spacing:-.6px}
.brand-copy small {display:block;color:var(--muted);font-size:14px;letter-spacing:.3px;text-transform:uppercase}
.site-nav {margin-left:auto}
.nav-menu {display:flex;align-items:center;gap:34px;list-style:none;padding:0;margin:0;font-size:16px}
.nav-contact {border-bottom:1px solid var(--ink);padding-bottom:7px}
.theme-toggle {width:34px;height:34px;background:none;color:var(--ink);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.theme-toggle svg {width:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.menu-toggle {display:none}
.hero {padding:30px 0 38px}
.hero-overline {display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.eyebrow,.hero-overline>span,.note-label {font-size:14px;letter-spacing:.4px;font-weight:600;text-transform:uppercase}
.eyebrow {color:var(--muted);margin:0 0 24px}
.hero-overline .eyebrow {margin:0}
.hero-overline>span {letter-spacing:.7px;color:var(--muted)}
.hero-grid {display:grid;grid-template-columns:1.4fr 1fr;gap:55px;align-items:center}
h1,h2,h3,h4,p {margin-top:0}
h1 {font-size:clamp(44px,4.5vw,66px);font-weight:500;letter-spacing:-2px;line-height:1.04;margin-bottom:28px}
em {font-family:var(--sans);font-style:normal;font-weight:600}
.hero-lead {max-width:510px;font-size:20px;line-height:1.8;color:var(--muted);margin-bottom:30px}
.hero-actions {display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.button {display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:48px;padding:13px 21px;font-size:16px;border:1px solid transparent;font-weight:600}
.button-primary {background:var(--ink);color:var(--paper)}
.button:hover {text-decoration:none;background:var(--accent);color:var(--paper)}
.button svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.text-link {font-size:16px;border-bottom:1px solid var(--line);padding-bottom:5px}
.text-link span {margin-left:12px}
.hero-note {background:var(--note);color:var(--note-text);padding:32px 34px 25px;position:relative}
.hero-note:before {content:"";position:absolute;top:0;left:34px;width:35px;height:3px;background:#a9c7ad}
.note-label {color:#b9d0c4;font-size:14px;letter-spacing:1px;display:flex;align-items:center;gap:7px;margin-bottom:30px}
.status-dot {display:inline-block;width:6px;height:6px;background:#b7d7b6;border-radius:50%}
.hero-note h2 {font-size:26px;line-height:1.3;letter-spacing:0;margin-bottom:15px;font-weight:600}
.hero-note h2 span {font-family:var(--sans);font-weight:600;font-style:normal}
.note-role {font-size:18px;font-weight:600;margin-bottom:9px}
.hero-note>p:not(.note-label):not(.note-role) {font-size:17px;color:#c4d4ce;line-height:1.7}
.note-stack {border-top:1px solid #52706b;padding-top:15px;display:flex;flex-wrap:wrap;gap:6px 13px;font-size:14px;color:#c4d4ce}
.hero-note>a {display:flex;justify-content:space-between;align-items:center;font-size:16px;padding-top:22px}
.proof-row {display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:24px;border-top:1px solid var(--line);margin:48px 0 0;padding:23px 0}
.proof-row div {border-left:1px solid var(--line);padding-left:25px}
.proof-row div:first-child {border-left:0;padding-left:0}
.proof-row dt {font-size:24px;letter-spacing:-.5px;font-weight:600}
.proof-row dd {margin:4px 0 0;color:var(--muted);font-size:16px}
.client-proof {background:var(--surface);border-block:1px solid var(--line);padding:34px 0}
.section-line {display:flex;justify-content:space-between;align-items:center;gap:20px}
.section-line h2,.section-line>span {font-size:16px;font-weight:400;letter-spacing:.5px;color:var(--muted);margin:0}
.client-names {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;text-align:center;padding:30px 0;border-bottom:1px solid var(--line)}
.client-logo-card {margin:0;background:#fff;color:#162e33;border:1px solid #d4d9d2;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:25px 20px}
.client-logo-card img {max-width:100%;width:180px;height:90px;object-fit:contain}
.client-logo-card figcaption {font-size:16px;font-weight:600;line-height:1.4}
.client-logo-card--schwarz {background:#142a4a;color:#fff;border-color:#142a4a}
.client-logo-card--schwarz img {width:240px;height:90px}
.client-logo-card--dfb img {width:96px;height:96px}
.mandate-logo {background:#fff;width:144px;height:84px;object-fit:contain;padding:9px;margin-bottom:20px}
.project-brand {width:140px;height:70px;object-fit:contain;margin-bottom:22px;background:#fff;padding:6px}
.project-brand--dfb {width:80px;height:80px}
.client-names>span {font-size:35px;font-weight:700;letter-spacing:-1.6px}
.client-names .schwarz-name {font-size:23px;letter-spacing:-1px}
.schwarz-name strong {font-weight:400}
.client-names .mtu-name {font-size:29px}
.mtu-name small {display:block;font-size:14px;letter-spacing:.1px;font-weight:400}
.logo-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:30px;align-items:center;padding:26px 0 15px}
.logo-tile {display:grid;place-items:center;min-height:95px;padding:15px;background:#fff}
.logo-tile img {width:150px;height:65px;object-fit:contain}
.logo-tile:nth-child(3) img {width:65px}
html[data-theme="dark"] .logo-tile {background:#fff;border-radius:2px}
.reference-context {font-size:16px;color:var(--muted);margin:17px 0 0;text-align:center}
.section-pad {padding:100px 0}
.section-heading {margin-bottom:44px}
h2 {font-size:clamp(32px,3.7vw,51px);line-height:1.1;letter-spacing:-2px;font-weight:500;margin-bottom:20px}
.section-heading>p:last-child {color:var(--muted);font-size:18px;max-width:410px}
.project-feature {display:grid;grid-template-columns:1fr 1.28fr;border-block:1px solid var(--ink);padding:42px 0;gap:70px;scroll-margin-top:110px}
.project-customer h3 {font-family:var(--sans);font-weight:600;font-size:46px;letter-spacing:-1.5px;line-height:1.12;margin-bottom:26px}
.project-state {font-size:14px;color:var(--accent);border:1px solid var(--line);padding:5px 9px}
.project-detail h4,.project-secondary h4 {font-size:21px;font-weight:600;margin-bottom:13px;line-height:1.4}
.project-detail p,.project-secondary>p:not(.eyebrow):not(.project-tech),.detail-copy p {font-size:18px;color:var(--muted)}
.responsibility-list {list-style:none;padding:0;font-size:17px;margin:20px 0}
.responsibility-list li {padding:8px 0 8px 18px;border-top:1px solid var(--line);position:relative}
.responsibility-list li:before {content:"+";position:absolute;left:0;color:var(--accent)}
.project-tech {font-size:16px!important;letter-spacing:.3px;color:var(--muted);line-height:1.7;margin:18px 0 0}
.project-pair {display:grid;grid-template-columns:1fr 1fr}
.project-secondary {padding:36px 44px 36px 0}
.project-secondary+article {padding:36px 0 36px 44px;border-left:1px solid var(--line)}
.project-secondary h3 {font-family:var(--sans);font-weight:600;font-size:40px;line-height:1.1;letter-spacing:-1px;margin:0 0 22px}
.project-more {border-top:1px solid var(--ink)}
details {border-bottom:1px solid var(--line)}
summary {display:grid;grid-template-columns:1fr auto 25px;gap:24px;align-items:center;cursor:pointer;list-style:none;padding:23px 0;font-size:19px;letter-spacing:-.5px}
summary::-webkit-details-marker {display:none}
summary small {display:block;font-size:16px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:4px}
.detail-period {font-size:16px;color:var(--muted);letter-spacing:0}
.expand-sign {font-size:24px;text-align:right;font-weight:300}
details[open] .expand-sign {transform:rotate(45deg)}
.detail-copy {padding:0 70px 25px 0;max-width:760px}
.expertise {background:var(--ink);color:var(--paper)}
.expertise-layout {display:grid;grid-template-columns:1fr 1.2fr;gap:90px}
.expertise .eyebrow,.expertise .section-heading>p:last-child {color:var(--paper);opacity:1}
.expertise h2 {font-size:42px}
.service-list article {display:grid;grid-template-columns:25px 1fr;gap:22px;border-top:1px solid color-mix(in srgb,var(--paper) 28%,transparent);padding:25px 0 8px}
.service-list article>span {font-size:14px;opacity:.65;padding-top:5px}
.service-list h3 {font-size:22px;font-weight:500;margin-bottom:9px}
.service-list p {font-size:18px;opacity:1;line-height:1.75}
.profile-layout {display:grid;grid-template-columns:1fr 1.2fr;gap:90px}
.profile-copy p {font-size:18px;color:var(--muted)}
.profile-copy .lead {font-size:22px;line-height:1.6;color:var(--ink)}
.certification-strip {display:flex;flex-wrap:wrap;gap:9px 18px;border-block:1px solid var(--line);padding:20px 0;margin:28px 0;font-size:14px}
.certification-strip>span {flex-basis:100%;color:var(--muted)}
.certification-strip strong {font-weight:500}
.contact {background:var(--surface);border-top:1px solid var(--line)}
.contact-grid {display:grid;grid-template-columns:1fr 1.2fr;gap:90px}
.contact-copy>p:not(.eyebrow) {font-size:18px;color:var(--muted);max-width:350px}
.contact-links {margin-top:36px;display:grid;gap:18px}
.contact-links span,.contact-links strong {display:block}
.contact-links span {font-size:14px;color:var(--muted)}
.contact-links strong {font-size:18px;font-weight:400}
.contact-form {padding-top:3px}
.form-row {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field {margin-bottom:17px}
.field label {display:block;font-size:16px;margin-bottom:7px}
.field input,.field select,.field textarea {width:100%;min-height:45px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);padding:11px 13px;font-size:18px}
.field select option {background:var(--paper);color:var(--ink)}
.field textarea {resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus {outline:2px solid var(--accent);outline-offset:2px}
.field-error {font-size:14px;display:block;color:#ae263b;margin-top:4px}
[aria-invalid="true"] {border-color:#ae263b!important}
.consent {display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--muted);line-height:1.6}
.consent input {width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}
.consent a {text-decoration:underline}
.submit-button {margin-top:20px}
.form-status {font-size:16px;margin:15px 0 0}
.form-status.error {color:#ae263b}
.form-status.success {color:var(--accent)}
.honeypot {display:none}
.footer {border-top:1px solid var(--line);padding:30px 0}
.footer-grid {display:grid;grid-template-columns:1fr auto;gap:18px}
.footer-brand .brand-mark {width:38px;height:38px}
.footer-brand .brand-copy strong {font-size:15px}
.footer-brand .brand-copy small {font-size:14px;letter-spacing:.2px}
.footer-grid>p {font-size:14px;color:var(--muted);margin:0;align-self:center}
.footer nav {display:flex;gap:24px;font-size:14px}
.footer small {font-size:14px;color:var(--muted);text-align:right}
@media(min-width:1500px){.hero {padding-top:55px}.hero-grid {gap:100px}.hero-overline {margin-bottom:60px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.hero-grid{gap:35px;grid-template-columns:1.5fr 1fr}h1{font-size:62px;letter-spacing:-1.5px}.hero-note{padding:28px 24px}.hero-note h2{font-size:26px}.hero-actions{gap:16px}.hero-overline>span{display:none}.expertise-layout,.profile-layout,.contact-grid{gap:45px}.project-feature{gap:40px}}
@media(max-width:820px){
 .container{width:calc(100% - 40px)}.nav-shell{height:78px;gap:12px}.brand-copy small{display:none}.brand-mark{width:44px;height:44px;flex-shrink:0}.brand-copy strong{font-size:18px;white-space:nowrap}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;border:0;background:none;width:44px;height:44px;color:var(--ink);padding:10px}.menu-toggle span{height:2px;background:currentColor;width:100%}
 .nav-menu{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;flex-direction:column;align-items:flex-start;gap:25px;font-size:18px}
 .nav-menu.is-open{display:flex}.site-nav{margin-left:auto}.hero{padding-top:25px}.hero-overline{margin-bottom:30px}.hero-overline .eyebrow{font-size:14px;letter-spacing:1px}
 .hero-grid{grid-template-columns:1fr;gap:35px}.client-logo-card{min-height:180px;padding:20px 12px}.client-logo-card figcaption{font-size:14px}.client-logo-card img{height:80px}.client-logo-card--dfb img{width:80px;height:80px}h1{font-size:clamp(43px,8vw,65px);letter-spacing:-1.2px}.hero-lead{font-size:20px;max-width:520px}
 .hero-note{display:block;padding:28px}.note-label{grid-column:1/-1;margin-bottom:20px}.hero-note h2{font-size:26px;margin:0 0 20px}.hero-note .note-role{font-size:18px}.hero-note>p:not(.note-label):not(.note-role){font-size:17px}.note-stack{font-size:14px;grid-column:1/-1;margin-top:20px}.hero-note>a{grid-column:1/-1}
 .proof-row{grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.proof-row div{padding-left:0;border:0}.proof-row dt{font-size:24px}.proof-row dd{font-size:16px}
 .section-pad{padding:65px 0}.client-proof{padding:25px 0}.section-line>span{display:none}.client-names{padding:25px 0;gap:20px;grid-template-columns:1fr 1fr}.client-names>span{font-size:31px}.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding-top:20px}.logo-tile{min-height:110px}.logo-tile img{width:125px;height:65px}.logo-tile:nth-child(3) img{width:65px}.reference-context{font-size:16px}
 h2{font-size:37px;letter-spacing:-1.4px}.section-heading{margin-bottom:30px}.project-feature{grid-template-columns:1fr;gap:25px;padding:28px 0}.project-customer h3{font-size:37px}.project-customer .eyebrow{margin-bottom:15px}.project-detail h4{font-size:20px}
 .project-pair{grid-template-columns:1fr}.project-secondary{padding:30px 0}.project-secondary+article{padding:28px 0 28px 24px}.project-secondary h3{font-size:30px}.project-secondary h4{font-size:20px}.project-secondary .eyebrow{font-size:14px}.project-secondary>p:not(.eyebrow):not(.project-tech){font-size:18px}
 summary{grid-template-columns:1fr 22px;gap:8px;font-size:18px}.detail-period{grid-column:1;grid-row:2}.expand-sign{grid-column:2;grid-row:1/3}.detail-copy{padding-right:0}
 .expertise-layout,.profile-layout,.contact-grid{grid-template-columns:1fr;gap:25px}.expertise h2{font-size:37px}.expertise .section-heading{margin-bottom:0}.profile-copy .lead{font-size:22px}.contact-links{margin:24px 0 10px}
 .footer-grid{grid-template-columns:1fr}.footer small{text-align:left}.footer-grid>p{display:none}
}
@media(max-width:400px){.container{width:calc(100% - 32px)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-note{padding:22px 18px;gap:0 16px}.hero-note h2{font-size:26px}.project-pair{grid-template-columns:1fr}.project-secondary,.project-secondary+article{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}.form-row{grid-template-columns:1fr;gap:0}}
.legal-nav {display:flex;gap:20px;margin-left:auto;font-size:14px}
.legal-section {padding:75px 0 90px}
.legal-shell {display:grid;grid-template-columns:1fr 1.6fr;gap:70px;align-items:start}
.legal-intro {position:sticky;top:130px}
.legal-intro h1 {font-size:clamp(34px,4.4vw,60px);letter-spacing:-2px;overflow-wrap:anywhere}
.legal-intro>p:not(.eyebrow) {font-size:17px;color:var(--muted)}
.legal-updated {border-top:1px solid var(--line);padding-top:18px}
.legal-content section {padding:24px 0;border-top:1px solid var(--line)}
.legal-content h2 {font-size:21px;line-height:1.35;letter-spacing:-.5px}
.legal-content p,.legal-content li,.legal-content address {font-size:18px;color:var(--muted);overflow-wrap:anywhere}
.legal-content address {font-style:normal}
.legal-content a {text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.legal-footer {border-top:1px solid var(--line)}
@media(max-width:820px){.legal-shell{grid-template-columns:1fr;gap:25px}.legal-intro{position:static}.legal-section{padding-top:40px}.legal-nav{gap:12px;font-size:14px}.legal-intro h1{font-size:40px}.legal-content h2{font-size:20px}}
@media(max-width:420px){.legal-nav{flex-direction:column;gap:0;font-size:14px}.legal-shell{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

