/* Engineering folio: a restrained instrument palette and an editorial reading order. */
@media screen {
  :root { --folio-ink:#172d29; --folio-paper:#f3f0e8; --folio-line:#b8c4b9; --folio-rust:#9b482f; }
  body { background:var(--folio-paper); color:var(--folio-ink); }
  .header { background:rgba(243,240,232,.97); border-color:var(--folio-line); }
  .header-inner { min-height:72px; }
  .wordmark { font-family:Arial,sans-serif; font-weight:800; }
  .desktop-nav a { font-size:.86rem; }
  .menu-trigger { border-radius:3px; }
  .hero { grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:0 clamp(40px,7vw,110px); align-items:center; padding-top:clamp(48px,7vw,100px); }
  .hero-copy { display:block; max-width:720px; padding:0 0 36px; }
  .hero-identity { display:block; }
  .hero-name { margin:0; color:var(--folio-ink); font-family:Arial,sans-serif; font-size:clamp(1.55rem,2.4vw,2.3rem); font-weight:750; letter-spacing:-.055em; text-transform:none; }
  .hero-name span { display:block; margin-top:9px; color:#66766c; font:700 .68rem/1.4 monospace; letter-spacing:.15em; text-transform:uppercase; }
  .hero h1 { max-width:13ch; margin:clamp(32px,4vw,58px) 0 22px; font-family:Arial,sans-serif; font-size:clamp(3.3rem,5.4vw,5.7rem); font-weight:700; line-height:.98; letter-spacing:-.065em; }
  .hero h1 .hero-word:last-child { color:var(--folio-rust); }
  .hero-role { max-width:35rem; font-size:clamp(1.02rem,1.4vw,1.2rem); font-weight:650; line-height:1.5; }
  .hero-intro { max-width:32rem; margin-top:16px; color:#455d54; font-size:1.02rem; line-height:1.6; }
  .hero-actions { gap:8px 14px; margin-top:26px; }
  .hero-actions .button { min-height:52px; border-radius:2px; }
  .hero-labs-jump { font-size:.84rem; }
  .hero-profile { position:relative; display:block; width:100%; max-width:480px; margin:0; padding:18px; align-self:stretch; mix-blend-mode:normal; background:#d7dfd2; border:1px solid #a8baaa; overflow:hidden; }
  .hero-profile::before { content:""; position:absolute; inset:18px; border:1px solid #9eaf9e; pointer-events:none; z-index:1; }
  .hero-profile .portrait-frame { width:100%; height:100%; min-height:430px; background:#e6eae0; overflow:hidden; }
  .hero-profile img { display:block; width:100%; height:100%; min-height:430px; object-fit:cover; object-position:center top; mix-blend-mode:multiply; }
  .hero-profile figcaption { position:absolute; z-index:2; inset:auto 18px 18px; display:flex; align-items:end; justify-content:space-between; gap:12px; padding:18px; background:linear-gradient(transparent,rgba(16,43,35,.9)); color:#fff; font-weight:700; }
  .hero-profile figcaption span:last-child { font:700 .65rem/1.4 monospace; letter-spacing:.08em; text-align:right; }
  .profile-cross { position:absolute; z-index:2; color:#324d40; font:20px/1 monospace; }
  .profile-cross-one { top:21px; left:23px; }.profile-cross-two { top:21px; right:23px; }
  .career-strip { grid-column:1/-1; margin-top:clamp(46px,6vw,80px); border-block:1px solid var(--folio-line); }
  .career-strip a { padding:22px 24px; }
  .career-strip a:first-child { padding-left:0; }
  .career-strip strong { font-size:1.18rem; }
  .career-strip span { color:#4b6056; }
  .career-strip a:hover { background:#e2e8dd; }
  .work-section .section { padding-top:clamp(90px,10vw,145px); }
  .section-heading { gap:clamp(20px,5vw,80px); }
  .section-heading h2, .work-section .section-heading h2, .explore-index h2, #experience .section-heading h2, #skills .section-heading h2, .about-grid h2, .scene-section h2 { font-family:Arial,sans-serif; font-weight:700; letter-spacing:-.06em; line-height:1.02; }
  .work-section .section-heading h2 { font-size:clamp(3.1rem,6vw,6rem); }
  .editorial-section-label, .eyebrow { letter-spacing:.11em; }
  .work-shortcuts { border-color:var(--folio-line); }
  .project-grid { gap:18px; }
  .project { border-radius:2px; }
  .project-featured { background:#e3e9df; border-color:#b1c2b3; }
  .project-robotics { background:#efe6d8; border-color:#d4c2a8; }
  .project-production { background:#e6e9e4; border-color:#bdc8be; }
  .project h3 { font-family:Arial,sans-serif; font-weight:700; letter-spacing:-.055em; line-height:1.03; }
  .project-index { color:#98513a; }
  .project-preview img, .robotics-feature { border-radius:0; }
  .project-featured .case-study-entry { border-radius:2px; }
  .case-facts { border-color:#afc0b1; }
  .project-compact { background:transparent; border:0; border-top:1px solid #aebdb1; border-radius:0; }
  .project-compact h3 { font-size:clamp(1.8rem,2.5vw,2.7rem); }
  .experience-layout { border-top:1px solid var(--folio-line); }
  .company-block { background:#1a3b31; color:#f4f1e8; border:0; padding:clamp(24px,3vw,42px); }
  .company-block .company-name, .company-block p, .company-block .subtle, .company-block .world-return { color:#e2eee1; }
  .timeline-item { border-color:var(--folio-line); }
  .skill-grid { border-color:var(--folio-line); }
  .skill-grid article { background:transparent; border-color:var(--folio-line); }
  .study-focus { border-radius:0; }
  .scene-section { padding-block:clamp(70px,8vw,120px); }
  .scene-section-heading { display:grid; grid-template-columns:minmax(150px,.35fr) 1fr; gap:30px; margin-bottom:32px; }
  .scene-section-heading h2 { margin:0; font-size:clamp(2.4rem,4vw,4.5rem); }
  .scene-section-heading > div > p { max-width:58ch; margin:18px 0 0; color:#50665b; line-height:1.6; }
  .scene-section .engineering-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:clamp(24px,4vw,60px); align-items:start; }
  .scene-section .hero-orbit { height:clamp(420px,42vw,600px); border-radius:2px; }
  .scene-section .hero-explore:not([hidden]) { margin-top:12px; }
  .world-bridge { border-block:1px solid #c7d2c5; }
  .explore-index-grid { border-color:var(--folio-line); }
  .explore-card { border-radius:0; }
  .about-section { background:#e2e8dd; }
  section.contact { border-radius:2px; padding:clamp(30px,6vw,84px); }
  section.contact h2 { font-family:Arial,sans-serif; font-weight:700; letter-spacing:-.06em; }
  .contact-email { border-radius:2px; }
  .footer { padding-block:32px 44px; border-top:1px solid var(--folio-line); }
  :is(a,button,summary,input,select):focus-visible { outline:3px solid #b15031; outline-offset:3px; }
  section.contact :is(a,button):focus-visible, .scene-section .hero-orbit :is(a,button):focus-visible { outline-color:#ffe3ab; }
  /* The document shares the folio's type and surfaces while print keeps its own rules. */
  .resume-toolbar { background:var(--folio-paper); }
  .resume-hero { border-radius:0; }
  .resume-name { font-family:Arial,sans-serif; font-weight:700; letter-spacing:-.065em; }
  .resume-section-heading h2 { font-family:Arial,sans-serif; font-weight:700; letter-spacing:-.05em; }
}
@media screen and (max-width:900px) {
  .hero { grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr); gap:30px; }
  .hero h1 { font-size:clamp(2.8rem,6.1vw,4.4rem); }
  .hero-profile .portrait-frame, .hero-profile img { min-height:350px; }
  .scene-section .engineering-hero { grid-template-columns:1fr; }
}
@media screen and (max-width:760px) {
  .hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(105px,.55fr); gap:0 16px; padding-top:32px; }
  .hero-copy { display:contents; }
  .hero-identity { grid-column:1; grid-row:1; order:initial; align-self:start; }
  .hero-name { font-size:1.45rem; }
  .hero-name span { font-size:.62rem; }
  .hero h1, :lang(de) .hero h1 { grid-column:1/-1; grid-row:2; order:initial; max-width:13ch; margin:28px 0 16px; font-size:clamp(2.7rem,10vw,4.4rem); line-height:1; }
  .hero-role { grid-column:1/-1; grid-row:3; order:initial; margin:0; font-size:1rem; }
  .hero-intro { grid-column:1/-1; grid-row:4; order:initial; margin-top:12px; }
  .hero-actions { grid-column:1/-1; grid-row:5; order:initial; margin:20px 0 0; }
  .hero-profile { grid-column:2; grid-row:1; order:initial; min-width:0; padding:6px; }
  .hero-profile::before { inset:6px; }
  .hero-profile .portrait-frame, .hero-profile img { min-height:0; height:145px; }
  .hero-profile figcaption { inset:auto 6px 6px; padding:12px 6px 6px; }
  .hero-profile figcaption span:first-child { display:none; }
  .hero-profile figcaption span:last-child { font-size:.48rem; }
  .profile-cross { display:none; }
  .career-strip { grid-column:1/-1; grid-row:6; order:initial; margin-top:28px; }
  .career-strip a, .career-strip a:first-child { padding:14px 0; }
  .work-section .section { padding-top:72px; }
  .work-section .section-heading h2 { font-size:clamp(2.8rem,10vw,4rem); }
  .scene-section-heading { grid-template-columns:1fr; gap:8px; }
  .scene-section .hero-orbit { height:clamp(350px,105vw,500px); }
  .scene-section .engineering-hero { gap:18px; }
  .company-block { padding:24px; }
  .footer { padding-block:26px; }
}
@media screen and (max-width:360px) {
  .hero { grid-template-columns:minmax(0,1fr) 112px; }
  .hero h1, :lang(de) .hero h1 { font-size:2.45rem; }
}
@media (prefers-reduced-motion:no-preference) and (hover:hover) {
  html:not([data-motion="off"]) .hero-actions a, html:not([data-motion="off"]) .career-strip a { transition:background-color .2s ease, color .2s ease, border-color .2s ease; }
  html:not([data-motion="off"]) .project-preview img { transition:filter .3s ease; }
  html:not([data-motion="off"]) .project:hover .project-preview img { filter:saturate(1.12); }
}
@media screen {
  .hero .hero-name { letter-spacing:-.055em; }
  .robotics-photo { position:relative; min-width:0; margin:0; background:#203c31; }
  .robotics-photo img { display:block; width:100%; aspect-ratio:1.25; object-fit:cover; object-position:center; }
  .robotics-photo figcaption { display:flex; justify-content:space-between; gap:12px; padding:12px 15px; color:#eef5e9; font-size:.75rem; line-height:1.4; }
  .robotics-photo figcaption strong { flex:none; font:700 .65rem/1.5 monospace; letter-spacing:.08em; }
  .delivery-visual-art { contain:paint; }
}
@media screen {
  /* A transformed decorative grid previously extended the desktop scroll area. */
  .delivery-visual-grid { inset:0; transform:none; }
}
@media screen {
  .hero::before { inset:0; background:linear-gradient(115deg,#e4ebe2 0,transparent 68%); }
}
@media screen and (max-width:760px) {
  .hero { grid-template-columns:minmax(0,1fr) minmax(120px,.68fr); }
  .hero-profile .portrait-frame, .hero-profile img { height:170px; }
}
@media screen {
  body:has(.resume-toolbar) { --blue:#93442d; --line:#becbc0; --surface:#e6ece3; }
  .resume-toolbar { border-color:#becbc0; }
  .resume-toolbar .language-switch a[aria-current="page"], .resume-index a[aria-current="location"], .current-badge { background:#e1eadf; color:#204b3b; }
  .resume-toolbar .print-button { border-radius:2px; background:#203d38; }
  .resume-toolbar .print-button:hover { background:#315c51; }
  .resume-portrait { padding:12px; border:1px solid #afc0b1; background:#e0e8dc; }
  .resume-hero { border-color:#becbc0; }
  #work .resume-entry { border-radius:2px; }
}
@media screen and (max-width:760px) {
  :lang(de) .mobile-rail { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
  :lang(de) .mobile-rail a { grid-column:span 2; justify-content:center; text-align:center; }
  :lang(de) .mobile-rail a:nth-child(n+4) { grid-column:span 3; }
}
/* Avoid moving the résumé subtitle across the location during its entrance. */
@keyframes resume-arrive { from { opacity:.7; transform:none; } to { opacity:1; transform:none; } }
@media screen {
  .company-block .company-name span, .company-block .company-period { color:#cbded0; }
  .earlier-spotlight { border-radius:2px; border-color:#becbc0; background:#e7ebe2; }
  .project-robotics .world-return { margin-left:14px; }
}
@media screen and (max-width:760px) {
  .project-robotics .world-return { margin-left:0; }
}
@media screen and (min-width:1100px) {
  .explore-index-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media screen and (min-width:761px) and (max-width:1099px) {
  .explore-index-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .explore-card { grid-column:span 2; }
  .explore-card:nth-child(n+4) { grid-column:span 3; }
}
@media screen and (min-width:341px) and (max-width:760px) {
  .explore-card:last-child { grid-column:1/-1; }
}
@media print {
  /* Keep the longer German résumé's final language section with the document. */
  .resume-section { padding-block:9pt; }
  .resume-section-heading { margin-bottom:8pt; }
  .resume-skill-group, #education > p { padding-block:5pt; }
}
/* Prefer a local symbol font where present; text keeps the system typeface. */
@font-face {
  font-family:"Portfolio symbols";
  src:local("DejaVu Sans"), local("Arial Unicode MS"), local("Noto Sans Symbols 2");
  unicode-range:U+2190-21FF, U+2301;
}
@media screen {
  :root { font-family:"Portfolio symbols",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
  :root:has(.resume-toolbar) { font-family:"Portfolio symbols","Helvetica Neue",Arial,sans-serif; }
  .explore-card-top span:last-child, .hero-labs-jump span:last-child, .delivery-scenario-icon, .delivery-node-symbol { font-family:"Portfolio symbols",system-ui,sans-serif; }
}
@media screen and (max-width:760px) {
  section.contact .contact-email { font-size:clamp(.875rem,4vw,1rem); letter-spacing:-.015em; }
}
@media print {
  .resume-skill-group, #education > p { break-inside:avoid; }
}
@media screen {
  .case-page .case-intro h1, .case-page .case-section h2 { font-family:Arial,sans-serif; font-weight:700; line-height:1.02; letter-spacing:-.06em; }
  .case-page .case-intro h1 { max-width:12ch; }
  .case-page .case-cover img { border-radius:2px; }
  .case-page .case-architecture { border-radius:2px; background:#e2e9df; }
  .case-page .case-index a[aria-current="location"] { color:#8b402a; border-color:#8b402a; }
  .case-page .case-actions .button { border-radius:2px; }
}
@media screen {
  .case-page .case-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; padding:0; }
  .case-page .case-facts > div { min-width:0; }
}
@media screen {
  .work-shortcuts > span, .project .project-kind, .project .case-facts dt, .project .project-footnote { color:#465e51; }
  .robotics-photo figcaption { background:#203c31; }
}
@media screen {
  .delivery-section [data-i18n="deliveryScenarioFoot"], .conv-calculation [data-calculation] { color:#d7e9dc; }
  .hero-explore-label, .hero-detail-kicker { color:#465f54; }
  .hero-focus-buttons button:not([aria-pressed="true"]) span:first-child { color:#45615b; font-size:.72rem; }
}
@media screen and (max-width:760px) {
  .project-robotics .robotics-photo { grid-column:1/-1; }
}
@media screen {
  .hero-profile figcaption { justify-content:flex-start; gap:16px; }
}

@media screen {
  .project-anchor-alias { display:block; height:0; scroll-margin-top:0; }
}
