
:root{--accent:#8fbeff;--ink:#f2f1ed;--bg:#0a0a0b;--muted:#aaa9a7;--line:#29292d;--sans:'Sora',Arial,sans-serif;--mono:'Space Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}img{max-width:100%}h1,h2,h3,h4{line-height:1.2}p{font-size:1rem}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #8fbeff;outline-offset:5px}section[id]{scroll-margin-top:110px}[hidden]{display:none!important}
.global-header{position:sticky;top:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 3.5%;background:rgba(10,10,11,.97);border-bottom:1px solid #252529;color:#f2f1ed}.brand{display:block;font-family:Sora,Arial,sans-serif;font-weight:800;font-size:15px;text-decoration:none;line-height:1.15;flex-shrink:0}.brand small{display:block;font-weight:400;font-size:12px;letter-spacing:.12em;color:#aaa9a7;margin-top:4px}.global-header nav{display:flex;gap:30px}.global-header nav a{font-family:var(--mono);font-size:14px;text-decoration:none;color:#b7b6b5}.global-header nav a span{color:#82828b}.global-header nav a:hover,.global-header nav a[aria-current]{color:#8fbeff}.global-header nav a[aria-current] span{color:#8fbeff}.menu-toggle{display:none;background:none;color:#f2f1ed;border:1px solid #555;padding:9px 14px}.skip{position:fixed;top:-100px;left:20px;z-index:2000;background:#fff;color:#000;padding:12px}.skip:focus{top:8px}
.site-layout{max-width:1700px;margin:auto}.site-layout.has-side{display:grid;grid-template-columns:170px minmax(0,1fr)}main{min-width:0}.section-nav{position:sticky;top:110px;align-self:start;padding:35px 18px 30px 28px;font-size:14px;line-height:1.5}.section-nav span{display:block;font-family:var(--mono);color:#aaa;font-size:12px;text-transform:uppercase;margin-bottom:18px}.section-nav a{display:block;text-decoration:none;padding:9px 0 9px 12px;border-left:1px solid #303036;color:#99999f}.section-nav a:hover,.section-nav a.active{color:#f2f1ed;border-color:#8fbeff}
.global-footer{background:#101012;border-top:1px solid #29292d;padding:65px 5% 24px;display:grid;grid-template-columns:1.1fr 1fr 1.2fr .8fr;gap:34px;color:#c2c1bd;clear:both}.global-footer h2{font:12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#92929b;margin-bottom:20px}.global-footer a:not(.brand){display:block;text-decoration:none;font-size:14px;margin:8px 0}.global-footer p{font-size:14px}.global-footer .copyright{grid-column:1/-1;border-top:1px solid #29292d;padding-top:24px;font-size:12px}.form-note{display:block;font-size:12px;color:#b4b3b0;margin-top:8px}.nl-form input{min-width:0}.btn,.button{display:inline-block;text-decoration:none;padding:13px 22px;border:1px solid #54545b;color:inherit;border-radius:5px;font-size:14px}.button.primary{background:#8fbeff;color:#0a0a0b;border-color:#8fbeff}.content-section{padding:85px 5%;max-width:1280px;margin:auto}.content-section h2{font:600 clamp(28px,3.3vw,44px)/1.12 Sora,Arial,sans-serif;margin:0 0 28px}.content-section p{max-width:66ch;color:#b8b7b4}.home-offer{border-top:1px solid #29292d;padding:24px 0}.home-offer summary{cursor:pointer;font:600 24px Sora;display:flex;justify-content:space-between}.home-offer summary::after{content:'+';color:#8fbeff}.home-offer[open] summary::after{content:'−'}.home-offer p{margin:24px 0}.home-offer a{color:#8fbeff;font:14px var(--mono)}.home .photo-hero{min-height:650px;aspect-ratio:1.9}.home .hero-content{padding:90px 5% 50px}.home .hero-content h1{max-width:none}.home .photo-hero::after{background:linear-gradient(0deg,#0a0a0b 0%,rgba(10,10,11,.75) 32%,transparent 90%)}.home .hero-content p{max-width:58ch}.contact-dropdown{z-index:50}.contact-btn{transform:none}
@media(max-width:1100px){.global-header nav{gap:16px}.global-header nav a{font-size:12px}.site-layout.has-side{grid-template-columns:140px minmax(0,1fr)}.section-nav{padding-left:15px}.bar-inline-2{gap:20px!important}}
@media(max-width:800px){.global-header{padding:16px 20px;flex-wrap:wrap}.menu-toggle{display:block}.global-header nav{display:none;width:100%;flex-direction:column;gap:0}.global-header nav.open{display:flex}.global-header nav a{padding:12px 0;font-size:14px}.site-layout.has-side{display:block}.section-nav{position:relative;top:auto;display:flex;gap:18px;overflow-x:auto;padding:16px 20px;white-space:nowrap;border-bottom:1px solid #29292d}.section-nav span{display:none}.section-nav a{padding:5px 0;border-left:0;border-bottom:1px solid #444}.global-footer{grid-template-columns:1fr 1fr;padding:42px 24px;gap:30px}.home .photo-hero{min-height:680px;aspect-ratio:auto}.home .hero-content{padding:180px 24px 35px}.home .hero-content h1{font-size:30px}.home .bar-inline-2{flex-direction:column;align-items:flex-start}.home .bar-inline-2 .nl-form input{width:100%}.contact-menu{align-self:flex-end}.home .hero-content p{font-size:16px}.content-section{padding:55px 24px}.global-footer a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.section-nav{scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}
.keynote-module .acc-item:not(.open) .desc,.format-module .tile:not(.active) .more,.acc-item:not(.open) .acc-body,.faq-item:not(.open) .faq-body{visibility:hidden}
.keynote-module .acc-item.open .desc,.format-module .tile.active .more,.acc-item.open .acc-body,.faq-item.open .faq-body{visibility:visible}
.format-module .tile:not(.active) .more a{visibility:hidden}
.global-header nav a{white-space:nowrap}
.global-header .brand,.global-footer .brand{color:#f2f1ed}
.site-layout:has(article) .dek,.site-layout:has(article) .meta,.site-layout:has(article) .backlink{color:#655e52}
.global-footer{text-align:left;font-family:Inter,Arial,sans-serif}
.global-footer .copyright{text-align:left;font-family:Inter,Arial,sans-serif}
.page-contact{padding:32px 5% 48px;display:flex;justify-content:flex-end;background:#0a0a0b;color:#f2f1ed}
.page-contact details{width:min(100%,300px)}
.page-contact summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;border:1px solid #686872;border-radius:8px;padding:15px 22px;background:#18181b;font:600 16px Inter,Arial,sans-serif}
.page-contact summary::-webkit-details-marker{display:none}
.page-contact summary::after{content:'+';color:#8fbeff;font-size:22px}
.page-contact details[open] summary::after{content:'−'}
.page-contact .contact-options{margin-top:10px;padding:8px;background:#18181b;border:1px solid #34343a;border-radius:8px}
.page-contact .contact-options a{display:block;padding:13px 14px;border-radius:4px;text-decoration:none;color:#f2f1ed;font:500 15px Inter,Arial,sans-serif}
.page-contact .contact-options a:hover{background:#292930;color:#8fbeff}
.home .bar-label{margin:12px 0 0}

.site-layout:has(article) .layout{max-width:1250px;grid-template-columns:280px minmax(0,1fr);gap:70px}
.site-layout:has(article) .layout aside{position:sticky;top:115px;background:#fff;border:1px solid #e2e2e2;border-radius:12px;box-shadow:0 3px 7px #00000013;padding:20px 17px;min-width:0;color:#414141}
.site-layout:has(article) .toclabel{font:500 13px/1.4 Inter,Arial,sans-serif;color:#414141;letter-spacing:0;margin:0 0 18px;text-transform:uppercase}
.site-layout:has(article) .toc{border:0;padding:0;margin:0;list-style:none}
.site-layout:has(article) .toc li{margin:0}
.site-layout:has(article) .toc a{position:relative;border:0;margin:0;padding:10px 0;display:block;font:400 16px/1.45 Inter,Arial,sans-serif;color:#858585;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.site-layout:has(article) .toc a:hover,.site-layout:has(article) .toc a[aria-current]{color:#393939}
.site-layout:has(article) .toc .n{display:none}
.site-layout:has(article) .toc-progress{position:absolute;right:calc(100% + 18px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px}
.site-layout:has(article) .toc-progress a{display:block;width:14px;height:3px;background:#b5b5b5}
.site-layout:has(article) .toc-progress a[aria-current]{background:#535353}
@media(max-width:900px){.site-layout:has(article) .layout{grid-template-columns:1fr;gap:35px}.site-layout:has(article) .layout aside{position:static;margin:0;padding:20px}.site-layout:has(article) .toc-progress{display:none}}




/* Animated Mensch-plus-Maschine mark beside the header logo. */
.global-header .brand{position:relative;padding-left:58px;padding-right:0}
.global-header .brand::before,.global-header .brand::after{content:"";position:absolute;left:20px;top:50%;width:8px;height:34px;border-radius:1px;background:#ed675a;transform-origin:center;transition:transform .55s cubic-bezier(.65,0,.2,1),height .3s ease,width .3s ease}
.global-header .brand::before{transform:translate(-50%,-50%) rotate(45deg)}
.global-header .brand::after{transform:translate(-50%,-50%) rotate(-45deg)}
.global-header .brand.header-mark-plus::before{transform:translate(-50%,-50%) rotate(0deg)}
.global-header .brand.header-mark-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.global-header .brand.header-mark-turning::before,.global-header .brand.header-mark-turning::after{height:42px;width:9px}
@media(prefers-reduced-motion:reduce){.global-header .brand::before{transform:translate(-50%,-50%) rotate(45deg)}.global-header .brand::after{transform:translate(-50%,-50%) rotate(-45deg)}}

/* Simple line arrows for compact buttons and links. */
.btn-arrow{display:inline-block;position:relative;width:22px;height:1px;margin-left:9px;background:currentColor;vertical-align:middle}
.btn-arrow::after{content:'';position:absolute;right:0;top:50%;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
@media(max-width:600px){.btn-arrow{width:18px;margin-left:7px}}
/* Compact, mobile-safe footer identity: text lockup only, no X or divider. */
.global-footer .footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;max-width:100%;align-self:start}
.global-footer .footer-identity .brand{display:block;flex:none;max-width:100%;padding:0;text-align:left;color:#f2f1ed;text-decoration:none;font:700 19px/1.12 Sora,Arial,sans-serif;letter-spacing:-.045em;white-space:nowrap}
.global-footer .footer-identity .brand small{display:block;margin-top:4px;color:#aaa9a7;font:500 11px/1.15 Sora,Arial,sans-serif;letter-spacing:.14em}
.global-footer .footer-identity>p{margin:0;max-width:100%;color:#aaa9a7;font:400 14px/1.45 Sora,Arial,sans-serif;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.global-footer .footer-identity-rule,.global-footer .footer-brand-mark{display:none!important}
@media(max-width:1050px){.global-footer .footer-identity{grid-column:1/-1}}
@media(max-width:600px){.global-footer{grid-template-columns:minmax(0,1fr)}.global-footer .footer-identity{grid-column:auto;gap:8px}.global-footer .footer-identity .brand{font-size:17px}.global-footer .footer-identity .brand small{font-size:10px}.global-footer .footer-identity>p{font-size:13px;line-height:1.4}}
